QPrinter的PDF数据,如何抓取?

QPrinter's PDF data, how to grab it?

本文关键字:抓取 何抓取 PDF 数据 QPrinter      更新时间:2023-10-16

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

有什么想法吗?:)

我知道的唯一方法是使用 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();