Írásvédett prezentációk Java-ban
Bevezetés
Egy írásvédelem jelszó korlátozza a prezentáció módosítását, de nem titkosítja annak tartalmát. A felhasználók jelszó nélkül betölthetik és megtekinthetik az írásvédett prezentációt. Az alkalmazástól függően szerkeszthetik a tartalmat, és más néven menthetik, ezért az írásvédelmet nem szabad titoktartási mechanizmusnak tekinteni.
A megnyitási jelszó más célra szolgál: titkosítja a prezentációt, és a tartalom betöltéséhez szükséges. A prezentáció titkosításához vagy a megnyitási jelszó ellenőrzéséhez lásd a Jelszóval védett prezentációk oldalát.
A cikkben található munkafolyamatok mind a PPT, mind a PPTX prezentációkra vonatkoznak. A példák PPTX fájlokat használnak; PPT mentéskor a .ppt kiterjesztést és a megfelelő PPT mentési formátumot kell használni.
Írásvédelem beállítása egy prezentációhoz
Használd a IProtectionManager.setWriteProtection metódust, hogy jelszót rendelj a prezentáció módosításához. A prezentáció mentése elmenti a védelmi beállítást.
Az alábbi példa írá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();
}
Írásvédett prezentáció betöltése
Mivel az írásvédelem nem titkosítja a prezentáció tartalmát, a betöltéshez nincs szükség jelszóra. A jelszó csak akkor releváns, amikor a védett prezentáció módosítási engedélyét ellenőrizni kell.
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 add át az írásvédelmi jelszót a ILoadOptions.setPassword metódusnak. Ez a metódus a titkosított tartalom megnyitási jelszavát fogadja. Ha egy prezentáció mindkét típusú védelmet tartalmazza, add meg a megnyitási jelszót a betöltéshez, és kezeld külön az írásvédelmi jelszót.
Írásvédelem eltávolítása egy prezentációról
Használd a IProtectionManager.removeWriteProtection metódust az írási korlátozás eltávolításához, majd mentsd 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();
}
Az írásvédelem ellenőrzése egy prezentációban
Egy fájl vizsgálatához anélkül, hogy teljes Presentation példányt hoznál létre, hívd a IPresentationFactory.getPresentationInfo metódust, és ellenőrizd az IPresentationInfo.isWriteProtected tulajdonságot. A metódus NullableBool értékkel tér vissza, és NullableBool.True értéket ad, ha írá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.");
}
Az IPresentationFactory.getPresentationInfo beolvasó (stream) túlterhelése ugyanazt az információt adja egy áramlásként (stream) átadott prezentációra.
Írásvédelmi jelszó ellenőrzése
Használd az IPresentationInfo.checkWriteProtection metódust, hogy a módosítási jelszót ellenőrizd a teljes prezentáció betöltése nélkül. Először ellenőrizd az IPresentationInfo.isWriteProtected állapotot, hogy az alkalmazás csak akkor kérjen vagy ellenőrizzen jelszót, ha írásvédelem van jelen.
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 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 az írásvédelmi jelszót ellenőrzi. Nem ellenőriz egy megnyitási jelszót, és nem állapítja meg, hogy titkosított tartalom betölthető-e. Ezzel szemben az IPresentationInfo.checkPassword csak egy megnyitási jelszót ellenőriz. Ha egy teljes prezentáció már be van töltve, akkor az IProtectionManager.checkWriteProtection biztosítja az írásvédelmi ellenőrzés ekvivalensét a védelmi manageren keresztül.
Éles alkalmazásokban ne naplózd a jelszavakat, és ne tüntesd fel őket diagnosztikai üzenetekben. Kerüld a felesleges, ismételt ellenőrzési kísérleteket, és csak annyi ideig tartsd a jelszavakat a memóriában, ameddig szükséges.
GYIK
Titkosítja az írásvédelem a prezentációt?
Nem. A módosítást korlátozza, de a prezentáció tartalma továbbra is betölthető és megtekinthető.
Szükséges az írá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 írásvédelmi jelszava is?
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ésekor külön ellenőrizd az írásvédelmi jelszót.