print-server: スプールを通して請求書を印刷する

examples/print-server — 請求書を印刷する小さな業務アプリケーションです。ページに入力した内容を請求書のテンプレートに差し込み、組み込んだプリントサーバーのキューに文書を置き、スプールが送ってプリンタが刷るまでのジョブを見せます。ページはすぐに答え、印刷はその後ろで進み、再起動をまたいでも残ります。

cd examples/print-server
go run . -fake-printer          # bdf の偽の IPP プリンタ(同じプロセスで動く)に印刷する
open http://127.0.0.1:8083/

go run . -printer ipps://printer.example.local/ipp/print   # ネットワークのプリンタに印刷する

サーバーがすること

なぜこの形か

印刷する業務システムは、プリンタが刷り終えるまで要求を開いたまま待つべきではなく、プリンタの電源が切れていたからといってジョブを失うべきでもありません。プリントサーバーを組み込めば、別のプロセスなしにスプールの約束(1 つのファイル、送り直し、二重に刷らない、実績)が手に入ります。大きな現場では bdf printd を単独で動かし、print/server/client や、curl のように素の HTTP で話します。