欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python使用OCR實現提取掃描PDF的文本

 更新時間:2025年09月12日 15:10:28   作者:E-iceblue  
從 PDF 中提取文本一直是很多人的需求,本文將帶你了解如何借助 Python + OCR 技術,從掃描 PDF 中提取可編輯文本,希望對大家有所幫助

從 PDF 中提取文本一直是很多人的需求。市面上的工具雖然能處理大部分數字 PDF,但遇到掃描件 PDF 時往往無能為力,想要直接復制或獲取其中的文字并不容易。其實這個問題并不是沒有解法 —— 本文將帶你了解如何借助 Python + OCR 技術,從掃描 PDF 中提取可編輯文本。

為什么提取掃描件 PDF 需要用到 OCR 技術

在探討如何從掃描件 PDF 中提取文本之前,我們先來了解一下 OCR 技術 及其重要性。

OCR(Optical Character Recognition,光學字符識別),是一種將圖像或視頻中的文字內容轉化為可編輯文本的技術。它不僅能識別字符,還能保留一定的排版信息,因此被廣泛應用在文檔數字化、檔案管理以及數據提取等場景中。

為什么提取掃描件 PDF 的文本離不開 OCR?原因在于 PDF 文件主要分為兩類:

  • 標準 PDF(數字 PDF):文檔中的文字是以字符形式存儲的,可以直接復制、搜索和提取。
  • 掃描件 PDF:內容本質上是圖片,不包含可識別的文本信息,傳統(tǒng)的提取方法無法處理。

因此,當面對掃描件 PDF 時,OCR 技術就顯得尤為必要,它能幫助我們將圖片中的文字識別出來,轉換為真正可操作的文本。

安裝必要的 Python 庫

在了解了基礎知識之后,我們進入到 工具準備環(huán)節(jié)。本文將主要使用兩款庫:Spire.PDF for Python 和 Spire.OCR for Python。有了它們,處理掃描件 PDF 并提取文本會變得高效而簡單。

  • Spire.PDF:負責將掃描件 PDF 轉換為適合 OCR 處理的圖片。
  • Spire.OCR:對這些圖片進行文字識別,并輸出可編輯的文本內容。

它們的安裝方式十分便捷,只需在命令行中運行以下命令:

pip install spire.pdf
pip install spire.ocr

除了使用 pip 安裝外,你也可以前往 E-iceblue 官網 下載相應的安裝包并手動安裝。

通過 Python 將 PDF 轉換為圖像

正如前面提到的,OCR 無法直接處理 PDF 文件,尤其是掃描件 PDF。因此,第一步我們需要先將其轉換為圖片。借助 Spire.PDF,這個過程十分簡便:只需加載 PDF 文檔,遍歷頁面,然后調用 PdfDocument.SaveAsImage() 方法,就能將每一頁保存為圖像文件。

在保存時,你還可以根據需求選擇 PNG、JPG 或 BMP 等常見格式。下面的示例代碼演示了如何使用 Python 將掃描件 PDF 轉換為 PNG 圖片:

from spire.pdf import *

# 加載 PDF 文件
pdf = PdfDocument()
pdf.LoadFromFile("E:/Administrator/Python1/input/AI繪畫的利與弊.pdf")

# 遍歷 PDF 頁面
for i in range(pdf.Pages.Count):
    # 將每一頁轉換為圖像
    with pdf.SaveAsImage(i) as image:
        
        # 保存圖像
        image.Save(f"E:/Administrator/Python1/output/pdftoimage/ToImage_{i}.png")
        # image.Save(f"Output/ToImage_{i}.jpg")
        # image.Save(f"Output/ToImage_{i}.bmp")

pdf.Close()

OCR 識別并提取掃描件 PDF 中的文本

完成 PDF 轉圖片 的步驟后,我們就可以進入核心環(huán)節(jié)——使用 OCR 掃描圖片并提取文字。借助 OcrScanner.Scan() 方法,這個過程非常簡單。它不僅能夠從圖片中獲取文本,還支持包括 中文、英文、法語 在內的多種語言識別,可以做到“一字不落”。

