Python 中有哪些可用於將 PDF 轉換為文字的模組?


您可以使用 PDFMiner 程式包將 PDF 轉換為文字。

示例

您可以透過以下方式使用它: 

 import sys
from cStringIO import StringIO
 from pdfminer.pdfpage importPDFPage
from pdfminer.pdfinterp importPDFResourceManager, PDFPageInterpreter
from pdfminer.layout importLAParams
from pdfminer.converter importXMLConverter, HTMLConverter, TextConverter
 def pdfparser(data):
    fp = file(data, 'rb')
    resource_manager = PDFResourceManager()
    retstr = StringIO()
    codec = 'utf-8'
    laparams = LAParams()
    device = TextConverter(resource_manager,retstr, codec=codec, laparams=laparams)
    interpreter =PDFPageInterpreter(resource_manager, device)
 
    # Process each page contained in thedocument.
    for page in PDFPage.get_pages(fp):
        interpreter.process_page(page)
        data = retstr.getvalue()
    print data
 pdfparser('filename.pdf')

此方法匯入一個 pdf 檔案,並使用來自 PDFPageInterpreter 類的 process_page 函式逐頁從中提取文字。 

PDFMiner 的替代方法是使用一個更簡單易用的 API 來提取文字。pyPDF 可以正常工作(假設您使用的是格式良好的 PDF)。如果您只需要文字(帶空格),則可以執行以下操作

import pyPdf
pdf = pyPdf.PdfFileReader(open('filename.pdf',"rb"))
for page in pdf.pages:
    print page.extractText()

更新於: 11-Dec-2019

216 瀏覽次數

開啟您的職業生涯

完成課程,獲取認證

開始學習
廣告
© . All rights reserved.