这可能是一个更普遍的问题,因为我正在寻找有关如何解决使用 PDFView/PDFKit 的问题的想法。我有一个小的示例应用程序,它允许您显示一个页面,选择一系列文本,然后将评论与该文本关联。保存评论后,评论将通过 PDFView 的重写 draw() 函数显示在 PDFView 页面的页边空白处。
问题在于,如果边距很小,评论可能会被压扁。我一直在寻找一种直接的解决方案,非常感谢您提供有关如何解决它的想法。
显而易见的(即简单的)解决方案是更改 PDFView 中的实际“页面大小”并具有更宽的边距,但当然 PDFKit 不支持(我不认为)。另一个想法是使用自定义 PDFView 库,但我上次查看时发现的唯一库是基于 iOS(不是 Cocoa)的。
最后一个想法是,不要直接在页面上绘图,而是让某种弹出窗口(如便签)包含便笺,但随后需要随着页面的滚动动态移动它。当然,另一个是动态重新创建 PDF 以供查看并使所有页面变大……但我没有深入研究这会带来多少性能影响/努力。
也许我错过了一个简单/明显的解决方案?
我在 gitHub 中创建了一个简单的示例应用程序,它显示了人们可以使用的基本功能(如果有帮助的话)。 https://github.com/jcnolan/PDFMarginTextView