def on_actionPrint_triggered(self): if self._printer is None: self._printer = QPrinter() self._printer = QPrinter(QPrinterInfo(self._printer), QPrinter.HighResolution) self._printer.setPaperSize(self._getPaperSize()) dialog = QPrintPreviewDialog(self._printer, parent=self) def updatePages(qprinter): self.scoreScene.printScore(qprinter, self.scoreView) dialog.paintRequested.connect(updatePages) dialog.exec_()
def save_report(self): """Save report""" filename = QFileDialog.getSaveFileName( self, "Save Report", self.save_dir, "HTML (*.html);;PDF (*.pdf);;Report (*.report)") if not filename: return QDialog.Rejected self.save_dir = os.path.dirname(filename) self.saveSettings() _, extension = os.path.splitext(filename) if extension == ".pdf": printer = QPrinter() printer.setPageSize(QPrinter.A4) printer.setOutputFormat(QPrinter.PdfFormat) printer.setOutputFileName(filename) self.report_view.print_(printer) elif extension == ".report": self.save(filename) else: frame = self.report_view.page().currentFrame() with open(filename, "w", encoding="utf-8") as f: f.write(frame.documentElement().toInnerXml()) self.report_changed = False return QDialog.Accepted
def _print_report(self): printer = QPrinter() print_dialog = QPrintDialog(printer, self) print_dialog.setWindowTitle("Print report") if print_dialog.exec_() != QDialog.Accepted: return self.report_view.print_(printer)
def __createPdf(self, savePath): """ Diese Funktion druckt den Charakter in ein PDF-Dokument. """ # Wenn Unterverzeichnis nicht existiert, erstelle es dirname = os.path.dirname(savePath) if not os.path.exists(dirname): os.makedirs(dirname) printer = QPrinter(QPrinter.PrinterResolution) #printer = QPrinter() printer.setOutputFormat(QPrinter.PdfFormat) printer.setPaperSize(QPrinter.A4) printer.setFullPage(True) printer.setOutputFileName(savePath) drawSheet = RenderSheet(self.__storage, self.__character, printer, self) try: drawSheet.createSheets() except ErrSpeciesNotExisting as e: MessageBox.exception(self, e.message, e.description)
def printNote(self): printer = QPrinter(QPrinter.HighResolution) printer.setCreator(__appname__ + ' ' + __version__) printer.setDocName(self.notesTree.currentItem().text(0)) printdialog = QPrintDialog(printer, self) if printdialog.exec() == QDialog.Accepted: self.notesView.print_(printer)
def print_to_pdf( self, path, paper_size=(8.5, 11.0), paper_margins=(0, 0, 0, 0), paper_units=QPrinter.Inch, zoom_factor=1.0, ): """Saves page as a pdf file. See qt4 QPrinter documentation for more detailed explanations of options. :param path: The destination path. :param paper_size: A 2-tuple indicating size of page to print to. :param paper_margins: A 4-tuple indicating size of each margin. :param paper_units: Units for pager_size, pager_margins. :param zoom_factor: Scale the output content. """ assert len(paper_size) == 2 assert len(paper_margins) == 4 printer = QPrinter(mode=QPrinter.ScreenResolution) printer.setOutputFormat(QPrinter.PdfFormat) printer.setPaperSize(QtCore.QSizeF(*paper_size), paper_units) printer.setPageMargins(*(paper_margins + (paper_units, ))) printer.setFullPage(True) printer.setOutputFileName(path) if self.webview is None: self.webview = QtWebKit.QWebView() self.webview.setPage(self.page) self.webview.setZoomFactor(zoom_factor) self.webview.print_(printer)
def savePdf(self): """ Save to pdf file """ fileName = QFileDialog.getSaveFileName( self, 'Save to PDF', "", "PDF file (*.pdf);;All Files (*.*)") # new in v17.1 if QtHelper.IS_QT5: _filename, _type = fileName else: _filename = fileName # end of new if _filename: printer = QPrinter(QPrinter.HighResolution) printer.setPageSize(QPrinter.A4) printer.setColorMode(QPrinter.Color) printer.setOutputFormat(QPrinter.PdfFormat) printer.setOutputFileName(_filename) doc = QTextDocument() if self.toXml: doc.setPlainText(self.txtEdit.text()) else: doc.setHtml(self.txtEdit.toHtml()) doc.print_(printer)
def askPrinter(): printer = QPrinter() select = QPrintDialog(printer) if select.exec_(): return printer else: return None
def printSource(self): cursor = self.textCursor() try: printer = self._sourcePrinter except AttributeError: printer = self._sourcePrinter = QPrinter() else: printer.setCopyCount(1) dlg = QPrintDialog(printer, self) dlg.setWindowTitle(app.caption(_("dialog title", "Print Source"))) options = QAbstractPrintDialog.PrintToFile | QAbstractPrintDialog.PrintShowPageSize if cursor.hasSelection(): options |= QAbstractPrintDialog.PrintSelection dlg.setOptions(options) if dlg.exec_(): if dlg.printRange() != QAbstractPrintDialog.Selection: cursor.clearSelection() number_lines = QSettings().value("source_export/number_lines", False, bool) doc = highlighter.html_copy(cursor, 'printer', number_lines) doc.setMetaInformation(QTextDocument.DocumentTitle, self.currentDocument().url().toString()) font = doc.defaultFont() font.setPointSizeF(font.pointSizeF() * 0.8) doc.setDefaultFont(font) doc.print_(printer)
def on_actionFitPage_triggered(self): papersize = self._getPaperSize() printer = QPrinter() printer.setPaperSize(papersize) widthInPixels = printer.pageRect().width() maxColumns = self.songProperties.maxColumns(widthInPixels) self.widthSpinBox.setValue(maxColumns) self.scoreScene.reBuild()
def printPage(ok): printer = QPrinter() printer.setOutputFormat(QPrinter.PdfFormat) printer.setOrientation(QPrinter.Landscape) printer.setPageMargins(0.1,0.1,0.1,0.1, QPrinter.Millimeter) printer.setOutputFileName(sys.argv[2]) view.print_(printer) app.exit()
def imprimir(self): print('Prepandando impresion') self.printer = QPrinter(QPrinter.HighResolution) self.printer.setPageSize(QPrinter.A4) self.printer.setOrientation(QPrinter.Portrait) self.printer.setPageMargins(10, 10, 10, 10, QPrinter.Millimeter) self.navegador.print_(self.printer)
def writePdf(dir_): newbody = originHTML.format(**htmlpara) printer = QPrinter() printer.setOutputFormat(QPrinter.PdfFormat) printer.setOutputFileName(dir_ + '.pdf') printer.setPageSize(QPrinter.A4) text = QTextDocument() text.setHtml(newbody.decode('utf-8')) text.print_(printer)
def printMail(self): printer = QPrinter(mode=QPrinter.HighResolution) printer.setCreator("Daaq Mail") title = 'Daaq Mail' #title = validateFileName(title) printer.setDocName(title) printer.setOutputFileName(DOC_DIR + title + ".pdf") print_dialog = QPrintPreviewDialog(printer, self) print_dialog.paintRequested.connect(self.textViewer.print_) print_dialog.exec_()
def printProfile(self): printer = QPrinter(QPrinter.HighResolution) printer.setOutputFormat(QPrinter.PdfFormat) printer.setPaperSize(QPrinter.A4) printer.setOrientation(QPrinter.Landscape) printpreviewdlg = QPrintPreviewDialog() printpreviewdlg.paintRequested.connect(self.printRequested) printpreviewdlg.exec_()
def __init__(self): QObject.__init__(self) self.regex = Regex() self.title = '' self.webView = QWebView() self.webView.settings().setAttribute(QWebSettings.AutoLoadImages, True) self.webView.settings().setAttribute(QWebSettings.JavascriptEnabled, True) self.webView.settings().setAttribute(QWebSettings.PluginsEnabled, True) self.webView.settings().setAttribute(QWebSettings.DeveloperExtrasEnabled, True) self.pdfPrinter = QPrinter() self.webView.loadFinished.connect(self.convertToPdf)
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, True) painter.setRenderHint(QPainter.TextAntialiasing, True) self.scene.render(painter) painter.restore()
def exportPDF(self, view, file_name, width, height): pdf = QPrinter() pdf.setOutputFormat(QPrinter.PdfFormat) pdf.setPrintRange(QPrinter.AllPages) pdf.setOrientation(QPrinter.Portrait) pdf.setResolution(QPrinter.HighResolution) pdf.setPaperSize(QSizeF(width, height), QPrinter.Point) pdf.setFullPage(True) pdf.setOutputFileName(file_name) view.mainFrame().print_(pdf) QApplication.restoreOverrideCursor()
def handlePrintPdf(self): printer = QPrinter() pdffile = 'test.pdf' printer.setResolution(96) printer.setPageSize(QPrinter.Letter) printer.setOutputFormat(QPrinter.PdfFormat) printer.setOutputFileName(pdffile) printer.setPageMargins(5, 5, 5, 10, QPrinter.Millimeter) document = self.makeTableDocument() document.setPageSize(QSizeF(printer.pageRect().size())) document.print_(printer)
def open_print_dialog(self): """ This member function calls print routine. """ aPrinter = QPrinter(QPrinter.HighResolution) printDialog = QPrintDialog(aPrinter) # need this to make sure we take away focus from # any currently selected legend items self.canvas.clearFocus() if printDialog.exec_() == QDialog.Accepted: io.printer(self.canvas, aPrinter)
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 __init__(self, parent=None, fakeStartup=False, filename=None): ''' Constructor ''' self._fakeStartup = fakeStartup super(DrumBurp, self).__init__(parent) self._state = None self._asciiSettings = None self._printer = None self.setupUi(self) self.scoreScene = None self.paperBox.blockSignals(True) self.paperBox.clear() self._knownPageHeights = [] printer = QPrinter() printer.setOutputFileName("invalid.pdf") for name in dir(QPrinter): attr = getattr(QPrinter, name) if (isinstance(attr, QPrinter.PageSize) and name != "Custom"): self.paperBox.addItem(name) printer.setPaperSize(attr) self._knownPageHeights.append(printer.pageRect().height()) self._pageHeight = printer.paperRect().height() self.paperBox.blockSignals(False) settings = self._makeQSettings() self.recentFiles = [ unicode(fname) for fname in settings.value("RecentFiles").toStringList() if os.path.exists(unicode(fname)) ] if filename is None: filename = (None if len(self.recentFiles) == 0 else self.recentFiles[0]) self.filename = filename self.addToRecentFiles() self.updateRecentFiles() self.songProperties = QDisplayProperties() # Create scene self.scoreScene = QScore(self) self.restoreGeometry(settings.value("Geometry").toByteArray()) self.restoreState(settings.value("MainWindow/State").toByteArray()) self.statusbar.addPermanentWidget(QFrame()) self.availableNotesLabel = QLabel() self.availableNotesLabel.setMinimumWidth(250) self.statusbar.addPermanentWidget(self.availableNotesLabel) self._infoBar = QLabel() self.statusbar.addPermanentWidget(self._infoBar) self._initializeState() self.setSections() QTimer.singleShot(0, self._startUp) self.actionCheckOnStartup.setChecked( settings.value("CheckOnStartup").toBool())
def lunchPrintPdf(self, printer): fileName = QFileDialog.getSaveFileName(self, 'Save File as', '', '*.pdf') document = self.doc1 #document = QTextDocument(document) printer = QPrinter() printer.setResolution(96) printer.setPageMargins(5, 5, 5, 5, QPrinter.Millimeter) printer.setPageSize(QPrinter.Letter) printer.setOutputFormat(QPrinter.PdfFormat) printer.setOutputFileName(fileName) #document.setPageSize(QSizeF(printer.pageRect().size())) #print(document.pageSize(), printer.resolution(), printer.pageRect()) document.print_(printer)
def __saveAsPDF(self, fileName): " Saves the flowchart as an PDF file " printer = QPrinter() printer.setOutputFormat(QPrinter.PdfFormat) printer.setPaperSize(QSizeF(self.scene.width(), self.scene.height()), QPrinter.Point) printer.setFullPage(True) printer.setOutputFileName(fileName) painter = QPainter(printer) self.scene.render(painter) painter.end() return
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 open_print_preview_dialog(self): """ This member function calls print preview routine. """ aPrinter = QPrinter(QPrinter.HighResolution) printPrevDialog = QPrintPreviewDialog(aPrinter) self.connect(printPrevDialog, SIGNAL("paintRequested(QPrinter*)"), partial(io.printer, self.canvas)) # need this to make sure we take away focus from # any currently selected legend items self.canvas.clearFocus() printPrevDialog.exec_()
def _print_file(self): self.printer = QPrinter(QPrinter.HighResolution) self.printer.setPageSize(QPrinter.A4) if self._central.obtain_editor().path: fileName = manage_files.get_basename(self._central.obtain_editor().path) fileName = fileName[:fileName.rfind('.')] + '.pdf' else: fileName = 'newDocument.pdf' self.printer.setOutputFileName(fileName) dialog = QPrintDialog(self.printer, self) if dialog.exec_(): self.printer.setDocName(manage_files.get_basename(self._central.obtain_editor().path)) self._central.obtain_editor().document().print_(self.printer)
def on_actionPrint_triggered(self): if self.printer is None: self.printer = QPrinter(QPrinter.HighResolution) self.printer.setPageSize(QPrinter.Letter) form = QPrintDialog(self.printer, self) if form.exec_(): painter = QPainter(self.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.drawImage(0, 0, self.image)
def savePrinter(self): """ Save to printer """ printer = QPrinter() dialog = QPrintDialog(printer, self) dialog.setWindowTitle("Print") if dialog.exec_() != QDialog.Accepted: return doc = QTextDocument() doc.setPlainText(self.txtEdit.text()) doc.print_(printer)
def printLadder(self): #printer = QPrinter(QPrinter.HighResolution) printer = QPrinter() dialog = QtGui.QPrintDialog(printer, self) if dialog.exec_() != QDialog.Accepted: return #printer.setResolution(600) #resolution = printer.resolution() #pageRect = printer.pageRect() painter = QPainter(printer) self.scene.render(painter) #self.ui.tableWidget.render(painter) del painter