既出かもしれないが、面白いものを見つけたような気がする。

Apache PDFBox は良く知られていると思うが、その中のコマンドラインツール

その中でも OverlayPDF は使えそうだと思ったので試してみた。PDF の上に別の PDF を重ねるということだろう。

手順

1.まず、以下のファイルを用意する。

pdfbox app jarファイル
IPAフォント

他にも、java を実行できるよう、セットアップする。

2.ここでは例として、テキストから作った二つの PDF ファイルを重ねてみる。

uso.txt を作る。

これはうそです。

Mac は UTF-8 で OK。Windows は Shift-JIS? codepage による?

3.コマンドプロンプトから以下のコマンドで PDF を二つ作る。(> はプロンプト)

> java -jar pdfbox-app-2.0.7.jar TextToPDF -ttf IPAfont00303/ipagp.ttf uso1.pdf uso.txt
> java -jar pdfbox-app-2.0.7.jar TextToPDF -ttf IPAfont00303/ipamp.ttf -fontSize 30 uso2.pdf uso.txt

uso1.pdf と uso2.pdf ができているはずだ。

4.以下のコマンドを実行する。

> java -jar pdfbox-app-2.0.7.jar OverlayPDF uso1.pdf uso2.pdf uso_over_uso.pdf

どうだろう。二つの PDF が重なっているのではないだろうか。IPA フォントもなかなか良い。

その他の使い方

このコマンドラインツール、分割、結合もできて便利そうだ。

マージ

java -jar pdfbox-app-2.y.z.jar PDFMerger 入力PDFファイル1 入力PDFファイル2 > 出力PDFファイル

分割

java -jar pdfbox-app-2.y.z.jar PDFSplit PDFファイル

画像変換

java -jar pdfbox-app-2.y.z.jar PDFToImage PDFファイル  

とするようだ。

既存の紙の帳票の上に印字するのに使えないだろうか・・・