在Qt中生成要打印的表单

时间:2013-08-02 13:03:55

标签: c++ qt

我很好奇如何动态地以编程方式生成要打印的页面?我的意思是,如果我有字符串,例如带有徽标的源图像,我该如何创建表单?

4 个答案:

答案 0 :(得分:1)

您可以生成PDF或HTML网页并打印(从Qt或外部打印)。

或者您可以通过QPainter直接打印。

答案 1 :(得分:1)

您不必重新发明轮子。包括Beej在内的许多图书作家都使用 Apache FOP

答案 2 :(得分:1)

如果你正在使用Qt5,你可以轻松创建我推荐的PDF文件。我提供了一个非常基本的示例,但我建议您查看QPainter和QPdfWriter的文档。

QString fileName = tr("myfile.pdf");
QPdfWriter pdf(fileName);
QPainter painter(&pdf);
pdf.setPageSize(QPagedPaintDevice::Letter);

// Render whatever you want using the painter functions.

painter.end();

答案 3 :(得分:0)

如果您的代码需要在表单上添加和删除详细信息,那么编写用于打印的低级几何图形将重新发明轮子。您可以使用更高级别的QTextDocument类来执行所有布局并为您调整大小。

一旦你完成所有编码,你就可以转换为HTML或打印到QPrinter(包括PDF)。