asp.net - Создать файл Powerpoint на лету - PullRequest
11 голосов
/ 19 декабря 2008

У меня есть клиент моего веб-приложения, который интенсивно использует данные из нашей системы для презентаций PowerPoint.

В настоящее время мы разрешаем экспортировать данные в более традиционные типы файлов ... PDF, CSV, HTML и некоторые другие. Похоже, Powerpoint не очень автоматизирован.

Есть ли способ на стороне сервера ASP.NET автоматизировать создание и загрузку формата файла powerpoint для отчета из системы?

Ответы [ 6 ]

7 голосов
/ 19 декабря 2008
4 голосов
/ 30 июля 2009

По поводу предыдущего постера ваше утверждение неверно.

У вас действительно есть только одна опция для автоматизации этого процесса на стороне сервера ASP.NET. Используйте открытые ссылки XML, упомянутые Беном в оригинальном ответе ...

Управление файлами Excel 2007 и PowerPoint 2007 с помощью API формата Open XML (часть 1 из 2) Управление файлами Excel 2007 и PowerPoint 2007 с помощью API формата Open XML (часть 2 из 2)

Причиной этого является то, что автоматизация офиса на стороне сервера полностью не поддерживается и является плохой практикой кодирования; использование серверов автоматизации com, предназначенных для интерактивного использования в неинтерактивной среде, является потенциальным выходом из строя.

Таким образом, в итоге используйте открытый XML-API и сгенерируйте ваши PPTX.

4 голосов
/ 19 декабря 2008

Ну, у вас есть два способа сделать это, без сторонних инструментов. Первый будет с автоматизацией PowerPoint, но это требует, чтобы на вашем сервере была установлена ​​PowerPoint. Второе - использовать новый формат файла pptx и сгенерировать документ powerpoint с использованием XML.

Я обнаружил, что лучший способ начать работу на стороне XML - это просто создать powerpoint, который делает то, что вы хотите, затем сохранить его и посмотреть на XML. Вы также можете ознакомиться с документацией Microsoft. В целом, работа с форматами XML довольно проста.

Наконец, могут быть какие-то сторонние элементы, но будьте осторожны, чтобы они не требовали автоматизации COM.

4 голосов
/ 19 декабря 2008

В этой статье Стив предлагает использовать приложение Aspose's Slide.

Он также объясняет шаг за шагом, как генерировать файл PowerPoint.

Вот некоторые выдержки из кода (в VB):

Открытие существующего файла PowerPoint:

 Dim fs As  System.IO.FileStream = _

   New System.IO.FileStream("c:\mypath\myfile.ppt", _

   System.IO.FileMode.Open, System.IO.FileAccess.Read)

Dim MyPres As Presentation = New Presentation(fs)

fs.Close() 

Зацикливание слайдов и вывод их форматов шаблонов:

Dim slides  As Slides = MyPres.Slides

For i As Integer = 0 To slides.Count - 1

   Response.Write(MyPres.Slides(i).Layout.ToString + "<br>")

Next

В своей статье он более подробно описывает, как это сделать.

0 голосов
/ 20 января 2014

Существуют также другие сторонние параметры, подобные Aspose Slides, такие как OfficeWriter PowerPoint Writer .

Я не совсем уверен, как работает Aspose Slides, но с PowerPoint Writer у вас есть существующая отформатированная презентация PowerPoint с маркерами данных в ней, которую вы обрабатываете с помощью PowerPoint Writer для замены маркеров данных данными. Вот несколько примеров .

0 голосов
/ 26 марта 2011

есть другой метод, конвертируйте вашу презентацию Power Point в изображения или xps (серебряная светлая презентация), а затем используйте своего рода json (jquery), чтобы показать и загрузить их.

Я реализую изображения и презентацию XPS Silver Light в моем веб-приложении

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...