如何使用西里尔符号打印 html?我试图这样做:
QTextDocument *document = new QTextDocument();
document->setHtml(htmlContent);
document->print(printer);
但文件以错误的编码打印。Html 编码为 utf-8。
假设 htmlContent 是 QString,您可能使用错误的编码创建它。例如,如果原始 HTML 数据(即字节)是 UTF-8,那么您应该使用类似
htmlContent = QString::fromUtf8(myHtmlDataCharPtr);
如果 htmlContent 是指向 UTF-8 数据的字符指针,那么您应该使用
document->setHtml(QString::fromUtf8(htmlContent));
QTextDocument 需要非常正确的 HTML 才能正常运行 - WebKit / Firefox / QWebBrowser 通常接受格式较差的输入并仍然正确显示它。因此,将输出写入文件并将其发送到一些 HTML 检查程序,修复所有问题,然后重试。