CGとCVの日記

Computer GraphicsとComputer Visionについて

pythonからプリンタへ出力(Win)

wxPythonをインストールすればwin32gui,win32conなどのAPIがつかえるようになります.

そのなかでもwin32printモジュールをつかってpythonスクリプトからプリンタへアクセスしてみました.

GetDeviceCaps()をつかえば簡単にプリンタの情報を
取得出きるので,それをもとにデバイスコンテクストハンドラから印刷したいページを作成すればOKです.
ここまでは割と簡単でした.
↓参考
http://timgolden.me.uk/python/win32_how_do_i/print.html

そして,スクリプトから用紙のサイズを変えようと思い,
次のように書きましたがうまくいきませんでした.

hprinter= win32print.OpenPrinter("Printername")
settings= win32print.GetPrinter(hprinter, 2)
settings["pPortName"].PaperSize = 13 //サイズをB5に設定
win32print.SetPrinter(h, 2, settings, 0)

結局,プリンタのドライバから用紙のサイズを変更することにしましたが,スクリプトから設定できた方がべんりですよね.

土日に頑張ってみようかな.