2010-06-15 83 views
10

我已经了解到,Apple已经发布了SDK 3.2中用于绘制PDF上下文的CGPDF API。使用CGPDF API在iPad中显示PDF

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

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

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

让我知道如果已经完成或做这样的事情。

感谢 AJ

回答

12

在API文档有一种方式来加载PDF文件(含石英): 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!

有关于如何做到这一点......在网络上一些很好的例子

我,只要我有东西准备好了把一个链接/解决方案!

+0

你有什么样的pdf? – 2014-03-17 16:05:20

3

用Quartz API显示PDF很容易。但是没有对链接注释的本地支持。基本上,您需要解析pdf中的“Annots”字典,然后找到正确的页面(可以是GoTo引用或命名引用或其他类型;请参阅Adobe PDF Reference 1.7文档,有关Actions的部分)以及计算显示页面的坐标。

我写了一个[商业]库,其中包括解析链接注释和更多功能。你可能想退房http://pspdfkit.com

+0

Steipete。是否有任何路线图,您将在其中添加PDF FORM FILL到这个商业SDK? – Devaski 2012-08-06 18:55:50

+0

尚未规划;但我将来可能会选择此功能。 – steipete 2012-08-06 21:06:25

+0

谢谢Steipete! – Devaski 2012-08-07 03:56:20