0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

【備忘録】PDFに日本語テキストを追加する

Last updated at Posted at 2023-10-25

[ 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 の間に上記を追加する。と、上記例ではフッターの位置中央にページ数が追加される。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?