Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Printing a text over an image

51 views
Skip to first unread message

Martha Morrigan

unread,
Nov 7, 2012, 11:52:35 AM11/7/12
to
Hi guys,

Using python, wxpython and sqlite in a windows system, Im trying to
print some certificates/diplomas/cards with a image at background with
the name of person/text over it.

I know the basic steps to print the text using win32print from Pywin32
but...:

1) I dont know how to add an image and set it to background.

while .....

.....

# Query sqlite rows and collumn name and set the self.text for
each certificate

.....

# Now send to printer

DC = win32ui.CreateDC()
DC.CreatePrinterDC(win32print.GetDefaultPrinter())

DC.SetMapMode(win32con.MM_TWIPS)

DC.StartDoc("Certificates Job")

DC.StartPage()

ux = 1000
uy = -1000
lx = 5500
ly = -55000

DC.DrawText(self.text, (ux, uy, lx, ly),win32con.DT_LEFT)

DC.EndPage()
DC.EndDoc()

This printer-code is inside a while loop calling each people name from
a sqlite database per check condition.


2) All the names of database was printed at same page... how i command
the printer to spit out 1 page per name from the database?


3) Any more simple approach or module to deals with printers (paper
and/or pdf) will be welcome.

Thanks in advance,

Martha

Laurent Pointal

unread,
Nov 7, 2012, 1:16:58 PM11/7/12
to
Martha Morrigan wrote:

>
> 3) Any more simple approach or module to deals with printers (paper
> and/or pdf) will be welcome.

For pdf, you can take a look at ReportLab's Toolkit. I used it to build a
"trombinoscope" (ie an employee directory with each member's photo on top of
his name and room number).

http://www.reportlab.com/software/opensource/

Once created the pdf, you must find a solution to send it to the printer...

>
> Thanks in advance,
>
> Martha

A+
Laurent.

Marco Nawijn

unread,
Nov 15, 2012, 5:43:50 AM11/15/12
to
Hi Martha,

Since you are on windows, why don't you use MS/Word directly from Python. It has all the abstractions you need (documents, pages, tables, figures, printing etc.). Working with MS/Word through the win32 bindings is really simple.
I have done this a while ago for some automatic report generation. The basic routine is to start recording your actions with the MS/Word macro recorder, do the things you want to do, stop recording, look at the VB code and guess the equivalent Python code. This is not as bad as it sounds. It normally is really straightforward.

I am on Linux at the moment, so I cannot present any code examples. Feel free to try and post some example code if you get stuck.

Marco
0 new messages