2016-11-14 9 views
0

私は、特定のPDFグループで奇妙な状況に陥っています。私が25M、600pgのファイルを破棄すると、出力はバーストファイルごとに25Mになります。もし私がpdftk input.pdf cat 1-100 out.pdfを実行すると、サイズも25M(25292kb対オリジナルの25524kb)になります。ページ範囲1-5を実行すると、ファイルサイズは25040kbになります。PDFTKの出力は、Cat'dのページ数に関係なく入力と同じです。

この状況を処理するためにpdftkに追加できるフラグはありますか? GhostscriptはこのPDFからページ範囲を取り、適切なサイズのPDFを作成できますが、gsはバーストを処理するようには見えず、すべてのフォントをインストールする必要があります。

答えて

2

ファイルサイズが3000 KBと10ページのPDFがある場合、このPDFを分割すると、ファイルサイズが300 KBのファイルが30個になります。

この仮定は間違っています。 10ページと、次のオブジェクトで3000キロバイトの文書を想像してみて:すべてのページに使用

  • 4フォントのサブセット、単一ページの図それぞれについての50キロバイト
  • 10の画像は、それぞれおよそ200キロバイト(1枚の画像ページごとの)各ページの図
  • 4つの画像は、それぞれおよそ50キロバイトなどのカタログなどのオブジェクトに対しては約25キロバイト各
  • 約350キロバイト、情報辞書、ページのコンテンツストリームと
  • 10ページツリー、クロスリファレンステーブルなど。

単一ページは、少なくとも必要があります。 - 4つのフォントサブセット:4回50キロバイト - 単一のイメージ:1時間200キロバイト - 4枚の画像:4回50キロバイト - 単一のコンテンツストリームを:1回50 KB - わずかに縮小された相互参照テーブル、わずかに縮小されたページツリー、ほぼ同じカタログ、同じサイズの情報辞書... 200 KB

一緒に850 KBです。つまり、10ページの3000 KBのPDF文書を10ページに分割すると、8500 KB(10倍、850 KB)になります。

私の推測では、共有リソース(フォントなど、すべてのページで使用されているリソース)がPDFで膨大であると思います。例えば。誰かが各ページの背景として高精細画像を使用して約25Mを使用した場合、600ページにはそれぞれ25Mが必要になります。

PdfTkはiTextの廃止バージョンを包み込むだけのものであることに注意してください。問題が解決しない場合は、iTextの最新バージョンを試してみてください。

+0

ありがとう、それは非常に洞察力があり、私はその種の情報を見つけるのが難しかったです。その情報を分析し、おそらくその情報を削除する方法に関する提案はありますか? Ghostscriptは、情報を削除し、オリジナルの単一ファイルよりもあまり大きくない個々の小さなファイルを作成することができます。 pdf2ps、その後も同様ですが、リソースが不足しています。 – RyanH

+0

私はgsの種類のPDFを "プリント"して、解像度を下げ、構造ツリー、注釈などのものを取り除くと思います。 PdfTkは古く、PDF 1.5で導入されたより高度な圧縮はサポートしていません。ファイルを見ることなく、実際の問題についてコメントするのは難しいです。 –

関連する問題