如何将.PDF中生成的二进制文本转换为字符串?

时间:2018-11-09 22:45:30

标签: python python-3.6 pypdf2

我正在使用以下代码:

from PyPDF2 import PdfFileReader

def text_extractor(path):
    with open(path, 'rb') as f:
        pdf = PdfFileReader(f)

        # get the first page
        page = pdf.getPage(0)
        print(page)
        print('Page type: {}'.format(str(type(page))))

        text = page.extractText()
        print(text)


if __name__ == '__main__':
    path = 'XEROX.pdf'
    text_extractor(path)

但是这让我回来了

{'/Type': '/Page', '/MediaBox': [0, 0, 612, 792], '/Parent': IndirectObject(3, 0),
 '/Resources': {'/ProcSet': ['/PDF', '/ImageB', '/Text'],
 '/ExtGState': IndirectObject(47, 0), '/Font': IndirectObject(48, 0)},
 '/Contents': IndirectObject(5, 0)}
Page type: <class 'PyPDF2.pdf.PageObject'>
 !ˆ"#$
[Finished in 0.9s]

数据在哪里?

我认为此pdf具有二进制符号而不是ascii。如何读取ascii或字符串类型的信息?

This is the PDF's information that I should get

这是我在PDF信息中应用复制和粘贴时的结果:

 

              

1 个答案:

答案 0 :(得分:0)

我找到了:

我从gibhub克隆了textraxt存储库。我安装了textract(有一些问题,但是我实现了)并且工作非常好。我将编辑此答案以包含我的代码。

致谢