在64位Windows上运行32位可执行文件的问题

5

当SO允许我的时候,我会添加500个自己的声望作为赏金。

我正在使用wkhtmltopdf将HTML网页转换为PDF。在我的32位开发服务器上,这完美地运行[不幸的是,我不能运行我的机器:-p]。然而,当我部署到Web应用程序的64位服务器时,将显示以下错误: (从cmd.exe运行)

C:\>wkhtmltopdf http://www.google.com google.pdf
Loading pages (1/5)
QFontEngine::loadEngine: GetTextMetrics failed ()            ] 10%
QFontEngineWin: GetTextMetrics failed ()
QFontEngineWin: GetTextMetrics failed ()
QFontEngine::loadEngine: GetTextMetrics failed ()
QFontEngineWin: GetTextMetrics failed ()
QFontEngineWin: GetTextMetrics failed ()
QFontEngineWin: GetTextMetrics failed ()
QFontEngine::loadEngine: GetTextMetrics failed ()            ] 36%
QFontEngineWin: GetTextMetrics failed ()
QFontEngineWin: GetTextMetrics failed ()
// ...etc....

PDF已经被创建并保存…但是没有文本。所有表单字段、图片、边框、表格、divs、spans、ps等都会准确呈现…只是没有任何文本。

服务器信息:

    Windows edition: Windows Server Standard Service Pack 2
    Processor: Intel Xeon    E5410 @ 2.33GHz 2.33 GHz
    Memory: 8.00 GB
    System type: 64-bit Operating System

有人可以给我一个线索,告诉我发生了什么以及如何修复吗?

此外,我不确定该如何标记/命名这个问题...如果您能想到更好的标签/标题,请在评论中提出或编辑问题。 :-)


1
你是否正在以服务的形式运行应用程序?服务并不总是有屏幕访问权限,因此获取字体文本度量可能会失败。尝试以交互方式运行应用程序,看看它是否能正常工作。 - Patrick
我不确定。我该怎么做? - David Murdoch
64位和32位有不同的二进制文件吗?如果您不知道,您可以在服务器上运行32位二进制文件。另外,也许服务器缺少所需的字体。 - Joel Lucsy
有一个适用于Windows的安装程序...所以我使用了它,并默认安装到/Program Files (x86)。因此,我认为只有32位版本。 - David Murdoch
我检查了字体,它们都在那里。即使加载文本文件,它仍然以相同的错误消息失败。 - David Murdoch
我认为生产服务器只需要重新启动,因为在Internet Explorer中字体也无法显示。我会让他们明天这样做并告诉你。 - David Murdoch
1个回答

2

好的,正确的答案就是重新启动生产服务器。某些字体服务可能因为某种未知原因默默崩溃了。希望这能成为我们所有人的教训。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接