0

正如标题所说,我如何从 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();

有任何想法吗?:)

4

1 回答 1

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();
于 2014-03-12T21:37:35.077 回答