跳至頁尾內容
USING IRONPDF FOR PYTHON

如何逐行從 PDF 中提取文字

本指南將展示如何使用IronPDF從PDF文件中依序提取文字到Python程式。 它將涵蓋從設置Python環境到執行您的第一個PDF文字提取Python程式的所有內容。

如何逐行從PDF中提取文字

  1. 使用Python下載並安裝PDF庫以從PDF文件行中提取文字。
  2. 在您喜愛的IDE中建立Python專案。
  3. 載入所需的PDF文件以檢索文字內容。
  4. 迴圈瀏覽PDF,並使用內建庫的功能依序提取文字。
  5. 將提取的文字保存到文件中。

IronPDF PDF Python庫

IronPDF是一個便捷的工具,允許您使用Python處理PDF文件。 可以將其看作是一個幫助您讀取、建立和編輯PDF文件的助手。 無論您是想從PDF文件中提取內容、包括新資訊或將網頁轉換為PDF格式,IronPDF都提供綜合的解決方案。 這是一個付費的軟體包,但他們提供了試用版供您試用,以便在購買前探索。

在深入了解腳本之前,設置您的Python環境是必須的。 本逐步指南將幫助您配置環境,在Visual Studio Code中建立一個新的Python專案,並設置IronPDF庫環境配置。

下載並安裝Python: 如果您還沒有安裝Python,從官方Python網站下載最新版本。 請遵循您的特定操作系統的安裝指示。

檢查Python安裝: 打開終端或命令提示符並輸入 python --version。 此命令應顯示已安裝的Python版本,以確認安裝成功。

更新pip: Pip 是Python套件安裝工具。 通過運行 pip install --upgrade pip 以確保它是最新的。

在Visual Studio Code中建立新Python專案

下載Visual Studio Code: 如果您還沒有,從官方網站下載。

安裝Python擴展: 打開Visual Studio Code,並前往擴展市場。 搜索由Microsoft提供的Python擴展並安裝它。

建立新資料夾: 建立一個新資料夾來存放您的Python專案。 給它命名為與專案相關的名稱,例如 PDF_Text_Extractor

在VS Code中打開資料夾: 將資料夾拖入Visual Studio Code或使用File > Open Folder選單選項打開資料夾。

建立Python文件: 在VS Code Explorer面板中右鍵單擊,選擇New File。 將檔案命名為main.py或類似名稱。 此文件將保存您的Python程式。

如何逐行從PDF中提取文字,圖1:在Visual Studio Code中建立新Python文件 在Visual Studio Code中建立新Python文件

IronPDF庫需求和設置

IronPDF是從PDF中檢索文字內容的重要工具。 下面是如何安裝它的步驟:

在VS Code中打開終端: 您可以通過Terminal > New Terminal在VS Code中打開一個新的終端。

安裝IronPDF: 在終端中執行以下命令以安裝最新版本的IronPDF:

pip install ironpdf

此過程將檢索並安裝IronPDF庫及所有所需的模組。

如何逐行從PDF中提取文字,圖2:安裝IronPDF包 安裝IronPDF套件

就這樣! 您現在已成功設置Python環境,在Visual Studio Code中建立了一個新專案,並安裝了IronPDF庫。

逐行從PDF中提取文字

應用授權金鑰

在進行之前,請確保您已經應用IronPDF的授權金鑰。

from ironpdf import PdfDocument

# Apply your license key to unlock library features
License.LicenseKey = "YOUR-LICENSE-KEY-HERE"
from ironpdf import PdfDocument

# Apply your license key to unlock library features
License.LicenseKey = "YOUR-LICENSE-KEY-HERE"
PYTHON

YOUR-LICENSE-KEY-HERE替換為您實際的IronPDF授權金鑰。 此授權讓您可以解鎖專案中所有的庫功能。

載入PDF文件格式

您需要將現有的PDF文件載入到Python程式中。 可以使用IronPDF的PdfDocument.FromFile方法來實現。

pdfFileObj = PdfDocument.FromFile("content.pdf")
pdfFileObj = PdfDocument.FromFile("content.pdf")
PYTHON

"content.pdf"指的是您想要閱讀的PDF文件。 該載入的PDF文件被儲存在pdfFileObj

從整個PDF文件中提取文字

如果您想一次獲取PDF文件中的所有文字資料,您可以使用ExtractAllText方法。

