Проблема рендеринга PowerPoint в png в C # с использованием COM в службе IIS - PullRequest
0 голосов
/ 21 июля 2011

Прежде всего, моя программа МОЖЕТ рендерить pptx в png, при рендеринге на Windows Server 2008 R2 качество просто значительно снижается, и мне интересно, почему.

Я протестировал свою программу на Windows 7 x64, используя Cassini, и рендеринг в png из pptx идеален. Но когда я развертываю свою программу в 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();

EDIT:

Ну, я знал, что работа с PowerPoint COM будет проблемой на сервере. Пробовал Aspose, и это решило проблему.

Ответы [ 2 ]

2 голосов
/ 21 июля 2011

использование автоматизации PPT в службе (IIS - это служба) не поддерживается MS ... см. http://support.microsoft.com/default.aspx?scid=kb;EN-US;q257757#kb2

Использовать стороннее решение без автоматизации (например, Aspose) ... не связано ..

1 голос
/ 21 июля 2011

Воспользуйтесь, скажем, утилитой ZysIt от SysInternals, чтобы увидеть разницу. Текст, отрисованный сервером, не имеет сглаживания.

Microsoft строго предупреждает, что программы Office предназначены для работы на рабочей станции и не подходят для использования в серверной среде. Это один из побочных эффектов. Вам нужно будет попросить администратора сервера перевести видеоадаптер сервера в режим 32 бит / с с включенным сглаживанием. Я надеюсь, что он есть. Узнайте больше об этом на serverfault.com

...