Ich stehe an. Habe vieles versucht, bin aber kläglich gescheitert.
Wie muss ich vorgehen, wenn ich mit pywin32 unter Windows eine Bitmap-Datei öffnen möchte und diese auf dem Standarddrucker drucken möchte? Ich möchte nicht PIL oder ein anderes Programm dafür verwenden.
Am liebsten wäre mir eine Lösung mit BitBlt.
Eine Bitmap-Datei kann ich bereits laden. Ich weiß nur noch nicht, wie ich diese an BitBlt übergeben kann.
Code: Alles auswählen
import win32gui
import win32con
import win32ui
import win32print
import time
hdc = win32ui.CreateDC()
hdc.CreatePrinterDC(win32print.GetDefaultPrinter())
hdc.SetMapMode(win32con.MM_TWIPS)
docname = "demo %s" % time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())
hdc.StartDoc(docname)
hdc.StartPage ()
# Bild laden
img = win32gui.LoadImage(
0,
r"H:\Bilder und Videos\MOND.BMP",
win32con.IMAGE_BITMAP,
0,
0,
win32con.LR_LOADFROMFILE
)
hdc.BitBlt(
(0, 0),
(2000, -2000),
img,
(0, 0),
win32con.SRCCOPY
)
hdc.EndPage ()
htd.EndDoc()
lg
Gerold