【问题标题】:iOS-PDF highlight getting drawn on wrong positioniOS-PDF 高亮显示在错误的位置
【发布时间】:2015-09-24 12:21:07
【问题描述】:

我正在使用 PDFKitten 代码。我已经修复了有关解析 CMap 的所有问题,/差异。

我有一个带有 TrueType 和 Type1 字体的pdf。 我已经解析了它的差异和宽度数组。
但是,每当我尝试选择或搜索文本时,突出显示的位置都会显示在错误的位置。可能是什么问题?

我已将 MediaBox 变换应用于绘制矩形。它适用于其他一些pdf,但不适用于此。我还需要做什么来解决这个问题?

我已检查 link 是否有类似问题,但解决方案不起作用。

谢谢。

添加截图:

【问题讨论】:

  • 能否贴出显示页面的截图和页面上绘制的高亮,并指出高亮的实际位置?
  • 添加了屏幕截图。我想选择“transport”这个词,选择是在“tr”之后开始的。
  • 您为“运输”字计算的位置(ll,ur 坐标)是多少?
  • (CGRect) rect = (origin = (x = 403.59802068642199, y = 74.832286867199969), size = (width = 55.572233502335052, height = 11.639995343999999))
  • 我对 x 的计算返回 394.112177。显示文本“Is the main transport protocol in”的 TJ 运算符包含文本移位的正值和负值,从而将文本位置向左或向右移动。我假设您仅将文本位置向右移动,这会导致 x 位置大于预期。

标签: ios pdf fonts


【解决方案1】:

事实证明,未正确识别特定 unicode 的字形。这是 PDFKitten 中的错误。 通过保持其宽度添加字形模型来解决它。 在计算宽度而不是映射回字形时,我使用模型中的字形从字体中获取宽度。

【讨论】:

    猜你喜欢
    • 2015-04-24
    • 2017-09-04
    • 2013-12-28
    • 1970-01-01
    • 2016-08-27
    • 2012-01-03
    • 2012-01-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多