Каковы некоторые методы создания презентаций PowerPoint без использования автоматизации Office?

StackOverflow https://stackoverflow.com/questions/825247

Вопрос

В то время как это возможно автоматическое создание презентаций 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 . Это довольно мощный и хорошо работает, хотя это не может быть экономически эффективным решением, в зависимости от того, что вы хотите сделать.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top