BLOGTIMES
2018/01/18

コマンドラインから PDF ファイルを編集するには cpdf が便利

  pdf  cli  ocaml 
このエントリーをはてなブックマークに追加

PDF にコマンドラインから文字を書き込めるプログラムを探していたら cpdf というのが良さそうだったのでメモ。

この手のツールとしては PDFtk が有名ですが、こちらも負けず劣らず多機能に仕上がっていて、PDF の結合・分割、拡大・縮小・回転、しおりやメタデータの編集、ヘッダやフッタなどのページ合成などが簡単にできるようになっています。

使い方の例

src.pdf の各ページに background.pdf を合成し、奇数ページは右下に、偶数ページは左下にページ数を記述して、out.pdf に出力したい場合

cpdf -utf8 -stamp-on background.pdf src.pdf AND -add-text "%Page" -font "Times-Roman" -bottomleft 30 src.pdf -range odd AND -add-text "%Page" -font "Times-Roman" -bottomright 30 src.pdf -range even -o out.pdf

ページを A4 に拡大(縮小)して、先頭ページの左上に HOGEHOGE と書き入れる場合

cpdf -utf8 -scale-to-fit a4portrait src.pdf AND -add-text "HOGEHOGE" -topleft 40 -font "Courier-Bold" -font-size 16 src.pdf -range 1 -o out.pdf

商用製品ということもありかなり充実したマニュアルがあるところも素晴らしいと思います。
惜しむらくは add-text が日本語対応していないことくらいでしょうか。

ライセンスに注意

ソースが公開されていたりするので、フリーソフトウェアのように勘違いしやすいのですが、以下にあるように教育、学術研究、個人的な実験などの非商用利用時のみ無償で利用できるライセンスなので注意が必要です。

Coherent PDF Command Line Tools Community Release

Now we're releasing them for free, under a special not-for-commercial-use license If you like the tools and want to use them commercially, or need support, licenses are available from Coherent Graphics Ltd. Commercial use involves anything other than private, personal use. Charities and educational institutions still require a license, but one may be obtained at greatly reduced cost

実装は OCaml

バイナリとソースは以下で公開されていますが、なんと中身が OCaml でした。
OCaml の存在自体は知っていますが、自分が OCaml で実装されているプログラムを使うのは始めてかもしれません。


    トラックバックについて
    Trackback URL:
    お気軽にどうぞ。トラックバック前にポリシーをお読みください。[policy]
    このエントリへのTrackbackにはこのURLが必要です→https://blog.cles.jp/item/9916
    Trackbacks
    このエントリにトラックバックはありません
    Comments
    愛のあるツッコミをお気軽にどうぞ。[policy]
    古いエントリについてはコメント制御しているため、即時に反映されないことがあります。
    コメントはありません
    Comments Form

    コメントは承認後の表示となります。
    OpenIDでログインすると、即時に公開されます。

    OpenID を使ってログインすることができます。

    Identity URL: Yahoo! JAPAN IDでログイン