Správa citlivostních štítků v PowerPoint prezentacích v .NET
Přehled
Microsoft Purview citlivostní štítky pomáhají organizacím klasifikovat a spravovat dokumenty. Během automatizovaného zpracování prezentací 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 zpřístupňuje moderní metadata citlivostních štítků prostřednictvím Presentation.SensitivityLabels. Toto vlastnost vrací ISensitivityLabelCollection, kterou lze prozkoumat a upravit před uložením prezentace jako PPTX.
Poznámka
Identifikátory citlivostních štítků a informace o politice jsou definovány vaší konfigurací Microsoft Purview. Ověřte dostupnost štítků a požadavky politiky ve vašem prostředí před přidáním nebo migrací metadat. Hodnoty ISensitivityLabel.ContentMarkTypes popisují označení obsahu spojená se štítkem; samy o sobě nepřidávají do snímků viditelný text ani tvary.Porozumění vlastnostem citlivostního štítku
Každý ISensitivityLabel obsahuje následující metadata:
| Vlastnost | Účel |
|---|---|
| ISensitivityLabel.Id | Identifikuje citlivostní štítek v politice Purview. |
| ISensitivityLabel.SiteId | Identifikuje lokalitu spojenou s politikou štítku. |
| ISensitivityLabel.IsEnabled | Udává, zda je štítek povolen. |
| ISensitivityLabel.IsRemoved | Indikuje, že byl štítek odebrán. Nastavte tuto vlastnost na true, když je třeba zachovat stav odebrání v metadatech. |
| ISensitivityLabel.AssignmentMethodType | Určuje, zda byl štítek aplikován automaticky nebo na základě rozhodnutí uživatele. |
| ISensitivityLabel.ContentMarkTypes | Uvádí typy označení obsahu 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 určuje označení spojené se štítkem:
| Hodnota | Význam |
|---|---|
| SensitivityLabelContentType.None | Štítek byl aplikován výchozí nebo automaticky. |
| SensitivityLabelContentType.Header | Označení obsahu záhlaví je spojeno se štítkem. |
| SensitivityLabelContentType.Footer | Označení obsahu zápatí je spojeno se štítkem. |
| SensitivityLabelContentType.Watermark | Označení obsahu vodoznaku je spojeno se štítkem. |
| SensitivityLabelContentType.Encryption | Šifrovací ochrana je spojena se štítkem. |
Více typů označení může být spojeno s jedním štítkem.
Vypsání existujících citlivostních štítků
Načtěte moderní kolekci štítků z Presentation.SensitivityLabels a enumerujte ji. Následující příklad uvádí všechny vlastnosti a označení obsahu uložené pro každý štítek:
using System;
using Aspose.Slides;
using var presentation = new Presentation("presentation.pptx");
var sensitivityLabels = presentation.SensitivityLabels;
foreach (var sensitivityLabel in sensitivityLabels)
{
Console.WriteLine("Label ID: " + sensitivityLabel.Id);
Console.WriteLine("Site ID: " + sensitivityLabel.SiteId);
Console.WriteLine("Enabled: " + sensitivityLabel.IsEnabled);
Console.WriteLine("Removed: " + sensitivityLabel.IsRemoved);
Console.WriteLine("Assignment method: " + sensitivityLabel.AssignmentMethodType);
foreach (var contentMarkType in sensitivityLabel.ContentMarkTypes)
{
Console.WriteLine("Content marking: " + contentMarkType);
}
}
Přidání citlivostního štítku s označením obsahu
Použijte ISensitivityLabelCollection.Add s identifikátorem štítku, identifikátorem lokality, stavem povolení a metodou přiřazení. Po vrácení nového ISensitivityLabel, přidejte požadované hodnoty označení prostřednictvím ISensitivityLabel.ContentMarkTypes.
Následující příklad přidá ručně vybraný štítek spojený se značením zápatí a vodoznaku a poté uloží výsledek jako PPTX:
using System;
using Aspose.Slides;
using Aspose.Slides.Export;
using var presentation = new Presentation("presentation.pptx");
var sensitivityLabels = presentation.SensitivityLabels;
var labelIdentifier = "{11111111-2222-3333-4444-555555555555}";
var siteIdentifier = Guid.Parse("{aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee}");
var isEnabled = true;
var assignmentMethod = SensitivityLabelAssignmentType.Privileged;
var sensitivityLabel = sensitivityLabels.Add(
labelIdentifier,
siteIdentifier,
isEnabled,
assignmentMethod);
sensitivityLabel.ContentMarkTypes.Add(SensitivityLabelContentType.Footer);
sensitivityLabel.ContentMarkTypes.Add(SensitivityLabelContentType.Watermark);
presentation.Save("presentation_with_label.pptx", SaveFormat.Pptx);
Aktualizace citlivostního štítku
Vlastnosti ISensitivityLabel jsou čtení/zápis, kromě toho, že kolekce vrácená ISensitivityLabel.ContentMarkTypes se upravuje pomocí operací seznamu. Po nalezení požadovaného štítku můžete aktualizovat jeho identifikátor, identifikátor lokality, stav povolení, metodu přiřazení, stav odebrání a typy označení obsahu. Uložte prezentaci pro zachování změn.
Následující příklad aktualizuje stav povolení a metodu přiřazení prvního štítku:
using Aspose.Slides;
using Aspose.Slides.Export;
using var presentation = new Presentation("presentation.pptx");
var sensitivityLabels = presentation.SensitivityLabels;
if (sensitivityLabels.Count > 0)
{
var sensitivityLabel = sensitivityLabels[0];
sensitivityLabel.IsEnabled = true;
sensitivityLabel.AssignmentMethodType = SensitivityLabelAssignmentType.Privileged;
}
presentation.Save("presentation_with_updated_label.pptx", SaveFormat.Pptx);
Označení citlivostního štítku jako odebraný
Pro zachování informace, že byl štítek odebrán, najděte štítek a nastavte ISensitivityLabel.IsRemoved na true. Tím se zachová položka štítku a zaznamená jeho stav odebrání. Pokud místo toho potřebujete položku z moderní kolekce smazat, použijte ISensitivityLabelCollection.RemoveAt; použijte ISensitivityLabelCollection.Clear pro smazání všech položek.
Následující příklad označí konkrétní štítek jako odebraný a uloží aktualizovanou prezentaci:
using System;
using Aspose.Slides;
using Aspose.Slides.Export;
using var presentation = new Presentation("presentation.pptx");
var sensitivityLabels = presentation.SensitivityLabels;
var targetLabelIdentifier = "{11111111-2222-3333-4444-555555555555}";
foreach (var sensitivityLabel in sensitivityLabels)
{
var isTargetLabel = string.Equals(
sensitivityLabel.Id,
targetLabelIdentifier,
StringComparison.OrdinalIgnoreCase);
if (isTargetLabel)
{
sensitivityLabel.IsRemoved = true;
break;
}
}
presentation.Save("presentation_with_removed_label.pptx", SaveFormat.Pptx);
Čtení a migrace starších MIP citlivostních štítků
Starší pracovní postupy založené na MIP mohou ukládat metadata citlivostních štítků do vlastních vlastností dokumentu místo moderní kolekce štítků. Přečtěte tato metadata pomocí IDocumentProperties.GetSensitivityLabels. Metoda analyzuje staré vlastní vlastnosti a vrací pole objektů ISensitivityLabel.
Pro migraci metadat přidejte každý vrácený štítek do moderní ISensitivityLabelCollection pomocí ISensitivityLabelCollection.Add. Protože přidání duplicitního identifikátoru štítku vyvolá výjimku, příklad kontroluje cílovou kolekci před zkopí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.
using System;
using Aspose.Slides;
using Aspose.Slides.Export;
using var presentation = new Presentation("presentation_with_legacy_labels.pptx");
var legacySensitivityLabels = presentation.DocumentProperties.GetSensitivityLabels();
var modernSensitivityLabels = presentation.SensitivityLabels;
foreach (var legacySensitivityLabel in legacySensitivityLabels)
{
var labelAlreadyExists = false;
foreach (var modernSensitivityLabel in modernSensitivityLabels)
{
labelAlreadyExists = string.Equals(
modernSensitivityLabel.Id,
legacySensitivityLabel.Id,
StringComparison.OrdinalIgnoreCase);
if (labelAlreadyExists)
{
break;
}
}
if (!labelAlreadyExists)
{
modernSensitivityLabels.Add(legacySensitivityLabel);
}
}
presentation.Save("presentation_with_modern_labels.pptx", SaveFormat.Pptx);
Migrace zkopíruje analyzované objekty štítků do moderní kolekce. Nevyžaduje vymazání všech vlastních vlastností dokumentu, takže nesouvisející metadata dokumentu zůstávají nedotčena. Použijte IPresentation.Save s SaveFormat.Pptx k zápisu moderních metadat štítků do souboru PPTX.
FAQ
Vytváří přidání typu označení obsahu viditelné záhlaví, zápatí nebo vodoznak na snímcích?
Ne. Hodnoty přidané přes ISensitivityLabel.ContentMarkTypes popisují označení spojená s citlivostním štítkem. Nevytvářejí v prezentaci viditelný text ani tvary. Pokud váš pracovní postup musí tyto označení vykreslit, přidejte odpovídající obsah snímků samostatně.
Jaký je rozdíl mezi označením štítku jako odebraného a jeho smazáním ze sbírky?
Nastavení ISensitivityLabel.IsRemoved na true zachová položku štítku a zaznamená jeho stav odebrání. Volání ISensitivityLabelCollection.RemoveAt smaže položku z moderní sbírky. Vyberte operaci, která odpovídá požadavkům vaší organizace na uchování metadat.
Může prezentace obsahovat jak stará MIP metadata, tak moderní citlivostní štítky?
Ano. Staré štítky mohou zůstat ve vlastních vlastnostech dokumentu, zatímco moderní štítky jsou dostupné přes Presentation.SensitivityLabels. Použijte IDocumentProperties.GetSensitivityLabels k načtení starých metadat a migrujte pouze platné štítky, které již nejsou v moderní kolekci.
Co se stane, když je štítek se stejným identifikátorem přidán vícekrát?
ISensitivityLabelCollection.Add vyvolá ArgumentException, pokud sbírka již obsahuje štítek se stejným identifikátorem. Před přidáním nebo migrací štítků zkontrolujte existující hodnoty ISensitivityLabel.Id.
Jaký výstupní formát by měl být použit k zachování aktualizovaných citlivostních štítků?
Uložte prezentaci jako PPTX voláním IPresentation.Save s SaveFormat.Pptx, jak ukazují výše uvedené příklady.