def __init__(self, mode = QPrinter.ScreenResolution): """ Constructor @param mode mode of the printer (QPrinter.PrinterMode) """ QsciPrinter.__init__(self, mode) self.setMagnification(Preferences.getPrinter("Magnification")) if Preferences.getPrinter("ColorMode"): self.setColorMode(QPrinter.Color) else: self.setColorMode(QPrinter.GrayScale) if Preferences.getPrinter("FirstPageFirst"): self.setPageOrder(QPrinter.FirstPageFirst) else: self.setPageOrder(QPrinter.LastPageFirst) self.setPageMargins( Preferences.getPrinter("LeftMargin") * 10, Preferences.getPrinter("TopMargin") * 10, Preferences.getPrinter("RightMargin") * 10, Preferences.getPrinter("BottomMargin") * 10, QsciPrinter.Millimeter ) self.setPrinterName(Preferences.getPrinter("PrinterName")) self.time = QTime.currentTime().toString(Qt.LocalDate) self.date = QDate.currentDate().toString(Qt.LocalDate) self.headerFont = Preferences.getPrinter("HeaderFont")
def __init__(self, mode=QPrinter.ScreenResolution, header_font=None): QsciPrinter.__init__(self, mode) if True: self.setColorMode(QPrinter.Color) else: self.setColorMode(QPrinter.GrayScale) if True: self.setPageOrder(QPrinter.FirstPageFirst) else: self.setPageOrder(QPrinter.LastPageFirst) self.date = time.ctime() if header_font is not None: self.header_font = header_font
def imprimir_documento(self): weditor = self.devolver_editor() if weditor is not None: # Extensión ext = weditor.nombre.split('.')[-1] # Se reemplaza la extensión por 'pdf' nombre = weditor.nombre.replace(ext, 'pdf') documento = QTextDocument(weditor.texto) printer = QsciPrinter() printer.setPageSize(QsciPrinter.A4) printer.setOutputFileName(nombre) printer.setDocName(nombre) dialogo = QPrintPreviewDialog(printer) dialogo.paintRequested.connect(documento.print_) dialogo.exec_()