如何让Ghostscript在PDF中使用嵌入字体

She*_*oss 8 pdf ubuntu fonts postscript ghostscript

gs -dCompatibilityLevel=1.4 -dPDFSETTINGS=/screen -dNOPAUSE -dBATCH \
   -sDEVICE=pdfwrite -sOutputFile=output.pdf input.pdf
Run Code Online (Sandbox Code Playgroud)

我正在使用(尝试无论如何)使用Ghostscript来减少我的PDF文件大小.上面的命令看起来像它的工作,它大大减少了文件大小,但随后几个字段出现乱码.至于我可以追踪它,它正在进行字体替换.IE,同一文本=相同的乱码文本.

当它到达我时,字体嵌入在PDF中.另外,我试图将所有字体添加到Fontmap中.

任何想法,理想情况下我希望它使用嵌入式字体,而不必更新gs系统字体/编辑字体图等.我正在使用Ubuntu 9.10和嵌入的字体是Windows字体,Arial/TimesNewRoman.

谢谢.

Kur*_*fle 15

回溯嵌入未嵌入原始PDF的字体确实增加了文件大小,而不是减少它.

但是,可能仍有机会通过降低嵌入图像的分辨率来减小整体文件大小...取决于您的偏好和需求.

您可以尝试使用以下命令行的变体.它将嵌入所有字体(甚至是"Base 14"字体),但仅嵌入所需的字形(原始字体的"子集"),并且还压缩字体:

gs \
   -dCompatibilityLevel=1.4 \
   -dPDFSETTINGS=/screen \
   -dCompressFonts=true \
   -dSubsetFonts=true \
   -dNOPAUSE \
   -dBATCH \
   -sDEVICE=pdfwrite \
   -sOutputFile=output.pdf \
   -c ".setpdfwrite <</NeverEmbed [ ]>> setdistillerparams" \
   -f input.pdf
Run Code Online (Sandbox Code Playgroud)