PowerPoint-prezentációk érzékenységi címkéinek kezelése Java-ban

Áttekintés

A Microsoft Purview érzékenységi címkék segítik a szervezeteket a dokumentumok osztályozásában és szabályozásában. Automatizált prezentációfeldolgozás során egy alkalmazásnak meg kell őriznie egy meglévő címkét, alkalmaznia kell egy szabályzat által kiválasztott címkét, frissítenie kell annak állapotát, vagy migrálnia kell 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 IPresentation.getSensitivityLabels segítségével teszi elérhetővé. Ez a metódus egy ISensitivityLabelCollection objektumot ad vissza, amely ellenőrizhető és módosítható, mielőtt a prezentáció PPTX formátumban kerül mentésre.

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

Minden ISensitivityLabel a következő metaadatokat tartalmazza:

Módszerek Cél
ISensitivityLabel.getId és ISensitivityLabel.setId Az érzékenységi címke azonosítójának lekérése vagy beállítása a Purview szabályzatban.
ISensitivityLabel.getSiteId és ISensitivityLabel.setSiteId A címke szabályzathoz kapcsolódó webhely lekérése vagy beállítása.
ISensitivityLabel.isEnabled és ISensitivityLabel.setEnabled A címke engedélyezett állapotának lekérése vagy beállítása.
ISensitivityLabel.isRemoved és ISensitivityLabel.setRemoved A címke eltávolított állapotának lekérése vagy beállítása. Állítsa true-ra, ha a eltávolítási állapotot a metaadatban meg kell őrizni.
ISensitivityLabel.getAssignmentMethodType és ISensitivityLabel.setAssignmentMethodType A címke automatikus vagy felhasználói döntés alapján történő alkalmazásának lekérése vagy beállítása.
ISensitivityLabel.getContentMarkTypes A címkéhez kapcsolódó tartalomjelölési típusok lekérése.

A SensitivityLabelAssignmentType osztály határozza meg, hogyan lett a címke hozzárendelve:

A SensitivityLabelContentType osztály határozza meg a címkéhez kapcsolódó jelölést:

Érték Jelentés
SensitivityLabelContentType.None A címkét alapértelmezés szerint vagy automatikusan alkalmazták.
SensitivityLabelContentType.Header A fejléctartalom jelölése kapcsolódik a címkéhez.
SensitivityLabelContentType.Footer A lábléc tartalom jelölése kapcsolódik a címkéhez.
SensitivityLabelContentType.Watermark A vízjel tartalom jelölése 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 IPresentation.getSensitivityLabels segítségével, és enumerálja azt. A következő példa minden tulajdonságot és tartalomjelölést sorol fel, amely egy címkéhez tárolva van:

import com.aspose.slides.*;

Presentation presentation = new Presentation("presentation.pptx");
try {
    ISensitivityLabelCollection sensitivityLabels = presentation.getSensitivityLabels();

    for (ISensitivityLabel sensitivityLabel : sensitivityLabels) {
        System.out.println("Label ID: " + sensitivityLabel.getId());
        System.out.println("Site ID: " + sensitivityLabel.getSiteId());
        System.out.println("Enabled: " + sensitivityLabel.isEnabled());
        System.out.println("Removed: " + sensitivityLabel.isRemoved());
        System.out.println("Assignment method: " + sensitivityLabel.getAssignmentMethodType());

        for (Integer contentMarkType : sensitivityLabel.getContentMarkTypes()) {
            System.out.println("Content marking: " + contentMarkType);
        }
    }
} finally {
    presentation.dispose();
}

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

Használja a ISensitivityLabelCollection.add metódust a címke azonosítóval, webhelyazonosítóval, engedélyezett állapottal és hozzárendelési módszerrel. Miután a metódus visszaadja az új ISensitivityLabel objektumot, adja hozzá a szükséges jelölési értékeket a ISensitivityLabel.getContentMarkTypes által visszaadott listán keresztül.

