Érzékenységi címkék kezelése PowerPoint prezentációkban .NET környezetben

Áttekintés

A Microsoft Purview érzékenységi címkék segítik a szervezeteket a dokumentumok besorolásában és irányításában. Automatizált prezentációfeldolgozás során egy alkalmazásnak meg kell őriznie egy meglévő címkét, egy szabály által kiválasztott címkét kell alkalmaznia, frissítenie kell annak állapotát, vagy át kell migrálnia a régebbi Microsoft Information Protection (MIP) munkafolyamat által írt címke-metaadatokat.

Az Aspose.Slides a modern érzékenységi címke metaadatokat a Presentation.SensitivityLabels segítségével teszi elérhetővé. Ez a tulajdonság egy ISensitivityLabelCollection objektumot ad vissza, amelyet a prezentáció PPTX‑ként való mentése előtt megtekinthet és módosíthat.

Az érzékenységi címke tulajdonságainak megértése

Minden ISensitivityLabel a következő metaadatokat tartalmazza:

Tulajdonság Leírás
ISensitivityLabel.Id Azonosítja az érzékenységi címkét a Purview szabályban.
ISensitivityLabel.SiteId Azonosítja a címkeszabályhoz kapcsolódó webhelyet.
ISensitivityLabel.IsEnabled Jelzi, hogy a címke engedélyezve van-e.
ISensitivityLabel.IsRemoved Jelzi, hogy a címkét eltávolították. Állítsa ezt a tulajdonságot true‑ra, ha az eltávolítási állapotot meg kell őrizni a metaadatban.
ISensitivityLabel.AssignmentMethodType Megadja, hogy a címkét automatikusan vagy felhasználói döntés alapján alkalmazták.
ISensitivityLabel.ContentMarkTypes Felsorolja a címkéhez kapcsolódó tartalomjelölés típusokat.

A SensitivityLabelAssignmentType felsoroló típus leírja, hogyan került a címke hozzárendelésre:

A SensitivityLabelContentType felsoroló típus azonosítja a címkéhez tartozó jelölést:

Érték Jelentés
SensitivityLabelContentType.None A címket alapértelmezés szerint vagy automatikusan alkalmazták.
SensitivityLabelContentType.Header Fejléc tartalomjelölés kapcsolódik a címkéhez.
SensitivityLabelContentType.Footer Lábléc tartalomjelölés kapcsolódik a címkéhez.
SensitivityLabelContentType.Watermark Vízjel tartalomjelölés kapcsolódik a címkéhez.
SensitivityLabelContentType.Encryption Titkosítási védelem kapcsolódik a címkéhez.

Több jelöléstípus is kapcsolódhat egy címkéhez.

Meglévő érzékenységi címkék felsorolása

Olvassa be a modern címkegyűjteményt a Presentation.SensitivityLabels segítségével, és iterálja végig. Az alábbi példa minden címke összes tulajdonságát és tartalomjelölését listázza:

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);
    }
}

Érzékenységi címke hozzáadása tartalomjelöléssel

Használja a ISensitivityLabelCollection.Add metódust a címkeazonosító, webhelyazonosító, engedélyezett állapot és hozzárendelési mód megadásával. A metódus visszatér az új ISensitivityLabel példánnyal, amelyhez a szükséges jelölésértékeket a ISensitivityLabel.ContentMarkTypes segítségével adhatja hozzá.

Az alábbi példa egy manuálisan kiválasztott címkét ad hozzá, amelyhez lábléc és vízjel jelölések vannak társítva, majd PPTX‑ként menti az eredményt:

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);

Érzékenységi címke frissítése

Az ISensitivityLabel tulajdonságai olvashatóak és írhatóak, kivéve a ISensitivityLabel.ContentMarkTypes által visszaadott gyűjteményt, amelyet a lista műveletein keresztül módosíthat. A szükséges címke megtalálása után frissítheti azonosítóját, webhelyazonosítóját, engedélyezett állapotát, hozzárendelési módját, eltávolítási állapotát és a tartalomjelölés típusait. Mentse a prezentációt a változások rögzítéséhez.

