如何在ios 11中以编程方式打开pdf标记

时间:2017-07-06 09:44:24

标签: ios iphone pdf beta ios11

标记为pdf 是iOS 11中的共享表中的新选项,我想在我的UI中为该操作提供一个按钮,以便当用户单击该按钮时,pdf标记视图(参考下面的图片显示。

enter image description here

提前致谢

1 个答案:

答案 0 :(得分:2)

我一直想找几个小时的解决方案。 我展示了UIDocumentInteractionController,SFSafariViewController,UIActivityViewController,QLPreviewController。

目前,没有办法以编程方式调用Instant Markup。

唯一接近的解决方案是使用UIActivityType.markupAsPDF呈现UIActivityViewController (Documentation link

func showMenu()
{
    if let pdfUrl = Bundle.main.url(forResource: "Martin", withExtension: "pdf") {
        let activityController = UIActivityViewController(activityItems: [pdfUrl], applicationActivities:nil)
        ctra.excludedActivityTypes = [
            UIActivityType.postToFacebook,
            UIActivityType.postToTwitter,
            UIActivityType.postToWeibo,
            UIActivityType.message,
            UIActivityType.mail,
            UIActivityType.copyToPasteboard,
            UIActivityType.assignToContact,
            UIActivityType.saveToCameraRoll,
            UIActivityType.addToReadingList,
            UIActivityType.postToFlickr,
            UIActivityType.postToVimeo,
            UIActivityType.postToTencentWeibo,
            UIActivityType.airDrop,
            UIActivityType.openInIBooks,
    ]
    // These activity types shouldn't be excluded
    // UIActivityType.print,
    // UIActivityType.markupAsPDF

    self.present(activityController, animated: true, completion: nil)
    }
}

在扩展应用的底线,您将看到"创建PDF"。 Screenshot InstantMarkup0

<强> P.S。

如下所示,Apple使用了QLPreviewController。 我试图提供QLPreviewController,但它显示没有Instant Markup按钮。 Apple可能会在稍后向我们提供所需的API,但我对它有疑问。 Opened QLPreviewController from UIActivityViewController Opened QLPreviewController from UIActivityViewController. Instant Markup mode.