12

我正在使用 pdftotext 开源工具将 PDF 转换为文本文件。如何以 UTF-8 格式保存文本文件,以便保留文本文件中的所有重音字符。我正在使用以下命令将其提取内容转换为文本文件,但看不到任何重音字符。

pdftotext -enc UTF-8 book1.pdf book1.txt

请帮我解决这个问题。

提前致谢,

4

2 回答 2

27

您可以使用以下命令获取可用编码的列表:

pdftotext -listenc

并使用 -enc 参数选择正确的。我的这里似乎默认使用 UTF-8。即你的“UTF-8”是多余的

pdftotext -enc UTF-8 your.pdf

您可能需要检查您的语言环境(LC_ALL、LANG、...)。

编辑: 我下载了以下 PDF: http ://www.i18nguy.com/unicode/unicodeexample.pdf

并使用以下命令在 Windows 7 PC(德语)和 XPDF 3.02PL5 上对其进行转换:

pdftotext.exe -enc UTF-8 unicodeexample.pdf

文本文件肯定是 UTF-8 编码的,因为所有字符都正确显示。你用文本文件做什么?如果您通过 Web 应用程序显示它,您的内容编码可能只是错误的,而文本文件已按照您的意愿进行转换。

使用浏览器(将 Firefox 中的编码强制为 ISO-8859-1 和 UTF-8)或使用十六进制编辑器进行仔细检查。

于 2010-10-28T05:17:06.590 回答
0

事情变得有点混乱,所以我要添加另一个答案。

我把 PDF 拆开,我最好的猜测是使用的字体存在“问题”:

  • 在 Acrobar Reader 中打开 PDF 文件
  • 选择页面上的所有文本
  • 将其复制并粘贴到支持 Unicode 的文本编辑器中(没有“隐藏”OCR,因此您正在复制实际数据)

您会看到最终得到的代码点不是您在 PDF 阅读器中看到的代码点。无论字体是什么,它的映射可能与 Unicode 标准中定义的映射不同。因此,您的内容是“错误的”,您对此无能为力。

于 2010-10-28T09:43:06.143 回答