プログラムが吐いた結果とか記録したデータとかを紙に印刷・ 配布したい時があります. 単なる文字列とか表だったら Office 系など適当なアプリに読み込んで 印刷するのが簡単でしょう. しかし, 例えば「どこがどんな値だったかなど地図みたいなものの要所要所に 数値を書き込む」などといった用途では, 手作業が多く面倒です.
一番正統な方法は, OpenPrinter/GetPrinter あたりの API を駆使して専用アプリを作ることでしょうか. でも一発動けばいいような使い捨てプログラムでそれを記述するのも面倒です. そういう時一旦 ps ファイルを作り ghostscript なり Acrobat Distiller なりで pdf に変換して印刷したり配布する技を使います. そんなに必要とする頻度が多くないため, 昔作ったプログラムが HDD の隅に転がってないか探したり, 無かったらネットで情報集めたりして作るわけですが, それもまた面倒なので簡単なメモを残すことにしました. なおコツは「凝らない」ことかと思います.
%! gsave 〜本体〜 showpage grestore |
10 10 moveto 10 100 lineto ・・・ stroke |
35 100 moveto (hoge) show |
/Times-Roman findfont 12 scalefont setfont |
0.5 setlinewidth |
[1 1] 0 setdash |
newpath 280 100 15 0 360 arc stroke |
0.5 setgray |