【发布时间】:2015-07-20 11:21:00
【问题描述】:
我正在使用 TCPDF 来创建 PDF 文件。
因为 TCPDF 在字体子集 (link to bug) 中存在错误,
我使用以下 Ghostscript 命令对 TCPDF 创建的 PDF 文件中的字体进行子集化:
gswin64c.exe -q -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 \
-dPDFSETTINGS=/prepress -dUseFlateCompression=false -dEmbedAllFonts=true \
-dSubsetFonts=true -sOutputFile="out.pdf" "input.pdf"
效果很好,可以减小文件大小。但是,当我尝试将 PDF 文件解析为文本时(使用 poppler -> pdftotext),或者当我在 PDF 查看器中打开文件并选择文本时,我会在 UTF-8 字体上出现乱码。
为了在这里重现它是file before ghostscript和file after ghostscript。
如果您在 Adobe 阅读器中打开它,复制文本并将其粘贴到其他位置,您可以看到您可以从“GS 之前”的文件中复制文本。但是在第二个文件中,除非你复制英文字符(文件是希伯来语),否则你会得到乱码。
除了文件看起来很棒。
您对如何在 Ghostscript 中保留 UTF8 字体有任何想法吗?
【问题讨论】:
-
你把你的问题描述得很好,然后你想让我们“重现它”,但不要给我们你的Ghostscript版本?!那么:您使用的是哪个版本? (输出
gs -version) -
我在问题里加了,版本是9.16
标签: pdf ghostscript postscript