def slot_canvasPrint(self): self.scene.clearSelection() self.fExportPrinter = QPrinter() dialog = QPrintDialog(self.fExportPrinter, self) if dialog.exec_(): painter = QPainter(self.fExportPrinter) painter.save() painter.setRenderHint(QPainter.Antialiasing) painter.setRenderHint(QPainter.TextAntialiasing) self.scene.render(painter) painter.restore()
def printing(printer, context): p = QPrinter() doc = QTextDocument() htmlStr = context print('aaaa', htmlStr) doc.setHtml(htmlStr) doc.setPageSize( QSizeF(p.logicalDpiX() * (80 / 25.4), p.logicalDpiY() * (297 / 25.4))) p.setOutputFormat(QPrinter.NativeFormat) doc.print_(p)
def __init__(self, window=None): super().__init__() self.window = window self.printer = QPrinter() self.scaleFactor = 0.0 self.imageLabelLeft = QLabel() self.imageLabelLeft.setBackgroundRole(QPalette.Base) self.imageLabelLeft.setSizePolicy(QSizePolicy.Ignored, QSizePolicy.Ignored) self.imageLabelLeft.setScaledContents(True) self.scrollAreaLeft = QScrollArea() self.scrollAreaLeft.setBackgroundRole(QPalette.Dark) self.scrollAreaLeft.setWidget(self.imageLabelLeft) self.scrollAreaLeft.setVisible(False) self.imageLabelRight = QLabel() self.imageLabelRight.setBackgroundRole(QPalette.Base) self.imageLabelRight.setSizePolicy(QSizePolicy.Ignored, QSizePolicy.Ignored) self.imageLabelRight.setScaledContents(True) self.scrollAreaRight = QScrollArea() self.scrollAreaRight.setBackgroundRole(QPalette.Dark) self.scrollAreaRight.setWidget(self.imageLabelRight) self.scrollAreaRight.setVisible(False) self.centralWidget = QWidget() self.layout = QHBoxLayout(self.centralWidget) self.layout.addWidget(self.scrollAreaLeft) self.layout.addWidget(self.scrollAreaRight) self.scrollAreaLeft.verticalScrollBar().valueChanged.connect( self.scrollAreaRight.verticalScrollBar().setValue) self.scrollAreaLeft.horizontalScrollBar().valueChanged.connect( self.scrollAreaRight.horizontalScrollBar().setValue) self.scrollAreaRight.verticalScrollBar().valueChanged.connect( self.scrollAreaLeft.verticalScrollBar().setValue) self.scrollAreaRight.horizontalScrollBar().valueChanged.connect( self.scrollAreaLeft.horizontalScrollBar().setValue) self.scrollAreaLeft.mouseMoveEvent = self.mouseMoveEventLeft self.scrollAreaLeft.mousePressEvent = self.mousePressEventLeft self.scrollAreaLeft.mouseReleaseEvent = self.mouseReleaseEventLeft self.scrollAreaRight.mouseMoveEvent = self.mouseMoveEventRight self.scrollAreaRight.mousePressEvent = self.mousePressEventRight self.scrollAreaRight.mouseReleaseEvent = self.mouseReleaseEventRight self.imageLabelLeft.setCursor(Qt.OpenHandCursor) self.imageLabelRight.setCursor(Qt.OpenHandCursor)
def on_htmlButton_clicked(): printer = QPrinter(QPrinter.HighResolution) # /* 打印预览 */ preview = QPrintPreviewDialog(printer, widget) preview.paintRequested.connect(printHtml) # # 显示 预览框 # # preview.exec() preview.exec_()
def print_(self): printer = QPrinter() dlg = QPrintDialog(printer, self) dlg.setWindowTitle(app.caption(_("Print"))) options = (QAbstractPrintDialog.PrintToFile | QAbstractPrintDialog.PrintShowPageSize | QAbstractPrintDialog.PrintPageRange) if self.browser.textCursor().hasSelection(): options |= QAbstractPrintDialog.PrintSelection dlg.setOptions(options) if dlg.exec_(): self.browser.print_(printer)
def pdf(self): self.filename = QFileDialog.getSaveFileName(self, self.tr("Export document to PDF"), "", self.tr("PDF files (*.pdf)"))[0] if self.filename: # Append extension if not there yet if not self.filename.endswith(".pdf"): self.filename += ".pdf" printer = QPrinter() printer.setOutputFormat(QPrinter.PdfFormat) printer.setOutputFileName(self.filename) self.outputText.document().print(printer)
def pdfExport(self): fn, _ = QFileDialog.getSaveFileName(self, "Export PDF", None, "PDF files (.pdf);;All Files()") if fn != '': if QFileInfo(fn).suffix() == "": fn += '.pdf' printer = QPrinter(QPrinter.HighResolution) printer.setOutputFormat(QPrinter.PdfFormat) printer.setOutputFileName(fn) self.graphicsview.document().print_(printer)
def filePrintPdf(self): fn, _ = QFileDialog.getSaveFileName( self, "Export PDF", None, "PDF files (*.pdf);;All Files (*)") if fn: if QFileInfo(fn).suffix().isEmpty(): fn += '.pdf' printer = QPrinter(QPrinter.HighResolution) printer.setOutputFormat(QPrinter.PdfFormat) printer.setOutputFileName(fn) self.textEdit.document().print_(printer)
def standard_export_pdf(self): if not self.edit_control: return filename, _ = QFileDialog.getSaveFileName( self, "Export PDF", None, "PDF files (*.pdf);;All Files (*)") if filename: if QFileInfo(filename).suffix().isEmpty(): filename += ".pdf" printer = QPrinter(QPrinter.HighResolution) printer.setOutputFormat(QPrinter.PdfFormat) printer.setOutputFileName(filename) self.edit_control.document().print_(printer)
def __init__(self, name, manager, *args, **kwargs): super(PresentPositionView, self).__init__(*args, **kwargs) self._name = name self._manager = manager self._content = QTextEdit(self) self._content.hide() self._printer = QPrinter(QPrinter.HighResolution) self._printer.setFullPage(True) self._printer.setPageMargins(2, 5, 2, 5, QPrinter.Millimeter) self._init_ui()
def Conversion_en_pdf(self): fn, _ = QFileDialog.getSaveFileName(self, "exporter en pdf", None, "PDF files (.pdf)") if fn != '': if QFileInfo(fn).suffix() == "": fn += '.pdf' imprimeur = QPrinter(QPrinter.HighResolution) imprimeur.setOutputFormat(QPrinter.PdfFormat) imprimeur.setOutputFileName(fn) self.fen1.textEdit.document().print_(imprimeur)
def load_resources(with_printer=False): # Loading resources require an application with safe_app(): # First printer instanciation might take a long time on windows # when network printers are involved. See the bug report: # https://bugreports.qt.io/browse/QTBUG-49560 if with_printer: from PyQt5.QtPrintSupport import QPrinter QPrinter(QPrinter.HighResolution)
def print_html(cls, parent, html): from PyQt5.QtPrintSupport import QPrinter, QPrintDialog from PyQt5.QtGui import QTextDocument printer = QPrinter(QPrinter.HighResolution) dialog = QPrintDialog(printer, parent) result = dialog.exec_() if result == dialog.Accepted: doc = QTextDocument() doc.setHtml(html) doc.print_(printer) return result
def printBrowserPdf(self, browser=None): """ Public slot called to print the displayed page to PDF. @param browser reference to the browser to be printed (HelpBrowser) """ if browser is None: browser = self.currentBrowser() name = WebBrowserTools.getFileNameFromUrl(browser.url()) if name: name = name.rsplit('.', 1)[0] name += '.pdf' if hasattr(browser.page(), "printToPdf"): from .Tools.PrintToPdfDialog import PrintToPdfDialog if not name: name = "printout.pdf" dlg = PrintToPdfDialog(name, self) if dlg.exec_() == QDialog.Accepted: filePath, pageLayout = dlg.getData() if filePath: if os.path.exists(filePath): res = E5MessageBox.warning( self, self.tr("Print to PDF"), self.tr("""<p>The file <b>{0}</b> exists""" """ already. Shall it be""" """ overwritten?</p>""").format(filePath), E5MessageBox.StandardButtons(E5MessageBox.No | E5MessageBox.Yes), E5MessageBox.No) if res == E5MessageBox.No: return browser.page().printToPdf( lambda pdf: self.__pdfGeneratedForSave(filePath, pdf), pageLayout) elif Globals.isLinuxPlatform(): printer = QPrinter(mode=QPrinter.HighResolution) if Preferences.getPrinter("ColorMode"): printer.setColorMode(QPrinter.Color) else: printer.setColorMode(QPrinter.GrayScale) printerName = Preferences.getPrinter("PrinterName") if printerName: printer.setPrinterName(printerName) printer.setOutputFormat(QPrinter.PdfFormat) if name: printer.setOutputFileName(name) printer.setResolution(Preferences.getPrinter("Resolution")) printDialog = QPrintDialog(printer, self) if printDialog.exec_() == QDialog.Accepted: browser.render(printer)
def filePrint(self): printer = QPrinter(QPrinter.HighResolution) dlg = QPrintDialog(printer, self) if self.textEdit.textCursor().hasSelection(): dlg.addEnabledOption(QPrintDialog.PrintSelection) dlg.setWindowTitle("Print Document") if dlg.exec_() == QPrintDialog.Accepted: self.textEdit.print_(printer) del dlg
def actionPrintSlot(self) -> None: printer = QPrinter() printer.setPageOrientation(QPageLayout.Landscape) if QPrintDialog(printer).exec_(): painter = QPainter(printer) painter.setRenderHint(QPainter.Antialiasing) view = QGraphicsView() view.setScene(self.scene) view.setSceneRect(QRectF(0, 0, 290, 200)) view.fitInView(QRectF(0, 0, 290, 200), Qt.KeepAspectRatio) view.scale(1, -1) view.render(painter) del painter # necessary, thanks Qt
def print(self): print("controller.print") editor = self.ui.webView printer = QPrinter() #print(printer, self) dialog = QPrintDialog(printer, self) dialog.setWindowTitle("Print Document") if dialog.exec_() != QDialog.Accepted: return editor.print_(printer)
def printpage(self, page=None): """ Prints current/requested page """ if not page: page = self.tabWidget.currentWidget().page().currentFrame() printer = QPrinter(mode=QPrinter.HighResolution) printer.setCreator("Quartz Browser") title = self.tabWidget.currentWidget().page().mainFrame().title() title = validateFileName(title) printer.setDocName(title) printer.setOutputFileName(docdir + title + ".pdf") print_dialog = QPrintPreviewDialog(printer, self) print_dialog.paintRequested.connect(page.print_) print_dialog.exec_()
def print_(self): document = self.textEdit.document() printer = QPrinter() dlg = QPrintDialog(printer, self) if dlg.exec_() != QDialog.Accepted: return document.print_(printer) ##맨아래 self.statusBar().showMessage("Ready", 2000)
def print_(self): printer = QPrinter(QPrinter.HighResolution) printDialog = QPrintDialog(printer, self) if printDialog.exec_() == QPrintDialog.Accepted: painter = QPainter(printer) rect = painter.viewport() size = self.image.size() size.scale(rect.size(), Qt.KeepAspectRatio) painter.setViewport(rect.x(), rect.y(), size.width(), size.height()) painter.setWindow(self.image.rect()) painter.drawImage(0, 0, self.image) painter.end()
def printFile(self): editor = self.solvers.currentWidget() if type(editor) == QTextEdit: printer = QPrinter() dialog = QPrintDialog(printer, self) dialog.setWindowTitle("Print Document") if dialog.exec_() != QDialog.Accepted: return editor.print_(printer) else: answer = QMessageBox.warning(self, "Not Print Image", "Dont print graph.", QMessageBox.Ok)
def on_picButton_clicked(): printer = QPrinter(QPrinter.HighResolution) # /* 打印预览 */ preview = QPrintPreviewDialog(printer, widget) """ * QPrintPreviewDialog类提供了一个打印预览对话框,里面功能比较全, * paintRequested(QPrinter *printer)是系统提供的, * 当preview.exec()执行时该信号被触发, * plotPic(QPrinter *printer)是用户自定义的槽函数,图像的绘制就在这个函数里。 """ preview.paintRequested.connect(plotPic) preview.exec() # /* 等待预览界面退出 */
def createPrinteDialog(self,bill): try: printer = QPrinter(QPrinter.ScreenResolution) printer.setPageSize(30) printer.setFullPage(True) painter = QPainter() painter.begin(printer) painter.setFont(QFont("Segoe UI", 10, 1500)) painter.drawText(230, 30, 0, 2000,Qt.TextIncludeTrailingSpaces | Qt.AlignRight, bill) painter.end() # print(bill) except Exception as e: print(e)
def print_pdf(html, destination): app = QApplication(sys.argv) web = QWebView() web.setHtml(html) printer = QPrinter() printer.setPageSize(QPrinter.A4) printer.setOutputFormat(QPrinter.PdfFormat) printer.setOutputFileName(destination) web.print_(printer) app.exit()
def DoPrinter(mainWin,orderNo): try: printer =QPrinter(QPrinter.HighResolution) #/* 打印预览 */ preview =QPrintPreviewDialog(printer,mainWin) preview.paintRequested.connect(printHtml) global selectOrderNo selectOrderNo = orderNo preview.exec_() return True except: return False
def standardPrinter(self, title): printer = QPrinter(QPrinter.HighResolution) printer.setDocName(title) printer.setCreator('ReText %s' % app_version) if globalSettings.paperSize: pageSize = self.getPageSizeByName(globalSettings.paperSize) if pageSize is not None: printer.setPaperSize(pageSize) else: QMessageBox.warning(self, '', self.tr('Unrecognized paperSize setting "%s".') % globalSettings.paperSize) return printer
def printCodes(): #action which is triggered when the user selects 'Print' menu item if mw == None: raise Exception('Mainwindow is not initialized') else: print('printing...') printer = QPrinter() dlg = QPrintDialog(printer) if dlg.exec() == QDialog.Accepted: painter = QPainter() painter.begin(printer) drawLabels(painter, mw.labels, printer) painter.end()
def _save_pdf(self): # pragma: no cover filename = QFileDialog().getSaveFileName( self, self.tr("Export document to PDF"), "", self.tr("PDF files (*.pdf)"), options=QFileDialog.ShowDirsOnly)[0] if filename: if not QFileInfo(filename).suffix(): filename += ".pdf" printer = QPrinter() printer.setPageSize(QPrinter.A4) printer.setColorMode(QPrinter.Color) printer.setOutputFormat(QPrinter.PdfFormat) printer.setOutputFileName(filename) self._doc.text.print_(printer)
def printFile(self): editor = self.letters.currentWidget() printer = QPrinter() dialog = QPrintDialog(printer, self) dialog.setWindowTitle("Print Document") if editor.textCursor().hasSelection(): dialog.addEnabledOption(QAbstractPrintDialog.PrintSelection) if dialog.exec_() != QDialog.Accepted: return editor.print_(printer)
def Imprimir(self): if not self.documento.isEmpty(): impresion = QPrinter(QPrinter.HighResolution) dlg = QPrintDialog(impresion, self) dlg.setWindowTitle("Распечатать документ") if dlg.exec_() == QPrintDialog.Accepted: self.documento.print_(impresion) del dlg else: QMessageBox.critical(self, "печать", "Нет данных для печати. ", QMessageBox.Ok)