【问题标题】:How to save text file in UTF-8 format using pdftotext如何使用 pdftotext 以 UTF-8 格式保存文本文件
【发布时间】:2011-05-01 16:40:51
【问题描述】:

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

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

请帮我解决这个问题。

提前致谢,

【问题讨论】:

    标签: utf-8 pdftotext


    【解决方案1】:

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

    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)或使用十六进制编辑器进行双重检查。

    【讨论】:

    • 感谢您的回复。我无法使用 pdftotext -listenc 获取编码列表。我也在使用您指定的相同命令,但对我来说仍然没有用。能否请您将您的邮件地址发给我,以便我将 PDF 转发给您进行测试?再次感谢。
    • 我使用的是3.02版的pdftotext
    • 你在什么平台上运行这个?某种 Unix/Linux 或 Windows?从版本号来看,您使用的是有点过时的(原始)XPDF 版本。与此同时,大多数 Linux 发行版都切换到了 Poppler。我的说:“pdftotext 版本 0.14.4”,来自 Poppler(2010 年发布的版本)。
    • 我使用的是 Windows 7,并且我已经下载了适用于 windows 的最新版本“Xpdf 3.02pl5 于 2010 年 10 月 21 日发布”。
    • 见我上面的编辑。使用您提到的版本转换为 UTF-8 没有问题。
    【解决方案2】:

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

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-02-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多