qt将pdf转换为html,c++ - Converting HTML to PDF with Qt - Stack Overflow

I'm trying to convert an HTML file to PDF. The whole idea is to create a pdf with many pages, filling the first one with the HTML file contents. Currently I'm trying to do just that, and the code is:

#include "qprinterexample.h"

#include

#include

#include

#include

#include

#include

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();

}

But when I check the output PDF, it's an empty page, just with the page number 1 at the bottom. What am I doing wrong?

Also, I have noticed that when using QTextStream, it only gets "

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值