问题标签 [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.

0 投票
0 回答
944 浏览

c++ - 使用页眉和页脚打印 QWebFrame 的内容

我想打印一个带有页眉和页脚的QWebView 。我正在使用QPrintPreviewDialog类来预览打印。我看到了项目phantomjswkhtmltopdf如何解决这个问题,但在我的项目中包含 WebKit 的修改版本似乎有点过分。显然用 Qt 和 Webkit 打印页眉和页脚,这是一个没有彻底解决的问题:

  1. https://bugs.webkit.org/show_bug.cgi?id=30357
  2. https://bugreports.qt.io/browse/QTBUG-29619
  3. https://wiki.qt.io/Qt_project_org_faq(问题 229)

先验我不知道我要打印多少页。目前我正在继承QPrinter并重新实现newPage()方法。这是一个可怕的黑客,但几乎可以工作。我面临的问题是它在 pageRect 之外打印的所有内容都显示为模糊。水印效果只出现在预览中而不出现在打印结果中,但始终存在低质量。

我可以做些什么来打印质量更好的标题,而无需将所有 WebKit 带到我的项目中?

我怀疑引入问题的不同之处在于我使用 QWebView::render 而不是 QWebView::print。QCustomPrinter 在打印标题之前有一个关联的 QPainter(打印内容时关联的 QPainter)。因此,我无法在打印标题时调用 QWebVieww:print,因为该方法试图将新的 QPainter 关联到 QPrinter。

编辑(基于 Kuba Ober 的回答):使用 QTextDocument 而不是 QWebView 可以解决质量问题。

我分享一个我正在谈论的最小例子。CustomPrinter 类打印标题。 https://www.dropbox.com/s/2vifzk8rs6scrx5/stackExample.tar.gz?dl=0

0 投票
1 回答
471 浏览

qt - QWebView 无法正确加载图像

我创建了一个应用程序,它使用 QWebView 创建模板,然后将其打印为 pdf 文件。在视图中,我为正文设置了背景图像,并且在执行程序时,第一次打印 pdf 时,图像没有打印在 pdf 中。然后,我再次打印相同的 pdf 并出现图像。因此对于所有后续打印。因此,它不仅适用于第一次打印。

我调试了 html 代码,并且总是设置背景图像。

为了打印 pdf 文件,我使用这个:

哪里检查是html模板

0 投票
1 回答
814 浏览

qt - Qt 并行端口接口

我是Qt的初学者,

我想知道如何与连接到 LPT/并行端口的类似打印机的设备进行交互。我只想将控制代码发送到点阵打印机,并从连接到并行端口的设备接收数据

请帮助提前谢谢

0 投票
2 回答
442 浏览

qt - QtTextEdit:文本内容未呈现给 QPainter

我很难将 QTextEdit 的上下文呈现给画家(打印为 PDF)。所有其他小部件都正确打印,只有 QTextWidget 的文本没有。

小部件在 GUI 中看起来不错:

小部件中的 QTextEdit

但是 QTextWidget 的文本没有打印到 PDF:

在此处输入图像描述

代码非常简单。也许我需要添加额外的标志?我希望文本呈现与它在 GUI 中的外观相同,因此单独呈现文本(使用textField->document()->drawContents(&painter)不是最好的解决方案)

0 投票
1 回答
165 浏览

qt - 打印 QGraphicsScene 将对象切成两半

我想打印 QGraphicsScene 上的所有内容:

这就是效果(PDF文件): 打印问题

列表上的每个点都是一个 QGraphicsItem,我不知道将不适合页面的项目移动到下一页的最简单方法是什么......我可能可以做一些容易出错的数学来实现但我很确定这可以通过某种优雅的方式解决。

0 投票
2 回答
2011 浏览

c++ - QPrinter 无法正确设置 HTML 页面样式以在 PDF 文档中呈现图像

我想创建一个样式正确的 HTML 的 PDF 文档。这就是我正在尝试的:

我希望 PDF 有 2 页 - 第一个带有文本Hi,下一个和最后一个带有文本Bye。第一个页面的样式类似于它出现在具有相同标记的 HTML 页面中:

在此处输入图像描述

但是,PDF 的第一页内容完全混乱:

在此处输入图像描述

我如何使它看起来像预期的那样?

我在 HTML 文档中尝试的图像:http: //imgur.com/RnSghvV

平台 - Qt 5.3.1,32 位。OS X 优胜美地。

0 投票
1 回答
306 浏览

qt - QPrinter::无效的度量命令

我们可以使用 QPrinter 命令在某些机器上导出/打印预览。但是有些我们看不到预览。

在调试视图中出现以下错误:

QPrinter::Invalid metric command QWidget::render: cannot render with inactive painter

printsupport dll 被复制到适当的位置,即 AppPath\printsupport\windowsprintersupport.dll

有人有任何想法。谢谢。

0 投票
1 回答
1730 浏览

c++ - 如何在 Qt C++ 中生成带有数字签名的 PDF

我正在为 MAC OS X(在 Qt c++ 中)开发一个应用程序,我想在其中生成带有数字签名的 PDF。我成功地void QPrinter::setOutputFormat (QPrinter::PdfFormat)使用它制作了pdf。但我未能使这个pdf在qt中进行数字签名。

0 投票
1 回答
2420 浏览

qt - 我需要将 QGraphicsScene 打印到实际(英寸/毫米)比例

我正在尝试打印QGraphicsScene. 目标打印机可以是任何东西——从普通打印机到定制尺寸的特殊打印机。它必须以实际尺寸(英寸,毫米......)打印东西。
QGraphicsScene我使用 72 ppi 的假设中。

我假设:
1)将场景渲染到打印机将根据打印机分辨率来完成,这样我会得到与屏幕上显示的实际尺寸(英寸/毫米)相似的项目。
2)我可以将打印机的纸张尺寸设置为所需的画布尺寸(这是一个非常大的场景上的矩形),除此之外什么都不会打印
3)我可以设置边距,“实际画布”之外的内容将不打印,包括页边空白。

