我正在使用 PyPDF2 库通过它的extractText
功能从 PDF 文件中提取文本,对于大多数 PDF,它工作得很好!
但是,某些 PDF 会生成如下所示的文本:
\n!"#$%&'()" +,"-." .)/"0$-1"2)+3-$.45\n""!"#$%&'() #'+),$!"#-.# $-/$0.1+" #+ 12$\n!"#"$!%"&#"%$'$()% +,-$(%.($#"$(%" %/%0!%\n$0"& $(%1(0,$2%3(%0"%0!%"&$%1(34+5"%36%1(0,$!7\n%%8%!"#$%& '($)%"\n%0!%#% +,-$(%"&#"%0!%3*9)%40'0!0-9$%-)%/%#*4 %0"!$967\n%%:%0!%"&$%3*9)%$'$ %\n1(0,$% +,-$(7\n%%;3%099+! "(#"$%6+ 4#,$ "#9%"&$3($,%36%#(0"&,$"052%<%90!"%-$93=%"&$%1 (0,$%6#5"3(0>#"03*%\n36% +,-$(!%-$"=$$ %/%# 4%:?7%@(0,$% +,
根据文档,这是可以预期的:
这适用于某些 PDF 文件,但对其他文件效果不佳,具体取决于所使用的生成器。
不幸的是,该extractText()
函数在输出上述文本时不会引发任何异常。
所以,我的问题是,有没有办法以编程方式检测extractText()
函数何时返回乱码?