在IIS服务下使用COM在c#中将PowerPoint渲染为png时出现问题

本文关键字:png 问题 中将 服务 IIS COM PowerPoint | 更新日期: 2023-09-27 18:03:07

首先,我的程序可以渲染一个pptx到png,在Windows Server 2008 R2上渲染时质量大大降低,我想知道为什么。

我用卡西尼在windows 7 x64上测试了我的程序,pptx的png渲染是完美的。但是,当我在IIS上部署程序并尝试呈现pptx时,其呈现的质量就会降低。

这是相同图像的链接,一个在windows 7卡西尼下呈现,另一个在windows server 2008下呈现。

最完美的质量:http://dl.dropbox.com/u/2458800/exemple-high-quality.png

低质量的:http://dl.dropbox.com/u/2458800/exemple-low-quality.png

这似乎是某种抗锯齿问题。

最后,这是我的代码:
var powerPoint = new Application();
var presentation = powerPoint.Presentations.Open(sourceFile,
      MsoTriState.msoFalse, MsoTriState.msoTriStateMixed, MsoTriState.msoFalse);
presentation.Export(destinationDir, "png", 960, 720);
presentation.Close();
powerPoint.Quit();
编辑:

我知道在服务器上使用PowerPoint COM会有问题。我试过Aspose,解决了这个问题。

在IIS服务下使用COM在c#中将PowerPoint渲染为png时出现问题

在一个服务(IIS是一个服务)中使用PPT自动化是不被MS支持的…见http://support.microsoft.com/default.aspx?scid=kb; en - us; q257757 # kb2

使用没有自动化的第三方解决方案(例如Aspose)…不是附属. .

使用SysInternals的ZoomIt实用程序来查看差异。服务器呈现的文本没有抗锯齿。

微软严正警告,Office程序是为在工作站上运行而设计的,不适合在服务器环境中使用。这是副作用之一。您必须要求服务器管理员将服务器的视频适配器设置为32bpp模式,并启用抗锯齿。我希望它有一个。请访问serverfault.com

了解更多信息