A következő példa manuálisan kiválasztott címkét ad hozzá, amely lábléc és vízjel jelölésekkel kapcsolódik, majd PPTX-ként menti az eredményt:

import com.aspose.slides.*;
import java.util.UUID;

Presentation presentation = new Presentation("presentation.pptx");
try {
    ISensitivityLabelCollection sensitivityLabels = presentation.getSensitivityLabels();

    String labelIdentifier = "{11111111-2222-3333-4444-555555555555}";
    UUID siteIdentifier = UUID.fromString("aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee");
    boolean isEnabled = true;
    int assignmentMethod = SensitivityLabelAssignmentType.Privileged;

    ISensitivityLabel sensitivityLabel = sensitivityLabels.add(
            labelIdentifier,
            siteIdentifier,
            isEnabled,
            assignmentMethod);

    sensitivityLabel.getContentMarkTypes().addItem(SensitivityLabelContentType.Footer);
    sensitivityLabel.getContentMarkTypes().addItem(SensitivityLabelContentType.Watermark);

    presentation.save("presentation_with_label.pptx", SaveFormat.Pptx);
} finally {
    presentation.dispose();
}

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

Az ISensitivityLabel értékei olvashatók/írhatók, kivéve, hogy a ISensitivityLabel.getContentMarkTypes által visszaadott lista a lista műveletein keresztül módosítható. A kívánt címke megtalálása után frissítheti annak azonosítóját, webhelyazonosítóját, engedélyezett állapotát, hozzárendelési módszerét, eltávolított állapotát és tartalomjelölési típusait. Mentse a prezentációt a változások elmentéséhez.

A következő példa frissíti az első címke engedélyezett állapotát és hozzárendelési módszerét:

import com.aspose.slides.*;

Presentation presentation = new Presentation("presentation.pptx");
try {
    ISensitivityLabelCollection sensitivityLabels = presentation.getSensitivityLabels();

    if (sensitivityLabels.getCount() > 0) {
        ISensitivityLabel sensitivityLabel = sensitivityLabels.get_Item(0);
        sensitivityLabel.setEnabled(true);
        sensitivityLabel.setAssignmentMethodType(SensitivityLabelAssignmentType.Privileged);
    }

    presentation.save("presentation_with_updated_label.pptx", SaveFormat.Pptx);
} finally {
    presentation.dispose();
}

Érzékenységi címke megjelölése eltávolítottként

A címke eltávolításának megőrzéséhez keresse meg a címkét, és hívja meg a ISensitivityLabel.setRemoved metódust true értékkel. Ez megtartja a címke bejegyzését, miközben rögzíti az eltávolított állapotát. Ha ehelyett a modern gyűjteményből szeretne bejegyzést törölni, használja a ISensitivityLabelCollection.removeAt metódust; a ISensitivityLabelCollection.clear metódus minden bejegyzést töröl.

A következő példa egy konkrét címkét megjelöl eltávolítottként, és elmenti a frissített prezentációt:

import com.aspose.slides.*;

Presentation presentation = new Presentation("presentation.pptx");
try {
    ISensitivityLabelCollection sensitivityLabels = presentation.getSensitivityLabels();
    String targetLabelIdentifier = "{11111111-2222-3333-4444-555555555555}";

    for (ISensitivityLabel sensitivityLabel : sensitivityLabels) {
        boolean isTargetLabel = sensitivityLabel.getId().equalsIgnoreCase(targetLabelIdentifier);

        if (isTargetLabel) {
            sensitivityLabel.setRemoved(true);
            break;
        }
    }

    presentation.save("presentation_with_removed_label.pptx", SaveFormat.Pptx);
} finally {
    presentation.dispose();
}

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

Az idősebb, MIP-alapú munkafolyamatok a modern címkegyűjtemény helyett egyedi dokumentumtulajdonságokban tárolhatják az érzékenységi címke metaadatokat. Olvassa be ezeket a metaadatokat a IDocumentProperties.getSensitivityLabels metódussal. A metódus feldolgozza a régi egyedi tulajdonságokat, és egy ISensitivityLabel objektumok tömbjét adja vissza.

