使用CGPDF API在iPad上展示PDF文件

11

我了解到苹果在SDK 3.2中发布了CGPDF API,用于绘制PDF上下文。

从这些API中我所理解的是,您可以将PDF绘制到数据对象或PDF文件中。然后,您可以将其导出到您的沙盒目录或作为邮件附件添加。

但我不确定我们是否可以使用这些API从应用程序捆绑包中读取PDF并在屏幕上逐页向用户展示。 我想做的是在杂志阅读器应用程序中打开一本杂志的PDF。

我还想知道是否可以识别PDF文件中的链接并在应用程序中打开它们。

请告诉我是否已经完成或正在进行类似的事情。

谢谢 AJ

2个回答

12

在API文档中,有一种加载PDF文件的方法(使用Quartz技术):

CGPDFDocument是所需的对象, 而CGPDFDocumentCreateWithURL可能是你要查找的构造函数。

以下是一些示例: http://developer.apple.com/mac/library/documentation/GraphicsImaging/Conceptual/drawingwithquartz2d/dq_pdf/dq_pdf.html#//apple_ref/doc/uid/TP30001066-CH214-TPXREF109

我花了很多时间来研究这个问题 - 似乎你需要使用CATiledLayers才能正确缩放这些PDF文件!

网络上有一些很好的示例可以教你如何实现...

我一旦有相关准备就会在这里放置链接/解决方案!


你有PDF的样本吗? - Kunal Balani

4
使用Quartz API显示PDF非常容易。但是,没有原生的链接注释支持。基本上,您需要解析pdf内部的“Annots”字典,然后找到正确的页面(可以是GoTo引用、命名引用或其他大约10种类型;请参见Adobe PDF Reference 1.7文档中有关操作的部分),并计算要显示页面的坐标。
我写了一个[商业]库,其中包括解析链接注释等多个功能。你可能想要查看http://pspdfkit.com

Steipete,您是否有任何路线图,计划将PDF表单填充功能添加到此商业SDK中? - Devaski
目前还没有计划,但我可能会在未来加入这个功能。 - steipete
更新:我们现在支持iOS上的表单,很快也会支持Android/Web。 - steipete

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接