Az alábbi példa az első címke engedélyezett állapotát és hozzárendelési módját frissíti:

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);

Címke megjelölése eltávolítottként

Az eltávolítás tényének megőrzéséhez keresse meg a címkét, és állítsa a ISensitivityLabel.IsRemoved értékét true‑ra. Ezzel a címke bejegyzése megmarad, de eltávolított állapotot rögzít. Ha a modern gyűjteményből valóban törölni szeretne egy bejegyzést, használja a ISensitivityLabelCollection.RemoveAt metódust; a ISensitivityLabelCollection.Clear a teljes gyűjtemény kiürítéséhez.

Az alábbi példa egy adott címkét eltávolítottként jelöl, majd menti a frissített prezentációt:

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);

Régi MIP érzékenységi címkék olvasása és migrálása

A régebbi MIP‑alapú munkafolyamatok az érzékenységi címke metaadatokat egyéni dokumentumtulajdonságokban tárolhatják a modern címkegyűjtemény helyett. Olvassa be ezeket a metaadatokat a IDocumentProperties.GetSensitivityLabels segítségével. A metódus feldolgozza a régi egyéni tulajdonságokat, és egy ISensitivityLabel objektumok tömbjét adja vissza.

A metaadat migrálásához adja hozzá a visszakapott címkéket a modern ISensitivityLabelCollection gyűjteményhez a ISensitivityLabelCollection.Add metódussal. Mivel egy már létező címkeazonosító hozzáadása kivételt vált ki, a példa a célgyűjteményt ellenőrzi, mielőtt minden címkét átmásolna. További ellenőrzésekkel megerősítheti, hogy minden régi címke még jelen van az aktuális Purview szabályban.

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);

A migráció a feldolgozott címkeobjektumokat a modern gyűjteménybe másolja. Nem szükséges az összes egyéni dokumentumtulajdonságot törölni, így a nem kapcsolódó dokumentum-metaadatok érintetlenek maradnak. A modern címke metaadatok PPTX fájlba írásához használja az IPresentation.Save metódust a SaveFormat.Pptx paraméterrel.

GYIK

A tartalomjelölés típus hozzáadása látható fejlécet, láblécet vagy vízjelet hoz létre a diákon?

Nem. A ISensitivityLabel.ContentMarkTypes által hozzáadott értékek leírják a címkéhez kapcsolódó jelöléseket. Nem hoznak létre látható szöveget vagy alakzatot a prezentációban. Az érintett diatartalmat külön kell hozzáadni, ha a munkafolyamatnak meg kell jelenítenie ezeket a jelöléseket.

Mi a különbség a címke eltávolítottként való megjelölése és a gyűjteményből való törlése között?

A ISensitivityLabel.IsRemoved true‑ra állítása megtartja a címke bejegyzését és rögzíti annak eltávolított állapotát. A ISensitivityLabelCollection.RemoveAt meghívása törli a bejegyzést a modern gyűjteményből. Válassza azt a műveletet, amely megfelel a szervezet metaadat-megőrzési követelményeinek.

Lehet egy prezentációban egyszerre régi MIP metaadat és modern érzékenységi címke is?

Igen. A régi címkék maradhatnak az egyéni dokumentumtulajdonságokban, míg a modern címkék a Presentation.SensitivityLabels segítségével érhetők el. Használja a IDocumentProperties.GetSensitivityLabels metódust a régi metaadatok beolvasásához, és csak a már nem létező címkéket migrálja a modern gyűjteménybe.

Mi történik, ha egy azonosítóval már meglévő címkét többször próbálunk hozzáadni?

A ISensitivityLabelCollection.Add ArgumentException‑t dob, ha a gyűjtemény már tartalmaz egy azonosítóval megegyező címkét. Ellenőrizze a meglévő ISensitivityLabel.Id értékeket, mielőtt címkéket adna hozzá vagy migrálna.

Milyen kimeneti formátumot kell használni a frissített érzékenységi címkék megőrzéséhez?

Mentse a prezentációt PPTX formátumban az IPresentation.Save metódus hívásával, a SaveFormat.Pptx paraméterrel, ahogy a fenti példákban is látható.