2008-10-20 7 views
9

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

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

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

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

ответ

7

Этот kb описывает основы работы с объектной моделью представления объектов PowerPoint. Я предлагаю вам включить зрителя при распространении вашего приложения.

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

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

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

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

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

4

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

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

+0

Uno звучит интересно, я проверю его и дам вам возвышенность, когда у меня будет достаточно репутации ... – Berg 2008-10-20 18:04:06

+0

Здесь вы идете в Berg достаточно rep :) – 2009-07-29 22:26:24

1

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

Microsoft.Office.InterOp.Powerpoint.

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

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