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()
广告
数据结构
网络
RDBMS
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP