入力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 を最適化する他のアイデアはありますか?