Pdf.js: 严重渲染的 Times New Roman PS

创建于 2019-03-22  ·  3评论  ·  资料来源: mozilla/pdf.js

在此处附加(推荐)或链接到 PDF 文件:
EMG8 -Cambridge Essentail Gold Maths 8-B 117.pdf

配置:

  • 网络浏览器及其版本: Chrome 73
  • 操作系统及其版本: * Macos 10.14.1 *
  • PDF.js 版本: 2.2.91
  • 是否为浏览器扩展:否

重现问题的步骤:


  1. 打开 PDF(从书中提取的单个页面)并查看渲染不良的字体

image

什么是预期行为? (添加截图)
在任何其他 PDF 阅读器上它呈现良好:
image

链接到查看器(如果托管在 mozilla.github.io/pdf.js 以外的网站上或作为 Firefox/Chrome 扩展):
当前 github 页面查看器: https :

笔记:
我们设法通过编辑 PDF 中的字体使其工作。 它目前是“Times New Roman PS”,只用“Times New Roman”重新渲染它似乎可以解决它。

没有控制台错误,也没有任何其他可见的解决方案迹象,例如缺少 CMap。

不幸的是,我们不允许更改 PDF,因此重新渲染每个 PDF 并不是一个可行的解决方案。

如果有人能对此有任何见解和可能的解决方案,那将不胜感激🤠

4-font-conversion

最有用的评论

PDF 多次定义相同的字体。 例如,字体LULQLP+TimesLTStd-Roman定义了九次。 每一个都引用相同的 FontDescriptor 和相同的嵌入 CFF 数据流。

在 core/evaluator.js 中的PartialEvaluator.prototype.preEvaluateFont()中有一个字体哈希计算。 它在哈希中添加了 Encoding、ToUnicode 和 Widths 条目。 PDF 中的某些字体获得相同的哈希码,因为所有提到的条目都是相同的,甚至宽度也是如此。 只有条目 FirstChar 和 LastChar 不同。 如果字体获得相同的哈希码,是否会导致跳过某个字体以使其不会转换为 OpenType?

这是一个简化的 PDF,其中包含原始 PDF 中的两种字体
issue10665_reduced.pdf

所有3条评论

PDF 多次定义相同的字体。 例如,字体LULQLP+TimesLTStd-Roman定义了九次。 每一个都引用相同的 FontDescriptor 和相同的嵌入 CFF 数据流。

在 core/evaluator.js 中的PartialEvaluator.prototype.preEvaluateFont()中有一个字体哈希计算。 它在哈希中添加了 Encoding、ToUnicode 和 Widths 条目。 PDF 中的某些字体获得相同的哈希码,因为所有提到的条目都是相同的,甚至宽度也是如此。 只有条目 FirstChar 和 LastChar 不同。 如果字体获得相同的哈希码,是否会导致跳过某个字体以使其不会转换为 OpenType?

这是一个简化的 PDF,其中包含原始 PDF 中的两种字体
issue10665_reduced.pdf

在 core/evaluator.js 中的PartialEvaluator.prototype.preEvaluateFont()中有一个字体哈希计算。 它在哈希中添加了 Encoding、ToUnicode 和 Widths 条目。 PDF 中的某些字体获得相同的哈希码,因为所有提到的条目都是相同的,甚至宽度也是如此。 只有条目 FirstChar 和 LastChar 不同。

非常好的分析,谢谢; 这使错误易于修复!

如果字体获得相同的哈希码,是否会导致跳过某个字体以使其不会转换为 OpenType?

在一些生成不良的 PDF 文件中,可能会有大量相同的字体,而preEvaluateFont目的只是为了避免加载/解析重复的字体。 因此loadFont将比较hash es,如果可能,使用已经加载/解析的字体。
显然,这一切都取决于这样一个事实,即hash实际上是正确/唯一的,但幸运的是,多年来该代码中的错误相对较少。

这太棒了,非常感谢您的帮助!

此页面是否有帮助?
0 / 5 - 0 等级

相关问题

soa-x picture soa-x  ·  174评论

jonasyuandotcom picture jonasyuandotcom  ·  29评论

Richard-Mlynarik picture Richard-Mlynarik  ·  32评论

ousia picture ousia  ·  29评论

collinanderson picture collinanderson  ·  29评论