PDFファイルの切り出しと圧縮方法
概要
前置き
職場内研修の資料を Re:VIEW - Digital Publishing System for Books and eBooks を使って作成していますが、ページが増えて出力した PDF の容量が職場のメールの容量制限に引っかかるようになりました。そこで PDF の切り出しツールと圧縮ツールを探したら以下のツールが見つかりましたので、備忘録を兼ねてツールの紹介と簡単な使い方をまとめます。
環境
- OS
- Windows11 Pro 22H2
- WSL
- 1.1.3.0
- OS on WSL
- Ubuntu-20.04
使用するツール
PDF の切り出しは pdftk-java / pdftk-java · GitLab を使用し、圧縮は Ghostscript を使用しています。それぞれのツールは次のコマンドでインストールしています。
1sudo apt-get --yes install pdftk
2sudo apt install ghostscript
切り出し方法
次のコマンドで PDF ファイルを切り出します。このコマンドは foo-bar.pdf
の1ページから12ページを切り出して foo.pdf
ファイルとして保存しています。
1pdftk foo-bar.pdf cat 1-12 output foo.pdf
ここで指定するページ数は、ファイルの1ページ目からの通し番号を指定する必要があります。以下のスクリーンショットにあるページを切り出したい場合、`140` ではなく `148` を指定する必要があります。
圧縮方法
次のコマンドを実行して PDF ファイルを圧縮します。このコマンドは input.pdf
ファイルを圧縮して output.pdf
として出力します。-dPDFSETTINGS=/printer
の printer
は 300dpi で出力するというオプションで、これを screen
にすると 72dpi になります。
1gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/printer -dNOPAUSE -dQUIET -dBATCH -sOutputFile=output.pdf input.pdf
ちなみに、-dPDFSETTINGS=/printer
と -dPDFSETTINGS=/screen
のオプションの違いによるファイルサイズの差は次のとおりです。
- 元ファイル
- 10.79 MB
-dPDFSETTINGS=/ptinter
- 4.46 MB
-dPDFSETTINGS=/screen
- 1.36 MB