Qt-创建PDF文件
我想在Qt控制台应用程序中创建一个PDF文件。但创建文件的文件大小为0B,我无法打开它。 GUI应用程序中的相同代码也可以工作。控制台中的代码和gui应用程序之间的区别在哪里?我应该怎么做才能使代码在控制台应用程序中工作? 提前谢谢你的帮助Qt-创建PDF文件,qt,pdf,Qt,Pdf,我想在Qt控制台应用程序中创建一个PDF文件。但创建文件的文件大小为0B,我无法打开它。 GUI应用程序中的相同代码也可以工作。控制台中的代码和gui应用程序之间的区别在哪里?我应该怎么做才能使代码在控制台应用程序中工作? 提前谢谢你的帮助 #include <QCoreApplication> #include <QPrinter> #include <QTextDocument> int main(int argc, char *argv[]) {
#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();
}
#包括
#包括
#包括
int main(int argc,char*argv[])
{
qcorea应用程序(argc、argv);
QString html=“嗨!”;
QTextDocument文件;
setHtml(html);
QPrinter打印机(QPrinter::PrinterResolution);
打印机.setOutputFormat(QPrinter::PdfFormat);
打印机.setOutputFileName(“test.pdf”);
文档。打印(&打印机);
返回a.exec();
}
在这里它正在工作
#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();
}
#包括
#包括
#包括
int main(int argc,char*argv[])
{
质量保证申请a(argc、argv);
QString html=“嗨!”;
QTextDocument文件;
setHtml(html);
QPrinter打印机(QPrinter::PrinterResolution);
打印机.setOutputFormat(QPrinter::PdfFormat);
打印机.setOutputFileName(“test.pdf”);
文档。打印(&打印机);
返回a.exec();
}
因此,看起来您只需通过QApplication
更改QCoreApplication就可以了
#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();
}
#包括
#包括
#包括
int main(int argc,char*argv[])
{
质量保证申请a(argc、argv);
QString html=“嗨!”;
QTextDocument文件;
setHtml(html);
QPrinter打印机(QPrinter::PrinterResolution);
打印机.setOutputFormat(QPrinter::PdfFormat);
打印机.setOutputFileName(“test.pdf”);
文档。打印(&打印机);
返回a.exec();
}
因此,看起来您只需通过QApplication
更改QCoreApplication
,创建PDF文件可能需要字体度量等内容。如果您的控制台应用程序没有生成任何警告/错误消息,我会感到惊讶。是的,开始时只有一条错误消息是“QFont:setPixelSize:PixelSize创建PDF文件可能需要字体度量等内容。如果控制台应用程序没有生成任何警告/错误消息,我会感到惊讶。是的,在开始时,只有一条错误消息是QFont:setPixelSize:PixelSize这行吗?我试图在一个没有显示的嵌入式应用程序中使用它,而我得到的只是“EGLFS:Failed to open/dev/fb0”?这样行吗?我试图在一个没有显示的嵌入式应用程序中使用它,我得到的只是“EGLFS:Failed to open/dev/fb0”??