Passwortschutz für Präsentationen auf Android

Übersicht

Ein Öffnungspasswort verschlüsselt eine Präsentation. Das korrekte Passwort ist erforderlich, um die Präsentationsinhalte zu laden und anzuzeigen, sodass dieser Schutz Vertraulichkeit gewährleistet.

Ein Öffnungspasswort unterscheidet sich von einem Schreibschutzpasswort. Der Schreibschutz schränkt Änderungen ein, verschlüsselt jedoch nicht den Inhalt und verhindert nicht das Laden der Präsentation. Zur Verwaltung von Passwörtern zum Ändern von Präsentationen siehe Write-Protect Presentations.

Die nachstehenden Workflows gelten für PPT- und PPTX‑Präsentationen. Die Beispiele verwenden beide Formate, wenn deren datei‑basiertes und strom‑basiertes Verhalten wichtig ist.

Verschlüsseln einer Präsentation mit einem Öffnungspasswort

Verwenden Sie IProtectionManager.encrypt, um ein Öffnungspasswort zuzuweisen. Anschließend verwenden Sie IPresentation.save, um die verschlüsselte Präsentation zu speichern.

Das folgende Beispiel verschlüsselt eine PPTX‑Präsentation:

import com.aspose.slides.Presentation;
import com.aspose.slides.SaveFormat;

Presentation presentation = new Presentation("pres.pptx");
try {
    presentation.getProtectionManager().encrypt("open_password");
    presentation.save("encrypted-pres.pptx", SaveFormat.Pptx);
} finally {
    presentation.dispose();
}

Dokumenteigenschaften öffentlich halten

Standardmäßig schließt Aspose.Slides Dokumenteigenschaften in die Präsentationsverschlüsselung ein. Die Methode IProtectionManager.setEncryptDocumentProperties steuert dieses Verhalten unabhängig von der Folien‑Inhaltsverschlüsselung. Übergeben Sie false bevor Sie IProtectionManager.encrypt aufrufen, wenn ein Indexierungs-, Klassifizierungs-, Such- oder Dokument‑Management‑System Metadaten ohne das Öffnungspasswort lesen muss.

Das folgende Beispiel erstellt eine verschlüsselte PPTX‑Präsentation, wobei die integrierten Dokumenteigenschaften öffentlich bleiben:

import com.aspose.slides.IDocumentProperties;
import com.aspose.slides.Presentation;
import com.aspose.slides.SaveFormat;

Presentation presentation = new Presentation();
try {
    IDocumentProperties properties = presentation.getDocumentProperties();
    properties.setAuthor("Contoso Knowledge Management");
    properties.setTitle("Quarterly Product Roadmap");
    properties.setKeywords("roadmap, planning, internal");

    presentation.getSlides().get_Item(0).setName("Encrypted presentation content");
    presentation.getProtectionManager().setEncryptDocumentProperties(false);
    presentation.getProtectionManager().encrypt("open_password");
    presentation.save("public-properties-encrypted.pptx", SaveFormat.Pptx);
} finally {
    presentation.dispose();
}

Das Übergeben von false an IProtectionManager.setEncryptDocumentProperties macht nicht Folien, Master, Layouts, Formen, Medien oder andere Präsentationsinhalte öffentlich. Es betrifft nur die Dokumenteigenschaften. Um diese Eigenschaften zu lesen, ohne den verschlüsselten Inhalt zu laden, siehe Manage Presentation Properties.

Verschlüsselte Präsentation laden

Setzen Sie ILoadOptions.setPassword auf das Öffnungspasswort und übergeben Sie die Optionen an Presentation, wenn die Datei geladen wird. Der Ladevorgang schlägt fehl, wenn ein Öffnungspasswort erforderlich ist, das bereitgestellte Passwort jedoch fehlt oder falsch ist.

import com.aspose.slides.LoadOptions;
import com.aspose.slides.Presentation;

LoadOptions loadOptions = new LoadOptions();
loadOptions.setPassword("open_password");

Presentation presentation = new Presentation("encrypted-pres.pptx", loadOptions);
try {
    // Arbeiten mit der entschlüsselten Präsentation.
} finally {
    presentation.dispose();
}

Verschlüsselung aus einer Präsentation entfernen

Laden Sie die Präsentation mit ihrem Öffnungspasswort, rufen Sie IProtectionManager.removeEncryption auf und speichern Sie das Ergebnis. Die gespeicherte Präsentation kann anschließend ohne Passwort geladen werden.

import com.aspose.slides.LoadOptions;
import com.aspose.slides.Presentation;
import com.aspose.slides.SaveFormat;

LoadOptions loadOptions = new LoadOptions();
loadOptions.setPassword("open_password");

Presentation presentation = new Presentation("encrypted-pres.pptx", loadOptions);
try {
    presentation.getProtectionManager().removeEncryption();
    presentation.save("encryption-removed.pptx", SaveFormat.Pptx);
} finally {
    presentation.dispose();
}

Öffnungspasswort vor dem Laden validieren

Verwenden Sie IPresentationFactory.getPresentationInfo, um IPresentationInfo zu erhalten, ohne eine vollständige Präsentationsinstanz zu erstellen. Prüfen Sie IPresentationInfo.isPasswordProtected, bevor Sie ein Passwort anfordern oder validieren. Ist ein Schutz vorhanden, validieren Sie den bereitgestellten Wert mit IPresentationInfo.checkPassword.

Dateipfad-Workflow

Das folgende Beispiel validiert ein Öffnungspasswort für eine PPTX‑Datei, übergibt den validierten Wert an ILoadOptions.setPassword, und lädt anschließend die vollständige Präsentation:

