pdf2txt-相当于python

时间:2019-04-17 08:54:10

标签: python pdfminer

我正在尝试从pdf中提取可利用的文本。但是有些this one之类的pdf似乎具有特定的布局,因为我的python脚本无法保留空格。

def convert_pdf_to_txt(path):
    rsrcmgr = PDFResourceManager()
    retstr = StringIO()
    codec = 'utf-8'
    laparams = LAParams()
    device = TextConverter(rsrcmgr, retstr, codec=codec, laparams=laparams)
    fp = open(path, 'rb')
    interpreter = PDFPageInterpreter(rsrcmgr, device)
    password = ""
    caching = True
    pagenos=set()

    for page in PDFPage.get_pages(fp, pagenos, password=password, caching=caching, check_extractable=True):
        interpreter.process_page(page)

    text = retstr.getvalue()

    fp.close()
    device.close()
    retstr.close()
    return text

print(convert_pdf_to_txt("1002459.pdf"))

结果:

- 1 -

Combininglearningandreasoning:newchallengesforknowledgegraphsFrankvanHarmelen∗∗DptofComputerScience,VrijeUniversite...

所以我尝试在命令中使用pdf2txt.py。结果相同。但是我发现选项-A给了我预期的结果:

- 1 -

Combining learning and reasoning: new challenges for

knowledge graphs

Frank van Harmelen∗

我可以使用python脚本获得相同的结果吗?

2 个答案:

答案 0 :(得分:0)

您可以;只需复制-A的内容即可。从本质上讲,麻烦的PDF不会“打印”空格,而只是“单词”,并且布局分析会推断出应该在间隙中留有空格。 pdf2txt通过设置laparams.all_texts = True来激活它。

答案 1 :(得分:-1)

您甚至可以在Python中制作 可以检查下面给定链接中的代码,它是由python制作的

https://github.com/baruchel/txt2pdf