Example #1
0
    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)
Example #3
0
    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)
Example #4
0
def on_htmlButton_clicked():
    printer = QPrinter(QPrinter.HighResolution)
    # /* 打印预览 */
    preview = QPrintPreviewDialog(printer, widget)
    preview.paintRequested.connect(printHtml)

    #
    #   显示 预览框

    #
    # preview.exec()
    preview.exec_()
Example #5
0
 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)
Example #6
0
 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)
Example #7
0
    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)
Example #8
0
    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)
Example #9
0
 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()
Example #11
0
    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)
Example #12
0
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)
Example #13
0
    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)
Example #15
0
    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
Example #16
0
 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)
Example #18
0
 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_()
Example #19
0
    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)
Example #20
0
    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()
Example #21
0
    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)
Example #22
0
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()  # /* 等待预览界面退出 */
Example #23
0
 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)
Example #24
0
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()
Example #25
0
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
Example #26
0
	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
Example #27
0
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()
Example #28
0
    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)
Example #29
0
    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)
Example #30
0
    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)