Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/99.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c 解锁PDF并在UIDocumentInteractionController中显示_Objective C_Ios_Pdf - Fatal编程技术网

Objective c 解锁PDF并在UIDocumentInteractionController中显示

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

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

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

为什么需要
NSData
对象?
UIDocumentController
获取一个指向要显示的文件的URL。我不想将未锁定版本的PDF保存到光盘。使用CGPDFDocumentUnlockWithPassword()解锁CGPDFDocumentRef后,我最终得到一个包含解锁PDF的NSData对象。我只想显示PDF,而不是将NSData保存到光盘,然后让UIDocumentInteractionController读取它。这是一个安全问题。嗨,艾娜瑞克!!如何将CGPDFDocumentRef转换为NSData??如果使用CGPDFDocumentUnlockWithPassword解锁pdf,它只返回一个CGPDFDocumentRef。你怎么能把它保存到磁盘上?aim也有同样的问题,因为我不想把解密的文件保存到磁盘上。。。你在这方面有什么进展吗?又一个iOS愿望落空了。