[python-win32] PyWin32 Advanced Options

Steven Manross steven at manross.net
Fri Jan 19 10:43:33 EST 2024


Your mileage may vary, but while using setprinter.exe for a similar task (many years ago) I found that the different trays can sometimes be large values like 260…

Your best bet might be to set the tray manually in the UI, and then try to look at those values via something like setprinter.exe

The values from setprinter.exe show dmDefaultSource instead of DefaultSource, but it’s all the same

If you need setprinter.exe it should be easily downloadable from sourceforge.

HTH

Steven
From: python-win32 <python-win32-bounces+steven=manross.net at python.org> On Behalf Of Michael Litvin
Sent: Thursday, January 18, 2024 1:07 PM
To: python-win32 at python.org
Subject: [python-win32] PyWin32 Advanced Options

Hello,

I am trying to print from python using the bypass tray on my printer, but I cannot seem to get it working and it always prints from tray 1.

Here is my code:
image = Image.open(file_path)
    printer_handle = win32print.OpenPrinter(printer_name)
    p_info = win32print.GetPrinter(printer_handle, 2)
    devmode = p_info["pDevMode"]
    devmode.PaperWidth = 3550
    devmode.PaperLength = 8510
    devmode.DefaultSource = 4
    # bins = win32print.DeviceCapabilities(printer_name, devmode.DeviceName, win32con.DC_BINS)
    # bin_names = win32print.DeviceCapabilities(printer_name, devmode.DeviceName, win32con.DC_BINNAMES)
    # for bin, bin_name in zip(bins, bin_names):
    #     print(f"Bin number: {bin}, Bin name: {bin_name}")
    hDC = win32ui.CreateDC()
    hDC.CreatePrinterDC(printer_name)
    hDC.StartDoc(file_path)
    hDC.StartPage()
    dib = ImageWin.Dib(image)
    dib.draw(hDC.GetHandleOutput(), (0, 0, image.size[0],image.size[1]))
    hDC.EndPage()
    hDC.EndDoc()
    hDC.DeleteDC()

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mail.python.org/pipermail/python-win32/attachments/20240119/faddeab0/attachment-0001.html>


More information about the python-win32 mailing list