我正在使用Leaves处理PDF。我无法弄清楚如何进行注释。我没有太多使用Quartz 2D,并希望有一些方向
答案 0 :(得分:1)
添加写注释支持很难。
Quartz 2D对你没有帮助。
您需要手动解析PDF。 (例如,使用NSScanner)并构建所有PDF对象的XRef树。然后,您正在编写一个新的预告片,它将替换/ Page对象并附加所有新的注释数据。很难做到正确,2000页的PDF参考对此没有多大帮助。我在今年的大部分时间里都进行了适当的注释支持(Highlight,Underscore,Strikeout,Ink,Note,...)。
当你想要高亮注释时,你也想要文本选择(否则用户必须自由绘制一个高亮 - 不是一个很好的体验。)获得所有PDF字体类型的文本字形的正确框架是另一个层次恐怖在PDF中,没有单词或专栏的概念。只是单个字形。其余的是算法和猜测。
我甚至与一些Apple工程师谈过他们是如何做到的[文本选择,注释],他们告诉我一个三人小组在实施方面工作了大约三年。