Использование C # для отображения PowerPoint - PullRequest
9 голосов
/ 20 октября 2008

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

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

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

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

Ответы [ 4 ]

7 голосов
/ 30 июля 2009

В этом КБ изложены основы работы с объектной моделью средства просмотра презентаций 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).

4 голосов
/ 20 октября 2008

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

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

1 голос
/ 20 октября 2008

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

Microsoft.Office.InterOp.Powerpoint.

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

0 голосов
/ 20 октября 2008

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...