【问题标题】:How to detect change in pdf loaded using PDF KIT iOS如何检测使用 PDF KIT iOS 加载的 pdf 的变化
【发布时间】:2018-05-23 10:27:47
【问题描述】:

我在 iOS 中加载了一个可编辑的 pdf。但无法确定用户是否对该 pdf 进行了任何更改。

NSData *fileData = [NSData dataWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"PdfFormExample" ofType:@"pdf"]];
PDFDocument *pdfDocument = [[PDFDocument alloc] initWithData:fileData];
PDFView *pdfView = [[PDFView alloc] initWithFrame:self.view.frame];
pdfView.document = pdfDocument
[self.view addSubView:pdfView];

提前致谢。

【问题讨论】:

    标签: ios objective-c ios11 pdfkit


    【解决方案1】:

    您可以使用 PDFKit 来控制 pdf 并将其加载到 iOS 应用程序中。它由苹果提供。因为您必须首先为 PDF 设置委托

    PDFDocumentDelegate

    • PDFKit 可以发送不同操作的通知,例如开始写入、结束写入等。因此您可以使用这些方法获取本地通知来确定用户是否开始编写或修改 PDF。为此,您可以使用,

    PDFDocumentDidBeginPageWriteNotification PDFDocumentDidEndPageWriteNotification

    根据您想要进行更改的时间选择上述任何一项。

    如果你想更多地参考这里是链接:

    PDFKit / PDF Document

    【讨论】:

    • 开始编辑这些通知时不会触发。
    • 您必须为您使用 PDFKit 的文件设置委托,而 PDFDocumentDidBeginPageWriteNotification 只是一个委托方法。您必须创建单独的通知并将其作为参数传递给此方法,当有人开始写作时,此方法将触发该通知。
    • 你还是不清楚。 PDFDocumentDidBeginPageWriteNotification 是在编辑时不触发的通知。我经历了所有的 delagate 方法,其中没有一个在编辑时被调用。
    • 我真的不明白这是如何工作的,正如 Shaik Riyaz 所说,没有触发通知,“PDFDocumentDidBeginPageWriteNotification 只是一个委托方法”对我来说毫无意义,因为 PDFDocumentDelegate 协议中没有这个名称的方法.可以放个代码示例吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-02-08
    • 1970-01-01
    • 2013-09-08
    • 2021-11-17
    • 1970-01-01
    • 2014-02-21
    • 2014-03-18
    相关资源
    最近更新 更多