Schreibschutz für Präsentationen unter Android
Einleitung
Ein Schreibschutz‑Passwort beschränkt die Änderung einer Präsentation, verschlüsselt jedoch nicht deren Inhalt. Benutzer können eine schreibgeschützte Präsentation ohne das Passwort laden und anzeigen. Je nach Anwendung können sie den Inhalt außerdem bearbeiten und unter einem anderen Namen speichern, sodass Schreibschutz nicht als Vertraulichkeitsmechanismus angesehen werden sollte.
Ein Öffnungs‑Passwort hat einen anderen Zweck: Es verschlüsselt die Präsentation und ist zum Laden ihres Inhalts erforderlich. Um eine Präsentation zu verschlüsseln oder ein Öffnungs‑Passwort zu prüfen, siehe Passwortgeschützte Präsentationen.
Die Workflows in diesem Artikel gelten sowohl für PPT- als auch für PPTX‑Präsentationen. Die Beispiele verwenden PPTX‑Dateien; beim Speichern als PPT verwenden Sie die Erweiterung .ppt und das entsprechende PPT‑Speicherformat.
Schreibschutz für eine Präsentation festlegen
Verwenden Sie IProtectionManager.setWriteProtection, um ein Passwort für die Veränderung einer Präsentation festzulegen. Das Speichern der Präsentation bewahrt die Schutzeinstellung.
Das folgende Beispiel legt Schreibschutz für eine PPTX‑Präsentation fest:
import com.aspose.slides.Presentation;
import com.aspose.slides.SaveFormat;
Presentation presentation = new Presentation("pres.pptx");
try {
presentation.getProtectionManager().setWriteProtection("modify_password");
presentation.save("write-protected-pres.pptx", SaveFormat.Pptx);
} finally {
presentation.dispose();
}
Schreibgeschützte Präsentation laden
Da Schreibschutz den Präsentationsinhalt nicht verschlüsselt, ist zum Laden der Präsentation kein Passwort erforderlich. Das Passwort ist nur relevant, wenn die Berechtigung zum Ändern der geschützten Präsentation geprüft wird.
import com.aspose.slides.Presentation;
Presentation presentation = new Presentation("write-protected-pres.pptx");
try {
System.out.println("Slide count: " + presentation.getSlides().size());
} finally {
presentation.dispose();
}
Übergeben Sie kein Schreibschutz‑Passwort an ILoadOptions.setPassword. Diese Methode akzeptiert ein Öffnungs‑Passwort für verschlüsselten Inhalt. Hat eine Präsentation beide Schutzarten, geben Sie das Öffnungs‑Passwort zum Laden an und behandeln das Schreibschutz‑Passwort separat.
Schreibschutz von einer Präsentation entfernen
Verwenden Sie IProtectionManager.removeWriteProtection , um die Änderungsbeschränkung zu entfernen, und speichern Sie anschließend die Präsentation.
import com.aspose.slides.Presentation;
import com.aspose.slides.SaveFormat;
Presentation presentation = new Presentation("write-protected-pres.pptx");
try {
presentation.getProtectionManager().removeWriteProtection();
presentation.save("write-protection-removed.pptx", SaveFormat.Pptx);
} finally {
presentation.dispose();
}
Prüfen, ob eine Präsentation schreibgeschützt ist
Um eine Datei zu prüfen, ohne eine vollständige Presentation‑Instanz zu erstellen, rufen Sie IPresentationFactory.getPresentationInfo auf und prüfen Sie IPresentationInfo.isWriteProtected. Die Methode verwendet NullableBool und gibt NullableBool.True zurück, wenn Schreibschutz festgestellt wird.
import com.aspose.slides.IPresentationInfo;
import com.aspose.slides.NullableBool;
import com.aspose.slides.PresentationFactory;
IPresentationInfo presentationInfo = PresentationFactory.getInstance().getPresentationInfo("write-protected-pres.pptx");
if (presentationInfo.isWriteProtected() == NullableBool.True) {
System.out.println("The presentation is write protected.");
} else {
System.out.println("Write protection was not detected.");
}
Die Stream‑Überladung von IPresentationFactory.getPresentationInfo liefert dieselben Informationen für eine als Stream bereitgestellte Präsentation.
Schreibschutz‑Passwort validieren
Verwenden Sie IPresentationInfo.checkWriteProtection, um ein Änderungs‑Passwort zu validieren, ohne die komplette Präsentation zu laden. Prüfen Sie zuerst IPresentationInfo.isWriteProtected, damit die Anwendung ein Passwort nur anfordert oder prüft, wenn Schreibschutz vorhanden ist.
import com.aspose.slides.IPresentationInfo;
import com.aspose.slides.NullableBool;
import com.aspose.slides.PresentationFactory;
IPPresentationInfo presentationInfo = PresentationFactory.getInstance().getPresentationInfo("write-protected-pres.pptx");
if (presentationInfo.isWriteProtected() != NullableBool.True) {
System.out.println("The presentation is not write protected.");
} else if (presentationInfo.checkWriteProtection("modify_password")) {
System.out.println("The write-protection password is correct.");
} else {
System.out.println("The write-protection password is incorrect.");
}
IPresentationInfo.checkWriteProtection validiert nur das Schreibschutz‑Passwort. Es prüft kein Öffnungs‑Passwort und bestimmt nicht, ob verschlüsselter Inhalt geladen werden kann. Im Gegenzug validiert IPresentationInfo.checkPassword ausschließlich ein Öffnungs‑Passwort. Wenn bereits eine vollständige Präsentation geladen wurde, bietet IProtectionManager.checkWriteProtection die gleichwertige Schreibschutz‑Prüfung über den Schutz‑Manager.
In Produktionsanwendungen sollten Passwörter nicht geloggt oder in Diagnose‑Nachrichten eingebettet werden. Vermeiden Sie unnötige wiederholte Validierungsversuche und halten Sie Passwörter im Speicher nur so lange wie nötig.
Siehe auch
FAQ
Verschlüsselt Schreibschutz eine Präsentation?
Nein. Er beschränkt die Änderungen, lässt jedoch den Präsentationsinhalt zum Laden und Anzeigen verfügbar.
Ist das Schreibschutz‑Passwort zum Öffnen einer Präsentation erforderlich?
Nein. Nur ein Öffnungs‑Passwort ist zum Laden verschlüsselter Präsentationsinhalte erforderlich.
Kann eine Präsentation sowohl ein Öffnungs‑Passwort als auch ein Schreibschutz‑Passwort haben?
Ja. Das Öffnungs‑Passwort wird über die Ladeoptionen übergeben, um die verschlüsselte Präsentation zu öffnen, und das Schreibschutz‑Passwort wird separat validiert, wenn eine Änderungs‑Autorisation benötigt wird.