QPrinter和西里尔文

时间:2012-10-10 05:43:14

标签: qt printing qprinter

如何用西里尔符号打印html? 我试着这样做:

QTextDocument *document = new QTextDocument();
document->setHtml(htmlContent);
document->print(printer);

但文档以错误的编码方式打印。 Html编码是utf-8。

2 个答案:

答案 0 :(得分:1)

假设htmlContent是QString,你可能用错误的编码创建了它。例如,如果原始HTML数据(字节)是UTF-8,那么您应该使用类似

的内容

htmlContent = QString::fromUtf8(myHtmlDataCharPtr);

如果htmlContent是指向UTF-8数据的char指针,那么你应该使用

document->setHtml(QString::fromUtf8(htmlContent));

答案 1 :(得分:0)

QTextDocument需要非常正确的HTML才能正常运行 - WebKit / Firefox / QWebBrowser通常接受输入不良的输入并仍然正确显示。 因此,将输出写入文件并将其发送到某些HTML检查程序,修复所有问题,然后再试一次。