如何在PyPDF2中添加更多的空格容差?

问题描述:

我正在寻找将PDF转换为纯文本格式的最简单方法。如何在PyPDF2中添加更多的空格容差?

PyPDF2似乎是很容易的,这里是我有:

def test_pdf(filename): 
import PyPDF2 
pdf = PyPDF2.PdfFileReader(open(filename, "rb")) 
for page in pdf.pages: 
    print page.extractText() 

但它给了我:从PyPDF该PDF

InChapter5wepresentandevaluateourresults,togetherwiththetestenvironment.

我怎样才能提取的话?有没有不同的方式(另一个图书馆适用于此)?

那么我用成功PDFMiner,你可以从中解析和提取PDF文档中的文本。 更具体地说,有这个pdf2txt.py模块,您可以使用它来提取文本。安装很简单:pdfminer-xxx#python setup.py install并从bash或cmd执行一个简单的pdf2txt.py -o Application.txt Reference/Application.pdf命令就可以了。 在上面提到的oneliner application.pdf是你的目标pdf,你要处理的那个和application.txt是将要生成的文件。 此外,对于更复杂的任务,您可以查看api并根据需要对其进行修改。

编辑:我回答基于我的个人经验,就是这样。我没有理由“推广”所提议的工具。我希望这可以帮助

edit2:类似的工作对我来说。

# -*- coding: utf-8 -*- 
import os 
import re 

dirpath = 'path\\to\\dir' 
filenames = os.listdir(dirpath) 
nb = 0 

open('path\\to\\dir\\file.txt', 'w') as outfile: 
    for fname in filenames: 
     nb = nb+1 
     print fname 
     print nb 
     currentfile = os.path.join(dirpath, fname) 

open(currentfile) as infile: 
    for line in infile: 
     outfile.write(line) 
+0

感谢您的推荐。我尝试了PDFMiner的API,并陷入了怪异的角色物品对象。在子程序调用中使用命令行工具感觉有点奇怪,这是一个好方法吗? – kadrian

+0

@kadrian我编辑我的答案,以反映更通用的东西。比如说你需要解析一个位于目录中的文件以及其他pdf文件。或者在某些时候,您可能需要逐一解析它们并提取文本。稍作修改就可以满足你的需求。无论如何,如果您有任何问题随时问。 – 2014-02-10 16:51:41