MacでGhostscriptをインストールする
準備としてbrewでghostscriptをインストールする。
$ brew install ghostscript
GhostscriptでPDFを圧縮するコマンド
以下のコマンドで指定したPDFファイルを圧縮する。
$ gs -sDEVICE=pdfwrite \
-dCompatibilityLevel=1.4 \
-dPDFSETTINGS=/ebook \
-dNOPAUSE \
-q \
-dBATCH \
-sOutputFile=出力ファイルパス.pdf \
入力ファイルパス.pdf
各オプションの説明
-sDEVICE
変換したい出力ファイル形式に応じたデバイスを選択する。
--help
オプションをつけてヘルプを確認すると何が指定できるのかを確認できる。
今回は出力形式もPDFなので pdfwrite
を選択する。
JPEGファイルを作成したいなら以下のようになる。
$ gs -sDEVICE=jpeg \
-dCompatibilityLevel=1.4 \
-dPDFSETTINGS=/ebook \
-dNOPAUSE \
-q \
-dBATCH \
-sOutputFile=output.jpg \
input.pdf
-dCompatibilityLevel
PostScriptの互換性レベルを指定する。1.4を指定すればよい。
-dPDFSETTINGS=/ebook
PDFの品質と圧縮率に関わる。
以下から選択できるので、実行してみて出来上がったファイルの品質とサイズを確認する。
- /screen
- /ebook
- /printer
- /prepress
- /default
-dNOPAUSE
ページごとに入力を求められる。
[-dNOPAUSEオプション未指定時]
$ gs -sDEVICE=pdfwrite \
-dCompatibilityLevel=1.4 \
-dPDFSETTINGS=/ebook \
-q \
-dBATCH \
-sOutputFile=output.pdf \
input.pdf
%%BoundingBox: 28 49 563 807
%%HiResBoundingBox: 28.745999 49.481998 562.013983 806.959944
>>showpage, press <return> to continue<<
%%BoundingBox: 42 190 412 811
%%HiResBoundingBox: 42.983999 190.349994 411.029987 810.701975
>>showpage, press <return> to continue<<
ページ処理ごとに>>showpage, press <return> to continue<<
とエンターキーのに入力を求められる。
-dNOPAUSEオプションを指定するとページごとにキー入力を求められることなく最後のページまで実行される。
-q(-dQUIET)
ターミナルに出力されるメッセージを減らす。
[-qオプション未指定時]
$ gs -sDEVICE=pdfwrite \
-dCompatibilityLevel=1.4 \
-dPDFSETTINGS=/ebook \
-dNOPAUSE \
-dBATCH \
-sOutputFile=output.pdf \
input.pdf
GPL Ghostscript 10.01.1 (2023-03-27)
Copyright (C) 2023 Artifex Software, Inc. All rights reserved.
This software is supplied under the GNU AGPLv3 and comes with NO WARRANTY:
see the file COPYING for details.
Processing pages 1 through 1.
Page 1
$
[-qオプション指定時]
$ gs -sDEVICE=pdfwrite \
-dCompatibilityLevel=1.4 \
-dPDFSETTINGS=/ebook \
-dNOPAUSE \
-q \
-dBATCH \
-sOutputFile=output.pdf \
input.pdf
$
-dBATCH
対話モードではなくバッチコマンドとして指定する。
このオプションを指定しなければ処理が終わるとプロンプトで待受け状態となるが、このオプションを指定するとコマンドが終了する。
[-dBATCHオプション未指定時]
$ gs -sDEVICE=pdfwrite \
-dCompatibilityLevel=1.4 \
-dPDFSETTINGS=/ebook \
-dNOPAUSE \
-q \
-sOutputFile=output.pdf \
input.pdf
GS>
[-dBATCHオプション指定時]
$ gs -sDEVICE=pdfwrite \
-dCompatibilityLevel=1.4 \
-dPDFSETTINGS=/ebook \
-dNOPAUSE \
-q \
-dBATCH \
-sOutputFile=output.pdf \
input.pdf
-sOutputFile
このコマンド実行の出力ファイルパスを指定する。
\第一線のプログラマーの行動原理を学べる!/