O'Reilly logo

Python Programming On Win32 by Mark Hammond, Andy Robinson

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

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.

The Windows print queue
Figure 10.4. The Windows print queue

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.

Document printing, while still being written
Figure 10.5. Document printing, while still being written

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 ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required