使用 Qt 将 HTML 转换为 PDF
Converting HTML to PDF with Qt
我正在尝试将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时,它只会得到">
使用
htmlContent=in.readAll();
而不是
in >> htmlContent;
这应该有效!
相关文章:
- 防止主数据类型C++的隐式转换
- 模板参数替换失败,并且未完成隐式转换
- 努力将整数转换为链表。不知道我在这里做错了什么
- HEX值到wchar_t字符(UTF-8)的转换
- lambda参数转换为constexpr技巧,然后获取带链接的数组
- 将 Qvector<uint8_t> 转换为 QString
- 如何在cuSparse中使用cusparseXcoo2csr从coo转换为csc
- 有关插入适配器的错误。[错误]请求从 'back_insert_iterator<vector<>>' 类型转换为非标量类型
- 如何使用我的C程序将PDF转换为图像格式(jpeg,png,..)
- 在Qt中使用将pdf图像转换为jpg图像
- 如何在生成文件中将.png列表转换为 pdf 列表
- 使用Win32/MFC将HTML文件转换为PDF
- 如何在GPU上并行化PDF到HTML的转换
- 如何在C++(没有 .NET)将 PDF 转换为位图(栅格化)
- 使用 Qt 将 HTML 转换为 PDF
- 创建并转换为 PDF 的..无工具包
- 将本地HTML文件转换为PDF与wkhtmltopdf C库
- 如何将PDF转换为原始TXT文件
- 将.txt文件转换为.pdf文件
- 在qt或c++中进行pdf到txt的转换