如何在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)
感谢您的推荐。我尝试了PDFMiner的API,并陷入了怪异的角色物品对象。在子程序调用中使用命令行工具感觉有点奇怪,这是一个好方法吗? – kadrian
@kadrian我编辑我的答案,以反映更通用的东西。比如说你需要解析一个位于目录中的文件以及其他pdf文件。或者在某些时候,您可能需要逐一解析它们并提取文本。稍作修改就可以满足你的需求。无论如何,如果您有任何问题随时问。 – 2014-02-10 16:51:41