Írásvédett prezentációk Androidon
Bevezetés
A módosításvédelmi jelszó korlátozza a prezentáció módosítását, de nem titkosítja annak tartalmát. A felhasználók a módosításvédett prezentációt jelszó nélkül betölthetik és megtekinthetik. Az alkalmazástól függően szerkeszthetik a tartalmat és más néven is menthetik, ezért a módosításvédelmet nem szabad titoktartási mechanizmusnak tekinteni.
Egy megnyitási jelszó más célt szolgál: titkosítja a prezentációt, és szükséges a tartalom betöltéséhez. A prezentáció titkosításához vagy a megnyitási jelszó ellenőrzéséhez lásd Jelszóval védett prezentációk.
A cikkben leírt munkafolyamatok a PPT és PPTX prezentációkra egyaránt vonatkoznak. A példák PPTX fájlokat használnak; PPT mentésekor a .ppt kiterjesztést és a megfelelő PPT mentési formátumot kell használni.
Módosításvédelem beállítása a prezentáción
Használd az IProtectionManager.setWriteProtection metódust egy jelszó hozzárendeléséhez a prezentáció módosításához. A prezentáció mentése megőrzi a védelmi beállítást.
A következő példa módosításvédelmet állít be egy PPTX prezentáción:
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();
}
Módosításvédett prezentáció betöltése
Mivel a módosításvédelem nem titkosítja a prezentáció tartalmát, a prezentáció betöltéséhez nincs szükség jelszóra. A jelszó csak akkor releváns, amikor a védett prezentáció módosítási jogosultságának ellenőrzéséről van szó.
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();
}
Ne adj meg módosításvédelmi jelszót a ILoadOptions.setPassword metódusnak. Ez a metódus a titkosított tartalom megnyitási jelszavát várja. Ha egy prezentációnak mindkét típusú védelem van, add meg a megnyitási jelszót a betöltéshez, a módosításvédelmi jelszót külön kezeld.
Módosításvédelem eltávolítása a prezentációból
Használd az IProtectionManager.removeWriteProtection metódust a módosítási korlátozás eltávolításához, majd mentse a prezentációt.
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();
}
Ellenőrzés, hogy a prezentáció módosításvédett-e
Egy fájl vizsgálatához anélkül, hogy teljes Presentation példányt hoznál létre, hívd meg az IPresentationFactory.getPresentationInfo metódust, és ellenőrizd az IPresentationInfo.isWriteProtected tulajdonságot. A metódus a NullableBool típust használja, és NullableBool.True értékkel tér vissza, ha módosításvédelem észlelhető.
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.");
}
A IPresentationFactory.getPresentationInfo stream‑túlterhelése ugyanezen információt szolgáltat egy áramlásként megadott prezentáció esetén.
Módosításvédelmi jelszó ellenőrzése
Használd az IPresentationInfo.checkWriteProtection metódust a módosítási jelszó ellenőrzéséhez anélkül, hogy a teljes prezentációt betöltenéd. Előbb ellenőrizd az IPresentationInfo.isWriteProtected állapotot, hogy az alkalmazás csak akkor kérjen vagy ellenőrizzen jelszót, ha módosításvédelem van jelen.
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.");
}
Az IPresentationInfo.checkWriteProtection csak a módosításvédelmi jelszót validálja. Nem ellenőrzi a megnyitási jelszót, és nem állapítja meg, hogy titkosított tartalom betölthető‑e. Ezzel szemben az IPresentationInfo.checkPassword csak a megnyitási jelszót ellenőrzi. Ha egy komplett prezentáció már be van töltve, az IProtectionManager.checkWriteProtection a védelmi menedzserén keresztül biztosítja a megfelelő módosításvédelmi ellenőrzést.
Éles környezetben ne naplózd a jelszavakat, és ne helyezd őket diagnosztikai üzenetekbe. Kerüld a felesleges, ismételt ellenőrzési kísérleteket, és tartsd a jelszavakat a memóriában csak annyira, amennyi szükséges.
Lásd még
GYIK
Titkosítja‑e a módosításvédelem a prezentációt?
Nem. A módosításvédelmi jelszó korlátozza a módosítást, de a prezentáció tartalma továbbra is betölthető és megtekinthető.
Szükséges‑e a módosításvédelmi jelszó a prezentáció megnyitásához?
Nem. Csak a megnyitási jelszó szükséges a titkosított prezentáció tartalmának betöltéséhez.
Lehet egy prezentációnak egyszerre megnyitási és módosításvédelmi jelszója?
Igen. Add meg a megnyitási jelszót a betöltési beállításokban a titkosított prezentáció megnyitásához, és a módosítási jogosultság kérésénél külön ellenőrizd a módosításvédelmi jelszót.