Qt - 创建PDF文件

时间:2017-06-26 09:33:48

标签: qt pdf

我想在Qt控制台应用程序中创建一个PDF文件。但是创建文件的文件大小为0B,我无法打开它。 GUI应用程序中的相同代码有效。控制台和gui应用程序中的代码之间的区别在哪里?我该怎么做才能使代码在控制台应用程序中运行? 提前感谢您的帮助!

#include <QCoreApplication>
#include <QPrinter>
#include <QTextDocument>

int main(int argc, char *argv[])
{
   QCoreApplication a(argc, argv);

    QString html = "<h1>Hi!</h1>";

    QTextDocument document;
    document.setHtml(html);

    QPrinter printer(QPrinter::PrinterResolution);
    printer.setOutputFormat(QPrinter::PdfFormat);
    printer.setOutputFileName("test.pdf");

    document.print(&printer);

    return a.exec();
}

1 个答案:

答案 0 :(得分:2)

这里有效。

#include <QApplication>
#include <QPrinter>
#include <QTextDocument>

int main(int argc, char *argv[])
{
   QApplication a(argc, argv);

    QString html = "<h1>Hi!</h1>";

    QTextDocument document;
    document.setHtml(html);

    QPrinter printer(QPrinter::PrinterResolution);
    printer.setOutputFormat(QPrinter::PdfFormat);
    printer.setOutputFileName("test.pdf");

    document.print(&printer);

    return a.exec();
}

所以看起来您只需要QCoreApplication更改QApplication