1
我用QPrintDialog中初始化QPrinter做對象是這樣的:檢測PDF打印在Mac
QPrinter printer;
QPrintDialog dlg(&printer);
if (dlg.exec() == QDialog::Accepted)
{
/* Are we printing to PDF? */
}
在Windows上,它很容易,如果輸出將一個文件或PDF作家檢測。在Mac上,沒有同樣功能的工作:
if ((printer.outputFormat() == QPrinter::PdfFormat)
|| (!printer.outputFileName().isEmpty()))
{
qDebug("PDF mode");
}
在qprintdialog_mac.mm的拷貝在網上看,在功能QPrintDialogPrivate :: closeCarbonPrintPanel(),Qt的嘗試檢測,如果輸出重定向到一個文件。它將文件名存儲在QMacPrintEnginePrivate的成員中。不知何故,該名稱永遠不會通向QPrinter對象。我不確定斷開連接的位置。
所以.....我怎麼知道打印輸出是否真的要去一個文件?如果容易,我願意在這裏獲得具體的平臺。儘管我沒有Mac編程經驗。
你爲什麼要這麼做?它應該是透明的。用戶應該可以隨意打印他/她想要的任何內容。 –
我們可能會根據輸出設備呈現不同的效果。 IE,pdf可以放大更多細節。這已被報告爲QTBUG-2091。 – mjk99