我正在尝试使用pdfminer从pdf获取文本数据。我可以使用pdfminer命令行工具pdf2txt.py将数据成功提取到.txt文件中。我目前正在执行此操作,然后使用python脚本清理.txt文件。我想将pdf提取过程合并到脚本中,从而节省了一步。

I thought I was on to something when I found this link,但是任何解决方案都没有成功。也许那里列出的功能需要再次更新,因为我使用的是pdfminer的较新版本。

I also tried the function shown here, but it also did not work.

我尝试的另一种方法是使用os.system在脚本内调用脚本。这也是不成功的。

我正在使用Python版本2.7.1和pdfminer版本20110227。

最佳答案

这是我最终制作的对我有用的清理版本。以下只是给定了文件名的PDF字符串。我希望这可以节省一些时间。

from pdfminer.pdfinterp import PDFResourceManager, process_pdf
from pdfminer.converter import TextConverter
from pdfminer.layout import LAParams
from cStringIO import StringIO

def convert_pdf(path):

    rsrcmgr = PDFResourceManager()
    retstr = StringIO()
    codec = 'utf-8'
    laparams = LAParams()
    device = TextConverter(rsrcmgr, retstr, codec=codec, laparams=laparams)

    fp = file(path, 'rb')
    process_pdf(rsrcmgr, device, fp)
    fp.close()
    device.close()

    str = retstr.getvalue()
    retstr.close()
    return str

该解决方案在API changes in November 2013之前一直有效。

关于python - 我如何将pdfminer用作库,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5725278/

10-11 07:54