gpt4 book ai didi

qt - 页面上打印错误(qtWebkit)

转载 作者:行者123 更新时间:2023-12-01 16:57:49 26 4
gpt4 key购买 nike

Qt5.2.1 中的错误:

唯一的问题已在QPrintPreviewDialog中得到纠正,但当打印到纸张上时,故障仍然存在。

使用QPrintPreviewDialog页面工作完美,但是在第二页的“纸张”(用纸打印)上(换句话说,除了第一个页面之外的所有页面都出现BUG)“文本”和“图像”(非背景)消失(显然该错误仅发生在内联元素中)。

参见: https://bugreports.qt.io/browse/QTBUG-37240 (参见测试用例附件)

<小时/>

Qt5.0.1、Qt5.0.2 和 Qt5.1.0 中的错误

QWebView 打印的第一页,带有小字体和图像。

显然这个问题只发生在内联元素(文本和图像)上。

Note: The error occurs in Windows XP, Windows 7, Window 7 x64, Mac OS X 10.8.3

[编辑]

来源-html:http://jsfiddle.net/bdm6Y/2/

框架内容:http://jsfiddle.net/bdm6Y/2/show/

ErrorPrint

来源:

QPrinter p;
p.setPaperSize(QPrinter::A4);
p.setFullPage(true);
p.setResolution(300);
p.setOrientation(QPrinter::Portrait);

QPrintPreviewDialog preview(&p);
preview.setWindowTitle(ui->myWebView->page()->mainFrame()->title());
connect(&preview, SIGNAL(paintRequested(QPrinter*)), this, SLOT(printPreview(QPrinter*)));
preview.exec();

...

void printPreview(QPrinter *printer) {
ui->myWebView->print(printer);
}

我不知道这是一个错误还是我做错了什么,可能是什么?

谢谢!

[编辑]

QT 错误报告:

https://bugreports.qt.io/browse/QTBUG-30621

最佳答案

Qt5.3中修复的问题

Qt 5.3 打印支持

  • 新的 QPA 类 QPlatformPrintDevice 用于抽象平台打印设备硬件,以及针对 Windows、Mac 和 Linux 的新实现。
  • QPrinterInfo 提供有关打印设备硬件的更多详细信息
  • QPrinter 使用 QPageSize 和 QPageLayout 来改进页面布局处理
  • QPrinter 已在所有平台上标准化了大多数功能的行为(如下所述)
  • Mac 现在可以使每个绘制的页面具有不同的方向,并且可以设置逐份打印份数和文档名称。
  • Mac 和 Windows 现在支持设置文档创建器和双面模式
  • Mac 和 Linux 现在支持使用 Windows 页面 ID(DMPAPER 值)
  • Linux 现在需要 CUPS 1.4(不再支持 RHEL 5)

在 Windows 中测试的代码:

QPrinter print(QPrinter::HighResolution);
print.setPageMargins(qreal(1), qreal(1), qreal(1), qreal(1), QPrinter::Millimeter);
print.setPaperSize(QPagedPaintDevice::A4);

QPrintPreviewDialog pd(&print, mwindow, Qt::Window);
QObject::connect(&pd, SIGNAL(paintRequested(QPrinter *)), this, SLOT(preview(QPrinter *)));
if(pd.exec() == QPrintPreviewDialog::Accepted) {
/*something*/
}

...

void MainWindow::preview(QPrinter* p) {
mframe->print(p);//mframe is an QWebFrame
}

关于qt - 页面上打印错误(qtWebkit),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16865791/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com