【问题标题】:Getting the bounding box of each glyph in pdf - iOS获取pdf中每个字形的边界框 - iOS
【发布时间】:2012-06-29 18:27:47
【问题描述】:

我一直在尝试突出显示 pdf 中的文本。经过大量的研究和实验,似乎我必须找到每个字形的边界框,在实际绘图发生的地方创建一个叠加层,并通过用边界框的信息填充 CGRect 并填充它来突出显示文本颜色。现在,我被边界框难住了。

我一直在使用PDFKitten 来搜索和突出显示文本。现在我想用它来选择和突出显示文本。我不明白的是它如何使用边界框(以及其他信息,如 ascent、descent、capHeight 等)来填充突出显示的搜索词。当我尝试访问 FontDescriptor 类以获取信息时,它显示如下:

2012-06-28 16:32:20.626 er[2408:15203] x:-665, y:-325, width:2000, height:1006
2012-06-28 16:32:20.627 er[2408:15203] x:-157, y:-250, width:1126, height:952
2012-06-28 16:32:20.628 er[2408:15203] x:-628, y:-376, width:2000, height:1010

这很令人困惑,所以如果有人能澄清这一点,将不胜感激。

【问题讨论】:

  • 你有机会实现它吗?

标签: objective-c ios pdf bounding-box glyph


【解决方案1】:

您不能使用字体描述符信息来获取字形的边界框。

PDFKitten 负责使用 RenderingState 模型查找每个字形的宽度和高度。

您可以在扫描 PDF 时使用它来查找单词的位置。

字体字典提供字形的宽度。您可以使用 cid 来获取字形的正确宽度。

尝试查看 PDFKitten 的高亮代码。

【讨论】:

    猜你喜欢
    • 2015-07-13
    • 2012-11-02
    • 1970-01-01
    • 2018-10-01
    • 1970-01-01
    • 2018-12-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多