PDFを編集するPDFpen

PDFをつなぎ合わせたりページごとに分解するだけの用途にAcrobat Professionalを用意するのは、さすがにコストパフォーマンス面で疑問がつく。USではYahoo!がスポンサーになって、PDF作成可能なAcrobat Professional版相当のソフトウェアが広告つきでフリー配布されるといった話もあるが、そうした動きが日本にまで波及するかどうかは不明だし、そもそもMac OS X上ではプリンタにプリントをするのと同じ要領でPDF書類を書き出せるため、そこまでPDF書き出し手段に注目が集まるわけでもない。

ただし、ただのPDF書類を作成するというレベルを超えて作業する必要がある場合には、さまざまなソフトを組み合わせることを考えなくてはならない。

冒頭で述べたようなPDFのページ単位の分解やら合成といった用途には、有名なPDF Toolkit(pdftk)を使うといった選択肢があるわけだが、
http://www.pdfhacks.com/pdftk/
最近アップデートされていないようで……Intel Mac上でビルドできなかった記憶がある。いや、そんなに大変な話ではないということであれば、ぜひトライしてみたいのだが、ちょっと分からない。
http://www.interq.or.jp/mars/cherry/mac/pdftk-tiger.html
ああ、こんなページもあるのか。素晴らしい。記事によればビルドするのに時間がかかるとのことで……時間のあるときにぜひ試してみたいところだ。
……などとGoogleで探しているうちにAutomatorでもPDFの連結ぐらいはできるということに今さらながらに気付いてしまったわけだが、Automator自体を自動処理ワークフローの中に組み込むことがそれほどないので(普通にScriptを書いたほうが手っ取り早い)、それはパス。Automatorも、すっかりコンセプトを見失っているような……最初から迷走気味だったが、結局どのあたりに落着点を見いだそうというのだろうか。どこへ行くのか、Automator?

ひたすら枕が長くなってしまったが、そうしたPDFの合成や分解、およびイメージの重ね合わせ(自分のサインなど)を行うのに便利なソフトがPDFpenだ。通常版とProfessional版があり、後者ではPDFのフォーム機能まで利用できるという。
http://www.smileonmymac.com/PDFpen/
http://www.bridge1.com/pdfpen.html
AppleScript対応で、こうした作業を自動化することも朝飯前。付属のScriptは割とかったるい内容だったが、とっとと書き換えてスムースに一括処理できるようにしてみた。
もう少しScriptからさまざまな一括処理ができてもよさそうな感じもするのだが、それほどScriptからコントロールできる要素(Object)が多くないので、開発元にリクエストを出してみた。せめて、PDFのインデックスに表示される文字列ぐらいは一括変換できるようにしていただきたいものだ。そういうニーズは割とあって、Acrobatを無理矢理GUI Scripting経由でコントロールして実現できることは確認していたのだが、あんまりにも無理矢理なので少々不安を抱えていた。
すぐに開発元から返事が来て、検討してみるとのこと。かなりスピーディなお返事。文章はごくごく短いものにして、Keynoteで画面のキャプチャをまじえた資料を作って添付して送ったのがよかったのか。ただ、なんとなくお返事は英文の添削指導っぽかったが……目次はindexではなくtable of contentsだ、みたいな……でも、図をつけたおかげで意味が通じた。今後もそうしよう。
現状でも、PDFpenを使って目次……Table of contents内容を任意に書き換えることは不可能ではない。目次に表示されるのは「ファイル名」なので、それを利用すればよい。一度ページ単位もしくは記事単位にPDFを切り出して、1つのPDFとして/tmpにでも書き出す。ファイル名を目次に表示したい名称(「第1話 ○○○○大地に立つ!」みたいな)にリネームし、新規PDFに追加処理を行う……といった処理をループすればいいだけだ。数行で書けそうな内容だ。
ただ、分解→リネーム→再合成というプロセスを経由するために、ページ数が膨大になると必然的に時間がかかってしまう。「やたら」とかいっても、数百ページを処理するのに2時間ぐらいとか、そういうオーダーだ。夜間にバッチ処理させておけば、とくに問題なく済む程度の問題ではある。
PDFpenが「PDFのTOCの任意の書き換え」をサポートすれば、Excel書類に入れておいた目次の指示を参照して、数百ページでも数分で終わるだろう。さらに、pdftkでサポートしている機能のうちでめぼしいものを機能追加するよう提案してみるとよいかもしれない。
PDFにパスワードを付与/解除するのに「PDFkey Pro」というアプリがあるぐらいだが、どーーもこれは機能が少ない割に19.99ドルしたりして、PDFpenがこのぐらいの機能は内包するようにしてほしいものだ。
http://pdfkey.com/

■後日談
……と、書いたらプログラマ系の知り合いが、よってたかって「えーー、そのぐらいPDFkitでできるんじゃないの?」と指摘。たしかに、PDFを扱うサンプルコードもAppleから公開されていたりするものだが……とりあえずは、必要な機能を実現しているアプリケーションそのものをコントロールする方が手っ取り早いので、アプリケーションそのものを作ろうという方向には話が進まない。

Copyright By Piyomaru Software. All Rights Reserved