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()

更新日期: 2019 年 12 月 11 日

216 次浏览

开启你的 职业生涯

完成课程并获得认证

开始
广告