7

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

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

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

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

谢谢!德里克

- 更新 -

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

4

1 回答 1

5

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

于 2012-05-04T08:51:23.820 回答