CGPDFScanner、Identity-H 和解压缩

发布于 2024-11-07 14:42:13 字数 434 浏览 6 评论 0原文

我的 CGPDFScanner 实例正在扫描测试 pdf 文件。

在给定时间,当前字体字典具有 EncodingIdentity-H 和带有键 FontFile2FontDescriptor 字典。这个键恰好是一个流值,它的字典有键Filter。该键的值为 FlateDecode

我不确定如何解释和使用它(例如,将下一个 Tj 块中的文本提取为 Unicode)。例如,我是否只对下一个 Tj 块中的字节进行 zlib 解压缩? (这里没有 ToUnicode 键。)

我以为所有解压都是由 CGPDFScanner 实例执行的。

My instance of CGPDFScanner is scanning a test pdf file.

At a given time, the current font dictionary has Encoding value Identity-H and a FontDescriptor dictionary with key FontFile2. This key happens to be for a stream value, whose dictionary has the key Filter. The value for this key is FlateDecode.

I'm unsure of how to interpret and use this (to, say, extract the text in the next Tj block to Unicode). For example, do I just zlib-decompress the bytes in the next Tj block? (There is no ToUnicode key here.)

I'd thought all the decompression was carried out by the instance of CGPDFScanner.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

玩物 2024-11-14 14:42:13

如果字体使用 Identity-H 编码并且没有 ToUnicode 条目,则无法提取文本。 Tj 运算符的参数是字形索引序列,如果没有 ToUnicode 条目,则该序列无法转换为文本。

FontFile2 条目存储实际的字体文件,在从 PDF 文件中提取文本时它没有任何作用。

If the font uses Identity-H encoding and it does not have a ToUnicode entry, the text cannot be extracted. The parameter of Tj operator is a sequence of glyph indexes and this sequence cannot be converted to text in the absence of the ToUnicode entry.

The FontFile2 entry stores the actual font file, it has no role when extracting text from the PDF file.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文