我找不到这个问题的答案 - 我的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功能)