Exemplo n.º 1
0
def open_html_in_print_preview_from_gui_thread(html,
    html_document=QTextDocument, page_size=None, page_orientation=None):

     printer = QPrinter()
     printer.setPageSize(page_size or QPrinter.A4)
     printer.setOrientation(page_orientation or QPrinter.Portrait)
     dialog = QPrintPreviewDialog(printer)

     @QtCore.pyqtSlot(QPrinter)
     def render(printer):
         doc = html_document()
         doc.setHtml(html)
         doc.print_(printer)

     dialog.paintRequested.connect(render)
     # show maximized seems to trigger a bug in qt which scrolls the page down
     #dialog.showMaximized()
     desktop = QCoreApplication.instance().desktop()
     # use the size of the desktop instead to set the dialog size
     dialog.resize(desktop.width() * 0.75, desktop.height() * 0.75)
     dialog.exec_()
Exemplo n.º 2
0
def open_html_in_print_preview_from_gui_thread(html,
                                               html_document=QTextDocument,
                                               page_size=None,
                                               page_orientation=None):

    printer = QPrinter()
    printer.setPageSize(page_size or QPrinter.A4)
    printer.setOrientation(page_orientation or QPrinter.Portrait)
    dialog = QPrintPreviewDialog(printer)

    @QtCore.pyqtSlot(QPrinter)
    def render(printer):
        doc = html_document()
        doc.setHtml(html)
        doc.print_(printer)

    dialog.paintRequested.connect(render)
    # show maximized seems to trigger a bug in qt which scrolls the page down
    #dialog.showMaximized()
    desktop = QCoreApplication.instance().desktop()
    # use the size of the desktop instead to set the dialog size
    dialog.resize(desktop.width() * 0.75, desktop.height() * 0.75)
    dialog.exec_()