我正在使用 pdftotext 开源工具将 PDF 转换为文本文件。如何以 UTF-8 格式保存文本文件,以便保留文本文件中的所有重音字符。我正在使用以下命令将其提取内容转换为文本文件,但看不到任何重音字符。
pdftotext -enc UTF-8 book1.pdf book1.txt
请帮我解决这个问题。
提前致谢,
您可以使用以下命令获取可用编码的列表:
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)或使用十六进制编辑器进行仔细检查。
事情变得有点混乱,所以我要添加另一个答案。
我把 PDF 拆开,我最好的猜测是使用的字体存在“问题”:
您会看到最终得到的代码点不是您在 PDF 阅读器中看到的代码点。无论字体是什么,它的映射可能与 Unicode 标准中定义的映射不同。因此,您的内容是“错误的”,您对此无能为力。