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

Хотя можно автоматически создавать презентации PowerPoint с помощью Office Automation, это не рекомендуется для использования на сервере. Как вы можете создать презентацию PowerPoint без использования Office Automation?


person rjzii    schedule 05.05.2009    source источник
comment
Кстати, я пытался найти информацию о XML-презентациях PowerPoint, но найти хорошую комбинацию ключевых слов для Google сложно, поскольку ключевое слово PowerPoint имеет тенденцию возвращать ссылки на презентации, написанные людьми.   -  person rjzii    schedule 05.05.2009
comment
Это должен быть PowerPoint? Есть и другие форматы, которые было бы проще использовать.   -  person Grzegorz Gierlik    schedule 05.05.2009
comment
Согласно спецификации проекта, это должен быть PowerPoint.   -  person rjzii    schedule 05.05.2009
comment
попробуйте www.pptxbuilder.com   -  person Boosted_d16    schedule 10.03.2018


Ответы (3)


Другой вариант, о котором не упоминали, и который мы в конечном итоге выбрали, - это использовать Open XML, которые наивно поддерживаются в Office 2007 и Office XP через пакет совместимости. Использование Open XML SDK 1.0 Заставить что-то работать оказалось на удивление просто.

Сначала был подготовлен общий файл шаблона, в котором вместо содержимого, которое необходимо было заменить, были добавлены токены. Затем в проект нужно добавить ссылку на DocumentFormat.OpenXml. Сам код будет ссылаться на пространства имен DocumentFormat.OpenXml и DocumentFormat.OpenXml.Packaging. Наконец, код для циклического просмотра слайдов выглядит следующим образом:

// 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();
person rjzii    schedule 08.06.2009
comment
больше примеров для манипуляций с Xml об OpenXml (PowerPoint)? - person Kiquenet; 15.02.2011
comment
Не уверен, что сообщение все еще открыто, так как у меня есть вопросы по приведенному выше коду. У меня есть служебное приложение на Win 2008, которое использует Microsoft.Office.Interop.PowerPoint, чтобы открыть презентацию в фоновом режиме и сохранить ее в формате jpeg - каждый слайд отдельно. Однако теперь мне нужно сделать то же самое в веб-приложении, но процесс не может открыть файл pptx. У меня есть все права администратора для всех учетных записей и т. Д. Глядя на ваш код, как бы вы управляли слайдом с помощью Open XML? Спасибо. - person Risho; 17.11.2012

Вы можете написать код на стороне сервера, который использует библиотеку, которая может генерировать документы в формате PowerPoint. Например, в Java вы можете использовать Apache POI-HSLF для программного создания файлов PPT.

В зависимости от того, что вам нужно сделать, может быть проще начать с «шаблонного» PPT-файла и программно изменить его для вставки или редактирования содержимого.

person Peter Hilton    schedule 05.05.2009

Если ваша серверная технология - ASP.NET, вы можете использовать Aspose.Slides. Он довольно мощный и хорошо работает, хотя, возможно, это не рентабельное решение, в зависимости от того, что вы хотите сделать.

person Mun    schedule 05.05.2009