Hi, I am adding some printers connection as a user with win32print.AddPrinterConnection().
Afterwards I want to set paper size to A4 (I have no idea why Polish Windows XP sets it to Letter by default) with this example code: ================================================================== import win32print import win32con import win32gui import pywintypes printer = r'\\drukarki\kp01' handle = win32print.OpenPrinter(printer, {'DesiredAccess': win32print.PRINTER_ACCESS_USE}) devmodeSize=win32print.DocumentProperties(0, handle, printer, None, None, 0) devmode = pywintypes.DEVMODEType(devmodeSize - pywintypes.DEVMODEType().Size) win32print.DocumentProperties(0, handle, printer, devmode, devmode, win32con.DM_IN_BUFFER | win32con.DM_OUT_BUFFER) print 'FormName before: %s' % devmode.FormName print 'PaperSize before: %s' % devmode.PaperSize devmode.FormName = "A4" devmode.PaperSize = win32con.DMPAPER_A4 devmode.Fields = devmode.Fields | win32con.DM_FORMNAME | win32con.DM_PAPERSIZE print 'FormName set: %s' % devmode.FormName print 'PaperSize set: %s' % devmode.PaperSize info = win32print.GetPrinter(handle, 9) info["pDevMode"] = devmode win32print.SetPrinter(handle, 9, info, 0) devmodeSize=win32print.DocumentProperties(0, handle, printer, None, None, 0) devmode = pywintypes.DEVMODEType(devmodeSize - pywintypes.DEVMODEType().Size) win32print.DocumentProperties(0, handle, printer, devmode, devmode, win32con.DM_IN_BUFFER | win32con.DM_OUT_BUFFER) print 'FormName after: %s' % devmode.FormName print 'PaperSize after: %s' % devmode.PaperSize win32print.ClosePrinter(handle) win32gui.SendMessageTimeout(win32con.HWND_BROADCAST, win32con.WM_DEVMODECHANGE, 0, 0, 0, 2000) ================================================================== The output looks like this: ================================================================== FormName before: A4 PaperSize before: 1 FormName set: A4 PaperSize set: 9 FormName after: A4 PaperSize after: 1 ================================================================== So, as you can see - FormName changes, but PaperSize does not. Am I doing something wrong here? I've spent a lot of time trying to solve it, yet came up with nothing. Do you have any suggestions? Thanks, Filip Zyzniewski Tefnet _______________________________________________ python-win32 mailing list python-win32@python.org http://mail.python.org/mailman/listinfo/python-win32