[ cpdf ] https://community.coherentpdf.com/
「Download pre-built cpdf command line tool」よりDLする。
master.zip内に各種OS用の実行ファイルが入っている。
マニュアルで透かしとかテキストの追加が書いてある。この辺を読め!
https://www.coherentpdf.com/cpdfmanual/cpdfmanualch8.html#x12-720008.2
★★ サンプル
cpdf -load-ttf A=NotoSansJP-Regular.ttf -font A -topleft 15 -add-text "テストだよ! %Y%m%d" in.pdf 1 -o out_.pdf
テキストが半角文字であればフォントの追加無しでテキストが追加表示される。
日本語のテキストを追加する場合は日本語のフォントを用意する事。フォントの埋め込みというやつだと思う。
https://fonts.google.com/noto
今回は上記より入手。マニュアルの「8.2.5 Font and Size」に記載あり。
フォントもcpdfと同じところにおいておけばOk?かな
-load-ttf A=NotoSansJP-Regular.ttf -font A
テキストの表示位置。今回は左上。ヘッダーを追加する感じ。
-topleft 15
追加するテキスト。今日の日付も後ろに追加してみた。
-add-text "テストだよ! %Y%m%d"
元のPDFです。通常はすべてのページにテキストが追加される。
今回のサンプルにある1は最初の1ページ目のみテキストを追加してくれる。
ちなみに2にすると2ページ目にのみテキストが追加される。
in.pdf 1
出力PDF名。これは明示的に-oを付ける。
-o out.pdf
下記のようなエラー?メッセージが出るけど 無視でいいかな?
read_encoding_table: format 12 not known
read_encoding_table: format 14 not known
read_encoding_table: format 12 not known
read_encoding_table: format 12 not known
read_encoding_table: format 14 not known
read_encoding_table: format 12 not known
詳しくは下記マニュアルを読む。
https://www.coherentpdf.com/cpdfmanual/cpdfmanual.html
おまけ:
★★ 上記サンプルにページ数の表示を追加してみた。
cpdf -load-ttf A=NotoSansJP-Regular.ttf -font A -topleft 15 -add-text "テストだよ! %Y%m%d" in.pdf 1 AND -bottom 10 -add-text "%Page/%EndPage" -o out_.pdf
追加したのはこれ >>> AND -bottom 10 -add-text "%Page/%EndPage"
in.pdf と out.pdf の間に上記を追加する。と、上記例ではフッターの位置中央にページ数が追加される。