Prezentáció szerkesztésének korlátozása alakzatzárolásokkal Androidon
Áttekintés
Az Aspose.Slides for Android via Java gyakori felhasználása, hogy PowerPoint (PPTX) prezentációkat hozzon létre, frissítsen és mentse egy automatizált munkafolyamat részeként. Amikor a felhasználók megkapják ezeket a prezentációkat, az alakzatok módosításának korlátozása segíthet megőrizni a kívánt elrendezést és tartalmat.
Ez a cikk elmagyarázza, hogyan vannak az alakzatok szervezve a diákon, és hogyan lehet alakzatzárakat alkalmazni és eltávolítani egy PPTX prezentációban. Ezek a zárak lehetővé teszik egyes alakzatok szerkesztési műveleteinek korlátozását.
Dia felépítése
Egy prezentációs dia olyan összetevőkből áll, mint az automatikus alakzatok, táblázatok, OLE objektumok, csoportosított alakzatok, képkockák, videokockák, kapcsolók és egyéb elemek, amelyek a prezentáció építésére szolgálnak. Az Aspose.Slides for Android via Java-ban a dia minden eleme egy olyan objektummal van reprezentálva, amely megvalósítja az IShape interfészt vagy onnan származtatott osztályt.
A különböző alakzattípusok különféle zárolási lehetőségeket kínálnak. Az IBaseShapeLock interfész az alakzatzárolások alapinterfésze. Az Aspose.Slides for Android via Java a következő zárolási interfészeket biztosítja:
- IAutoShapeLock zárolja az automatikus alakzatokat.
- IConnectorLock zárolja a csatlakozó alakzatokat.
- IGraphicalObjectLock zárolja a grafikus objektumokat.
- IGroupShapeLock zárolja a csoportos alakzatokat.
- IPictureFrameLock zárolja a képkockákat.
A Presentation zárolások alkalmazásához iteráljon a diákon, és állítsa be a megfelelő zárolásokat minden támogatott alakzatra.
Védelem alkalmazása és eltávolítása
Alakzatzárolások korlátozzák az olyan műveleteket, mint az alakzatok kiválasztása, mozgatása és átméretezése. Nem teszik a teljes prezentációt szerkeszthetetlenné.
Védelem alkalmazása PPTX alakzatokra
Az Aspose.Slides for Android via Java biztosítja az IShape interfészt az alakzatokkal való munkához egy dián.
A példa meghívja a setSelectLocked a setPositionLocked és a setSizeLocked metódusokat true értékkel az automatikus alakzatoknál, valamint a megfelelő zárolásokat a csoportos alakzatoknál, a csatlakozóknál és a képkockáknál. A csatlakozók a setPositionMove metódust használják a mozgáshoz; a csoportok pedig a setGroupingLocked metódust a csoportosítás korlátozásához.
A példa betölt egy meglévő PPTX prezentációt, ellenőrzi az egyes diák alakzatgyűjteményét, és elment egy másolatot a alkalmazott korlátozásokkal. Az a négy kezelt típuson kívüli alakzatok változatlanul maradnak. A ciklus nem járja be a csoporton belüli gyermek alakzatokat.
import com.aspose.slides.*;
Presentation presentation = new Presentation("Sample.pptx");
try {
for (ISlide slide : presentation.getSlides()) {
for (IShape shape : slide.getShapes()) {
if (shape instanceof IAutoShape) {
IAutoShape autoShape = (IAutoShape) shape;
IAutoShapeLock autoShapeLock = (IAutoShapeLock) autoShape.getShapeLock();
autoShapeLock.setPositionLocked(true);
autoShapeLock.setSelectLocked(true);
autoShapeLock.setSizeLocked(true);
} else if (shape instanceof IGroupShape) {
IGroupShape groupShape = (IGroupShape) shape;
IGroupShapeLock groupShapeLock = (IGroupShapeLock) groupShape.getShapeLock();
groupShapeLock.setGroupingLocked(true);
groupShapeLock.setPositionLocked(true);
groupShapeLock.setSelectLocked(true);
groupShapeLock.setSizeLocked(true);
} else if (shape instanceof IConnector) {
IConnector connectorShape = (IConnector) shape;
IConnectorLock connectorShapeLock = connectorShape.getShapeLock();
connectorShapeLock.setPositionMove(true);
connectorShapeLock.setSelectLocked(true);
connectorShapeLock.setSizeLocked(true);
} else if (shape instanceof IPictureFrame) {
IPictureFrame pictureFrame = (IPictureFrame) shape;
IPictureFrameLock pictureFrameLock = (IPictureFrameLock) pictureFrame.getShapeLock();
pictureFrameLock.setPositionLocked(true);
pictureFrameLock.setSelectLocked(true);
pictureFrameLock.setSizeLocked(true);
}
}
}
presentation.save("ProtectedSample.pptx", SaveFormat.Pptx);
} finally {
presentation.dispose();
}
Védelem eltávolítása
Az alakzatzárolás eltávolításához állítsa az értékét false-ra. A következő példa betölt egy prezentációt alakzatzárolásokkal, és törli a kiválasztás, a mozgás és az átméretezés korlátozásait az IAutoShapeLock, az IGroupShapeLock, az IConnectorLock és az IPictureFrameLock segítségével. A csoportosítási korlátozást is eltávolítja, a false értéket átadva az IGroupShapeLock.setGroupingLocked metódusnak, majd elment egy másolatot a prezentációról. A többi zár beállítás változatlan marad.
import com.aspose.slides.*;
Presentation presentation = new Presentation("ProtectedSample.pptx");
try {
for (ISlide slide : presentation.getSlides()) {
for (IShape shape : slide.getShapes()) {
if (shape instanceof IAutoShape) {
IAutoShape autoShape = (IAutoShape) shape;
IAutoShapeLock autoShapeLock = (IAutoShapeLock) autoShape.getShapeLock();
autoShapeLock.setPositionLocked(false);
autoShapeLock.setSelectLocked(false);
autoShapeLock.setSizeLocked(false);
} else if (shape instanceof IGroupShape) {
IGroupShape groupShape = (IGroupShape) shape;
IGroupShapeLock groupShapeLock = (IGroupShapeLock) groupShape.getShapeLock();
groupShapeLock.setGroupingLocked(false);
groupShapeLock.setPositionLocked(false);
groupShapeLock.setSelectLocked(false);
groupShapeLock.setSizeLocked(false);
} else if (shape instanceof IConnector) {
IConnector connectorShape = (IConnector) shape;
IConnectorLock connectorShapeLock = connectorShape.getShapeLock();
connectorShapeLock.setPositionMove(false);
connectorShapeLock.setSelectLocked(false);
connectorShapeLock.setSizeLocked(false);
} else if (shape instanceof IPictureFrame) {
IPictureFrame pictureFrame = (IPictureFrame) shape;
IPictureFrameLock pictureFrameLock = (IPictureFrameLock) pictureFrame.getShapeLock();
pictureFrameLock.setPositionLocked(false);
pictureFrameLock.setSelectLocked(false);
pictureFrameLock.setSizeLocked(false);
}
}
}
presentation.save("RemovedProtectionSample.pptx", SaveFormat.Pptx);
} finally {
presentation.dispose();
}
Következtetés
Az Aspose.Slides for Android via Java lehetővé teszi, hogy egyes alakzatok szerkesztési műveleteit korlátozza, vagy ugyanazokat a korlátozásokat alkalmazza a diákon. Válassza ki az egyes alakzattípusokhoz támogatott zárolásokat, és állítsa be az értéküket false-ra, ha el akarja távolítani ezeket a korlátozásokat.
GYIK
Kombinálhatok-e alakzatzárolásokat és jelszóvédelem egyazon prezentációban?
Igen. Az alakzatzárolások specifikus szerkesztési műveleteket korlátoznak, míg a jelszóvédelem korlátozhatja a prezentáció megnyitását vagy módosítását. Mindkettőt használhatja ugyanabban a fájlban.
Korlátozhatom-e a szerkesztést bizonyos diákon anélkül, hogy a többit érinteném?
Igen. Csak a kiválasztott diákon lévő alakzatokra alkalmazzon zárolásokat. Ez nem változtatja meg a többi dia zár beállításait.
Hogyan alkalmazhatok zárolásokat egyéni alakzatokra egy csoporton belül?
Iteráljon a csoport getShapes metódusa által visszaadott gyűjteményen, és alkalmazza a megfelelő zárolásokat minden gyermek alakzatra. Ismételje meg ezt minden beágyazott csoportnál. A fenti példák csak a dia alakzatgyűjteményét dolgozzák fel, így nem állítanak be zárolásokat az egyéni csoporttagokra.