背景
手元にPDFファイルがある。ページ番号がない。(※)
単純にページ番号を打ちたいだけなんだけど、手軽なツールがない……!
手頃なコマンドラインツールを発見したので記す。
(※)スクショを10枚ぐらい集めて、プリント > PDFで保存 にしたとか。
こんなかんじにできる!
pdftools
[GitHubのraffaem/pdftools][01]からダウンロード
$ 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][01]のREADME.md
には反映されてなくて、ソースコード追って拾った。
やらなくて済んだこと
-
.py
ファイルの実行権限付与($ chmod +x pdftools.py
)。どっちにしろpython
を指定しないといけない。 -
venv
の利用。latex
関係のコマンドはひと通り入っていたので。インストールが必要なものによっては、venv
をつかったかもしれない。
ホントはできるとうれしいこと
- フォントの変更
そのた情報
- 無料のオンラインツールはいくつかあって、セキュリティを心配しないなら使うとよい
- Acrobatふくめ、有料の商用ツールはいろいろある
- 安価なツールがあまりない(なんでPDFツールはこんなに高いんだろう?)
- コマンドラインツールは、本当はもっとあるのかもしれない
リソース
[01. raffaem/pdftools][01]
[02. How to add page numbers to Postscript/PDF - Stack Overflow][02]
[01]: https://github.com/raffaem/pdftools
[02]: https://stackoverflow.com/questions/1603301/how-to-add-page-numbers-to-postscript-pdf
環境
- python 3.6
- macOS BigSur 11.1
- MacBook Pro (13-inch, 2020, Four Thunderbolt 3 Ports)