在IIS服务下使用COM将PowerPoint渲染到C#中时出现问题

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

我使用Cassini在Windows 7 x64上测试了我的程序,并且ppt的png渲染是完美的。 但是当我在IIS上部署我的程序并尝试渲染pptx时,其渲染质量会降低。

这是链接相同的图像,一个在Windows 7 cassini下呈现,另一个在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,解决了这个问题。

MS不支持在服务中使用PPT自动化(IIS是服务)…请参阅http://support.microsoft.com/default.aspx?scid=kb;EN-US;q257757#kb2

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

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

微软严厉警告Office程序设计为在工作站上运行,不适合在服务器环境中使用。 这是副作用之一。 您必须要求服务器管理员将服务器的video适配器置于32 bpp模式,并启用了抗锯齿function。 我希望它有一个。 在serverfault.com上了解更多相关信息