Каковы некоторые методы создания презентаций PowerPoint без использования автоматизации Office?
-
05-07-2019 - |
Вопрос
В то время как это возможно автоматическое создание презентаций PowerPoint с помощью Office Automation, это не рекомендуется использовать на сервере.Как вы можете создать презентацию PowerPoint без использования автоматизации Office?
Решение
Другой вариант, который не был упомянут, а именно тот маршрут, по которому мы в конечном итоге пошли, - это использовать Открытый XML форматы файлов, которые наивно поддерживаются в Office 2007 и Office XP с помощью пакет совместимости.Используя Open XML SDK 1.0 заставить что-то работать оказалось на удивление просто.
Сначала был подготовлен общий файл шаблона с маркерами, помещенными вместо содержимого, которое необходимо было бы заменить.Далее, ссылка на DocumentFormat.В проект необходимо добавить OpenXML.Сам код будет ссылаться на DocumentFormat.OpenXML и DocumentFormat.OpenXML.Пространства имен упаковки.Наконец, код для циклического просмотра слайдов выглядит следующим образом:
// Open the presentation
PresentationDocument presentation = PresentationDocument.Open(fileName, true);
// Loop through all of the slides in the presentation
foreach (SlidePart slide in presentation.PresentationPart.SlideParts)
{
// Read the XML out of the slide
XmlDocument xml = new XmlDocument();
xml.Load(slide.GetStream());
// TODO: Your XML manipulation code here
// Save the updated slide
xml.Save(slide.GetStream());
}
// Save the updated presentation
presentation.Close();
Другие советы
Вы можете написать некоторый код на стороне сервера, который использует библиотеку, которая может генерировать документы формата PowerPoint. Например, в Java вы можете использовать Apache POI-HSLF для программного создания файлов PPT. р>
В зависимости от того, что вам нужно сделать, может оказаться, что начинать с PPT-файла «шаблона» и изменять его программно для вставки или редактирования содержимого может быть меньше.
Если вашей серверной технологией является ASP.NET, вы можете использовать Aspose.Slides . Это довольно мощный и хорошо работает, хотя это не может быть экономически эффективным решением, в зависимости от того, что вы хотите сделать.