Hantera taggar och anpassad data i presentationer med Python
Översikt
Den här artikeln förklarar hur Aspose.Slides fungerar med taggar och anpassad data i PowerPoint-presentationer. Den ger en kort översikt över hur data lagras i PPTX-filer, noterar att presentationsspecifik data kan finnas som taggar och anpassade XML-delar, och beskriver taggar som nyckel‑värdesträngpar.
Den visar också hur man läser taggvärden och hur man lägger till taggar i en presentation, ett enskilt bild eller en form. Dessutom behandlar artikeln vanliga tagghanteringsuppgifter som att rensa alla taggar, ta bort en tagg efter namn och hämta listan över taggnamn.
Datalagring i presentationsfiler
PPTX-filer — objekt med filändelsen .pptx — lagras i PresentationML-formatet, som är en del av Office Open XML-specifikationen. Office Open XML-formatet definierar strukturen för data som finns i presentationer.
Med en slide som ett av elementen i presentationer innehåller en slide‑part innehållet i en enskild bild. En slide‑part får ha explicita relationer till många delar — såsom Användardefinierade taggar — definierade av ISO/IEC 29500.
Anpassad data (specifik för en presentation) eller användare kan finnas som taggar (ITagCollection) och CustomXmlParts (ICustomXmlPartCollection).
Hämta värdena för taggar
I slides motsvarar en tagg egenskapen IDocumentProperties.Keywords. Detta exempel visar hur du hämtar ett taggvärde med Aspose.Slides för Python via .NET för Presentation:
import aspose.slides as slides
with slides.Presentation("pres.pptx") as pres:
print(pres.document_properties.keywords)
Lägg till taggar i presentationer
Aspose.Slides låter dig lägga till taggar i presentationer. En tagg består vanligtvis av två element:
- namnet på en anpassad egendom –
MyTag - värdet på den anpassade egendomen –
My Tag Value
Om du behöver klassificera vissa presentationer baserat på en specifik regel eller egenskap kan det vara fördelaktigt att lägga till taggar i dessa presentationer. Till exempel, om du vill kategorisera eller samla alla presentationer från Nordamerikanska länder, kan du skapa en Nordamerikansk tagg och sedan tilldela de relevanta länderna (USA, Mexiko och Kanada) som värden.
Detta exempel visar hur du lägger till en tagg i en Presentation med Aspose.Slides för Python via .NET:
import aspose.slides as slides
with slides.Presentation("pres.pptx") as pres:
tags = pres.custom_data.tags
tags.add("MyTag", "My Tag Value")
Taggar kan också sättas för Slide:
import aspose.slides as slides
with slides.Presentation("pres.pptx") as pres:
slide = pres.slides[0]
tags = slide.custom_data.tags
tags.add("tag", "value")
Eller vilken enskild Shape som helst:
import aspose.slides as slides
with slides.Presentation("pres.pptx") as pres:
slide = pres.slides[0]
shape = slide.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 10, 10, 100, 50)
shape.text_frame.text = "My text"
shape.custom_data.tags.add("tag", "value")
Begränsningar
Taggar som läggs till via custom_data.tags‑samlingen lagras endast i PowerPoint-filen. De överförs inte till PDF‑taggstrukturen när presentationen exporteras till PDF. Följaktligen kan en anpassad identifierare som tilldelats som tagg inte hämtas från den taggade PDF‑filen.
Workaround: Du kan lagra en anpassad identifierare i objektets Alt Text (t.ex. shape.alternative_text = "MyId"). Efter export till PDF kan Alt Text visas i PDF‑taggstrukturen.
Vanliga frågor
Kan jag ta bort alla taggar från en presentation, bild eller form i en enda operation?
Ja. Tagg‑samlingen stöder en clear‑operation som tar bort alla nyckel‑värde‑par på en gång.
Hur tar jag bort en enskild tagg efter dess namn utan att iterera över hela samlingen?
Använd remove(name)‑operationen på TagCollection för att ta bort taggen efter dess nyckel.
Hur kan jag hämta den kompletta listan med taggnamn för analys eller filtrering?
Använd get_names_of_tags på tag‑samlingen; den returnerar en array med alla taggnamn.