Asp.net - Создание файла Powerpoint на лету

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

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

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

Попробуйте www.pptxbuilder.com

Boosted_d16 07.11.2018 21:04
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
11
1
18 493
6
Перейти к ответу Данный вопрос помечен как решенный

Ответы 6

Ответ принят как подходящий

В эта статья Стив предлагает использовать приложение Aspose 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

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

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

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

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

Что касается предыдущего плаката, ваше утверждение неверно.

У вас действительно есть только один вариант для автоматизации этого процесса на стороне сервера 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.

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

Я реализую изображения и презентацию xps silver light в своем веб-приложении

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

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

Другие вопросы по теме