2010-12-10 2 views
0

Mein Szenario: Ich habe eine Anforderung in meinem Projekt (C#). Ich muss dem Benutzer nur Lesefähigkeit für meine Powerpoint-Präsentation geöffnet durch meine Anwendung.Alle anderen Funktionen wie Ausschneiden, Kopieren, Einfügen , speichern, speichern, drucken, Rechtsklick-Kontextmenüs sollten deaktiviert werden. Wie kann ich dies in Powerpoint programmatisch mit C# erreichen? Kann jemand seine Hilfe verlängern?Deaktivieren Sie PowerPoint-Funktionen mit C#

+0

Ich glaube nicht, dass diese Anforderung umgesetzt werden kann. Selbst wenn Sie drastische Maßnahmen ergreifen, wie z. B. das Versorgen von Rohpixeln mit Flash oder Silverlight, verhindert nichts, dass der Benutzer Screenshots Ihrer Präsentation macht und ein OCR-Programm auf den resultierenden Bildern ausführt. –

+0

wollte nur folgen, um zu sehen, ob das unten Ihre Frage beantwortet. –

Antwort

1

Können Sie die ppt als pps veröffentlichen und stattdessen diese Datei verwenden?

+0

nichts stoppt den Benutzer von Powerpoint zuerst starten, dann Datei-> öffnen wählen Sie Ihre .pps und bearbeiten sie nach Herzenslust. Speichern einer Präsentation als PowerPoint-Show bedeutet nicht unbedingt, dass Benutzer nicht schneiden, kopieren, einfügen, speichern, speichern, drucken, Rechtsklick Kontextmenüs usw. –

+0

@Peter, wahr, aber ich dachte, OP öffnet die PPT/pps mit seinem Programm und daher den Speicherort der Datei verbergen. Andernfalls, wenn der Benutzer physisch auf die Datei zugreifen kann, wird diese Frage bedeutungslos sein. – Bolu

0

Sie sollten die Powerpoint-COM-Komponente, verwenden Sie eine Art, wie, was ist hier beschrieben ... Using C# to display powerpoint Ich habe nur Word und Excel diejenigen verwendet, und ich muss sagen, dass sie extrem einfach zu bedienen sind.

Oder Sie müssen es vollständig schreibgeschützt machen, id schlagen Sie Ihren eigenen ODF-Parser, oder die Untersuchung in der ODF-COM-Komponente schreiben, das könnte vielleicht auch funktionieren :)

0

Eine Lösung könnte so etwas wie Aspose.Slides verwenden, um die Folien in TIFF oder PDF zu rendern und diese dann in Ihrer Anwendung anzuzeigen.

+0

Neueste Versionen von PowerPoint können direkt in PDF speichern –

0

Angenommen, Sie verwenden Powerpoint Automation. Rufen Sie das PowerPoint.Application-Objekt auf, und durchlaufen Sie anschließend die CommandBars-Eigenschaft, und legen Sie für jede Befehlsleiste Visible auf false fest.

Dies sollte mindestens die Befehlsleisten entfernen. Und vielleicht gibt es andere Eigenschaften im Application-Objekt, mit denen Sie Kontextmenüs deaktivieren können, aber ich habe Powerpoint nie wirklich benutzt, also bin ich mir nicht sicher, welche.

Ich glaube nicht, dass es eine gute Möglichkeit gibt, den Druck etc. insgesamt zu deaktivieren. In diesem MS KB-Artikel wird jedoch ein hacky Weg diskutiert, alle Dialoge automatisch zu schließen. Wenn man also davon ausgeht, dass das Drucken/Speichern usw. immer einen Dialog hervorbringt (worüber ich nicht sicher bin), könnte man etwas von dort verwenden: How To Dismiss a Dialog Box Displayed by an Office Application with Visual Basic

Es ist alles VB-Code in diesem Artikel, aber die Ideen werden ähnlich sein.

2

Exportieren Sie einfach jede Folie als JPG oder PNG und zeigen Sie diese: Slide.Export. Dies wäre für statische Folienansichten. Wenn Sie Animationen, Übergänge, Video-/Audiofunktionen und Navigationsfunktionen für Ihr PPT/PPTX beibehalten möchten, ist dies mit einem PowerPoint-to-Flash-Konverter möglich. iSpring stellt eine kostenlose Version ihres Konverters her: www.ispringfree.com.

Verwandte Themen