使用Ghostscript嵌入字体,但保留其他所有内容

时间:2014-03-07 15:25:48

标签: ghostscript

我们正在寻找可以重新嵌入字体的软件,而Ghostscript看起来像是一种可能的解决方案。 我们一直在查看文档,但我们不确定如何获得我们想要的结果。

案例: 我们有一个包含所有字体的PDF,但PDF在我们的打印机RIP中失败 我们已成功使用Ghostscript对字体进行子集化。这似乎以某种方式修复了字体,并使PDF在打印机RIP中工作。我们使用这个命令:

C:\ Program Files \ gs \ gs9.10 \ bin \ gswin64c.exe“-dBATCH -dNOPAUSE -dPDFSETTINGS = / prepress -sDEVICE = pdfwrite -sOutputFile =”C:\ test2.pdf“-dAutoRotatePages = / None -dCompressFonts = false -dSubsetFonts = true -dEmbedAllFonts = true -dAutoFilterColorImages = false -dAutoFilterGrayImages = false -dDownsampleColorImages = false -dDownsampleGrayImages = false -dDownsampleMonoImages = false -c“.setpdfwrite< []>> setdistillerparams“-f”C:\ test.pdf“

现在,我们想做和/或改变的唯一方法是对字体进行子集化,并保持所有“按原样” - 但上面的命令似乎对图像和文本做了一些事情。

任何人都知道如何让Ghostscript嵌入字体?

1 个答案:

答案 0 :(得分:1)

你不能使用Ghostscript pdfwrite设备保持“原样”。我以前在SO上已经解决了这个问题,但是又来了;

Ghostscript和pdfwrite不会简单地修改现有的PDF文件,源PDF文件被完全解释,并转换为一系列传递给设备的图形基元。通常,设备然后将使用图形库将基元渲染到位图。在pdfwrite的情况下,图形基元被重新组装成一个全新的PDF文件。

这意味着生成的PDF文件与原始PDF文件没有任何共同之处,除了它的外观。

在没有看到原始PDF文件的情况下,我无法说出输入和输出之间可能存在什么不同,并且您没有说明为什么会出现问题。通过不指定所有这些命令行参数,特别是-dPDFSETTINGS,您可能会更接近您想要的,默认行为是尽可能保持输入不变。但是,你肯定无法做的一件事就是“原样”保留原始文件,这不是应用程序的工作方式。