为什么PyPDF2在打印extractText时显示此输出



我正试图使用PyPDF2从pdf中提取数据,但它没有显示实际文本,而是在输出中显示了其他内容,这背后的原因是什么?

这是我的代码

xfile=open('filename','rb')
pdfReader = PyPDF2.PdfFileReader(xfile)
num=pdfReader.numPages
pageobj=pdfReader.getPage(0)
print(pageobj.extractText())

当我运行上面的程序时,我得到了这个输出,原因是什么

!"#$%#&'(%!#)
(((((((((((((((((((((((((((((((((((((((((((((((((!"#$%#&'(%!#)*+,-./0!$1(230
4444444444445674+8,8,9:+*8
4&*)+!,$-.
4,*7;44444444444444444444444444
4$/012/($/3414546(78(,69:/7;7<=(>"#)?@(A2B2/231
(444<(4=&2#4$>4?&@!0$24A>/$>&&@$>/B4?CDEF4+(;8
4,*7,444*B62C;2/0(#B(%69(%9:77;@("1;23D5B
((((?C<GA47,H#B48:(,*I
4,*7*444E2F2:2B(.2G702=2(A10=2;2=2@("1;23D5B
((((?<GA47*H#B4?CDEF46(8
44%'$HH%(!.*($.,&I&%,%

Pdf是一种围绕页面布局的文件格式。因此,pdf中存在的文本可以以各种方法存储。不能保证您的pdf以PyPDF可读的格式存储。

继续:如果PyPdf实现出现故障,您可以尝试从其他pdf中提取数据,然后再得出结论。

您还可以尝试从pytesseract中提取数据,看看结果是否有所改善。

来自PyPDF2的文档:

这适用于某些PDF文件,但适用于其他文件,具体取决于使用的生成器。

您的PDF可能属于后一类,您是SOL。。。

由于PyPDF2不再被积极开发(自2016年以来没有对Pypi包进行更新(,也许可以尝试一个更新的包,如pdftotext

最新更新