[Python-es] Cambiar tamaño de papel

Andres Marin aymg01 en gmail.com
Mar Mayo 18 14:57:22 CEST 2010


Hola,

Estoy haciendo un programa y necesito mandar a imprimir una imagen pero sin
que me salga el menú de la impresora y ademas cambiar un tamaño de papel en
ella. Hasta ahora he hecho esto:

import win32print
import win32ui
import win32gui
from PIL import Image, ImageWin

impresora = win32print.GetDefaultPrinter ()
hPrinter = win32print.OpenPrinter (impresora)
DevMod = win32print.GetPrinter (hPrinter, 2) ["pDevMode"]
# Aqui el papel el 910

file_name = "Imagenes\IMG_0290.JPG"
DevMod.PaperSize = 913
hDC = win32gui.CreateDC ("WINSPOOL", impresora, DevMod)
dc = win32ui.CreateDCFromHandle (hDC)
dc.StartDoc (file_name)
dc.StartPage ()

dib = ImageWin.Dib (bmp)
x1, y1, x2, y2 = 0, 0, 1280, 960
dib.draw (dc.GetHandleOutput (), (x1, y1, x2, y2))

dc.EndPage ()
dc.EndDoc ()
dc.DeleteDC ()
exit()

La imagen se imprime, pero en el papel que tiene la impresora por defecto.
Supuestamente cuando creo el DC con el valor nuevo de DevMod, deberia
cambiarlo, pero no es asi.

Le agradezco de antemano.

-- 
Andres Marin Gomez
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://mail.python.org/pipermail/python-es/attachments/20100518/64d108da/attachment.html>


Más información sobre la lista de distribución Python-es