QPrinter的PDF数据,如何抓住它?

时间:2013-10-02 19:40:56

标签: c++ pdf qt5

正如标题所说,我如何从QPrinter获取内部PDF数据,而无需花费额外的时间输出到临时文件并将其读入以进行进一步处理?

我检查了文档,发现没有什么可以让我做像

这样的事情
QPrinter printer(QPrinter::HighResolution);
printer.setPageSize(QPrinter::A4);
printer.setOutputFormat(QPrinter::PdfFormat);

QTextDocument doc;    
doc.setHtml("<p>Test me!</p>");
doc.print(&printer);

QByteArray foo = printer.data();

有什么想法吗? :)

1 个答案:

答案 0 :(得分:3)

我知道的唯一方法是使用QTemporaryFile

QPrinter printer(QPrinter::HighResolution);
printer.setPageSize(QPrinter::A4);
printer.setOutputFormat(QPrinter::PdfFormat);
QTemporaryFile pdf;
pdf.open();
printer.setOutputFileName(pdf.fileName());

QTextDocument doc;    
doc.setHtml("<p>Test me!</p>");
doc.print(&printer);

QByteArray foo = pdf.readAll();