Címkék és egyéni adatok kezelése a prezentációkban JavaScript használatával
Áttekintés
Ez a cikk bemutatja, hogyan működik az Aspose.Slides a címkékkel és az egyéni adatokkal a PowerPoint‑prezentációkban. Röviden ismerteti, hogyan tárolódik az adat a PPTX‑fájlokban, megjegyzi, hogy a prezentációra jellemző adatok létezhetnek címkék és egyéni XML‑részek formájában, valamint leírja a címkéket kulcs‑érték string pároként.
Emellett bemutatja, hogyan olvashatók a címkeértékek, illetve hogyan adhatók hozzá címkék egy prezentációhoz, egy egyedi diára vagy egy alakzathoz. Továbbá a cikk áttekinti a gyakori címke‑kezelési feladatokat, mint például az összes címke törlése, egy címke név alapján történő eltávolítása és a címkenévek listájának lekérése.
Adattárolás a bemutató fájlokban
A .pptx kiterjesztésű PPTX‑fájlok a PresentationML formátumban tárolódnak, amely az Office Open XML specifikáció része. Az Office Open XML formátum meghatározza a prezentációkban tárolt adatok szerkezetét.
A dia a prezentációk egyik eleme, egy dia rész tartalmazza egyetlen dia tartalmát. A dia résznek kifejezett kapcsolatot lehet tartalmaznia sok részhez – például a felhasználó által definiált címkékhez – melyeket az ISO/IEC 29500 definiál.
Egyéni adatok (a prezentációra jellemző) vagy felhasználóként létezhetnek címkéként (TagCollection) és CustomXmlParts (CustomXmlPartCollection).
Címkék értékeinek lekérése
A diákban egy címke a DocumentProperties.getKeywords() és a DocumentProperties.setKeywords() metódóknak felel meg. Ez a példa kód bemutatja, hogyan szerezhető meg egy címke értéke az Aspose.Slides for Node.js via Java segítségével a Presentation esetén:
var pres = new aspose.slides.Presentation("pres.pptx");
try {
var keywords = pres.getDocumentProperties().getKeywords();
} finally {
if (pres != null) {
pres.dispose();
}
}
Címkék hozzáadása a bemutatókhoz
Az Aspose.Slides lehetővé teszi címkék hozzáadását a prezentációkhoz. Egy címke általában két elemből áll:
- az egyéni tulajdonság neve –
MyTag - az egyéni tulajdonság értéke –
My Tag Value
Ha bizonyos prezentációkat egy adott szabály vagy tulajdonság alapján szeretnél osztályozni, akkor hasznos lehet, ha címkéket adsz hozzá azokhoz a prezentációkhoz. Például, ha az Észak‑Amerikai országokból származó összes prezentációt egy kategóriába szeretnéd sorolni, létrehozhatsz egy Észak‑Amerikai címkét, majd a megfelelő országok (az USA, Mexikó és Kanada) neveit adhatod meg értékként.
Ez a példa kód bemutatja, hogyan adhatunk hozzá egy címkét egy Presentation objektumhoz az Aspose.Slides for Node.js via Java használatával:
var pres = new aspose.slides.Presentation("pres.pptx");
try {
var tags = pres.getCustomData().getTags();
pres.getCustomData().getTags().set_Item("MyTag", "My Tag Value");
} finally {
if (pres != null) {
pres.dispose();
}
}
Címkék beállíthatók egy Slide esetén is:
var pres = new aspose.slides.Presentation();
try {
var slide = pres.getSlides().get_Item(0);
slide.getCustomData().getTags().set_Item("tag", "value");
} finally {
if (pres != null) {
pres.dispose();
}
}
Vagy bármely egyedi Shape esetén:
var pres = new aspose.slides.Presentation();
try {
var slide = pres.getSlides().get_Item(0);
var shape = slide.getShapes().addAutoShape(aspose.slides.ShapeType.Rectangle, 10, 10, 100, 50);
shape.getTextFrame().setText("My text");
shape.getCustomData().getTags().set_Item("tag", "value");
} finally {
if (pres != null) {
pres.dispose();
}
}
Korlátozások
A getCustomData().getTags() segítségével a saját adatcímke‑gyűjteményhez hozzáadott címkék csak a PowerPoint‑fájlban tárolódnak. A nem kerülnek át a PDF‑címkeszerkezetbe, amikor a prezentáció PDF‑re exportálódik. Ennek következtében egy címkéként rendelt egyéni azonosító nem kérhető le a címkézett PDF‑ből.
Megelőző megoldás: Tárolhatsz egy egyéni azonosítót az objektum Alt Text‑ében (pl. shape.setAlternativeText("MyId")). PDF‑re exportálás után az Alt Text megjelenhet a PDF‑címkeszerkezetben.
GYIK
Eltávolíthatok minden címkét egy prezentációból, diából vagy alakzatból egyetlen művelettel?
Igen. A tag collection támogat egy clear műveletet, amely egyszerre törli az összes kulcs‑érték párost.
Hogyan töröljek egyetlen címkét a neve alapján anélkül, hogy végig iterálnám az egész gyűjteményt?
Használd a remove(name) műveletet a TagCollection‑on a címke kulcsa szerinti törléshez.
Hogyan kaphatom vissza a címkenév‑listát elemzés vagy szűrés céljából?
Használd a getNamesOfTags‑t a tag collection; ez egy tömböt ad vissza az összes címkenévről.