QPrinter:将html表格放入a4表格(pdf格式)

时间:2016-04-06 15:43:32

标签: html c++ qt pdf

我找不到这个问题的答案 - 我的QT应用程序生成一个html输出,其中包含表格和图形(表格行和列的大小 - 事先不知道)。

我必须从这个html文件创建一个pdf导出器。我使用Qt提供的QPrinter类来执行此操作。我面临的问题是,当我有很长的表(很多列)时,我无法正确打印pdf文档。

理想情况下,我希望pdf包含一个低于另一个的表

--------------------------------------
alpha | beta | gamma | delta | epsilon
one 
two 
three
--------------------------------------

如果上表超过A4纸张尺寸,我希望将其打印为

--------------------
alpha | beta | gamma 
one 
two 
three
--------------------
---------------
delta | epsilon
one
two 
three
---------------

目前,当我尝试打印时,表格中超过A4尺寸的部分会消失。对于打印,我将html文件的内容加载到QString对象上。然后我使用以下内容,

QWebView document;
document.setHtml(qStr); //qStr is QString object

QPrinter printer(QPrinter::HighResolution);
printer.setPageSize(QPrinter::A4);
printer.setOutputFormat(QPrinter::PdfFormat);
printer.setOutputFileName("output.pdf");
document.print(&printer);

html文件非常简单 - 它只包含table元素。我把html文件放在这个plunker中 - link

我怎样才能做到这一点?提前致谢。 (我需要使用QPrinter功能)

0 个答案:

没有答案