Good day! i use your package for changing printer settings (duplex, copies). for duplex it is work, but for copies it doesn't.
@source_code def set_duplex(printer_name): # print_defaults = {"DesiredAccess": win32print.PRINTER_ACCESS_ADMINISTER} print_defaults = {"DesiredAccess": win32print.PRINTER_ACCESS_USE} handle = win32print.OpenPrinter(printer_name, print_defaults) level = 2 attributes = win32print.GetPrinter(handle, level) print('Printer= ', printer_name) print('Copies= ', win32print.GetPrinter(handle, level)['pDevMode'].Copies) print('Duplex= ', win32print.GetPrinter(handle, level)['pDevMode'].Duplex) # attributes['pDevMode'].Duplex = 1 # no flip attributes['pDevMode'].Duplex = 2 # flip up # attributes['pDevMode'].Duplex = 3 # flip over attributes['pDevMode'].Copies = 4 #for key in attributes: # print('{}'.format(key)) #for n in dir(attributes['DevMode']): # print('{} {}'.format(n, getattr(attributes['DevMode'], n))) try: print('try') win32print.SetPrinter(handle, level, attributes, 0) print('Copies= ', win32print.GetPrinter(handle, level)['pDevMode'].Copies) print('Duplex= ', win32print.GetPrinter(handle, level)['pDevMode'].Duplex) except Exception as e: print(e) win32print.ClosePrinter(handle) def print_excel(printer_no, path_to_file, duplex='Y', copies=4): printer_name = app_config.PRINTER_NAMES[printer_no] if duplex == 'Y': set_duplex(printer_name=printer_name) win32api.ShellExecute( 1, 'printto', path_to_file, '{}'.format(printer_name), '.', 0 ) if __name__ == '__main__': set_duplex(printer_name='\\\\server_name\\printer_name') if i change and then check (just print) properties changed and document printed on both sides, but only 1 copy, not 4. may be you know what did i miss ? My question on stackoverflow: https://stackoverflow.com/questions/58415047/python-win32print-how-to-change-copies <https://stackoverflow.com/questions/58415047/python-win32print-how-to-change-copies> -- Pavel
_______________________________________________ python-win32 mailing list python-win32@python.org https://mail.python.org/mailman/listinfo/python-win32