PYQT5 QWEBENGINEVIEW在打印时质量低
我正在尝试使用 qwebengineview 在 pyqt5 中打印页面。在Preview qwebengineview.show()它以正常质量显示,但是当我打印页面时,质量是最低的
,我认为问题是不良的打印设备。 的内容时
import os
import sys
import argparse
from PyQt5.QtCore import QUrl
from PyQt5.QtPrintSupport import QPrinter
from PyQt5.QtWebEngineWidgets import QWebEngineView
from PyQt5.QtWidgets import QApplication
import win32print
class PrinterView(QWebEngineView):
def __init__(self, url=None, filename=None, do_preview=False, parent=None):
super(PrinterView, self).__init__(parent)
win32print.SetDefaultPrinter("XP-80C")
self.do_preview = do_preview
self.load(QUrl('https://stackoverflow.com/questions/41710994/create-a-pdf-with-fillable-fields-python'))
self.setZoomFactor(1)
self.printer = QPrinter(QPrinter.HighResolution)
self.printer.setOrientation(QPrinter.Portrait)
self.printer.setFullPage(True)
self.loadFinished.connect(self.onloadFinished)
def print_completed(self, dsd):
pass
def onloadFinished(self):
if self.do_preview:
self.show()
else:
self.page().print(self.printer, self.print_completed)
但是,当我打印qtextedit( ) page
I am trying to print page from url using QWebEngineView in PyQt5. In preview QWebEngineView.show() it shows with normal quality, but when I print the page the quality is the lowest
First I thought that the problem is the bad printing device.
But when I print the content of QTextEdit()
using QTextEdit().document().print_()
the quality was perfect
import os
import sys
import argparse
from PyQt5.QtCore import QUrl
from PyQt5.QtPrintSupport import QPrinter
from PyQt5.QtWebEngineWidgets import QWebEngineView
from PyQt5.QtWidgets import QApplication
import win32print
class PrinterView(QWebEngineView):
def __init__(self, url=None, filename=None, do_preview=False, parent=None):
super(PrinterView, self).__init__(parent)
win32print.SetDefaultPrinter("XP-80C")
self.do_preview = do_preview
self.load(QUrl('https://stackoverflow.com/questions/41710994/create-a-pdf-with-fillable-fields-python'))
self.setZoomFactor(1)
self.printer = QPrinter(QPrinter.HighResolution)
self.printer.setOrientation(QPrinter.Portrait)
self.printer.setFullPage(True)
self.loadFinished.connect(self.onloadFinished)
def print_completed(self, dsd):
pass
def onloadFinished(self):
if self.do_preview:
self.show()
else:
self.page().print(self.printer, self.print_completed)
Here is the printed version of stackoverflow page
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论