all_text = pdfFileObj.ExtractAllText()
all_text = pdfFileObj.ExtractAllText()
PYTHON

此處使用ExtractAllText方法進行演示。 此方法將會提取PDF文件中的所有文字,並將其儲存在名為all_text的變數中。

從特定PDF頁面中提取文字

IronPDF允許通過ExtractTextFromPage方法從特定頁面中提取文字。 此方法在您只需要一些頁面的文字時特別有用。

page_2_text = pdfFileObj.ExtractTextFromPage(1)
page_2_text = pdfFileObj.ExtractTextFromPage(1)
PYTHON

此處我們從第二頁中提取文字,對應的索引為1。

初始化文字文件以寫入提取文字

with open("extracted_text.txt", "w", encoding='utf-8') as text_file:
with open("extracted_text.txt", "w", encoding='utf-8') as text_file:
PYTHON

打開一個名為"extracted_text.txt"的文件來保存文字資料。 使用Python內建的open函式來執行此操作,將文件模式設置為"寫入" ("w"),使用encoding='utf-8'來處理Unicode字元。

逐頁迴圈以逐行提取文字

for i in range(0, pdfFileObj.get_Pages().Count):
for i in range(0, pdfFileObj.get_Pages().Count):
PYTHON

上述程式碼使用IronPDF的get_Pages().Count迴圈遍歷PDF文件中的每個頁面,以獲取總頁數。

提取文字並將其分段為行

page_text = pdf.ExtractTextFromPage(i)
lines = page_text.split('\n')
page_text = pdf.ExtractTextFromPage(i)
lines = page_text.split('\n')
PYTHON

對於每個頁面,使用split方法將其分段為行。 這會產生可以迭代的行列表。

將提取的行寫入文字文件

for eachline in lines:
    print(eachline)
    text_file.write(eachline + '\n')
for eachline in lines:
    print(eachline)
    text_file.write(eachline + '\n')
PYTHON

此處程式碼對從行列表中每一行進行迭代,將其列印至控制台,並通過在每行後新增換行符(\n)以便正確格式化這些文字。

完整程式碼

以下是完整的實現:

from ironpdf import PdfDocument

# Apply your license key
License.LicenseKey = "Your-License-Key-Here"

# Load an existing PDF file
pdfFileObj = PdfDocument.FromFile("content.pdf")

# Extract text from the entire PDF file
all_text = pdfFileObj.ExtractAllText()

# Extract text from a specific page in the file (Page 2)
page_2_text = pdfFileObj.ExtractTextFromPage(1)

# Initialize a file object for writing the extracted text
with open("extracted_text.txt", "w", encoding='utf-8') as text_file:
    # Get the number of pages in the PDF document
    num_of_pages = pdfFileObj.get_Pages().Count
    print("Number of pages in given document are ", num_of_pages)

    # Loop through each page using the Count property
    for i in range(0, num_of_pages):
        # Extract text from the current page
        page_text = pdfFileObj.ExtractTextFromPage(i)

        # Split the text by lines from this page object
        lines = page_text.split('\n')

        # Loop through the lines and print/write them
        for eachline in lines:
            print(eachline)  # Print each line to the console
            # Write each line to the text document
            text_file.write(eachline + '\n')
from ironpdf import PdfDocument

# Apply your license key
License.LicenseKey = "Your-License-Key-Here"

# Load an existing PDF file
pdfFileObj = PdfDocument.FromFile("content.pdf")

# Extract text from the entire PDF file
all_text = pdfFileObj.ExtractAllText()

# Extract text from a specific page in the file (Page 2)
page_2_text = pdfFileObj.ExtractTextFromPage(1)

# Initialize a file object for writing the extracted text
with open("extracted_text.txt", "w", encoding='utf-8') as text_file:
    # Get the number of pages in the PDF document
    num_of_pages = pdfFileObj.get_Pages().Count
    print("Number of pages in given document are ", num_of_pages)

    # Loop through each page using the Count property
    for i in range(0, num_of_pages):
        # Extract text from the current page
        page_text = pdfFileObj.ExtractTextFromPage(i)

        # Split the text by lines from this page object
        lines = page_text.split('\n')

        # Loop through the lines and print/write them
        for eachline in lines:
            print(eachline)  # Print each line to the console
            # Write each line to the text document
            text_file.write(eachline + '\n')
