首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Ghostscript -重新嵌入字体

Ghostscript -重新嵌入字体
EN

Stack Overflow用户
提问于 2015-02-27 17:15:04
回答 1查看 111关注 0票数 1

我想使用ghostscript来优化pdf文件。

我的文件是由iText生成的,并且有字体被多次嵌入- 3000+;

我想用ghostscript复制文档,它将删除所有嵌入的内容,并只在文件中嵌入一次。

你知道怎么做吗?

还有一个问题-- ghostscript和ghost4j之间有什么区别吗?

谢谢

EN

回答 1

Stack Overflow用户

发布于 2015-02-27 18:16:07

你很可能不能这样做。如果看不到文件,我就不能确定,但概率是每种字体都作为一个子集嵌入。也就是说,它只包含字体中最初存在的几个字形。

因此,如果第一个实例包含a,c,f和g,第二个实例包含b,e和h,您可以看到这两种字体实际上是不同的。

更糟糕的是,文本通常是重新编码的,因此字符代码并不是您所期望的。在上面的例子中,'a‘没有字符代码0x61 (’a‘的ASCII),它的字符代码是1。c是2,f是3,依此类推。在第二种情况下,字符代码1将是'b',字符代码2将是'e‘,依此类推。

没有简单的方法来重新组合多个字体子集,也没有简单的方法将每组文本重新编码为“组合”字体。

在pdfwrite设备检测到具有兼容编码的多个子集字体(所使用的字符码在每个字体中是唯一的)的情况下,它将它们组合在一起。它不会再次尝试重新编码它们,所以如果两种字体使用相同的字符代码(根据我上面的例子),pdfwrite将只发出两种字体。

假设您已经尝试通过pdfwrite运行该文件,但没有得到您想要的结果,那么就是这样,您不能使用当前代码获得您想要的结果。

也许你可以告诉iText不要设置字体的子集,这将在源代码上为你解决问题,而不是试图在事后修复它。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28761288

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档