HTMLファイルをPDFに変換しようとしています。全体的なアイデアは、多くのページでpdfを作成し、最初のページにHTMLファイルの内容を入力することです。現在、私はまさにそれを行おうとしています。コードは次のとおりです。
#include "qprinterexample.h"
#include <QtGui/QApplication>
#include <QTextDocument>
#include <QTextStream>
#include <QFile>
#include <QPrinter>
#include <QDir>
int print(){
const int highQualityDPI = 300;
QDir::setCurrent(QCoreApplication::applicationDirPath());
QFile htmlFile ("ejemplo.htm");
if (!htmlFile.open(QIODevice::ReadOnly | QIODevice::Text)){
return -1;
}
QString htmlContent;
QTextStream in(&htmlFile);
in >> htmlContent;
QTextDocument *document = new QTextDocument();
document->setHtml(htmlContent);
QPrinter printer(QPrinter::HighResolution);
printer.setPageSize(QPrinter::A4);
printer.setOutputFormat(QPrinter::PdfFormat);
printer.setOutputFileName("output.pdf");
document->print(&printer);
delete document;
return 0;
}
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
QPrinterExample w;
if(print()<0) return -1;
w.show();
return a.exec();
}
しかし、出力PDFを確認すると、ページ番号1が一番下にある、空のページです。私は何が間違っているのですか?
また、QTextStreamを使用すると、「