def list_printer_view(request): printers = [] if sys.platform == "win32": from win32 import win32print default_printer = win32print.GetDefaultPrinter() printers.append(default_printer) for printer in win32print.EnumPrinters(2): if printer[2] != default_printer and \ not any( elem in printer[2] for elem in ["Fax", "OneNote", "Microsoft XPS Document Writer", "Microsoft Print to PDF"]): printers.append(printer[2]) else: import cups conn = cups.Connection() cups_printers = conn.getPrinters() default_printer = conn.getDefault() printers.append(default_printer) if default_printer else None for printer in cups_printers: if printer != default_printer and \ not any( elem in printer for elem in ["Fax", "PDF"] ): printers.append(printer) request.response.status = 200 return printers
def preparePrinter(): # Opens the printer and defines attributes such as duplex mode name = win32print.GetDefaultPrinter() printdefaults = {"DesiredAccess": win32print.PRINTER_ALL_ACCESS} handle = win32print.OpenPrinter(name, printdefaults) attributes = win32print.GetPrinter(handle, 2) attributes['pDevMode'].Duplex = 2 # Lange Seite spiegeln win32print.SetPrinter(handle, 2, attributes, 0) return handle
def CheckPrinterStatus(): for x in win32print.EnumPrinters(2): print(x[2]) try: printer = win32print.GetDefaultPrinter() printer = win32print.OpenPrinter(printer) job = EnumJobs(printer, 0, -1, 1) print("Pages printed: %s" % job[0]["PagesPrinted"]) except IndexError: pass
def get_default_printer(): if sys.platform == "win32": from win32 import win32print return win32print.GetDefaultPrinter() else: import cups conn = cups.Connection() printers = [] default_printer = conn.getDefault() cups_printers = conn.getPrinters() printers.append(default_printer) if default_printer else None for printer in cups_printers: if printer != default_printer and \ not any( elem in printer for elem in ["Fax", "PDF"] ): printers.append(printer) if not default_printer: default_printer = printers[0] return default_printer
def Print(btn): global MainPath try: if not CreatePdf(MainPath): printer = win32print.GetDefaultPrinter() printer = win32print.OpenPrinter(printer) d = GetPrinter(printer, 2) win32api.ShellExecute(0, "print", "PrintFile.pdf", '"%s"' % printer, ".", 0) win32gui.ShowWindow(hwnd, win32con.SW_MAXIMIZE) if not app.getCheckBox("Keep print options"): try: for x in optionBoxes: app.removeOptionBox(x) except: pass addOptionBoxes() app.setEntryDefault("SearchBar", "Search") app.setEntryDefault("AmtBar", "Amount") except: app.errorBox("Fatal Error", "Please select an item to print")
def printer(file): logger.loggerprint("开始打印功能,打印的是:") logger.loggerprint(file) filename = file win32api.ShellExecute(0, "print", filename, '/d:"%s"' % win32print.GetDefaultPrinter(), ".", 0)
def printbill(): ''' Print the text file in pdf ''' win32api.ShellExecute(0, "print", 'bill.txt', '/d:"%s"' % win32print.GetDefaultPrinter(), ".", 0) ShellExecute
async def printFiles(filesToPrint): for file in filesToPrint: win32api.ShellExecute(0, "print", file, '"%s"' % win32print.GetDefaultPrinter(), ".", 0)