PYTHON

輸出

通過在Visual Studio Code終端中執行以下命令來運行Python文件:

python main.py
python main.py
SHELL

這個結果將顯示在終端上:

如何逐行從PDF中提取文字,圖3:提取的文字 提取的文字

這是從PDF文件中檢索的文字。您還將注意到在您的目錄中建立了一個文字文件。

如何逐行從PDF中提取文字,圖4:提取的文字儲存在TXT文件中 提取的文字儲存在TXT文件中

在此文字文件中,您將找到已檢索的文字格式,按照順序呈現。

如何逐行從PDF中提取文字,圖5:提取的文字檔案內容 提取的文字檔案內容

結論

總之,使用IronPDF和Python從PDF文件中提取文字是一種穩健且直接的方法,無論是提取整個文件的文字、特定頁面還是逐行提取。將這些檢索文字保存到文字文件中使您能夠高效地管理和利用資料進行未來的處理。 IronPDF在處理PDF方面證明是一個無價的工具,提供超越文字提取的多種功能。 您還可以使用IronPDF 將PDF轉換為Python中的文字

此外,建立交互式PDF、填寫和提交互動表單合併分割PDF文件、提取文字和圖片、在PDF文件中搜尋文字、將PDF光柵化為圖片、更改字體大小、邊框和背景顏色,以及轉換PDF文件都是IronPDF工具包可以幫助完成的任務。

IronPDF不是一個開放源碼的Python庫。 如果您考慮在您的專案中使用IronPDF,該套件的許可從$999開始。 然而,如果您對投資不明確,IronPDF提供了免費試用來徹底探索其功能。

如何逐行從PDF中提取文字,圖6:授權頁面

常見問題

如何使用Python從PDF提取文字?

您可以使用IronPDF在Python中從PDF文件中提取文字。它涉及使用PdfDocument.FromFile方法載入PDF並遍歷頁面逐行提取文字。

在Python中開始從PDF提取文字需要什麼?

要在Python中從PDF中提取文字,您需要安裝Python以及可通過pip安裝的IronPDF程式庫。建議使用Visual Studio Code這樣的IDE來撰寫和執行您的腳本。

IronPDF可以從PDF的特定頁面提取文字嗎?

是的,IronPDF允許您使用ExtractTextFromPage方法通過指定頁面索引從PDF中的特定頁面提取文字。

如何在Python中將提取的文字保存到文件?

使用IronPDF提取文字後,您可以使用Python的文件處理方法將提取的文字行寫入文字文件中。

IronPDF除了文字提取之外還提供了哪些其他功能?

IronPDF提供許多功能,包括建立、編輯和轉換PDF、合併和拆分PDF文件、提取圖像以及將PDF轉換為其他文件格式。

如何在我的Python項目中授權IronPDF?

要授權IronPDF,請在您的Python腳本中使用License.LicenseKey屬性設置您的授權金鑰,這將解鎖程式庫的全部功能。

購買之前可以試用IronPDF嗎?

是的,IronPDF提供試用版本,允許您在決定購買完整授權之前評估其功能。

如果在PDF文字提取過程中遇到問題該怎麼辦?

確保IronPDF已正確安裝和授權,以及您的Python環境已正確設置。查閱文件或支援資源以解決常見問題。

我可以使用IronPDF將PDF轉換為圖像嗎?

是的,IronPDF提供光柵化PDF為圖像的功能,允許您將整個文件或特定頁面轉換為圖像文件。

如何執行用於PDF文字提取的Python腳本?

撰寫腳本後,您可以在IDE的終端中運行python main.py來執行它,其中main.py是您的腳本文件的名稱。

Curtis Chau
技術作家

Curtis Chau擁有Carleton大學的電腦科學學士學位,專精於前端開發,擁有Node.js、TypeScript、JavaScript和React的專業知識。Curtis熱衷於建立直觀且美觀的使用者介面,喜愛使用現代框架並建立結構良好、視覺吸引力的手冊。

除了開發,Curtis對物聯網(IoT)有濃厚的興趣,探索創新的方法來整合硬體和軟體。在空閒時間,他喜歡玩遊戲和建立Discord機器人,結合他對技術的熱愛與創造力。

Iron 支援團隊

我們線上24小時,每週5天。
聊天
電子郵件
給我打電話