iPhoneで Grafanaの グラフを 参照できる アプリ Grafanizer 作ってます。 詳しくは こちらへ

郵便局が配布しているはがきデザインキットで複数の宛名データファイルを使い分ける方法

Jan 6, 2017  
#dev #app

はじめに

新年あけましておめでとうございます
本年もよろしくお願いします

という感じで新年を迎えてしまいまして、ネタ的にはだいぶ古くなってしまうのですが、題名通りにはがきデザインキットで複数の宛名データファイルを複数使い分ける仕組みを作りましたのでその紹介をしたいと思います。

はがきデザインキットは無料なのにそこそこ使えて、なにより郵便局が配布しているので将来性も高そうですよね。これまではmacOSで宛名職人を使っていたのですが、数年毎にOSのバージョンアップについていけずにアップデートを購入するというなんとか税みたいなものを払っていました。

いや、年賀状を何百枚も送信するとか裏面のデザインも宛名職人を利用するって人だったら良いんでしょうけど、裏面デザインは毎年本を買ってきて適当な写真をはめ込んで終わりって感じなんで正直数年毎の数千円もなんか無駄に思ってたんですよね。毎年毎年。

ということで、重い腰をあげましてはがきデザインキットに乗り換えてみたのですが、そこには大きな落とし穴が。

「えっ、宛名印刷のときにフィルターかけることできないの???」

うち、親戚関係には子供写真入りの年賀状送ってるんですけど、会社関係の人にはちょっと落ち着いた感じの年賀状を送ってるんですよ。多分そういう家庭ってたくさんありますよね。そういう人達ってどうしてるんでしょうね?

ということで、宛名データファイルを切り替えることで擬似的にフィルターをかけてるようにするツールを作ってみました。

準備

Windows, maxOS, Linuxの各環境向けにコンパイルされたものは以下からダウンロードすることができます。

Chromeだとダウンロードするときに警告が出るかもしれません。一応ソースコードとコンパイル方法は nobuhito/FileSwitcher で公開していますが、自己責任で判断してください。

ダウンロードしたZipファイルを解凍すると FileSwitcher があると思いますので、任意のフォルダにコピーしてください。このフォルダに宛名データファイルが溜まりますので、新しいフォルダ(以下address)を作成するのが良いと思います。

イニシャライズ

利用する前には一度環境をイニシャライズする必要があります。この後の作業で問題が発生する可能性も皆無ではありませんので、必ずパソコンのバックアップを取ってからすすめてください。データが消えても当方は責任持てません。あしからず。

まず、はがきデザインキットのデータは以下のページで確認できます。自分の環境に合わせてデータファイルのパスを事前に確認しておいてください。

バックアップとデータファイルのパス確認が済んだら、Windowsでは cmd.exe macOSでは Terminal Linuxではお使いのシェルを立ちあげてコマンドラインに切換えます。

コマンドラインで先ほど作成したフォルダに移動するします。そこでおもむろに FileSwitcher init -t /path/to/yubin10.db と打ち込んむと同じフォルダに default.db が出来ると思います。このファイルが /path/to/yubin10.db とリンクされてます。

cd /path/to/address
FileSwitcher int -t /path/to/yubin10.db

これで初期設定が完了です。

宛名データファイルの追加

宛名データファイルの追加は、先程の default.db を同じフォルダにコピーするだけです。コピーしたファイルの名前はなんでも構いません。

コピーが済んだらおもむろに FileSwitcher list -t /path/to/yubin10.db としてみましょう。コピーしたファイルの名前が job.db だとすると以下の通りになると思います。これでデータファイルを追加することができました。

 * default
   job

* がついているものが現在リンクされて有効になっている宛名データファイルになります。

もし default が気に入らない場合は好きな名前にすることもできます。例えば default.db じゃなく family.db とかでしょうか。

ここまで読んで勘の良い人ならお気づきだと思いますが、default.dbjob.db は同じデータになっています。ですので、後述する切替方法で切換えたあとに不要データを削除という流れが楽だと思います。もし分けた後に統合したくなったらはがきデザインキットの機能を使ってCSVに書き出したあとに宛名データファイルを切換えてインポートすることで対応出来ます。

また、ファイル名がそのままリストアップされます。リストアップされた名前は後述する切換えの際の指定になりますので、日本語よりもアルファベットのほうが運用しやすいと思います。

宛名データファイルの切換え

切換えもコマンドラインから行います。例えば FileSwitcher list の結果が先程の通りで、 job.db に切換えたいときは

FileSwitcher set job -t /path/to/yubin10.db

とするだけで切り替わります。切り替わってるかどうかは先程の FileSwitcher list で確認できますので、無事に切り替わっていることが確認できたら、はがきデザインキットを起動させてみてください。無事に立ち上がったでしょうか?

高度な利用方法

毎回 -t /path/to/yubin10.db と打ち込むのは面倒という人は設定ファイルを作成するとパスを都度指定する必要がなくなりますので、楽になります。

同じフォルダに FileSwitcher.yaml というファイルを作り、以下の内容で保存するだけです。

"target": "/path/to/yubin10.db"

設定ファイルとオプションでの指定は、運用する環境でお好きな方をお使いください。

最後に

長くなりましたが、これではがきデザインキットで複数の宛名データファイルを使い分けることが出来るようになります。多分問題ないとは思いますが、データはこまめにバックアップを取った上で自己責任でお使いください。


2018年用の年賀状はこのツールと同じことをコマンドラインで操作しながら作ったのだが、出来れば来年配布されるだろうはがきデザインキット本体で宛名データの複数管理もしくは印刷時のフィルターに対応してもらえるとありがたいんだけどな...