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

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

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

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

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

谢谢!
德里克

– 更新 –

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

解决方法

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

相关文章

UITabBarController 是 iOS 中用于管理和显示选项卡界面的一...
UITableView的重用机制避免了频繁创建和销毁单元格的开销,使...
Objective-C中,类的实例变量(instance variables)和属性(...
从内存管理的角度来看,block可以作为方法的传入参数是因为b...
WKWebView 是 iOS 开发中用于显示网页内容的组件,它是在 iO...
OC中常用的多线程编程技术: 1. NSThread NSThread是Objecti...