これは何? †
- SVG で帳票を作る練習
- 1週間のTODOリストを1年分作る
テンプレートの作成 †
- SVG で帳票テンプレートを作るところがミソ
- SVG は、XML
- 簡単な帳票であれば、XML をただのテキストファイルとみなして、キーワード置換で帳票ができる
- ちょっとだけ複雑なら、XSLT でドキュメント変換してやれば良い
- 複雑なら、DOM、SAX、JAXB とかで、構造を持つデータとしてプログラムに取り込むことができる
- Inkscape で、1 週間のTODOリストを作る
- 値が変わるところだけ #abcd (Place Holder) にする
- 元ネタは、Introduction to the Middle Way Method, DIY Planner, 2009, http://diyplanner.com/node/7099
Place Holder に値を埋め込むプログラムを作る †
SVG -> PDF †
- svg2pdf.sh
#!/bin/bash
if [ ! -d ./a3 ]; then
mkdir ./a3
fi
ls | grep svg | while read SVG_FILE
do
PDF_FILE=./a3/${SVG_FILE%[.]*}.pdf
if [ ! -e $PDF_FILE ]; then
echo "$SVG_FILE -> $PDF_FILE"
/opt/local/bin/inkscape $SVG_FILE --export-pdf=$PDF_FILE
fi
done
inkscape が時々 segmentation falut するので、何度か繰り返す必要がある。何度か繰り返すと成功するので元データが悪いわけではなさそう
PDF を年度ごとに集約する †
$ pdftk ./a3/2013* cat output 2013.pdf
$ pdftk ./a3/2014* cat output 2014.pdf
$ pdftk ./a3/2015* cat output 2015.pdf
A4プリンタで印刷できるように、A3 から A4 に分割する †
同様にして月間予定表も作った †
Java帳票