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#
Antwort
Können Sie die ppt als pps veröffentlichen und stattdessen diese Datei verwenden?
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. –
@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
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 :)
Wenn Sie eine geringe Anzahl haben Powerpoint-Präsentationen, können Sie in Information Rights Management suchen oder verwenden Sie die Permissions Object. (Haftungsausschluss: Ich habe das nicht verwendet)
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.
Neueste Versionen von PowerPoint können direkt in PDF speichern –
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.
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.
- 1. C++ Redirect oder deaktivieren Sie stdio vorübergehend
- 2. So deaktivieren Sie Paketverlustverhinderung TCP C#
- 3. Deaktivieren Sie Microsoft Visual C++ - Laufzeitfehler
- 4. Deaktivieren Sie C# 6.0-Unterstützung in ReSharper
- 5. Deaktivieren Sie die Antwort oder weiterleiten in Outlook mit C#
- 6. C# - Deaktivieren Sie ein Optionsfeld mit einem Befehl
- 7. Deaktivieren Sie Zeilenumbrüche mit CSS
- 8. deaktivieren UIWebView Standardbildlaufverhalten mit Objective-C
- 9. Deaktivieren C++ Optimierung
- 10. Deaktivieren Sie eine Schaltfläche
- 11. Deaktivieren von Popups mit C# in Selen
- 12. Deaktivieren Sie UIButton programmgesteuert
- 13. C# Schlüsselwortfunktionalität deaktivieren
- 14. C# - Dynamisches Schlüsselwort deaktivieren
- 15. C# Controlbox deaktivieren
- 16. Permanent Outline für VS2010 (C/C++) deaktivieren
- 17. Wie Sie die Schließen-Schaltfläche in C deaktivieren?
- 18. Deaktivieren Sie den Netzwerkzugriff
- 19. Deaktivieren Sie die Textfelder
- 20. Deaktivieren Sie anonyme Benutzer-Cookie mit Django
- 21. Wie Sie eine Beschriftung mit jQuery deaktivieren?
- 22. Deaktivieren Sie ein Textfeld mit CSS
- 23. Aktivieren Sie deaktivieren Textfeld mit jQuery
- 24. Deaktivieren Sie ein Kontrollkästchen mit Bedingungen
- 25. Deaktivieren Sie einige PC-Tastaturtasten mit JNA
- 26. Deaktivieren Sie _Source-Feld mit Federdaten elasticsearch
- 27. Deaktivieren Sie das Optionsfeld mit KnockoutJS
- 28. Wie Sie Kontrollkästchen mit Javascript deaktivieren
- 29. C# WinForms deaktivieren DPI-Skalierung
- 30. So deaktivieren Sie alle Schaltflächen
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. –
wollte nur folgen, um zu sehen, ob das unten Ihre Frage beantwortet. –