From: http://www.qtcn.org/bbs/read.php?tid=11010&keyword=%B4%F2%D3%A1
// iFormat 为1表示打印成PDF,否则表示输出到打印机
// strHtml是HTML格式的打印内容,strPdfFile是PDF文件路径。
void printDocument(const QString &strHtml,
const QString &strPdfFile, int iFormat = 1)
{
QPrinter p;
QTextDocument doc;
doc.setHtml(strHtml);
if (iFormat == 1)
{
p.setPageSize(QPrinter::A4);
p.setOutputFormat(QPrinter::PdfFormat);
p.setOutputFileName(strPdfFile);
doc.print(&p);
}
else
{
doc.setPageSize(QSizeF(p.logicalDpiX()*(80/25.4),
p.logicalDpiY()*(297/25.4)));
p.setOutputFormat(QPrinter::NativeFormat);
doc.print(&p);
}
}