2014/07/15

MacでPDFを圧縮する 〜 プレビュー.appやAutomator、PDFサービスからの利用

MacはPDFの扱いが便利なのですが、画像を多く含んでいるとサイズがとても大きくなってしまうのが玉に瑕…。
標準でもQuartzフィルタに「Reduce File Size」という項目があるのですが、圧縮率や縮小率が選べません。
今回は埋め込まれた画像を任意な圧縮率にJPEG圧縮して、全体のPDFのファイルサイズを小さくする方法です。
今回の圧縮では517MBのファイルが35MBになりました。

PDF圧縮用のQuartzフィルタを作成する方法。

Mac標準で入っているColorSyncユーティリティを使います。
「フィルタ」から「Reduce File Size」を選択。
右側の三角をクリックし、複製します。

複製した項目を展開し、希望のサイズや圧縮率に変更します。

後は保存ダイアログに表示されるQuartzフィルタで作成したフィルタを選択すればOKです。
埋め込み画像をJPEG圧縮するので圧縮率が高すぎると、特に小さい画像のディテールが失われますので、圧縮率を変えた物を何種類か作っておくといいかもしれません。

プレビュー.appでPDFを圧縮する。

先程作ったファイルは
~/Library/Filters/
に保存されています。プレビュー.appはここを参考にしてくれないので、
/Library/Filters/
にコピーします。(Filtersフォルダがなければ作ります)。システム下なので管理者権限が必要です。
これでプレビュー.appからもPDF圧縮が可能となります。
Mac OS10.9からはプレビュー.appはAppleScriptに対応したらしいので、圧縮作業を自動化させる事も可能でしょう。

Automatorで自動化する方法。

10.8以下だとAutomatorを使って自動化させる事ができます。
今回はコンテクストメニューで使いたかったので「サービス」を選択。
Finder上でPDFファイルのみを対象にしました。

「ファイルとフォルダ」から「選択されたFinder項目を取得」を右ウインドウにドロップし加え、
「PDF」から「QuartzフィルタをPDF書類に適用」を更に追加します。
オプションから先程作ったフィルタを選択して保存すれば完了です。
後は圧縮したいPDFファイルを選択し、Windowsでいう右クリック…コンテクストメニューから選ぶだけです。今までひとつひとつ手動でチマチマやっていたので便利になりました。

プリントダイアログの「PDF」から選ぶ方法。

プリントダイアログに表示されるPDF…webページをPDF保存したい時など便利に使えるのですが、例えばLightroomからプリントインデックスをPDF出力したい時なども便利です。
方法は、これもまたAutomatorのワークフローで、上記と同じく「QuartzフィルタをPDF書類に適用」を追加。
次に「ファイルとフォルダ」から「Finder項目を移動」を追加し、保存場所を任意のフォルダに指定します。この時「ワークフローの実行時にこのアクションを表示」にチェックを入れておくと、保存箇所が変更出来るので融通が利きます。
出来上がったワークフローは~/Library/PDF Services/に保存します。

実行画面
デフォルトにある「PDFとして保存…」がQuartzフィルタに対応していればいいのに…と思いつつ、作成の手間はかかる物の簡単にPDFを圧縮保存出来るようになりました。