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 ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access

