正如标题所说,我如何从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();
有什么想法吗? :)
答案 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();