如何在PDF中选择文本行,然后突出显示它们?(苹果)



我在Google,stackoverflow和Apple的开发人员库上搜索了PDF注释,但没有一个真正满足我的需求。这是我的问题和我目前对它的知识,如果我错了,请纠正我。

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

[问题]:我们如何选择CGContextDrawPDFPage((渲染的PDF页面上的文本? 具体来说,如果我要重写触摸开始/移动/结束委托方法,我应该在其中做什么才能跟踪用户想要选择的文本框架?

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

谢谢!德里克

--更新--

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

您的潜在解决方案是要走的路。Tj 字符串的边框大小是字符串中每个字形的边框之和,因此您可以选择字符串中的任何内容。PDF基滕库可能会帮助您进行文本处理:https://github.com/KurtCode/PDFKitten

最新更新