PyPDF2仅返回某些文件的空行

时间:2017-07-28 07:02:01

标签: python-3.x adobe ocr pypdf2

我正在编写一个脚本,"读取" PDF文件,然后自动重命名它从字典中识别的文件。但是PyPDF2只返回一些PDF的空行,而其他的则工作正常。读取文件的代码:

import PyPDF2

# File name
file = 'sample.pdf'

# Open File
with open(file, "rb") as f:
    # Read in file
    pdfReader = PyPDF2.PdfFileReader(f)

    # Check number of pages
    number_of_pages = pdfReader.numPages
    print(number_of_pages)

    # Get first page
    pageObj = pdfReader.getPage(0)

    # Extract text from page 1
    text = pageObj.extractText()        

print(text)

它确实正确获取了页数,因此可以打开PDF。

如果我用repr(text)替换打印(文本)中没有读取的文件,我会得到类似的内容:

"'\\n\\n\\n\\n\\n\\n\\n\\nn\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n'"

奇怪的是,当我使用Adobe增强(OCR)文件时,脚本的性能稍差。它识别了800个文件中的140个,并且仅增强了110个。

PDF是机器可读/可搜索的,因为我能够将文本复制/粘贴到记事本。我用" pdfminer"测试了一些文件。它确实显示了一些文字,但也会引发很多错误。如果可能的话,我喜欢继续使用PyPDF2。

我正在使用的软件规格:
Windows:10.0.15063
Python:3.6.1
PyPDF:1.26.0
Adobe版本:17.009.20058

有人有什么建议吗?非常感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

我遇到了同样的问题,我使用另一个名为slate的python库修复了它 幸运的是,我发现一个fork可在Python 3.6.5中运行

public MatchAdapter(Context context, TeamEntity teamEntity) {
        this.context = context;
        this.team = teamEntity;
        matchList = new ArrayList<>();
    }