Ejemplo n.º 1
0
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
Ejemplo n.º 2
0
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
Ejemplo n.º 3
0
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
Ejemplo n.º 4
0
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
Ejemplo n.º 5
0
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")
Ejemplo n.º 6
0
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
Ejemplo n.º 8
0
async def printFiles(filesToPrint):
    for file in filesToPrint:
        win32api.ShellExecute(0, "print", file,
                              '"%s"' % win32print.GetDefaultPrinter(), ".", 0)