PyPDF2提取空文本:Python3

时间:2019-04-10 08:48:23

标签: python pypdf2

我正在使用PyPDF2从pdf提取文本。我在Google中找到的所有示例都与我的代码类似:

import PyPDF2

    pl = open('test2.pdf', 'rb')
    plread = PyPDF2.PdfFileReader(pl)
    getpage1 = plread.getPage(0)
    text1 = getpage1.extractText()
    print(text1.encode('utf-8'))

但是,我的控制台中有空文本:

  

b''

我已针对不同的pdf测试过此代码,并且所有pdf均为空

UPD:

# getDocumentInfo
{'/Producer': 'Skia/PDF m75'}

文件pdf

1 个答案:

答案 0 :(得分:0)

似乎某些字体/文本组合使PyPDF2,PyPDF3或PyPDF4无法读取文本。

要从这些PDF中提取文本,可以使用专用的PDF文本提取包pdfminer.six

from pdfminer import high_level

local_pdf_filename = "/path/to/pdf/you_want_to_extract_text_from.pdf"
pages = [0] # just the first page

extracted_text = high_level.extract_text(local_pdf_filename, "", pages)
print(extracted_text)

它适用于所有对我而言失败的pdf,并且可以非常快速地实现为备用。完整的docs for the extract_text功能是here