A metaadatok migrálásához adja hozzá az egyes visszaadott címkéket a modern ISensitivityLabelCollection gyűjteményhez a ISensitivityLabelCollection.add segítségével. Mivel egy duplikált címkeazonosító hozzáadása kivételt vált ki, a példa a másolás előtt ellenőrzi a célgyűjteményt. További ellenőrzést is beépíthet, hogy megerősítse, a régi címke még mindig létezik-e az aktuális Purview szabályzatban.

import com.aspose.slides.*;

Presentation presentation = new Presentation("presentation_with_legacy_labels.pptx");
try {
    ISensitivityLabel[] legacySensitivityLabels = presentation.getDocumentProperties().getSensitivityLabels();
    ISensitivityLabelCollection modernSensitivityLabels = presentation.getSensitivityLabels();

    for (ISensitivityLabel legacySensitivityLabel : legacySensitivityLabels) {
        boolean labelAlreadyExists = false;

        for (ISensitivityLabel modernSensitivityLabel : modernSensitivityLabels) {
            labelAlreadyExists = modernSensitivityLabel.getId().equalsIgnoreCase(
                    legacySensitivityLabel.getId());

            if (labelAlreadyExists) {
                break;
            }
        }

        if (!labelAlreadyExists) {
            modernSensitivityLabels.add(legacySensitivityLabel);
        }
    }

    presentation.save("presentation_with_modern_labels.pptx", SaveFormat.Pptx);
} finally {
    presentation.dispose();
}

A migráció a feldolgozott címkeobjektumokat a modern gyűjteménybe másolja. Nem szükséges az összes egyedi dokumentumtulajdonságot törölni, így a nem kapcsolódó dokumentummetaadatok érintetlenek maradnak. Használja az IPresentation.save metódust a SaveFormat.Pptx lehetőséggel a modern címke metaadatok PPTX fájlba írásához.

GYIK

Létrehoz-e egy tartalomjelölés típus látható fejléct, láblécet vagy vízjelet a diákon?

Nem. A ISensitivityLabel.getContentMarkTypes listáján keresztül hozzáadott értékek a címkéhez kapcsolódó jelöléseket írják le. Nem hoznak létre látható szöveget vagy alakzatot a prezentációban. A megfelelő 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 megjelölése és a gyűjteményből való törlése között?

A ISensitivityLabel.setRemoved true értékkel való meghívása megtartja a címke bejegyzését, és rögzíti az eltávolított állapotát. A ISensitivityLabelCollection.removeAt meghívása a bejegyzést törli a modern gyűjteményből. Válassza azt a műveletet, amelyik megfelel a szervezet metaadat-megőrzési követelményeinek.

Tartalmazhat-e egy prezentáció egyszerre régi MIP metaadatokat és modern érzékenységi címkéket?

Igen. A régi címkék maradhatnak az egyedi dokumentumtulajdonságokban, míg a modern címkék a IPresentation.getSensitivityLabels segítségével érhetők el. Használja a IDocumentProperties.getSensitivityLabels metódust a régi metaadatok olvasásához, és migrálja csak azokat a címkéket, amelyek még nincsenek jelen a modern gyűjteményben.

Mi történik, ha ugyanazzal az azonosítóval rendelkező címkét többször hozzáadják?

Az ISensitivityLabelCollection.add kivételt dob, ha a gyűjtemény már tartalmaz egy azonos azonosítóval rendelkező címkét. Ellenőrizze a ISensitivityLabel.getId által visszaadott meglévő értékeket, mielőtt hozzáadna vagy migrálná a címkéket.

Melyik 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 a IPresentation.save metódus SaveFormat.Pptx paraméterrel történő meghívásával, ahogyan a fenti példák mutatják.