Python 当尝试获取字数时,此PDF有什么问题
我正在尝试编写一个python应用程序,以便为PDF计算字数 不过,我在这个PDF中遇到了一些奇怪的事情 当我从PDF中提取文本时,它显示为某种二进制/符号垃圾 我尝试了Python 当尝试获取字数时,此PDF有什么问题,python,python-3.x,pdf,pypdf2,pymupdf,Python,Python 3.x,Pdf,Pypdf2,Pymupdf,我正在尝试编写一个python应用程序,以便为PDF计算字数 不过,我在这个PDF中遇到了一些奇怪的事情 当我从PDF中提取文本时,它显示为某种二进制/符号垃圾 我尝试了PyPDF2和PyMuPDFlibs,得到了相同的结果 我怎样才能得到像这样的PDF的字数 这是文件。 PDF缺少文本提取所需的信息。因此,试图从中提取文本通常会产生垃圾。 详细地 该PDF中的文本使用的字体既不显示ToUnicode地图,也不显示标准化名称的编码。它也不使用ActualText属性标记内容。此外,字符代码到例如
PyPDF2
和PyMuPDF
libs,得到了相同的结果
我怎样才能得到像这样的PDF的字数
这是文件。
PDF缺少文本提取所需的信息。因此,试图从中提取文本通常会产生垃圾。 详细地 该PDF中的文本使用的字体既不显示ToUnicode地图,也不显示标准化名称的编码。它也不使用ActualText属性标记内容。此外,字符代码到例如拉丁语-1的简单身份映射也不会产生任何可理解的结果 因此,根据PDF规范ISO 32000(第1部分和第2部分)中提出的算法对每个字符进行文本提取将导致该阶段 如果这些方法无法生成Unicode值,则无法确定字符代码所代表的内容,在这种情况下,一致性读取器可以选择自己选择的字符代码 (ISO 32000-1第9.10.2节将字符代码映射到Unicode值) 通过应用“复制粘贴”,您可以看到Adobe Acrobat也不喜欢这样 不过,在某些情况下,深入研究嵌入式字体会找到到Unicode的替代映射,一些文本提取器确实使用它们 尽管如此,这种方法在这里也无济于事,字体是一种类型3字体,即不基于某些正常的字体格式(例如TrueType),而是完全使用PDF矢量图形序列定义,无需进一步映射到Unicode 因此,如果没有某种程度的OCR(人工或自动化),就无法从该PDF中提取文本 旁白
如果本文档确实是由某些美国部门以当前形式发布的(而不是应用于其原始文档的某些转换工具的输出),您可能希望与该部门联系,讨论可访问性和第508节等主题…字符编码似乎有问题。我从未使用过这些库,但检查一下它是否与字符编码不匹配,我认为编码在Python2中已经消失了。在Python3中不是只有
str
或byte
?