【问题标题】:Unlock PDF and Display in UIDocumentInteractionController解锁 PDF 并在 UIDocumentInteractionController 中显示
【发布时间】:2011-05-03 15:53:16
【问题描述】:

所以我需要下载受密码保护的 PDF,解锁它们,然后通过 UIDocumentInteractionController 显示它们。到目前为止,我正在下载受密码保护的 PDF,并了解如何使用 CG 框架 (CGPDFDocumentRef) 解锁 PDF,但我不知道如何从 CG 中将解锁的文档作为 NSData 取回。另外,我不确定如何将 UIDocumentInteractionController 传递给 NSData 对象。如果有人以前这样做过,请帮助。

【问题讨论】:

  • 为什么需要NSData 对象? UIDocumentController 获取您希望它显示的文件的 URL。
  • 好吧,我不想将 PDF 的解锁版本保存到光盘上。使用 CGPDFDocumentUnlockWithPassword() 解锁 CGPDFDocumentRef 后,我最终得到一个包含解锁 PDF 的 NSData 对象。我只想显示 PDF 而不是将 NSData 保存到光盘然后让 UIDocumentInteractionController 读取它。这是一个安全问题。
  • 嗨 enamrik!您如何将 CGPDFDocumentRef 转换为 NSData??
  • 如果您使用 CGPDFDocumentUnlockWithPassword 解锁 pdf,它只返回一个 CGPDFDocumentRef。你怎么能把它保存到光盘?

标签: objective-c ios pdf


【解决方案1】:

答案是否定的。 UIDocumentInteractionController 仅适用于 NSURL 对象,无法传递 UIDocumentInteractionController 内存数据。由于我不想再花时间在这上面,我决定改为,每次用户点击文档时,解密 PDF,将其保存到磁盘,然后将 UIDocumentInteractionController 的路径传递给临时文件(临时文件必须UIDocumentInteractionController 打开时存在于光盘上)。如果这不符合客户的安全要求,我可能不得不使用我自己的 PDF 查看器。

【讨论】:

  • 瞄准有同样的问题,因为我不想将解密的文件保存到磁盘...你在这方面取得了任何进展吗?
  • iOS 的另一个愿望尘埃落定。
猜你喜欢
  • 2014-10-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-02-28
  • 2011-03-20
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多