2012-08-03 146 views
2

我是iPhone新手我使用CGPDFDocument打开了一个pdf文件。我想要在文档中的特定行中长按时做出突出显示。 任何示例代码来做到这一点?CGPDFDocument中的突出显示

在此先感谢。

回答

3

您需要推出自己的解决方案。苹果在iOS中将文本选择添加为私有API,但他们没有暴露任何东西。您可以简单地使用UIWebView来获取该功能,或者,如果您需要更多控制或者还想要突出显示等功能,则需要编写自己的解决方案。

对于一般的PDF阅读器,这里有相当多的开源代码。 (以vfr/Reader为例)

要获得文本选择/注释,这是一个完全不同程度的痛苦。我全职从事这些功能的全年工作,并刚刚发布了我的商业框架PSPDFKit的v2。

有两个问题需要您自己解决;首先得到字形反向并从单个字形中找出单词。我使用CoreGraphics作为解析器 - 计算正确的帧并管理当前的绘图堆栈和不同的字体样式是困难的部分。这里有一些开源代码(PDFKitten),但我终于推出了自己的代码,因为那个代码真的不是很好,并且在使用各种PDF字体格式时遇到了很多问题。

二,编写实际的注解对象。在这里,您需要自己解析PDF以制作所有对象的树,然后编写一个替换/ Pages对象的新预告片(PDF大多数只是文本,因此它很好解析;但仍然很难正确)。我不知道有哪些开源代码可以帮助你。我花了很长时间与official PDF reference长夜。