2011-11-29 69 views

回答

1

添加注解支持很难。

Quartz 2D将不会帮助你。

您需要手动解析PDF。 (例如使用NSScanner)并构建所有PDF对象的XRef树。然后,您正在编写一个新的预告片,替换/ Page对象并附加所有新的注释数据。这是很难得到正确的,并且2000页的PDF参考对此没有太大的帮助。我在一年中的更好的一部分中进行了正确的注释支持(突出显示,下划线,Strikeout,Ink,Note,...)。

当你想要高亮注释时,你也需要选择文本(否则用户将不得不自由绘制高光 - 不是一个好的体验。)为所有PDF字体类型的文本字形获取正确的帧是另一个恐怖的程度;在PDF中,没有一个词或一列的概念。只有单个字形。其余的是算法和猜测。

我甚至和一些苹果的工程师谈了他们是如何做到的(文本选择,注释),他们告诉我一个三人团队在他们的实施上工作了大约三年。