SOFTELメモ Developer's blog

会社概要 ブログ 調査依頼 社員募集 ...

PDFのバージョンを下げたい(コマンド一撃で)

問題

ベースになるPDFがあり、これにphpで追記をして出力する処理があるのですが、Zend_Pdf を使っていて、PDF-1.4以下でないと扱えないのです。

支給されたPDFはPDF-1.7など上位のバージョンなのですが、PDF-1.4に下げるにはどうしたらよいでしょうか。

答え

Adobe Acrobat があれば、保存のオプションでバージョンが指定可能。

Adobe Acrobat(有料)以外の方法では、

ghostscriptで変換可能。

以下のオプションを指定する。

gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/ebook -dNOPAUSE -dQUIET -dBATCH -sOutputFile=output.pdf input.pdf

PDFSETTINGS オプションは、画像などを圧縮(=劣化)させるので、そのままにしたい場合は /default を指定する。

PDFSETTINGS は以下が指定可能。

PDFのバージョンはテキストエディタでファイルの1行目で確認できる。

PDF-1.4にうまく変換できていたら、1行目が PDF-1.4 となる。

イラストレーターで加工しようとすると、インストールされていないフォントが別のフォントに変えられたりするので使えなかったが、gsコマンドではフォントはそのままにしてくれた。変換結果は見た目そのままでよい具合でした。

関連するメモ

コメント