1

暗号化された PDF (独自のキーを使用して暗号化) を iOS のストリームとして読み取りたい。ドキュメント全体を復号化するのではなく、ドキュメントをチャンクで復号化してレンダラーに渡すことができるという考えです。これは次の理由からオプションではありません。

  1. ドキュメント全体の復号化は遅くなります
  2. ドキュメントが大きい場合、復号化されたコンテンツ全体をメモリに収めることができません
  3. ディスクへの書き込みはオプションではありません。短い間隔であっても、ドキュメントの復号化されたコピーがディスク上のどこにでも転がっているのを望まないからです。

非同期 URL リクエストを使用して UIWebView でこれを実行できることはわかっています。しかし、UIWebView は私には遅すぎます。特に大きなPDFの場合。

QLPreviewController (QuickLaunch フレームワーク) または CGPDFDocument でこれを行う方法を提案できますか?

ありがとう!

4

1 に答える 1

0

またはで作成されたCGPDFDocumentCreateWithProvider(provider)場所はどうですか?providerCGDataProviderCreateDirect()CGDataProviderCreateSequential()

私はこれらの関数を使用していませんが、必要なことは実行しているようです。

ただし、Core Graphics が PDF ドキュメント全体をメモリまたは一時ファイルにキャッシュする可能性があります。

その理由は、PDF が多くのオブジェクト (ドキュメント内の他のオブジェクトを参照する) と目次を含む構造化された形式であるためです。多くの場合、目次はドキュメントの最後にあり、オブジェクトを読む前に読む必要があります。

于 2012-08-06T13:20:02.267 に答える