您可以使用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()
问题内容: 哪些是将PDF文件转换为文本的最佳Python模块? 问题答案:
问题内容: 理想情况下,我想要一个不需要超级用户访问权限即可安装的模块或库;我在工作环境中的特权有限。 问题答案: OpenOffice具有RTF阅读器。您可以使用python编写OpenOffice脚本,有关更多信息,请参见此处。 您可能会尝试在Windows上使用不可思议的com-object读取任何闻到ms-binary的东西。我不建议这样做。 实际上,解析原始数据可能不会很困难,请参见以.
问题内容: 我有大量文本字符串,这些字符串显然是PDF文件的原始数据,我需要将其重新制作为PDF。 目前,我正在将字符串读取到StringBuffer中,但是如果需要,可以更改它。从那里,我尝试将其写到文件中并更改扩展名(我真的希望这样做能起作用,但是我有点不知道),我尝试将其带入String,然后从中取出byte []。并将其写入文件,或使用DataOutputStream将字节放入文件中。这些
我已将Python代码转换为文件使用。当我打开文件写入错误: 出现此错误,但程序不会自行关闭。
我使用此代码将pdf转换为文本。 我已经创建了主目录并将源文件粘贴到其中。 我得到的输出是 并且没有创建带有. txt的文件。问题在哪里?
我一直在我的开发服务器中使用模块来轻松地从转换为: 但是,我在生产服务器中部署了我的应用程序,但我没有安装Excel应用程序,因此引发了以下错误: 在Python中,从转换为有什么好的替代方法吗? 我已经用PDFWriter测试了xtopdf,但是使用这个解决方案,您需要逐个读取和迭代范围并写入行。我想知道是否有一个更直接的解决方案类似于win32com。客户 谢谢