情况:
- (大)PDF 存储在 iOS 设备上
- PDF 使用 Rijndahl 算法加密
- 当点击其中一个 PDF 时,它会被解密,然后使用我实现的 PDF 查看器进行查看。查看器正在使用 Core Graphics 功能逐页呈现文档。
问题:
- 由于文档足够大,加密需要一段时间。
- 只有在将整个文档解密为临时文件后才能开始查看。
我想知道,是否有办法...
- 将某种流传递给
CGPDFDocument
而不是文件 URL - 或者在后台继续解密的同时能够查看尽可能多的页面的任何其他替代方法?
最佳答案
如果您不能将原始 PDF 文件拆分为单页(正如我怀疑的那样),那么以下方法应该可行:
A:还在解密的时候:
尝试打开 PDF 文档;
尝试访问您感兴趣的文档页面;
如果没有失败,渲染页面;
如果失败,则您知道该页面还不可用(在解密时);
解密时,每次尝试获取新页面时释放pdf文档。
B:解密完成后:按照你已经在做的去做。
请注意,这只是一个建议,我在解密文档时没有尝试过,但如果第 1 点没有失败,那么这应该可行。
关于objective-c - CGPDF文件: open PDF streamed or while file is not complete yet?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9110609/