我了解到Apple已经在SDK 3.2中发布了用于绘制PDF上下文的CGPDF API。
我从这些API中了解到,您可以将PDF绘制到数据对象或PDF文件中。然后,您可以将其导出到沙盒的目录中,或者作为附件添加到邮件中。
但我不确定我们是否可以使用这些API从应用程序包中读取PDF并在屏幕上逐页显示给用户。我想做的是在杂志阅读器应用程序中打开杂志的PDF。
我还想知道我们是否可以识别PDF文件中的链接并在应用程序中打开它们。
让我知道是否做过或做过这样的事情。
由于 AJ
答案 0 :(得分:12)
在API文档中,有一种加载PDF的方法(使用Quartz): CGPDFDocument 是您需要的对象 和 CGPDFDocumentCreateWithURL 可能是您正在寻找的构造函数。
我花了很多时间在这上面 - 似乎你需要使用CATiledLayers来正确缩放这些PDF!
网上有一些关于如何做到这一点的好例子......
我会在准备就绪后立即在此处提供链接/解决方案!
答案 1 :(得分:3)
使用Quartz API显示PDF非常简单。但是链接注释没有原生支持。基本上,您需要解析pdf中的“Annots”字典,然后找到正确的页面(可以是GoTo引用,或命名引用,或~10种其他类型;请参阅Adobe PDF Reference 1.7文档,关于动作),并计算显示页面的坐标。
我写了一个[商业]库,包括解析链接注释和更多功能。您可以查看http://pspdfkit.com