【问题标题】:open a PDF file with automatically replaced Fonts打开带有自动替换字体的 PDF 文件
【发布时间】:2020-05-31 09:48:56
【问题描述】:

我不是程序员,只是一个使用Linux的普通用户。

我想使用 Ghostscript 来显示 Pdf 文件,而不是创建 Pdf 文件。 (直到现在我还没有使用过 Ghostscript)。

但我希望 Ghostscript 在我打开 PDF 时自动将所有字体替换为其他字体。不管字体是否嵌入。

字体应该替换为哪些字体? 回答:我想创建一个字体列表,我希望可以替换它。

但是应该使用列表中的哪些字体? 答:与要替换的字体的度量最匹配的那个。

有没有可能以某种方式做到这一点?

【问题讨论】:

    标签: pdf fonts ghostscript


    【解决方案1】:

    您无法让 Ghostscript 执行您所要求的操作。如果 PDF 文件包含字体 Ghostscript 将使用这些字体,它只会在找不到嵌入字体时替换。

    原因很简单; PDF 文件中嵌入的字体是 正确 字体。它的 Metrics 是正确的,并且将表单字符代码映射到字体中相应的字形选择器将是正确的。

    从字体列表中选择“最符合要替换字体的度量标准”的字体也是一个不小的问题。应该考虑哪些特点?应该如何确定?

    当没有嵌入字体时,Ghostscript 将查询自己的字体和 CIDFonts 列表。这两个列表都可以自定义,文档是here

    但由于替代字体总是妥协,您不能告诉 Ghostscript 不要在 PDF 中使用嵌入字体。从技术上讲,您可以通过修改 PDF 解释器,但您说您不是程序员,所以我怀疑您是否愿意尝试。

    【讨论】:

    • 谢谢。看来,我只能分两步得到这个。首先:从 PDF 中删除所有嵌入的字体并将生成的文件另存为副本。现在,可以使用自定义字体免费打开它。正确的?有没有办法用 Ghostscript 删除嵌入的字体?
    • 如果您删除字体,那么是的,您将获得替代品。 Ghostscript 不会“编辑”PDF 文件,pdfwrite 设备会根据输入生成新的 PDF 文件,这并不完全相同。不,除了将它们转换为位图或轮廓之外,它没有删除字体的方法。有一个 NeverEmbed 名称数组,您可以从输入文件中添加所有字体名称,这样就可以完成这项工作。但是编辑列表非常乏味。你到底为什么要这样做?结果永远不会像维护原始字体那样好,并且经常会导致文件中出现乱码
    • 引用:“你到底为什么要这样做?”我只是想要一个看起来不错的PDF,当禁用抗锯齿时。所以没有抗锯齿看起来不好的字体必须通过没有抗锯齿看起来很好的字体来替换。也许会有更好的工具来代替 Ghostscript?
    • 替换字体导致指标差异、字形形状差异、定位错误,在极端情况下,文本错误(由于子集字体和重新编码) .这一切都是因为你不喜欢没有抗锯齿的文字?显然它取决于你。你几乎肯定会使用多种工具来实现你所追求的。我想大量的 PDF 编辑工具将允许您删除字体(或至少删除对嵌入式 FontFile 的引用)。我怀疑是否有任何工具可以专门删除所有嵌入的字体,但我可能是错的。
    猜你喜欢
    • 2018-12-28
    • 2018-05-26
    • 2013-01-31
    • 2017-10-11
    • 1970-01-01
    • 2012-11-24
    • 1970-01-01
    • 2017-02-19
    • 2014-06-06
    相关资源
    最近更新 更多