【发布时间】:2011-08-10 12:24:07
【问题描述】:
在我的应用程序中,我使用QTextEdit 来显示一些文本,并使用 HTML 进行格式化。可以打印显示的文档。这就是问题所在:虽然在屏幕上字距调整是正确的,但在打印时文档看起来很糟糕(主要是:一些字母后的空间太大)。
为了理解问题,我将 HTML 输出到外部文件中,并在真实浏览器中进行了测试。在 Chrome 中存在完全相同的问题,而在 Firefox 中,字距调整对于打印也是正确的。问题肯定来自 HTML 渲染引擎,但我没有使用 QtWebkit 模块(我什至没有编译它),这可以解释 Chrome 中出现同样的问题。
我该如何解决这个问题?
编辑
它是这样的:
首先是应该呈现的文本(Firefox):
然后用 Qt/Chrome 渲染什么(在 M 和 p 之后特别明显):
【问题讨论】:
-
你试过在 IExplore 中查看它吗?你在什么操作系统上?
-
是的,我尝试使用 Internet Explorer 9。结果比 Qt/Chrome 版本好,但不如 Firefox 版本。我的软件是为 Windows 开发的。
-
为什么你的两个示例文本有不同的磅值?可以预期,字距调整在较小的字体大小时不会那么好。也许如果你让 Chrome 文本和 Firefox 文本一样大,问题就会消失。无论如何,值得一试。
-
它们确实具有相同的大小,图像是使用浏览器的打印功能创建的 PDF 的屏幕截图。鉴于字距不同,这些行的长度不同,所以我尝试在我的捕获中对齐两个文本。