Címkék és egyéni adatok kezelése prezentációkban Java-val

Áttekintés

Ez a cikk bemutatja, hogyan működik az Aspose.Slides a címkékkel és egyéni adatokat tartalmazó PowerPoint‑prezentációkkal. Röviden ismerteti, hogyan tárolódnak az adatok PPTX fájlokban, megjegyzi, hogy a bemutató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 páros karakterláncokként.

Megmutatja, hogyan lehet kiolvasni a címke értékeket, illetve hogyan lehet címkéket hozzáadni egy prezentációhoz, egyetlen diára vagy egy alakzatra. Emellett a cikk lefedi a gyakori címke‑kezelési feladatokat, például az összes címke törlését, egy címke nevével történő eltávolítását, valamint a címkenév‑lista lekérését.

Adattárolás a bemutató fájlokban

A PPTX fájlok – a .pptx kiterjesztésű elemek – a PresentationML formátumban tárolódnak, amely az Office Open XML specifikáció része. Az Office Open XML formátum határozza meg a prezentációkban tárolt adatok szerkezetét.

Mivel a slide a prezentációk egyik eleme, egy slide part egyetlen dia tartalmát tartalmazza. Egy slide partnak megengedett, hogy explicit kapcsolatokat tartson fenn számos más részhez – például a Felhasználó által definiált címkékhez – amelyeket az ISO/IEC 29500 definiál.

Az egyéni adatok (a prezentációra jellemző) vagy a felhasználó létezhetnek címkéként (ITagCollection) és CustomXmlParts‑ként (ICustomXmlPartCollection).

Címkék értékeinek lekérése

A diákban egy címke a IDocumentProperties.getKeywords() és a IDocumentProperties.setKeywords() metódusoknak felel meg. Ez a mintakód azt mutatja be, hogyan lehet egy címke értékét lekérni az Aspose.Slides for Java segítségével a Presentation esetén:

Presentation pres = new Presentation("pres.pptx");
try{
    String 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:

  • a saját tulajdonság neve - MyTag
  • a saját tulajdonság értéke - My Tag Value

Ha bizonyos prezentációkat egy adott szabály vagy tulajdonság alapján szeretnél kategorizálni, hasznos lehet címkék hozzáadása ezekhez a prezentációkhoz. Például, ha az Észak‑amerikai országokból származó prezentációkat egyesíteni szeretnéd, létrehozhatsz egy Észak‑amerikai címkét, majd hozzárendelheted a megfelelő országokat (az USA, Mexikó és Kanada) értékként.

Ez a mintakód azt mutatja be, hogyan lehet egy címkét hozzáadni egy Presentation objektumhoz az Aspose.Slides for Java használatával:

Presentation pres = new Presentation("pres.pptx");
try {
    ITagCollection tags = pres.getCustomData().getTags();
    pres.getCustomData().getTags().set_Item("MyTag", "My Tag Value");
} finally {
    if (pres != null) pres.dispose();
}

A címkék beállíthatók Slide esetén is:

Presentation pres = new Presentation();
try {
    ISlide 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:

Presentation pres = new Presentation();
try {
    ISlide slide = pres.getSlides().get_Item(0);
    IAutoShape shape = slide.getShapes().addAutoShape(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() használatával a saját adatcímke‑gyűjteményen keresztül hozzáadott címkék csak a PowerPoint‑fájlban tárolódnak. Nem kerülnek át a PDF‑címkeszerkezetbe, amikor a prezentációt PDF‑ként exportálod. Ennek következtében egy címkeként hozzárendelt egyéni azonosítót nem lehet lekérni a címkézett PDF‑ből.

Megoldás: Egy egyéni azonosítót tárolhatsz az objektum Alt Text‑ében (például shape.setAlternativeText("MyId")). PDF‑export után az Alt Text megjelenhet a PDF‑címkeszerkezetben.

GYIK

Eltávolíthatok minden címkét egy bemutatóból, diából vagy alakzatról egy műveletben?

Igen. A tag collection támogatja a clear műveletet, amely egy lépésben törli az összes kulcs‑érték párt.

Hogyan törölhetek egyetlen címkét a neve alapján anélkül, hogy végigiterálnék a teljes gyűjteményen?

Használd a Remove(name) műveletet a tag collection‑on, hogy a kulcs szerint töröld a címkét.

Hogyan kaphatom meg a címkék teljes listáját elemzéshez vagy szűréshez?

Használd a getNamesOfTags metódust a tag collection‑on; ez egy tömböt ad vissza az összes címkenévvel.