2012-02-02 1 views
1

状況:CGPDFDocument:開いているPDFがストリームされているか、ファイルがまだ完成していないのですか?

  • (大)PDFは、PDFファイルは、PDFファイルのいずれかをタップすると、それが解読され、その後PDFを使用して表示されますRijndahlアルゴリズム
  • を使用して暗号化されているiOSデバイス
  • 上に格納されていますビューア私は実装しました。ビューアはCore Graphics機能を使用してページ単位でドキュメントをレンダリングしています。

問題:

  • 文書は十分な大きさで、encrytionはしばらく時間がかかります。
  • 表示は、ドキュメント全体が一時ファイルに復号化された後にのみ開始できます。

...

  • が表示できるようにする代わりに、ファイルURLのCGPDFDocument
  • や他の代替をストリームのいくつかの種類を渡す方法がある場合、私は、思ったんだけどバックグラウンドで引き裂かれ続ける限り、できるだけ多くのページがありますか?

答えて

1

あなたは、単一のページ(私が疑われるとして)まで元のPDFファイルを分割することができない場合は、次のアプローチが動作するはずです:

A:まだ解読:

  1. にしてみてください既に行っているようにPDFドキュメントを開きます。

  2. 興味のあるドキュメントページにアクセスしてみてください。

  3. 失敗しない場合は、ページをレンダリングします。

  4. これが失敗した場合、ページはまだ利用できないことがわかります(復号化中)。

  5. 解読中に、新しいページを取得しようとするたびにpdfドキュメントを解放してください。

B:復号化が完了したとき:すでに行っていますか?

これは単なる提案であり、私はドキュメントの復号化中にこれを試しませんでしたが、ポイント1が失敗しなければ、これは機能するはずです。

+3

問題があります。通常のPDFでは、オブジェクトのカタログが最後にあります。したがって、ページのいずれかにアクセスするには、PDFの最後にアクセスする必要があります。情報の一部を前面に表示する*線形化PDF *と呼ばれるものがあります。線形化されたフォームは、この種の状況(実際にはインターネット上でのPDFの迅速な表示を可能にするために)のために発明されました。もし彼が線形化されたPDFを持っていれば、あなたの方法はうまくいくでしょう、そうでなければ、ファイル全体が解読されるまで待たなければなりません。 – JeremyP

+0

良いヒント。 PDF4Netを使用しているサーバー上にPDFを作成するには、保存オプションの1つは、線形化されたPDFを作成することです! – Krumelur

関連する問題