Direct Output to the Printer with Windows
The next technique to look at is Windows printing. We start off with a minimal example, then discuss the principles behind it. Start by typing the following at a Python console:
>>> import win32ui >>> dc = win32ui.CreateDC() >>> dc.CreatePrinterDC() >>> dc.StartDoc('My Python Document') >>>
At this point, you’ll see a printer icon in the System Tray. Double-click, and you see Figure 10.4.
![]() |
Now we’ll print a few words and draw a line on the page:
>>> dc.StartPage() >>> dc.TextOut(100,100, 'Python Prints!') >>> dc.MoveTo(100, 102) (0, 0) >>> dc.LineTo(200, 102) >>> dc.EndPage() >>>
As soon as you type EndPage
, your page should
begin to print on your default printer. The Status column in the
Printer window changes to look like Figure 10.5.
![]() |
Finally, tell Windows you’ve finished printing:
>>> dc.EndDoc() >>>
Hopefully, a few seconds later you will have a page with the words
Python Prints
near the top left and a horizontal
line just above it.
If you’ve ever done any Windows graphics programming, this will
be familiar. The variable dc
is an instance of the Python class
PyCDC
, which is a wrapper around a
Windows Device Context. The Device Context provides methods ...