Вопрос

Есть ли какой-нибудь хороший способ использовать приложение Windows, написанное на C #, для отображения / управления слайд-шоу PowerPoint?В конечном счете, я хотел бы показать миниатюры в форме, и нажатие на эти миниатюры продвинуло бы слайды, показанные на втором мониторе (аналогично использованию самого Powerpoint для показа слайд-шоу на втором мониторе).

Я хотел бы иметь возможность использовать программу просмотра Powerpoint, если Powerpoint не установлен.

Кажется, есть некоторые ActiveX-элементы управления, которые позволяют интегрировать Powerpoint в форму, но большинство из них, похоже, стоят денег, есть ли у кого-нибудь опыт использования одного из этих элементов управления?

Редактировать:Я знаю, что существует объектная модель, доступ к которой можно получить, добавив ссылку на Microsoft.Офис.Взаимодействие.Powerpoint, но я хочу иметь возможность распространять полученную программу без использования Microsoft Office в качестве обязательного условия, вот почему я упомянул Powerpoint Viewer, потому что он может распространяться свободно.

Это было полезно?

Решение

В этом КБ изложены основы работы с объектной моделью средства просмотра презентаций Powerpoint. Я бы посоветовал вам включить средство просмотра при распространении приложения.

http://support.microsoft.com/kb/265385

Как только вы получаете ссылку на объект Viewer (верхнего уровня), это в основном аналогично работе с объектной моделью powerpoint.presentation, но с меньшими функциональными возможностями (т. е. редактирование и т. д.)

Если вы работаете с Powerpoint 2007, вы можете добавить функциональность редактирования, используя System.XML и связанные пространства имен для работы с файлом презентации в виде открытого XML-файла.

Что касается комментариев по поводу UNO / openoffice.org, я думаю, что они упускают из виду то, что вы не можете использовать UNO для работы с powerpoint, это для openoffice, и это не было первоначальным требованием спрашивающего.

есть сторонние наборы инструментов, такие как aspose, но тогда ваша цель состояла в том, чтобы работать с компонентом PowerPoint Viewer (бесплатно), поэтому я предполагаю, что вы хотите не платить за инструменты разработки? В любом случае средство просмотра компонентов ОМ идеально подходит для отображения и предварительного просмотра и существующего слайд-шоу. (вам понадобится одна копия Powerpoint, чтобы можно было создавать презентацию с нуля, а также Visual Studio для создания проекта VSTO).

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

Одна из наших программ здесь работает. Первоначально мы использовали MS Office, но недавно мы перешли на использование OpenOffice.org Uno , поскольку он предлагает лучший контроль, чем MS Office. и с ним легче работать. Он имеет .NET CLI-привязки .

Чтобы ответить на ваш вопрос, да, это можно сделать, но наши инженеры рекомендуют вам использовать OpenOffice.org.

Как и в Microsoft Excel и Word, Powerpoint имеет объектную модель, доступ к которой вы можете получить в коде, включив в свой проект ссылку на:

Майкрософт.Офис.Взаимодействие.Powerpoint.

Я использовал модели Excel и Word, но не использовал ту, что для Powerpoint.Вы можете немного ознакомиться с тем, что доступно, открыв обозреватель объектов после того, как включили ссылку, чтобы посмотреть, какие функциональные возможности доступны.Это может быть жизнеспособным решением для вас, если вы не хотите использовать сторонний инструмент для доступа к объектной модели.

Я использовал инструментарий Word от Aspose - у них также есть инструментарий Powerpoint, на который, я думаю, стоит взглянуть.

http://www.aspose.com/categories/file-format-components/aspose.slides-for-.net-and-java/default.aspx

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