8

入力PDFファイル(通常、常にpdfTeXによって生成されるとは限りません)があり、これを出力PDFに変換したいのですが、これは(解像度に関係なく)視覚的に同等であり、同じメタデータ(Unicodeテキスト情報、ハイパーリンク、アウトラインなど)、ファイルサイズはできるだけ小さくしてください。

私は次の方法について知っています:

  • java -cp Multivalent.jar tool.pdf.Compress input.pdf( http://multivalent.sourceforge.net/から)。これにより、すべてのストリームが再圧縮され、未使用のオブジェクトが削除され、同等のオブジェクトが統合され、空白が圧縮され、デフォルト値が削除され、相互参照テーブルが圧縮されます。
  • jbig2 と PNGOUT で適切な画像を再圧縮します。
  • Type1 フォントを CFF フォントとして再エンコードします。
  • 同等のイメージを統一します。
  • 同じフォントのサブセットをより大きなサブセットに統合する。
  • 入力可能なフォームを削除します。
  • 蒸留またはその他の方法で変換する場合 (例: gs -sDEVICE=pdfwrite)、画像の品質が低下しないこと、および画像サイズが大きくならないこと (!) を確認してください。

次の手法については知っていますが、既に PDF を持っているため、私の場合は適用されません。

  • 小さいフォントまたは少ないフォントを使用します。
  • ビットマップ画像の代わりにベクター画像を使用してください。

PDF を最適化する他のアイデアはありますか?

4

2 に答える 2

9

PDF ファイルの最適化

リフリードグラフィックスを避ける

ビットマップとして挿入する必要があるグラフィックスの場合は、最大の圧縮率と最小のサイズに合わせて準備してください。PDF の出力解像度で可能な限り最高品質の画像を使用してください。圧縮された JPEG を PDF に挿入して蒸留すると、JPEG が再圧縮され、顕著なアーティファクトが作成される場合があります。カラー画像の代わりに白黒画像とテキストを使用して、モノクロ圧縮に優れた新しい JBIG2 標準を使用できるようにします。PDF を Web 用に保存するときは、必ずサムネイルをオフにしてください。ベクター グラフィックスを使用する

通常は GIF にする画像には、可能な限りベクターベースのグラフィックを使用してください。ベクトル画像は完全にスケーリングされ、見栄えがよく、その数式は通常、すべてのピクセルを表すビットマップ グラフィックスよりも少ないスペースを占有します (ただし、ビットマップ グラフィックスが実際にはベクトル グラフィックスよりも小さい場合もあります)。PDF 形式に組み込まれている ZIP 圧縮を使用して、ベクター画像データを圧縮することもできます。Acrobat Reader バージョン 5 および 6 も SVG 標準をサポートしています。フォントを最小化

特に小さい PDF では、フォントの使用方法がファイル サイズに大きな影響を与える可能性があります。ドキュメントで使用するフォントの数を最小限にして、ファイル サイズへの影響を最小限に抑えます。完全に埋め込まれたフォントを追加すると、ファイル サイズが簡単に 40K になることがあります。そのため、ほとんどの作成者は、実際に使用されるグリフのみを含む「サブセット化された」フォントを作成します。脂肪の形を平らにする

Acrobat フォームは、PDF 内で多くのスペースを占めることがあります。Acrobat 8​​ Pro の新機能で、[詳細設定] -> [PDF オプティマイザー] -> [オブジェクトの破棄] ダイアログでフォーム フィールドをフラット化できます。フォームをフラット化すると、フォーム フィールドが使用できなくなり、フォーム データがページにマージされます。また、Apago の PDF Enhancer を使用して、ファイルに存在するが実際には使用されていない情報を削除することで、フォームを 50% 削減することもできます。また、再フライド PDF を古いフォーム ページと組み合わせて、Acrobat でハイブリッド PDF を作成することもできます(以下の「再フライド PDF」セクションを参照)。

記事を見る

于 2009-05-04T07:59:58.623 に答える
4

PDF 仕様バージョン 1.5 から、オブジェクト ストリームと相互参照ストリームという 2 つの新しい圧縮方法があります。

Multivalent.jar圧縮ツールは相互参照テーブルを圧縮するとおっしゃいました。これは通常、相互参照テーブルがストリームに変換されてから圧縮されることを意味します。

この相互参照ストリームの形式は固定されていません。データの 3 つの「列」のビット サイズを変更できます。データの圧縮レベルを向上させる予測関数を使用して、ストリーム データを前処理することもできます。PDF 内をテキスト エディターで調べると、クロス リファレンス ストリーム ディクショナリのエントリを見つけて、/Predictor使用しているツールがこの機能を利用しているかどうかを確認できる場合があります。

圧縮で予測子を使用すると、画像にも便利な場合があります。

提供される圧縮の 2 番目のタイプは、オブジェクト ストリームの使用です。

多くの場合、PDF には類似したオブジェクトが多数含まれています。これらを 1 つのオブジェクトに結合して圧縮できるようになりました。多価圧縮ツールのドキュメントには、オブジェクト ストリームが使用されると記載されていますが、グループ化するオブジェクトの実際の選択に関する詳細はあまりありません。同様のオブジェクトをオブジェクト ストリームにグループ化すると、圧縮率が向上します。

于 2009-06-04T06:58:19.537 に答える