Správa štítků citlivosti v prezentacích PowerPoint v Pythonu
Přehled
Microsoft Purview sensitivity labels pomáhají organizacím klasifikovat a spravovat dokumenty. Během automatizovaného zpracování prezentace může aplikace potřebovat zachovat existující štítek, použít štítek vybraný politikou, aktualizovat jeho stav nebo migrovat metadata štítku zapsaná starším pracovním postupem Microsoft Information Protection (MIP).
Aspose.Slides for Python via .NET zpřístupňuje moderní metadata štítků citlivosti prostřednictvím Presentation.sensitivity_labels. Tento vlastnost vrací SensitivityLabelCollection, kterou lze prohlédnout a upravit před uložením prezentace jako PPTX.
Poznámka
Identifikátory štítků citlivosti a informace o politice jsou definovány vaší konfigurací Microsoft Purview. Ověřte dostupnost štítků a požadavky politik ve svém prostředí před přidáním nebo migrací metadat. Hodnoty SensitivityLabel.content_mark_types popisují obsahové označení spojené se štítkem; samy o sobě nepřidávají viditelný text ani tvary do snímků.Pochopení vlastností štítku citlivosti
Každý SensitivityLabel obsahuje následující metadata:
| Vlastnost | Účel |
|---|---|
| SensitivityLabel.id | Identifikuje štítek citlivosti v politice Purview. |
| SensitivityLabel.site_id | Identifikuje web (site) spojený s politikou štítku. |
| SensitivityLabel.is_enabled | Indikuje, zda je štítek povolen. |
| SensitivityLabel.is_removed | Ukazuje, že štítek byl odstraněn. Nastavte tuto vlastnost na True, pokud má být stav odstranění zachován v metadatech. |
| SensitivityLabel.assignment_method_type | Určuje, zda byl štítek aplikován automaticky nebo na základě rozhodnutí uživatele. |
| SensitivityLabel.content_mark_types | Uvádí typy obsahových označení spojené se štítkem. |
Výčtový typ SensitivityLabelAssignmentType popisuje, jak byl štítek přiřazen:
- SensitivityLabelAssignmentType.STANDARD reprezentuje výchozí nebo automaticky aplikovaný štítek.
- SensitivityLabelAssignmentType.PRIVILEGED reprezentuje štítek aplikovaný na základě rozhodnutí uživatele, včetně ručně aplikovaných, doporučených a povinných štítků.
Výčtový typ SensitivityLabelContentType identifikuje označení spojené se štítkem:
| Hodnota | Význam |
|---|---|
| SensitivityLabelContentType.NONE | Štítek byl aplikován výchozím způsobem nebo automaticky. |
| SensitivityLabelContentType.HEADER | K štítku je přiřazeno označení obsahu záhlaví. |
| SensitivityLabelContentType.FOOTER | K štítku je přiřazeno označení obsahu zápatí. |
| SensitivityLabelContentType.WATERMARK | K štítku je přiřazeno označení obsahu vodoznaku. |
| SensitivityLabelContentType.ENCRYPTION | K štítku je přiřazena šifrovací ochrana. |
S jedním štítkem může být spojeno více typů označení.
Seznam existujících štítků citlivosti
Přečtěte moderní kolekci štítků z Presentation.sensitivity_labels a proveďte její enumeraci. Následující příklad vypisuje každou vlastnost a obsahové označení uložené pro každý štítek:
import aspose.slides as slides
with slides.Presentation("presentation.pptx") as presentation:
sensitivity_labels = presentation.sensitivity_labels
for sensitivity_label in sensitivity_labels:
print("Label ID:", sensitivity_label.id)
print("Site ID:", sensitivity_label.site_id)
print("Enabled:", sensitivity_label.is_enabled)
print("Removed:", sensitivity_label.is_removed)
print("Assignment method:", sensitivity_label.assignment_method_type)
for content_mark_type in sensitivity_label.content_mark_types:
print("Content marking:", content_mark_type)
Přidání štítku citlivosti s obsahovým označením
Použijte SensitivityLabelCollection.add s identifikátorem štítku, identifikátorem webu, stavem povolení a metodou přiřazení. Identifikátor webu předávejte jako objekt Python uuid.UUID. Po návratu metody nového SensitivityLabel, přidejte požadované hodnoty označení do SensitivityLabel.content_mark_types.
Následující příklad přidá ručně vybraný štítek spojený s označením zápatí a vodoznaku a poté uloží výsledek jako PPTX:
import uuid
import aspose.slides as slides
with slides.Presentation("presentation.pptx") as presentation:
sensitivity_labels = presentation.sensitivity_labels
label_identifier = "{11111111-2222-3333-4444-555555555555}"
site_identifier = uuid.UUID("aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee")
is_enabled = True
assignment_method = slides.SensitivityLabelAssignmentType.PRIVILEGED
sensitivity_label = sensitivity_labels.add(
label_identifier,
site_identifier,
is_enabled,
assignment_method
)
sensitivity_label.content_mark_types.append(slides.SensitivityLabelContentType.FOOTER)
sensitivity_label.content_mark_types.append(slides.SensitivityLabelContentType.WATERMARK)
presentation.save("presentation_with_label.pptx", slides.export.SaveFormat.PPTX)
Aktualizace štítku citlivosti
Vlastnosti SensitivityLabel jsou čitelné i zapisovatelné, kromě toho, že seznam vrácený z SensitivityLabel.content_mark_types se mění pomocí jeho operací se seznamem. Po nalezení požadovaného štítku můžete aktualizovat jeho identifikátor, identifikátor webu, stav povolení, metodu přiřazení, stav odstranění a typy obsahových označení. Uložte prezentaci, aby se změny zachovaly.
Následující příklad aktualizuje stav povolení a metodu přiřazení prvního štítku:
import aspose.slides as slides
with slides.Presentation("presentation.pptx") as presentation:
sensitivity_labels = presentation.sensitivity_labels
if sensitivity_labels.count > 0:
sensitivity_label = sensitivity_labels[0]
sensitivity_label.is_enabled = True
sensitivity_label.assignment_method_type = (
slides.SensitivityLabelAssignmentType.PRIVILEGED
)
presentation.save("presentation_with_updated_label.pptx", slides.export.SaveFormat.PPTX)
Označení štítku citlivosti jako odstraněného
Aby se zachovala informace, že byl štítek odstraněn, najděte štítek a nastavte SensitivityLabel.is_removed na True. Tím se zachová záznam štítku a zaznamená jeho stav odstranění. Pokud místo toho potřebujete odstranit záznam z moderní kolekce, použijte SensitivityLabelCollection.remove_at; použijte SensitivityLabelCollection.clear k smazání všech záznamů.
Následující příklad označí konkrétní štítek jako odstraněný a uloží aktualizovanou prezentaci:
import aspose.slides as slides
with slides.Presentation("presentation.pptx") as presentation:
sensitivity_labels = presentation.sensitivity_labels
target_label_identifier = "{11111111-2222-3333-4444-555555555555}"
for sensitivity_label in sensitivity_labels:
identifiers_match = (
sensitivity_label.id.casefold() == target_label_identifier.casefold()
)
if identifiers_match:
sensitivity_label.is_removed = True
break
presentation.save("presentation_with_removed_label.pptx", slides.export.SaveFormat.PPTX)
Čtení a migrace starších štítků citlivosti MIP
Starší pracovní postupy založené na MIP mohou ukládat metadata štítků citlivosti do vlastních vlastností dokumentu místo moderní kolekce štítků. Tato metadata načtěte pomocí DocumentProperties.get_sensitivity_labels. Metoda parsuje starší vlastní vlastnosti a vrací objekty SensitivityLabel.
Aby se metadata migrovala, přidejte každý vrácený štítek do moderní SensitivityLabelCollection pomocí SensitivityLabelCollection.add. Protože přidání duplicitního identifikátoru štítku vyvolá výjimku, příklad kontroluje cílovou kolekci před kopírováním každého štítku. Můžete přidat další ověření, aby se potvrdilo, že každý starý štítek stále existuje v aktuální politice Purview.
import aspose.slides as slides
with slides.Presentation("presentation_with_legacy_labels.pptx") as presentation:
legacy_sensitivity_labels = (
presentation.document_properties.get_sensitivity_labels()
)
modern_sensitivity_labels = presentation.sensitivity_labels
for legacy_sensitivity_label in legacy_sensitivity_labels:
label_already_exists = False
for modern_sensitivity_label in modern_sensitivity_labels:
label_already_exists = (
modern_sensitivity_label.id.casefold()
== legacy_sensitivity_label.id.casefold()
)
if label_already_exists:
break
if not label_already_exists:
modern_sensitivity_labels.add(legacy_sensitivity_label)
presentation.save("presentation_with_modern_labels.pptx", slides.export.SaveFormat.PPTX)
Migrace kopíruje parsované objekty štítků do moderní kolekce. Není nutné mazat všechny vlastní vlastnosti dokumentu, takže nesouvisející metadata dokumentu zůstávají nedotčeny. Použijte Presentation.save s SaveFormat.PPTX k zápisu moderních metadat štítků do souboru PPTX.
Často kladené otázky
Vytváří přidání typu obsahového označení viditelný záhlaví, zápatí nebo vodoznak na snímcích?
Ne. Hodnoty přidané přes SensitivityLabel.content_mark_types popisují označení spojená se štítkem citlivosti. Nevytvářejí viditelný text ani tvary v prezentaci. Přidejte odpovídající obsah snímku samostatně, pokud váš pracovní postup musí tato označení zobrazit.
Jaký je rozdíl mezi označením štítku jako odstraněného a jeho smazáním z kolekce?
Nastavení SensitivityLabel.is_removed na True zachovává záznam štítku a zaznamenává jeho stav odstranění. Volání SensitivityLabelCollection.remove_at smaže záznam z moderní kolekce. Vyberte operaci, která odpovídá požadavkům vaší organizace na uchovávání metadat.
Může prezentace obsahovat jak stará metadata MIP, tak moderní štítky citlivosti?
Ano. Staré štítky mohou zůstat ve vlastních vlastnostech dokumentu, zatímco moderní štítky jsou dostupné přes Presentation.sensitivity_labels. Použijte DocumentProperties.get_sensitivity_labels k načtení starých metadat a migrujte pouze platné štítky, které ještě nejsou v moderní kolekci.
Co se stane, když je štítek se stejným identifikátorem přidán vícekrát?
SensitivityLabelCollection.add vyvolá výjimku, pokud kolekce již obsahuje štítek se stejným identifikátorem. Zkontrolujte existující hodnoty SensitivityLabel.id před přidáním nebo migrací štítků.
Jaký výstupní formát by měl být použit k zachování aktualizovaných štítků citlivosti?
Uložte prezentaci jako PPTX voláním Presentation.save s SaveFormat.PPTX, jak je ukázáno v příkladech výše.