背景
手元にPDFファイルがある。ページ番号がない。(※)
単純にページ番号を打ちたいだけなんだけど、手軽なツールがない……!
手頃なコマンドラインツールを発見したので記す。
(※)スクショを10枚ぐらい集めて、プリント > PDFで保存 にしたとか。
こんなかんじにできる!
pdftools
GitHubのraffaem/pdftoolsからダウンロード
$ git clone https://github.com/raffaem/pdftools.git
ダウンロードしたフォルダに入る。まだ番号のついていないPDFをフォルダに入れる。そして
$ python3.9 pdftools.py -if input.pdf -o output.pdf --text\$page/\$pages br 0.93 0.95 --overwrite
ページ番号を大きくしたい場合には
$ python3.9 pdftools.py -if input.pdf -o output.pdf --text"\huge \$page/\$pages" br 0.93 0.95 --overwrite
いやあ、めっちゃハッピー😆
補足
ハマったところ
--text \$page/\$pages
もしくは--text "\huge \$page/\$pages"
と書く。bash
の場合は$
をエスケープしなければならない(らしい)。--text
の引数の2つ目はbr
(bottom right)など。tl
/tr
/bl
/br
のいずれか。GitHubのraffaem/pdftoolsのREADME.md
には反映されてなくて、ソースコード追って拾った。
やらなくて済んだこと
.py
ファイルの実行権限付与($ chmod +x pdftools.py
)。どっちにしろpython
を指定しないといけない。venv
の利用。latex
関係のコマンドはひと通り入っていたので。インストールが必要なものによっては、venv
をつかったかもしれない。
ホントはできるとうれしいこと
- フォントの変更
そのた情報
- 無料のオンラインツールはいくつかあって、セキュリティを心配しないなら使うとよい
- Acrobatふくめ、有料の商用ツールはいろいろある
- 安価なツールがあまりない(なんでPDFツールはこんなに高いんだろう?)
- コマンドラインツールは、本当はもっとあるのかもしれない
リソース
01. raffaem/pdftools
02. How to add page numbers to Postscript/PDF - Stack Overflow
環境
- python 3.6
- macOS BigSur 11.1
- MacBook Pro (13-inch, 2020, Four Thunderbolt 3 Ports)