我尝试从QTextDocument打印pdf文件。文档的内容由setHtml()设置。简化示例:
QTextDocument document;
document.setHtml("<h1>My html \304\205</h1>"); // Octal encoded ą
QPrinter printer(QPrinter::HighResolution);
printer.setPageSize(QPrinter::A4);
printer.setOutputFormat(QPrinter::PdfFormat);
printer.setOutputFileName("cert.pdf");
document.print(&printer);它在windows (msvc)上不像预期的那样工作。我得到pdf文件与"?“代替了大多数波兰文字。它能在ubuntu上工作。
在windows上,它使用tahoma字体嵌入子集生成pdf。如何迫使QPrinter或QPrintEngine从这种(或任何其他)字体中嵌入更多字符?
发布于 2015-08-21 10:36:10
就像佩佩在评论中建议的那样。我需要包装这个字符串,其中之一是:
程序中最初的html是从tr()部分构建的,但我忘记了八进制转义其中的一些。(它是针对gcc的,而不是msvc,即使是utf-8和BOM)。
https://stackoverflow.com/questions/32133891
复制相似问题