问题标签 [qprinter]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
qt - 使用 QPrinter 打印到 PDF 时 QPainter 崩溃
我正在使用类QPrinter和QPainter使用 Windows 虚拟设备打印成 PDF 文件。QPainter对象打开一个对话窗口,可以在其中介绍 PDF 文件的路径和名称。
它适用于预期用途。但是,当按下对话框中的取消按钮时,应用程序崩溃。这是一个复制错误的代码片段:
通过按下取消按钮,应用程序在调用QPainter::begin()期间崩溃。我错过了什么吗?该方法可能存在错误吗?
更新:使用 try-catch 保护对 QPainter::begin() 的调用并不能防止崩溃:
qt - 使用 QPrinter 设置自定义纸张尺寸无法正确打印
我需要能够从 qt(aQGraphicsScene
或 a的渲染内容QImage
)打印,以在普通打印机、pdf 以及自定义打印机(包括卷筒纸)上进行缩放。
似乎任何适用于标准打印机的东西在定制打印机上都失败了,反之亦然。
我现在已经在定制打印机上按预期完成了打印工作(在不同打印机的工作之间来回切换)。
我根据长宽比设置所需的自定义尺寸和首选方向。
我打开一个打印对话框(甚至检查供应 - 纸张设置为所需尺寸,并且按预期设置方向)
打印:
在定制打印机上,我得到了正确的尺寸,如果供应量较小,则根据需要进行打印剪辑。边距也设置正确。
在 Pdf 上,我得到了一个按要求正确打印的自定义大小的文档 - 但方向没有得到尊重!(即使打印对话框正确显示) - 参见图像 在 HP 打印机上,我得到一个白页 - 没有打印任何内容。
即使我明确要求横向(不更改打印对话框:参见图片),我也不明白为什么 pdf 会创建纵向页面。(宽度和高度颠倒,但正确 - 文档属性显示 4x6,页面尝试正确打印和缩放)
更重要的是,我不明白为什么典型的激光喷墨打印机什么都不打印 - 空白页 - 或者有时对于一个简单的画布它会缩放以适应。
但是,如果我从 HP 更改打印对话框中的任何属性,任何不相关的内容(如纸张来源或纸张类型......),它都会正确打印。
我究竟做错了什么 ?
(使用 Qt 4.7 和 5.5,必须在 4.7 - Windows 上工作,尚未尝试 Linux)
qt - 使用 QPrinter 在绘图仪上打印非常大的图像
我必须从基于 Qt 的应用程序中打印带有大量矢量数据的绘图仪世界地图。绘图仪有 80 GB 硬盘驱动器,用于打印高分辨率图像。所有数据都加载到 QGraphicsScene 中。
A4 用于提高测试期间的速度。
加载矢量数据后,我通过水平条加载瓷砖(256x256 像素),将条渲染到画家,从场景中清除瓷砖,然后再一次。因为我通过条带场景渲染不超过可用内存,但 QPainter 不会将数据发送到打印机,直到它被删除,这就是为什么我的应用程序很快就会耗尽内存。有机会在每个循环步骤中调用 QPainter::end() ,但是这样每个条带都打印在普通打印机上的不同页面上,所以我想一旦我无法控制绘图仪的刀,绘图仪就会切割每个条带. 所以这不是一个解决方案。如何强制 QPainter 发送数据并清除其缓存,但保持在同一个打印会话中?
c++ - Cutting labels on a label printer to the correct size in Qt/C++?
I have a Brother QL700 label printer. I want to print a BarCode on this printer. I have successfully generated a barcode in code 39 format in QString
and display this barcode on a QLabel->setText(QString)
. Now I want to print this barcode on a label printer. I am doing the following things but it does not give me the desired result.
This code will print the barcode on the label printer, but does not cut the paper after 45 mm. It cuts the paper at 297mm (i.e. in A4 size of 210x297mm).
That means the printer assumes that the size of paper is QPrinter::A4
but I have given it a custom size. It should be printed using the size I specified, but it's not happening.
How can I properly tell the label printer to use the specified paper size so that it will cut the printed labels correctly?
c++ - 使用 setPaperSize(QPrinter::A4) QPrinter 破坏 PDF 报告布局
我正在使用以下代码来设置我的QPrinter对象的纸张大小:
在我的计算机上,它按预期工作,但在另一台计算机上,我的 PDF 报告布局“损坏”。
搜索原因,我发现了这个问题: Qt QPrinter setPaperSize does not work proper
就像@Jens 所说:“setPaperSize 依赖于从打印机驱动程序接收到的信息......”。
我检查了Qt 文档QPrinter::A4
上的大小,它的大小对应于210 x 297 mm。
我可以将setPaperSize参数从:更改printer_.setPaperSize(QPrinter::A4);
为printer_.setPaperSize(QSizeF(210, 297), QPrinter::Millimeter);
吗?它会正常工作(独立于打印机)吗?
我问它是因为我没有另一台计算机来测试它,而且我无法在我的计算机上重现该问题。顺便说一句,如果有人知道如何在我的计算机上重现该问题以测试问题是否已解决,我将不胜感激。
图像上的黑色边框仅用于显示打印区域的边界。
注意:我使用的是 Qt 5.3.2
printing - 打印 png 像素化
我有一些文本和一个 R.png 文件。这些我想打印到 PDF 文件和“真实”打印机。
我用以下代码做到这一点:
除了像素化的 R.png 文件外,它工作正常。
我试图通过将以下行添加到 draw 方法来解决问题:
之后创建的 pdf 看起来很好,但打印的文件仍然是像素化的。请查看附加图像“使用 setDevicePixelRatio 打印的 pdf”和“使用 setDevicePixelRatio 创建的 pdf”。
谁能给我一些想法我在这里做错了什么?
我试图通过更改打印机驱动程序中的分辨率来解决该问题,但没有奏效。对我来说,奇怪的是 Elipse 在任何情况下看起来都很好。
不幸的是,附加的 R.png 只是演示我的问题的一个例子。它不能用仅绘制文本来代替。
提前感谢您的帮助!
使用 setDevicePixelRatio 打印的 pdf 使用 setDevicePixelRatio 创建的 pdf
c++ - 如何打印 QStringListModel 内容?
我需要将 QStringListModel 的内容打印到打印机,在 'void MainWindow::on_pbImprime_clicked()' 它打印任何 Qstring 都没有问题,但我不知道如何将 QStringListModel 的数据放到我的 QString 文本中,任何人有想法吗?
这是我的代码:
抱歉我的英语不好,感谢您的帮助。
c++ - 使用 QThread 和 QPrinter 时的内存泄漏
我正在通过QThread
以下方式进行打印工作QPrinter
我的PrintWorker
样子是这样的:
print
方法是这样的:
现在在调用我的应用程序之前,在打印和调用我的应用程序的内存使用量达到 26MBprint()
之后会暴露大约 9MB 的内存PrintWorker::print()
在另一个世界中,如果我们删除emit done
最后一部分,PrintWorker::print()
它没有任何区别。
完成工作后我们期望内存使用量应降至 26MB - 线程空间 + _printer
+_printDialog
对象大小 ≈ 14MB
那么这有什么问题呢?
qt - QT QWebView在带有页码的多页上打印
我试图在从 QWebView 打印页面时打印页码,空白页出来了。当块被部分分成两页时,还有助于如何在同一页中保留一块文本。