Lan*_*nce 5 encoding pdf ocr unicode character-encoding
有时当我pdftotext
这样做时会产生完美的文本。我认为这是因为实际的 unicode 文本数据直接嵌入到 PDF 本身中,并且只需读出即可。
但其他时候(大约一半或更多的文档不只是直接扫描的图像)它会导致〜奇怪的字形〜代替诸如变音符号和重音符号之类的东西,有时甚至是看起来模糊的字母。
\n\n例如,这个约鲁巴语词典 PDF就存在这些问题。如果你运行这个:
\n\npdftotext yoruba.pdf yoruba.txt\n
Run Code Online (Sandbox Code Playgroud)\n\n你最终会看到这些词散布在各处:
\n\nexpected actual\n-------- ------\nlairot\xe1\xba\xb9le lairot4ille\nik\xe1\xbb\x8dsil\xe1\xba\xb9 ikljlsil4il\nlog\xc3\xb3 logb\n
Run Code Online (Sandbox Code Playgroud)\n\n请注意,重音符号\xc3\xb3
变成了字母b
。但并不是每个 \xc3\xb3 都变成了 doc 中的 ab。许多人这样做,但不是全部。与\xe1\xba\xb9
a相同4il
。许多人都变成这样,可能是所有人。大多数时候(我的感觉是)更晦涩的重音符号/变音符号\xe1\xba\xb9
会被转换成陌生的字符或字符序列。
为什么是这样?是 OCR 的东西吗?或者PDF实际上是否嵌入了纯文本(即它不是图像的扫描文档)?然而,它在某种程度上没有被正确解码。我想知道这个问题的答案,所以至少我知道这是 OCR 问题或编码/解码问题。
\n\n如果这是一个编码问题,那就很有趣了。那么我的问题是,我可以告诉pdftotext
使用一些晦涩的解码技术吗?或者是什么。
我提出这个问题的部分原因是我最近发现了一些网页是用 或 编码的ucs2
,latin1
有些甚至是用一些奇怪的windows2255
或某种编码编码的。因此,我必须修改编码/解码才能正确提取 HTML 文档中的文本。我想知道在这种情况下同样的情况是否也适用于 PDF。
另一个遇到此问题的文档是纳瓦霍词典。我不知道这是 OCR 的问题还是编码的问题。另一个奇怪的文档是“Zulu-English Dictionary by Forgotten Books”(我会链接到该词典,但直接下载而不是在浏览器中呈现)。如果复制/粘贴文本,每个字母会以看似随机的方式彼此间隔 1 或 2 个空格。我不知道为什么,想有更好的感觉。
\n