【问题标题】:Ghostscript generated pdf content is not able to copyGhostscript生成的pdf内容无法复制
【发布时间】:2017-02-06 14:27:03
【问题描述】:

我正在尝试转换包含一些泰卢固语字体(即 Vani Bold)的 postscript 文件。将文件转换为 pdf 后,我无法从生成的 pdf 文件中复制文本。当我在 centos 文档查看器中看到 pdf 文件的属性时,它显示如下

我正在使用以下命令将 postscript 文件转换为 pdf

bin/gs -dBATCH -sDEVICE=pdfwrite -sNOPAUSE -dQUITE -sOutputFile=/home/cloudera/Desktop/PrintTest/telugu.pdf /home/cloudera/Desktop/PrintTest/VirtualPrinter_27_09_2016_19_11_41_691.ps

我也尝试了 ghostscript 9.19 和 9.20,但没有任何变化。

以下是我试图转换为 pdf 的 postscript 文件的链接。 click here for postscript file

我已经为此苦苦挣扎了 10 天。请为此提供一些解决方案。

【问题讨论】:

    标签: pdf pdf-generation pdfbox ghostscript postscript


    【解决方案1】:

    我可以告诉你为什么你不能复制和粘贴文本,但我不确定我能否提供一个可接受的解决方案。

    首先,并非所有 pdf 查看器都可以处理 unicode 字符(例如,xpdf 不能,它只是忽略它们,而 mudpfqpdfview 工作)。

    其次,为了能够将字体字形转换为 unicode 字符,PDF 文件中的字体对象必须包含 /ToUnicode 属性。如果您查看解压后生成的 PDF (mutool clean -d),您可以看到对象 8 0 中的 Vani 字体没有它,而 Arial 对象10 0 中的字体和对象12 0 中的Calibri 字体。

    所以很可能 Vani 字体缺少此 unicode 翻译信息,您需要添加此信息(例如使用 fontforge),或选择具有此信息的其他字体。

    相关问题:

    【讨论】:

    • 这是 PDFDebugger 的截图:imgur.com/a/0w043。随意包括它。它表明缺少 ToUnicode,并且 unicode 列是空的。
    • 非常感谢您的回复@dirkt。那么如何将unicode翻译信息添加到Vani字体。请提供一些参考,以便我添加unicode并尝试。请帮我解决这个问题。
    • 我从来没有设计过字体,所以我不知道具体情况。我知道有像 Fontforge 这样的程序可以用来编辑字体,所以我建议你看看你的 Vani 和 Arial-Bold 字体使用它,试着找出哪个表编码 unicode 翻译,并添加它。另请阅读 Fontforge 文档。
    • 此外,字体嵌入在您的 postscript 文件中,因此即使您设法修复字体,您仍然无法将此特定 postscript 文件转换为可以复制/粘贴的 pdf。您需要使用新字体重新生成 postscript 文件,或者以某种方式将 postscript 文件中的嵌入字体替换为新字体。
    • 嗨@Tilman Hausherr,我应该把它包括在哪里?。我没有得到你建议我做的事情,你能解释一下吗。这对我真的很有帮助。
    猜你喜欢
    • 1970-01-01
    • 2015-07-20
    • 1970-01-01
    • 2015-08-25
    • 1970-01-01
    • 1970-01-01
    • 2015-06-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多