私はPDFファイルを圧縮してディスクサイズを減らすことができることを学びました。
- PDFファイルが圧縮されているかどうかを確認する方法を知りたいです。
- PDFファイルを圧縮または解凍するためにどのアプリケーション/コマンドを使用できますか?
私の環境はLinux Ubuntu 10.10です。
いくつかの試みでは満足のいく結果が得られませんでした。
試行結果は次のとおりです
pdftk
。$ pdftk 3.pdf output 5.pdf uncompress $ pdftk 3.pdf output 3comp.pdf compress $ ls -l 3.pdf 3comp.pdf 5.pdf -rwxrwx--- 1 root plugdev 8652269 2011-07-30 12:27 3comp.pdf -rwxrwx--- 1 root plugdev 8652319 2011-07-29 22:15 3.pdf -rwxrwx--- 1 root plugdev 16829828 2011-07-30 12:27 5.pdf
ファイル属性によると、すべてのファイルが最適化されていないとマークされます。
psに変換してからpdfに変換した結果:
$ pdf2ps 3.pdf 3.ps $ ps2pdf 3.ps 3c.pdf $ ls -l 3.pdf 3.ps 3c.pdf -rwxrwx--- 1 root plugdev 8808946 2011-07-30 13:14 3c.pdf -rwxrwx--- 1 root plugdev 8652319 2011-07-29 22:15 3.pdf -rwxrwx--- 1 root plugdev 122375966 2011-07-30 13:14 3.ps
答え1
簡単に言うと:
圧縮されていることを確認するには、次の手順を実行します。
strings your.pdf | grep /Filter
PDFを(圧縮解除)するには、次のようにします。量子PDF
qpdf --stream-data=compress your.pdf compressed.pdf
qpdf --stream-data=uncompress compressed.pdf uncompressed.pdf
説明する:
PDFファイルの「フィルタ」キーワードは、使用された圧縮方法を表します。そのうちのいくつかは次のとおりです。
CCITT G3/G4 – モノクロ画像用 JPEG
– 画像 用 ロス アルゴリズムFlate に置き換える RLE – モノクロ画像用 ZIP – グレースケールまたはカラー画像用
(からコピーここ)。
ただし、PDFの複雑なファイル構造を考慮すると、ほとんどの場合、PDFの一部(または「ストリーム」)はすでに何らかの方法で圧縮されています(grep / Filtering時に表示されます)、他の部分はそうではありません。 PDFが圧縮されているかどうかに関する質問に対する答えは、「はい」/「いいえ」です。
この問題を解決する1つの方法は、-c
発生回数を返すオプションをgrepに追加することです。比較的どれくらい圧縮されていますか?例えば、strings
"large
.pdf" | grep -c /Filter
かなり圧縮されていない 10 未満を返します。
PDFサイズに関連する別の属性は、高速アクセスに最適化されているかどうかです。 「最適化された」PDFはサイズが大きくなります。ウィキペディア:
PDFファイルは、非線形(「最適化」ではない)と線形(「最適化」)の2つのレイアウトで提供されています。非線形PDFファイルは線形PDFファイルよりもディスク領域を占有しませんが、ドキュメントページを構成するために必要なデータの一部がPDFファイル全体に分散しているため、アクセス速度が遅くなります。リニアPDFファイル(「最適化」または「Web最適化」PDFファイルとも呼ばれます)は、Webブラウザプラグインで読み取られるため、ファイル全体がダウンロードされるのを待つ必要なく、Webブラウザプラグインで読み取れるように構築されています。線形(ページ順)方式です。 PDFファイルは、Adobe AcrobatソフトウェアまたはQPDFを使用して最適化できます。
を使用してPDFが最適化されていることを確認できますpdfinfo your.pdf
。
答え2
pdftk圧縮/圧縮解除などのPDFファイルに対していくつかのタスクを実行するためのツールです。
$ pdftk test.pdf output compressed_test.pdf compress
答え3
PDFファイルで圧縮方法が見つかりました。テキストエディタを使用してPDFを開きます。検索を実行または検索します。見つからない場合は、CCITTと入力してJPEG、Flate、JBIG2、LZW、RLE、ZIPを入力してください。
実際よりも悪く聞こえますね!データストリームの圧縮方法を見つけるのは簡単です。
答え4
プロパティを確認すると、ファイルが圧縮されているかどうかがわかります。