到目前为止我的所有假设都是错误的:
1)对于不同的打印机,如果我建议使用接近其默认纸张尺寸的自定义尺寸(或者如果我没有设置纸张,则渲染似乎是最大适合度(使用纵横比))尺寸);
如果我设置的纸张尺寸不接近(例如默认“LETTER”尺寸的打印机上的 4x4 英寸),它只会打印一个空白页。
2-3) 在有打印的情况下,打印机只是将画布拉伸到整页,绘图区域之外的任何项目仍会打印。
我尝试在画家上或通过在渲染上设置目标矩形进行剪辑,结果是场景的一小部分非常奇怪的剪辑。

我尝试过使用 HP LaserJet、Adobe PDF 和一些具有特定尺寸(如 4x6 英寸)的定制打印机。它们都根据我指定的是纵向还是横向将场景缩放到最大尺寸,并且完全忽略了我的纸张尺寸请求或实际尺寸。

这是一个小示例程序来重现我正在尝试做的事情。
代码中的注释显示了我尝试过的一些选项。

正在做:

修复了 LaserJet 打印(缩放 - 不是实际页面之外的绘画) - 但会在 300 dpi 分辨率的打印机上产生几乎不可见的微小打印。

如何使打印输出达到实际比例(以便我可以在纸上测量英寸/毫米并使其正确)?

另外,我怎样才能将输出剪辑到实际的画布矩形?

0 投票
1 回答
1872 浏览

c++ - QPrinter 边距未按预期工作

我正在使用 Qt C++ 进行打印。但是我发现了一个问题,即保证金没有按预期工作。这里是我使用的 QPrinter 配置。

结果边距确实离边缘很远(应该是5mm),我也尝试在真实打印机上打印。而且打印机好像有内边距,我给打印机设置的边距会加到内边距上。

在我的问题中,内部边距是 20 毫米。因此,如果我将打印机边距设置为 10 毫米,打印时,纸上的边距为 30 毫米。

有没有人有这方面的经验?如何使保证金工作?

PS:我使用的是 Qt 5.5 VC 2013。