如何使Ghostscript使用PDF中嵌入的字体

10
gs -dCompatibilityLevel=1.4 -dPDFSETTINGS=/screen -dNOPAUSE -dBATCH \
   -sDEVICE=pdfwrite -sOutputFile=output.pdf input.pdf

我正在尝试使用Ghostscript来减小我的PDF文件大小。上面的命令似乎可以工作,它大大地减小了文件大小,但是几个字段变得混乱了。据我追踪发现,它进行了字体替换。也就是说,相同的文本=相同的混乱文本。
当PDF文件传送到我这里时,字体已经嵌入其中。此外,我已经尝试将所有字体添加到Fontmap中。
有什么想法吗?理想情况下,我希望它能够使用嵌入的字体,而无需我更新gs系统字体/编辑fontmap等。我使用的是Ubuntu 9.10,嵌入的字体是Windows字体,Arial/TimesNewRoman。
谢谢。
1个回答

16

将原始PDF中未嵌入字体的字体进行后期嵌入,会增加文件大小,而不是减少大小。

但是,通过减少嵌入的图像分辨率,仍然有可能减小总体文件大小......这取决于您的首选项和需求。

您可以尝试以下命令行的变体。 它将嵌入所有字体(甚至是“基本14个”),但仅嵌入所需的字形(原始字体的“子集”),并且还压缩了字体:

gs \
   -dCompatibilityLevel=1.4 \
   -dPDFSETTINGS=/screen \
   -dCompressFonts=true \
   -dSubsetFonts=true \
   -dNOPAUSE \
   -dBATCH \
   -sDEVICE=pdfwrite \
   -sOutputFile=output.pdf \
   -c "<</NeverEmbed [ ]>> setdistillerparams" \
   -f input.pdf

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接