ドライバを使わず印刷する
- GDIを経由せず、プリントスプーラを直接呼び出して印刷
- スプーラAPIを使う
- 呼び出す順序
- OpenPrinter
- プリンタ名を指定して、ハンドルを取得する
- StartDocPrinter
- 印刷のために文書がスプールされたことを印刷スプーラに通知、っていうかプリントドキュメント名をセットするだけ
- DOC_INFO_1構造体を渡す*1
- docinfo.pDocName :ドキュメント名
- docinfo.pOutputFile :プリンタに出すならNULL
- docinfo.pDatatype :the type of data used to record the documentって意味不明。。。"RAW"を書いてる例もあったが、NULLでもちゃんと出る。謎
- StartPagePrinter
- 指定されたプリンタ上でページが印刷されようとしていることをスプーラに通知
- WritePrinter
- 指定されたプリンタにデータを書き込むよう印刷スプーラに通知
- ここで書き出すデータを指定
- EndPagePrinter
- 指定されたプリンタのページの終端と次のページの先頭を示します
- EndDocPrinter
- 指定されたプリンタの印刷ジョブを終了
- ClosePrinter
- 特定のプリンタオブジェクトをクローズ
- OpenPrinter
- 3〜5をページ単位に繰り返すのかな
参考 http://www.cisnet.or.jp/home/tsuneoka/win32tech/22.html
http://abfan.active.client.jp/023.html