下面的示例演示了如何在 Python 中調用 OCR,對前一步生成的 PDF 圖片進行文字識別,并將結果保存為 .txt 文檔:

from spire.ocr import *

# 創(chuàng)建 OCR 掃描器實例
scanner = OcrScanner()

# 配置 OCR 模型路徑和語言
configureOptions = ConfigureOptions()
configureOptions.ModelPath = r'E:/DownloadsNew/win-x64/'
configureOptions.Language = 'Chinese'
scanner.ConfigureDependencies(configureOptions)

# 使用 OCR 掃描圖片
scanner.Scan(r'E:/Administrator/Python1/output/pdftoimage/ToImage_0.png')

# 將提取的文本保存為文本文件
text = scanner.Text.ToString()
with open('E:/Administrator/Python1/output/掃描件PDF文本提取.txt', 'a', encoding='utf-8') as file:
    file.write(text + '\n')

結論

通過本文的示例,我們完成了從掃描件 PDF 轉換為圖片,再利用 OCR 技術識別并提取文本的全過程。借助 Spire.PDF for Python 和 Spire.OCR for Python,這一流程不僅簡單高效,而且對多語言的支持也非常友好。如果你也在尋找快速處理掃描件 PDF 的方法,不妨嘗試一下這兩個庫。

到此這篇關于Python使用OCR實現提取掃描PDF的文本的文章就介紹到這了,更多相關Python提取掃描PDF內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • 對numpy 數組和矩陣的乘法的進一步理解

    對numpy 數組和矩陣的乘法的進一步理解

    下面小編就為大家分享一篇對numpy 數組和矩陣的乘法的進一步理解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-04-04
  • Python 找出英文單詞列表(list)中最長單詞鏈

    Python 找出英文單詞列表(list)中最長單詞鏈

    這篇文章主要介紹了Python 找出英文單詞列表(list)中最長單詞鏈,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-12-12
  • python學習必備知識匯總

    python學習必備知識匯總

    這篇文章主要介紹了python學習必備知識匯總的相關資料,需要的朋友可以參考下
    2017-09-09
  • python獲取當前git的repo地址的示例代碼

    python獲取當前git的repo地址的示例代碼

    大家好,當談及版本控制系統(tǒng)時,Git是最為廣泛使用的一種,而Python作為一門多用途的編程語言,在處理Git倉庫時也展現了其強大的能力,本文給大家介紹了python獲取當前git的repo地址的方法,需要的朋友可以參考下
    2024-09-09
  • Python 調用 Outlook 發(fā)送郵件過程解析

    Python 調用 Outlook 發(fā)送郵件過程解析

    這篇文章主要介紹了Python 調用 Outlook 發(fā)送郵件過程解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-08-08
  • Windows11使用Cpython?編譯文件報錯?error:?Unable?to?find?vcvarsall.bat?完美解決方法

    Windows11使用Cpython?編譯文件報錯?error:?Unable?to?find?vcvars

    這篇文章主要介紹了Windows11使用Cpython編譯文件報錯error:Unable?to find?vcvarsall.bat完美解決方法,本文通過圖文并茂的形式給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-05-05
  • np.repeat()函數的具體使用

    np.repeat()函數的具體使用

    本文主要介紹了np.repeat()函數的具體使用,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-03-03
  • 從原理到生產部署解析Python多服務器監(jiān)控告警系統(tǒng)開發(fā)

    從原理到生產部署解析Python多服務器監(jiān)控告警系統(tǒng)開發(fā)

    這篇文章將從原理到生產部署帶大家深入解析Python多服務器監(jiān)控告警系統(tǒng)開發(fā)過程,文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起學習一下
    2025-09-09
  • Django用戶認證系統(tǒng) Web請求中的認證解析

    Django用戶認證系統(tǒng) Web請求中的認證解析

    這篇文章主要介紹了Django用戶認證系統(tǒng) Web請求中的認證解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-08-08
  • Django零基礎入門之模板變量詳解

    Django零基礎入門之模板變量詳解

    這篇文章主要介紹了Django零基礎入門之模板變量詳解,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-09-09

最新評論