Jelszóval védett prezentációk Pythonban
Áttekintés
A nyitó jelszó titkosítja a bemutatót. A helyes jelszó szükséges a bemutató tartalmának betöltéséhez és megtekintéséhez, így ez a védelem bizalmasságot biztosít.
A nyitó jelszó különbözik az írásvédelmi jelszótól. Az írásvédelem korlátozza a módosítást, de nem titkosítja a tartalmat, illetve nem akadályozza a bemutató betöltését. A bemutatók módosításához használt jelszavak kezeléséről lásd a Write-Protect Presentations oldalt.
Az alábbi munkafolyamatok mind a PPT, mind a PPTX bemutatókra vonatkoznak. A példák mindkét formátumot használják, ahol a fájl- és adatfolyam-alapú viselkedés lényeges.
Nyitó jelszóval titkosított bemutató
Használja a ProtectionManager.encrypt metódust a nyitó jelszó hozzárendeléséhez. Ezután használja a Presentation.save metódust a titkosított bemutató mentéséhez.
A következő példa egy PPTX bemutatót titkosít:
import aspose.slides as slides
with slides.Presentation("pres.pptx") as presentation:
presentation.protection_manager.encrypt("open_password")
presentation.save("encrypted-pres.pptx", slides.export.SaveFormat.PPTX)
A dokumentumtulajdonságok nyilvánosak maradnak
Alapértelmezés szerint az Aspose.Slides belefoglalja a dokumentumtulajdonságokat a bemutató titkosításába. A ProtectionManager.encrypt_document_properties tulajdonság ezt a viselkedést a dia-tartalom titkosításától függetlenül szabályozza. Állítsa False-ra a ProtectionManager.encrypt meghívása előtt, ha egy indexelő, osztályozó, kereső vagy dokumentumkezelő rendszernek a nyitó jelszó nélkül kell olvasnia a metaadatokat.
A következő példa egy titkosított PPTX bemutatót hoz létre, miközben a beépített dokumentumtulajdonságait nyilvánosnak hagyja:
import aspose.slides as slides
with slides.Presentation() as presentation:
properties = presentation.document_properties
properties.author = "Contoso Knowledge Management"
properties.title = "Quarterly Product Roadmap"
properties.keywords = "roadmap, planning, internal"
presentation.slides[0].name = "Encrypted presentation content"
presentation.protection_manager.encrypt_document_properties = False
presentation.protection_manager.encrypt("open_password")
presentation.save("public-properties-encrypted.pptx", slides.export.SaveFormat.PPTX)
Az encrypt_document_properties False-ra állítása nem teszi a diákat, mesterlapokat, elrendezéseket, alakzatokat, médiát vagy egyéb bemutatótartalmakat nyilvánossá. Csak a dokumentumtulajdonságokra van hatással. A titkosított tartalom betöltése nélkül ezeknek a tulajdonságoknak az olvasásáról lásd a Manage Presentation Properties oldalt.
Titkosított bemutató betöltése
Állítsa a LoadOptions.password értékét a nyitó jelszóra, és adja át az opciókat a Presentation konstruktorának a fájl betöltésekor. A betöltés sikertelen, ha nyitó jelszó szükséges, de a megadott jelszó hiányzik vagy helytelen.
import aspose.slides as slides
load_options = slides.LoadOptions()
load_options.password = "open_password"
with slides.Presentation("encrypted-pres.pptx", load_options) as presentation:
# Dolgozz a visszafejtett prezentációval.
pass
Titkosítás eltávolítása a bemutatóból
Töltse be a bemutatót a nyitó jelszavával, hívja meg a ProtectionManager.remove_encryption metódust, majd mentse el az eredményt. A mentett bemutató ezután jelszó nélkül betölthető.
import aspose.slides as slides
load_options = slides.LoadOptions()
load_options.password = "open_password"
with slides.Presentation("encrypted-pres.pptx", load_options) as presentation:
presentation.protection_manager.remove_encryption()
presentation.save("encryption-removed.pptx", slides.export.SaveFormat.PPTX)
Nyitó jelszó ellenőrzése betöltés előtt
Használja a PresentationFactory.get_presentation_info metódust a PresentationInfo lekérdezéséhez teljes bemutatóobjektum létrehozása nélkül. Ellenőrizze a PresentationInfo.is_password_protected értékét, mielőtt jelszót kérne vagy validálná. Ha védelem van jelen, a megadott értéket a PresentationInfo.check_password metódussal ellenőrizze.
Fájl-útvonal munkafolyamat
A következő példa egy PPTX fájl nyitó jelszavát ellenőrzi, átadja a validált értéket a LoadOptions.password paraméternek, majd betölti a teljes bemutatót:
import aspose.slides as slides
file_path = "protected-presentation.pptx"
password = "open_password"
presentation_info = slides.PresentationFactory.instance.get_presentation_info(file_path)
if not presentation_info.is_password_protected:
print("The presentation does not have an opening password.")
elif not presentation_info.check_password(password):
print("The opening password is incorrect.")
else:
load_options = slides.LoadOptions()
load_options.password = password
with slides.Presentation(file_path, load_options) as presentation:
print("The presentation was validated and loaded successfully.")
Adatfolyam munkafolyamat
A PresentationFactory.get_presentation_info adatfolyam túlterhelése ugyanazt a munkafolyamatot biztosítja. Állítsa vissza egy kereshető adatfolyam pozícióját, mielőtt az egész bemutatót betöltené az adatfolyamból.
A következő példa egy PPT fájlt használ:
import aspose.slides as slides
password = "open_password"
with open("protected-presentation.ppt", "rb") as presentation_stream:
presentation_info = slides.PresentationFactory.instance.get_presentation_info(presentation_stream)
if not presentation_info.is_password_protected:
print("The presentation does not have an opening password.")
elif not presentation_info.check_password(password):
print("The opening password is incorrect.")
else:
presentation_stream.seek(0)
load_options = slides.LoadOptions()
load_options.password = password
with slides.Presentation(presentation_stream, load_options) as presentation:
print("The presentation was validated and loaded successfully.")
CheckPassword visszatérési értékek
Az PresentationInfo.check_password csak akkor ad True értéket, ha a bemutató nyitó jelszóval védett, és a megadott jelszó helyes. False-t ad minden alábbi esetben:
- A jelszó helytelen.
- A bemutatónak nincs nyitó jelszava.
- A megadott jelszó
Nonevagy üres.
A viselkedés PPT és PPTX bemutatók esetén egyforma.
Ellenőrizze, hogy a betöltött bemutató titkosított-e
A bemutató helyes jelszóval történő betöltése után ellenőrizze a ProtectionManager.is_encrypted metódust, hogy megerősítse, a forrásbemutató titkosított volt. A nyitó jelszavas védelem betöltés előtti felismeréséhez használja a PresentationInfo.is_password_protected értéket, ahogyan fent látható.
import aspose.slides as slides
load_options = slides.LoadOptions()
load_options.password = "open_password"
with slides.Presentation("encrypted-pres.pptx", load_options) as presentation:
is_encrypted = presentation.protection_manager.is_encrypted
print("The presentation is encrypted: " + str(is_encrypted))
Biztonsági ajánlások
Security
Ne naplózza a nyitó jelszavakat, és ne szerepeltesse őket diagnosztikai üzenetekben. Kerülje a szükségtelen ismételt ellenőrzési kísérleteket, tartsa a jelszavakat a memóriában csak annyi ideig, amennyi szükséges, és használja újra a sikeres ellenőrzés eredményét, ha azonnal betölti a bemutatót.
A nyilvános dokumentumtulajdonságok felfedhetik a szerző nevét, a címeket, a tárgyakat, a kulcsszavakat, a céginformációkat, a megjegyzéseket és egyedi értékeket is akkor is, ha a bemutató tartalma titkosított. Titkosítsa az érzékeny metaadatokat együtt a bemutatóval. A tulajdonságok nyilvánosan hagyása csak akkor legyen kifejezett döntés, ha a rendszereknek indexelni, osztályozni, keresni vagy kezelni kell a fájlt nyitó jelszó nélkül.
Bemutató jelszóval való védelme online
- Nyissa meg az Aspose.Slides Lock alkalmazást.
- Válassza ki vagy töltse fel a bemutatót.
- Adjon meg egy jelszót a megtekintés védelemhez.
- Opcionálisan adjon meg egy külön jelszót a szerkesztés védelemhez.
- Alkalmazza a védelmet, és töltse le a kapott fájlt.
GYIK
Mi a különbség a nyitó jelszó és az írásvédelmi jelszó között?
A nyitó jelszó titkosítja a bemutatót, és szükséges a tartalom betöltéséhez. Az írásvédelmi jelszó a módosítást korlátozza anélkül, hogy titkosítaná a tartalmat.
Ellenőrizhetem a nyitó jelszót anélkül, hogy az összes diát betölteném?
Igen. Szerezzen be prezentációs információkat, ellenőrizze, hogy nyitó jelszavas védelem van-e, és validálja a jelszót a teljes bemutatópéldány létrehozása előtt.
Olvashat egy alkalmazás metaadatokat nyitó jelszó nélkül?
Igen, de csak akkor, ha a bemutató titkosítása során az encrypt_document_properties False értékre van állítva. Ebben az esetben az alkalmazásnak a Manage Presentation Properties leírásában szereplő csak dokumentumtulajdonságok betöltése módot kell használnia.
Támogatják a jelszó-ellenőrző munkafolyamatok a PPT és PPTX formátumokat is?
Igen. A fájlútvonal- és adatfolyam-alapú jelszófelismerés és validáció egyformán működik PPT és PPTX bemutatók esetén.