import com.aspose.slides.IPresentationInfo;
import com.aspose.slides.LoadOptions;
import com.aspose.slides.Presentation;
import com.aspose.slides.PresentationFactory;

String filePath = "protected-presentation.pptx";
String password = "open_password";
IPresentationInfo presentationInfo = PresentationFactory.getInstance().getPresentationInfo(filePath);

if (!presentationInfo.isPasswordProtected()) {
    System.out.println("The presentation does not have an opening password.");
} else if (!presentationInfo.checkPassword(password)) {
    System.out.println("The opening password is incorrect.");
} else {
    LoadOptions loadOptions = new LoadOptions();
    loadOptions.setPassword(password);

    Presentation presentation = new Presentation(filePath, loadOptions);
    try {
        System.out.println("The presentation was validated and loaded successfully.");
    } finally {
        presentation.dispose();
    }
}

Strom‑Workflow

Die Stream‑Überladung von IPresentationFactory.getPresentationInfo bietet den gleichen Workflow. Setzen Sie die Position eines durchsuchbaren Streams zurück, bevor Sie die vollständige Präsentation aus diesem Stream laden.

Das folgende Beispiel verwendet eine PPT‑Datei:

import com.aspose.slides.IPresentationInfo;
import com.aspose.slides.LoadOptions;
import com.aspose.slides.Presentation;
import com.aspose.slides.PresentationFactory;
import java.io.FileInputStream;

String password = "open_password";

FileInputStream presentationStream = new FileInputStream("protected-presentation.ppt");
try {
    IPresentationInfo presentationInfo = PresentationFactory.getInstance().getPresentationInfo(presentationStream);

    if (!presentationInfo.isPasswordProtected()) {
        System.out.println("The presentation does not have an opening password.");
    } else if (!presentationInfo.checkPassword(password)) {
        System.out.println("The opening password is incorrect.");
    } else {
        presentationStream.getChannel().position(0);

        LoadOptions loadOptions = new LoadOptions();
        loadOptions.setPassword(password);

        Presentation presentation = new Presentation(presentationStream, loadOptions);
        try {
            System.out.println("The presentation was validated and loaded successfully.");
        } finally {
            presentation.dispose();
        }
    }
} finally {
    presentationStream.close();
}

Rückgabewerte von checkPassword

IPresentationInfo.checkPassword gibt true nur zurück, wenn die Präsentation ein Öffnungspasswort hat und das bereitgestellte Passwort korrekt ist. Es gibt false in jedem der folgenden Fälle zurück:

  • Das Passwort ist falsch.
  • Die Präsentation hat kein Öffnungspasswort.
  • Das bereitgestellte Passwort ist null oder leer.

Das Verhalten ist für PPT‑ und PPTX‑Präsentationen identisch.

Prüfen, ob eine geladene Präsentation verschlüsselt ist

Nachdem Sie eine Präsentation mit dem korrekten Passwort geladen haben, prüfen Sie IProtectionManager.isEncrypted, um zu bestätigen, dass die Quellpräsentation verschlüsselt war. Um den Öffnungspasswort‑Schutz vor dem Laden zu erkennen, verwenden Sie IPresentationInfo.isPasswordProtected wie oben gezeigt.

import com.aspose.slides.LoadOptions;
import com.aspose.slides.Presentation;

LoadOptions loadOptions = new LoadOptions();
loadOptions.setPassword("open_password");

Presentation presentation = new Presentation("encrypted-pres.pptx", loadOptions);
try {
    boolean isEncrypted = presentation.getProtectionManager().isEncrypted();
    System.out.println("The presentation is encrypted: " + isEncrypted);
} finally {
    presentation.dispose();
}

Sicherheits‑Empfehlungen

Präsentation online passwortschützen

  1. Öffnen Sie die Anwendung Aspose.Slides Lock.
  2. Wählen Sie die Präsentation aus oder laden Sie sie hoch.
  3. Geben Sie ein Passwort für den Ansichtsschutz ein.
  4. Geben Sie optional ein separates Passwort für den Bearbeitungsschutz ein.
  5. Wenden Sie den Schutz an und laden Sie die resultierende Datei herunter.

FAQ

Was ist der Unterschied zwischen einem Öffnungspasswort und einem Schreibschutzpasswort?

Ein Öffnungspasswort verschlüsselt die Präsentation und ist erforderlich, um ihren Inhalt zu laden. Ein Schreibschutzpasswort schränkt Änderungen ein, ohne den Inhalt zu verschlüsseln.

Kann ich ein Öffnungspasswort validieren, ohne alle Folien zu laden?

Ja. Erhalten Sie Präsentationsinformationen, prüfen Sie, ob ein Öffnungspasswortschutz vorhanden ist, und validieren Sie das Passwort, bevor Sie eine vollständige Präsentationsinstanz erstellen.

Kann eine Anwendung Metadaten ohne das Öffnungspasswort lesen?

Ja, aber nur, wenn die Präsentation mit deaktivierter Dokument‑Eigenschafts‑Verschlüsselung verschlüsselt wurde. Die Anwendung muss dann den ausschließlich Dokument‑Eigenschaften‑Lademodus verwenden, der in Manage Presentation Properties beschrieben ist.

Unterstützen die Passwort‑Prüf‑Workflows sowohl PPT als auch PPTX?

Ja. Datei‑Pfad‑ und strom‑basierte Passwort‑Erkennung und -Validierung verhalten sich für PPT‑ und PPTX‑Präsentationen gleich.