如何选择PDF中的文本行然后突出显示它们? (IOS)

时间:2012-05-03 01:50:53

标签: ios pdf annotations quartz-graphics

我在Google,stackoverflow和Apple的开发者库中搜索过PDF注释,但它们都没有真正满足我的需求。这是我的问题和我目前对它的了解,如果我错了,请纠正我。

我想允许用户首先选择要突出显示的一些文本行,然后在它们顶部绘制突出显示的矩形。

[问题]:我们如何在CGContextDrawPDFPage()呈现的PDF页面上选择文字? 具体来说,如果我要覆盖touchesBegan / Moved / Ended委托方法,我应该怎么做才能跟踪用户想要选择的文本框架?

我不想使用FastPDFKit,因为它显示徽标并且需要花钱,或者UIWebView,因为它对我们可以用它做的事情非常有限,而且我想学习如何做到这一点我自己: - )

谢谢! 德里克

- 更新 -

潜在的解决方案:我可以在我的PDF上放置透明视图,在解析PDF内容时,为TJ中的每个Tj或每个字符串元素构建一个矩形。那些矩形将是可选择的"文本"用户可以突出显示。需要注意的是,有些PDF会将多个单词卡在一个Tj中,因此在这种情况下会阻止用户选择单个单词。我将尝试这种方法并稍后更新结果。

1 个答案:

答案 0 :(得分:5)

您的潜在解决方案是可行的方法。 Tj字符串的边界矩形的大小是字符串中每个字形的边界矩形的总和,因此您可以选择字符串中的任何内容。 PDFKitten库可以帮助您进行文本处理:https://github.com/KurtCode/PDFKitten

相关问题