解析 PDF 字体运算符丢失

Posted

技术标签:

【中文标题】解析 PDF 字体运算符丢失【英文标题】:Parsing PDF font operator missing 【发布时间】:2016-02-18 15:52:11 【问题描述】:

我正在解析一个 PDF 文件,似乎缺少一个 Tf 运算符。我可以在 Acrobat readerPreview 等 PDF 阅读器上看到字体发生了变化。但是在解析过程中,我没有 Tf 运算符。我仍然有标记前一个文本块结束的 ET 运算符和新文本块开始的 BT 运算符。我也有文字显示运营商 Tj & co。

为了清楚起见,我确实有 Tf 运算符,但它应该在一个地方,但不是。

PDF 参考说明:

字体或大小都没有初始值;他们必须是 在显示任何文本之前使用 Tf 明确指定。

我不明白为什么如果我没有 Tf 运算符,那些阅读器如何正确呈现文本?

有人知道问题出在哪里吗?

【问题讨论】:

请分享有问题的 PDF(或至少是您正在谈论的内容流)。此外,请注意 PDF 查看器倾向于尝试显示无效的 PDF;在这样做时,他们必须超出规范。可能你遇到了这样的情况。 @mkl 我也想知道。我不能分享 pdf 或日志,因为我不允许这样做。无论如何,谢谢你的建议。 【参考方案1】:

AFAIK 文本状态是图形状态的一部分,因此如果您在某处有一个 Q 运算符,那么这将解释字体更改(它将恢复以前的 q 运算符保存的状态)。

另外,图形状态操作符gs 可能会导致字体的变化。

【讨论】:

确实,我有 q 和 Q 运算符。谢谢你的回答。

以上是关于解析 PDF 字体运算符丢失的主要内容,如果未能解决你的问题,请参考以下文章

如何修复 PDF 文件并嵌入丢失的字体

如何在 acroforms 中获取字体信息?

Prolog解析证明器删除括号

前缀为“%”的 LIKE 运算符中的索引丢失

TSQL 在 IN 运算符中获取丢失的记录

F#:算术运算符和多态性丢失(值限制?)