Írásvédett bemutatók JavaScriptben

Bevezetés

A írásvédelmi jelszó korlátozza a bemutató módosítását, de nem titkosítja a tartalmát. A felhasználók írásvédett bemutatót betölthetik és megtekinthetik jelszó nélkül. Az alkalmazástól függően szerkeszthetik is a tartalmat, és más néven menthetik, ezért az írásvédelmet nem szabad titoktartási mechanizmusnak tekinteni.

A nyitó jelszó más célra szolgál: titkosítja a bemutatót, és a tartalom betöltéséhez szükséges. A bemutató titkosításához vagy a nyitó jelszó ellenőrzéséhez lásd Jelszóval Védett Bemutatók.

A cikkben leírt munkafolyamatok PPT és PPTX bemutatókra egyaránt vonatkoznak. A példák PPTX fájlokat használnak; PPT formátumba 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 bemutatón

Az ProtectionManager.setWriteProtection metódust használja jelszó hozzárendeléséhez a bemutató módosításához. A bemutató mentése megőrzi a védelmi beállítást.

Az alábbi példa írásvédelmet állít be egy PPTX bemutatón:

const slides = require("aspose.slides.via.java");

const presentation = new slides.Presentation("pres.pptx");
try {
    presentation.getProtectionManager().setWriteProtection("modify_password");
    presentation.save("write-protected-pres.pptx", slides.SaveFormat.Pptx);
} finally {
    presentation.dispose();
}

Írásvédett Bemutató betöltése

Mivel az írásvédelem nem titkosítja a bemutató tartalmát, a bemutató betöltéséhez nem szükséges jelszó. A jelszó csak akkor releváns, ha a védett bemutató módosítási jogosultságát ellenőrizzük.

const slides = require("aspose.slides.via.java");

const presentation = new slides.Presentation("write-protected-pres.pptx");
try {
    console.log("Slide count: " + presentation.getSlides().size());
} finally {
    presentation.dispose();
}

Ne adjon át írásvédelmi jelszót a LoadOptions.setPassword metódusnak. Ez a metódus a titkosított tartalom nyitó jelszavát fogadja. Ha egy bemutatónak mindkét típusú védelem van, akkor a nyitó jelszót adja meg a betöltéshez, az írásvédelmi jelszót külön kezelje.

Írásvédelem eltávolítása egy bemutatóból

Az ProtectionManager.removeWriteProtection metódust használja a módosítási korlátozás eltávolításához, majd mentse a bemutatót.

const slides = require("aspose.slides.via.java");

const presentation = new slides.Presentation("write-protected-pres.pptx");
try {
    presentation.getProtectionManager().removeWriteProtection();
    presentation.save("write-protection-removed.pptx", slides.SaveFormat.Pptx);
} finally {
    presentation.dispose();
}

Ellenőrzés, hogy a bemutató írásvédett-e

A fájl ellenőrzéséhez anélkül, hogy teljes Presentation példányt hozna létre, hívja a PresentationFactory.getPresentationInfo metódust, és ellenőrizze a PresentationInfo.isWriteProtected tulajdonságot. A metódus a NullableBool típust használja, és NullableBool.True értéket ad vissza, ha írásvédelem van.

const slides = require("aspose.slides.via.java");

const presentationInfo = slides.PresentationFactory.getInstance().getPresentationInfo("write-protected-pres.pptx");

if (presentationInfo.isWriteProtected() === slides.NullableBool.True) {
    console.log("The presentation is write protected.");
} else {
    console.log("Write protection was not detected.");
}

Az áramlatalapú PresentationFactory.getPresentationInfoFromStream metódus ugyanezt az információt nyújtja egy Node.js olvasható áramlásként biztosított bemutatóhoz.

Írásvédelmi jelszó ellenőrzése

Használja a PresentationInfo.checkWriteProtection metódust a módosítási jelszó ellenőrzéséhez a teljes bemutató betöltése nélkül. Először ellenőrizze a PresentationInfo.isWriteProtected tulajdonságot, hogy az alkalmazás csak írásvédelem esetén kérjen vagy ellenőrizzen jelszót.

const slides = require("aspose.slides.via.java");

const presentationInfo = slides.PresentationFactory.getInstance().getPresentationInfo("write-protected-pres.pptx");

if (presentationInfo.isWriteProtected() !== slides.NullableBool.True) {
    console.log("The presentation is not write protected.");
} else if (presentationInfo.checkWriteProtection("modify_password")) {
    console.log("The write-protection password is correct.");
} else {
    console.log("The write-protection password is incorrect.");
}

PresentationInfo.checkWriteProtection csak az írásvédelmi jelszót ellenőrzi. Nem ellenőrzi a nyitó jelszót, és nem dönt arról, hogy a titkosított tartalom betölthető-e. Ezzel szemben a PresentationInfo.checkPassword csak a nyitó jelszót ellenőrzi. Ha a teljes bemutató már be van töltve, a ProtectionManager.checkWriteProtection a védelmi menedzserén keresztül biztosítja az azonos írásvédelmi ellenőrzést.

Éles alkalmazásokban ne naplózza a jelszavakat, és ne szerepeltessen őket diagnosztikai üzenetekben. Kerülje a felesleges ismételt ellenőrzési kísérleteket, és a jelszavakat csak a szükséges ideig tartsa memóriában.

GYIK

Titkosítja-e az írásvédelem a bemutatót?

Nem. Korlátozza a módosítást, de a bemutató tartalma elérhető betöltésre és megtekintésre.

Szükséges-e az írásvédelmi jelszó a bemutató megnyitásához?

Nem. Csak a nyitó jelszó szükséges a titkosított bemutató betöltéséhez.

Lehet-e egy bemutatónak egyszerre nyitó jelszava és írásvédelmi jelszava is?

Igen. A nyitó jelszót a betöltési beállításokkal kell megadni a titkosított bemutató megnyitásához, az írásvédelmi jelszót külön kell ellenőrizni, ha módosítási jogosultságra van szükség.