2009-05-05 1 views
6

Хотя возможно generate PowerPoint presentations automatically using Office Automation, это not recommended for use on a server. Как вы можете создать презентацию PowerPoint без использования Office Automation?Каковы некоторые методы для создания презентаций PowerPoint без использования автоматизации Office?

+0

Как и в стороне, я пытался сделать некоторые поиск для получения информации о PowerPoint XML презентациях, но найти хорошее сочетание ключевых слов для Google трудно поскольку ключевое слово PowerPoint имеет тенденцию возвращать ссылки на презентации, написанные людьми. – rjzii

+0

Должна быть PowerPoint? Существуют и другие форматы, которые могут быть проще в использовании. –

+0

Спецификация проекта указывает, что она должна быть PowerPoint. – rjzii

ответ

5

Другой вариант, который не упоминался, который мы в конечном счете приняли, заключается в использовании форматов файлов Open XML, которые наивно поддерживаются в Office 2007 и Office XP через compatibility pack. Использование 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(); 
+0

больше образцов для обработки Xml об OpenXml (PowerPoint)? – Kiquenet

+0

Не уверен, что сообщение открыто, поскольку у меня есть вопрос о коде выше. У меня есть сервисное приложение в Win 2008, которое использует Microsoft.Office.Interop.PowerPoint, чтобы открыть презентацию в фоновом режиме и сохранить ее как «jpeg» - каждый слайд отдельно. Теперь, однако, мне нужно сделать то же самое в веб-приложении, но процесс не может открыть файл pptx. У меня есть все права администратора на всех учетных записях и т. Д. Посмотрите на свой код, как бы вы манипулировали слайдом с Open XML? Благодарю. – Risho

0

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

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

0

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

 Смежные вопросы

  • Нет связанных вопросов^_^