レビュー用PDFの注釈

非常に大きなサイズの文書を作っているお客様がいます.PDFに出しては、必要箇所を修正し、次は修正した箇所がわかるPDFを出して修正にまちがいがなかったか、レビューされるようです.お客様の使っているCMSが差分を取る機能があり、スタイルシートには、
 
<?xxx text_remove_begin ?>~削除されたテキスト~<?xxx text_remove_end ?>
<?xxx text_insert_begin ?>~挿入されたテキスト~<?xxx text_insert_end ?>
 
というデータが渡されます.
 
スタイルシートは、この処理命令を見て、削除されたテキストに対しては、文字色「シアン」で「取り消し線」を引いたテキストの属性を、挿入されたテキストに対しては文字色「青色」で「下線」を引いたテキストの属性をつけます.こうすると、修正箇所を確認をするのに非常にわかりやすいからです.
 
ところが、実際にはこの修正箇所を「探し出す」作業があるのだそうです.何百ページというPDFをAcrobatで開いて、修正があった場所には、注釈をつけます.これをまず最初の作業としてやるそうです.ご存知だと思いますが、Acrobat/Readerは注釈をつけると、注釈の一覧を表示して、該当箇所へジャンプする機能があります.これを実際のレビューの作業では使っています.
 
この「探し出し」「注釈をつける」作業が、PDFが何百ページにになると大変になるのは言うまでもありません.そこでスタイルシートでこの注釈をつける作業を自動化できないか?ということになりました.topic単位に見出しをつけるので、そのtopicにもし(挿入/削除)の修正があったら見出しに注釈を自動生成してやれば良い訳です.FormatterにはPDFに注釈をつける機能があります.
 
 
注釈の生成自体はけっこう簡単で、XSL-FOのfo:blockに例えば次のように指定してやるだけです.
 
 axf:annotation-contents="This topic contains changed content."
 axf:annotation-type="Text"
 axf:annotation-color="#99CC00"
 axf:annotation-open="false"
 axf:annotation-icon-name="Note"
 axf:annotation-position-horizontal="0mm"
 axf:annotation-position-vertical="-5.5mm"
 axf:annotation-width="5mm"
 axf:annotation-height="5mm"
 
実際にFOを直接編集してやってみた例を示します.タイトルの"1.1"の上に表示されているのが注釈です.右側の注釈のリストから候補をクリックすると、その注釈にジャンプしてくれます.テキストのシアンは削除箇所、青色は挿入箇所です.
 
イメージ 1
 
数百ページのPDFで試してみると、注釈の自動付加がどれほどありがたいかよくわかります.ともかく右側の注釈一覧の項目をクリックするだけで確認が必要なtopicにジャンプしてくれるのですから、いちいちPDFをスクロールする手間が大幅に省けます.
 
もしこのような環境でレビュー用のPDFを御使いの方がおられましたらぜひ注釈を検討いただけたらと思います.