0

私の質問はこれと似ていますが、java やコマンド ラインではなく、iOS で実行したいという点が異なります。

与えられた:バンドル(またはDocumentsディレクトリなど)からpdfファイルを読み込んでいます。

  • 画像は含まれていますか?
  • もしそうなら、それらはどのような解決策ですか?
  • > myMaxResolution の場合、myMaxResolution でレンダリングされた画像で PDF ビューを作成するにはどうすればよいですか?

例: PDF が 300 dpi でスキャンされたページの束であり、それらを 72 dpi で表示したい場合、私の目標は 17 倍のスピードアップを得ることです。

ありがとう!

4

1 に答える 1

0

大きすぎて iOS デバイスのメモリに読み込めない (PDF ページを表示するために必要な) 画像を含むドキュメントをサポートするために、ターゲット解像度を定義したいと思いますか?

Apple サンプル コード プロジェクトのLarge Image Downsizingを確認してください。そのサンプルを変更して (画像ではなく) PDF ページをレンダリングすることができますが、同じインクリメンタル ダウン サンプリングの恩恵を受けることができます。ターゲット解像度を定義でき、ソース ドキュメント全体が一度にメモリに読み込まれることはありません。代わりに、目的の PDF レンダリングは、ユーザーが定義したターゲット解像度で段階的に「組み立て」られます。ソースの解像度が実際に何であるかに関係なく、これを行うことができます。

インクリメンタル イメージ デコードは、iOS で TIFF、JPEG、PNG に対してのみ機能します。ただし、BMP、GIF、インターレース画像はサポートされていません。あなたのコンテキストでは、PDFに後者のタイプの画像が含まれている場合にのみ、それらはメモリに完全にデコードされるため、それらは比較的小さく、PDF内の大きな画像は前者の形式であることを願っています.

サンプルの ReadMe に記載されているように、ソース PDF はアプリ バンドル、フォト ロール、またはその他の場所 (ダウンロードされた OTA など) に存在する可能性があります。

さらに、PDFをサポートするようにサンプルを修正しました。ここからダウンロードできます。私のテストでは、目的の PDF は、期待どおりのテキスト、グリフ、またはベクター要素を含め、適切なターゲット解像度でレンダリングされます。

于 2012-05-03T16:26:50.073 に答える