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

时间:2014-02-10 00:10:13

标签: python pdf text-extraction pypdf

我正在寻找在Python中将PDF转换为纯文本的最简单方法。

PyPDF2似乎非常简单,这就是我所拥有的:

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

但它给了我:

InChapter5wepresentandevaluateourresults,togetherwiththetestenvironment.

如何使用PyPDF从该PDF中提取单词?有没有不同的方式(另一个适用于此的库)?

1 个答案:

答案 0 :(得分:0)

我使用成功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)