scansnapでスキャンした画像を自前で用意したプログラムで処理する
tl;dr
- 連携するアプリケーションという設定 で、1回の取り込みが終わったタイミングで呼び出すexeファイルを指定できる
- exeファイルは読み込んだファイルのファイルパスをコマンドライン引数で一括で渡してくれる
- なので、コマンドライン引数を処理するプログラムをexeファイルとして固めることができれば自前のプログラムで自由に触ることができる
ということをやるプログラムを書いた
やったこと
nodeのプログラムをexeに固めるビルド環境の整備
Macでの開発環境作った
Windows環境でnode書くのいろいろしんどい(Macとキーバインド違う、win周り疎いのでターミナル環境でハマる(素でnpx使えないのビビった))ので、Macで開発できるようにした
- nexeの引数でwindows向けビルドを出来るように
-t win32-x86-10.13.0
で動いた- が、
win32-x86-10.13.0
が何を指すのか全くわかってなくて辛い
- バイナリをDropboxに吐き出すように調整
- 基本的な動作確認はエントリポイントのファイルを
node
で叩けば良いので特に考える必要がない
Windows環境のexeファイル呼び出しあれこれを調整
- PATH設定して再起動
- exeファイル呼び出しで何もしないと実行が終わり次第ターミナルが落ちるので、
readline.createInterface
で待ち受けるようにしたり、ログをファイルに落とせるようにしたり
Macの環境作るのに一番ハマったので、我慢してwin環境で書けばよかったかも。。
やること自体はただのファイルコピーみたいなもんだし
やろうと思ってやらなかったこと
- バイナリ公開
- 誰得感あったのでやめた
- cloneしてビルドコマンド叩いてもらえれば使えるしまあええやろみたいな気分
- 対話インターフェース作って保存先調整したりしよう
- 取り込み作業がめんどくなるのでやらんでいいかなと言う気持ちに
- テスト・CI
- travisがwin環境提供し始めたらしいし、exeビルドしてe2eテストとか書くと安心感あるかなと思ったけどめんどくさくて未着手
readline
で待ち受けるところとかがね・・・- 気が向いたらやるかも?