電子押印できるコマンドラインツールauto-ohinの紹介
0. はじめに
毎月月末になると,pdfファイルを印刷して押印した後にスキャンするというムーブをしていました. そこで,押印したくなさすぎるが故に,電子押印をしてくれるコマンドラインツールを作りました.
リポジトリはこちらGitHub
1. インストール方法
簡単です.
$ pip install auto-ohin
2. ファイルの準備
次のものを用意します.
- 押印したいpdfファイル
- 電子印鑑(透過画像(png))
- configファイル(後述)
2.1 configファイルの準備
押印するために必要なconfigファイルを用意します.Jsonフォーマットで書くことも可能ですが,Jsonnetにも対応しています.
例えば以下のファイルをテキストエディタで作成し,適当な名前で適当な場所に保存します.
今回は,path/to/config.jsonnet
として保存したとして話を進めます.
local root = "path/to/root/"; # 各種ファイルを格納する親ディレクトリ
local pathgen(path) = root + path;
{
"input_path": pathgen("input.pdf"), # 押印をしたいpdfファイル名
"save_path": pathgen("output.pdf"), # 出力ファイル名(存在している場合は書き換えられるので注意)
"img_path": pathgen("inkan.png"), # 電子印鑑のファイル名
"obj_pages": [1, 3], # 押印をしたいページ番号の配列です. 1から始まります.
"position": [147, 225], # 左下を原点として[x, y]という形式で記入します.単位はmm.
"img_size": [20, 20], # [幅,高さ]として入力します.単位はピクセル.
"pdf_size": "A4" # 今のところ,A0~A5に対応しています.
}
3. 押印
コマンドラインで以下を実行すると,configファイルで指定した場所に押印後のpdfが作成されます.
$ auto-ohin path/to/config.jsonnet
4. 最後に
今後の展望: 引数が多いのでconfigを用意する形式にしましたが,Jsonに慣れていない人には使いづらいのでそこら辺どうにかしたいですね.アイデア募集中です.
P.S. pdfの各ページに透かしを入れたり,偶数ページのフッター位置に特定アイコンを入れたりなどの用途にも使えます.