问题标签 [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.
c++ - 使用页眉和页脚打印 QWebFrame 的内容
我想打印一个带有页眉和页脚的QWebView 。我正在使用QPrintPreviewDialog类来预览打印。我看到了项目phantomjs和wkhtmltopdf如何解决这个问题,但在我的项目中包含 WebKit 的修改版本似乎有点过分。显然用 Qt 和 Webkit 打印页眉和页脚,这是一个没有彻底解决的问题:
- https://bugs.webkit.org/show_bug.cgi?id=30357
- https://bugreports.qt.io/browse/QTBUG-29619
- 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
qt - QWebView 无法正确加载图像
我创建了一个应用程序,它使用 QWebView 创建模板,然后将其打印为 pdf 文件。在视图中,我为正文设置了背景图像,并且在执行程序时,第一次打印 pdf 时,图像没有打印在 pdf 中。然后,我再次打印相同的 pdf 并出现图像。因此对于所有后续打印。因此,它不仅适用于第一次打印。
我调试了 html 代码,并且总是设置背景图像。
为了打印 pdf 文件,我使用这个:
哪里检查是html模板
qt - Qt 并行端口接口
我是Qt的初学者,
我想知道如何与连接到 LPT/并行端口的类似打印机的设备进行交互。我只想将控制代码发送到点阵打印机,并从连接到并行端口的设备接收数据
请帮助提前谢谢
c++ - QPrinter 无法正确设置 HTML 页面样式以在 PDF 文档中呈现图像
我想创建一个样式正确的 HTML 的 PDF 文档。这就是我正在尝试的:
我希望 PDF 有 2 页 - 第一个带有文本Hi,下一个和最后一个带有文本Bye。第一个页面的样式类似于它出现在具有相同标记的 HTML 页面中:
但是,PDF 的第一页内容完全混乱:
我如何使它看起来像预期的那样?
我在 HTML 文档中尝试的图像:http: //imgur.com/RnSghvV
平台 - Qt 5.3.1,32 位。OS X 优胜美地。
qt - QPrinter::无效的度量命令
我们可以使用 QPrinter 命令在某些机器上导出/打印预览。但是有些我们看不到预览。
在调试视图中出现以下错误:
QPrinter::Invalid metric command QWidget::render: cannot render with inactive painter
printsupport dll 被复制到适当的位置,即 AppPath\printsupport\windowsprintersupport.dll
有人有任何想法。谢谢。
c++ - 如何在 Qt C++ 中生成带有数字签名的 PDF
我正在为 MAC OS X(在 Qt c++ 中)开发一个应用程序,我想在其中生成带有数字签名的 PDF。我成功地void QPrinter::setOutputFormat (QPrinter::PdfFormat)
使用它制作了pdf。但我未能使这个pdf在qt中进行数字签名。
qt - 我需要将 QGraphicsScene 打印到实际(英寸/毫米)比例
我正在尝试打印QGraphicsScene
. 目标打印机可以是任何东西——从普通打印机到定制尺寸的特殊打印机。它必须以实际尺寸(英寸,毫米......)打印东西。
在QGraphicsScene
我使用 72 ppi 的假设中。
我假设:
1)将场景渲染到打印机将根据打印机分辨率来完成,这样我会得到与屏幕上显示的实际尺寸(英寸/毫米)相似的项目。
2)我可以将打印机的纸张尺寸设置为所需的画布尺寸(这是一个非常大的场景上的矩形),除此之外什么都不会打印
3)我可以设置边距,“实际画布”之外的内容将不打印,包括页边空白。
到目前为止我的所有假设都是错误的:
1)对于不同的打印机,如果我建议使用接近其默认纸张尺寸的自定义尺寸(或者如果我没有设置纸张,则渲染似乎是最大适合度(使用纵横比))尺寸);
如果我设置的纸张尺寸不接近(例如默认“LETTER”尺寸的打印机上的 4x4 英寸),它只会打印一个空白页。
2-3) 在有打印的情况下,打印机只是将画布拉伸到整页,绘图区域之外的任何项目仍会打印。
我尝试在画家上或通过在渲染上设置目标矩形进行剪辑,结果是场景的一小部分非常奇怪的剪辑。
我尝试过使用 HP LaserJet、Adobe PDF 和一些具有特定尺寸(如 4x6 英寸)的定制打印机。它们都根据我指定的是纵向还是横向将场景缩放到最大尺寸,并且完全忽略了我的纸张尺寸请求或实际尺寸。
这是一个小示例程序来重现我正在尝试做的事情。
代码中的注释显示了我尝试过的一些选项。
正在做:
修复了 LaserJet 打印(缩放 - 不是实际页面之外的绘画) - 但会在 300 dpi 分辨率的打印机上产生几乎不可见的微小打印。
如何使打印输出达到实际比例(以便我可以在纸上测量英寸/毫米并使其正确)?
另外,我怎样才能将输出剪辑到实际的画布矩形?
c++ - QPrinter 边距未按预期工作
我正在使用 Qt C++ 进行打印。但是我发现了一个问题,即保证金没有按预期工作。这里是我使用的 QPrinter 配置。
结果边距确实离边缘很远(应该是5mm),我也尝试在真实打印机上打印。而且打印机好像有内边距,我给打印机设置的边距会加到内边距上。
在我的问题中,内部边距是 20 毫米。因此,如果我将打印机边距设置为 10 毫米,打印时,纸上的边距为 30 毫米。
有没有人有这方面的经验?如何使保证金工作?
PS:我使用的是 Qt 5.5 VC 2013。