Διαχείριση ετικετών ευαισθησίας σε παρουσιάσεις PowerPoint στο .NET

Επισκόπηση

Οι ετικέτες ευαισθησίας Microsoft Purview βοηθούν οργανισμούς να ταξινομούν και να διαχειρίζονται έγγραφα. Κατά την αυτόματη επεξεργασία παρουσίασης, μια εφαρμογή ενδέχεται να χρειαστεί να διατηρήσει μια υπάρχουσα ετικέτα, να εφαρμόσει μια ετικέτα που επιλέχθηκε από πολιτική, να ενημερώσει την κατάσταση της ή να μεταφέρει μεταδεδομένα ετικέτας που γράφτηκε από παλαιότερη ροή εργασίας Microsoft Information Protection (MIP).

Το Aspose.Slides εκθέτει σύγχρονα μεταδεδομένα ετικέτας ευαισθησίας μέσω Presentation.SensitivityLabels. Αυτή η ιδιότητα επιστρέφει ένα ISensitivityLabelCollection που μπορεί να εξεταστεί και να τροποποιηθεί πριν αποθηκευτεί η παρουσίαση ως PPTX.

Κατανόηση Ιδιοτήτων Ετικέτας Ευαισθησίας

Κάθε ISensitivityLabel περιέχει τα παρακάτω μεταδεδομένα:

Ιδιότητα Σκοπός
ISensitivityLabel.Id Ταυτοποιεί την ετικέτα ευαισθησίας στην πολιτική Purview.
ISensitivityLabel.SiteId Ταυτοποιεί τον ιστότοπο που συσχετίζεται με την πολιτική ετικέτας.
ISensitivityLabel.IsEnabled Δείχνει εάν η ετικέτα είναι ενεργοποιημένη.
ISensitivityLabel.IsRemoved Δείχνει ότι η ετικέτα έχει αφαιρεθεί. Ορίστε αυτήν την ιδιότητα σε true όταν η κατάσταση αφαίρεσης πρέπει να διατηρηθεί στα μεταδεδομένα.
ISensitivityLabel.AssignmentMethodType Καθορίζει εάν η ετικέτα εφαρμόστηκε αυτόματα ή μέσω απόφασης χρήστη.
ISensitivityLabel.ContentMarkTypes Καταγράφει τους τύπους σημάνσεων περιεχομένου που σχετίζονται με την ετικέτα.

Η απαρίθμηση SensitivityLabelAssignmentType περιγράφει πώς έχει εκχωρηθεί μια ετικέτα:

  • SensitivityLabelAssignmentType.Standard αντιπροσωπεύει προεπιλεγμένη ή αυτόματα εφαρμοσμένη ετικέτα.
  • SensitivityLabelAssignmentType.Privileged αντιπροσωπεύει ετικέτα που εφαρμόστηκε μέσω απόφασης χρήστη, συμπεριλαμβανομένων των χειροκίνητων, προτεινόμενων και υποχρεωτικών ετικετών.

Η απαρίθμηση SensitivityLabelContentType προσδιορίζει τη σημάνση που σχετίζεται με μια ετικέτα:

Τιμή Σημασία
SensitivityLabelContentType.None Η ετικέτα εφαρμόστηκε προεπιλογή ή αυτόματα.
SensitivityLabelContentType.Header Η σημάνση περιεχομένου κεφαλίδας σχετίζεται με την ετικέτα.
SensitivityLabelContentType.Footer Η σημάνση περιεχομένου υποσέλιδου σχετίζεται με την ετικέτα.
SensitivityLabelContentType.Watermark Η σημάνση υδατογράφησης σχετίζεται με την ετικέτα.
SensitivityLabelContentType.Encryption Η κρυπτογραφική προστασία σχετίζεται με την ετικέτα.

Πολλοί τύποι σημάνσεων μπορούν να συσχετισθούν με μία ετικέτα.

Λίστα Υπαρχουσών Ετικετών Ευαισθησίας

Διαβάστε τη σύγχρονη συλλογή ετικετών από Presentation.SensitivityLabels και κάντε την επανάληψη. Το παρακάτω παράδειγμα καταχωρεί κάθε ιδιότητα και σημάνση περιεχομένου που αποθηκεύεται για κάθε ετικέτα:

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

Προσθήκη Ετικέτας Ευαισθησίας με Σημάνση Περιεχομένου

Χρησιμοποιήστε ISensitivityLabelCollection.Add με τον ταυτοποιητή ετικέτας, τον ταυτοποιητή ιστότοπου, την κατάσταση ενεργοποίησης και τη μέθοδο εκχώρησης. Αφού η μέθοδος επιστρέψει το νέο ISensitivityLabel, προσθέστε τις απαιτούμενες τιμές σημάνσεων μέσω ISensitivityLabel.ContentMarkTypes.

Το παρακάτω παράδειγμα προσθέτει χειροκίνητα επιλεγμένη ετικέτα που σχετίζεται με σημάνσεις υποσέλιδου και υδατογραφήματος και, στη συνέχεια, αποθηκεύει το αποτέλεσμα ως 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);

Ενημέρωση Ετικέτας Ευαισθησίας

Οι ιδιότητες του ISensitivityLabel είναι αναγνώσιμες/εγγράψιμες, εκτός από τη συλλογή που επιστρέφεται από ISensitivityLabel.ContentMarkTypes η οποία τροποποιείται μέσω των λειτουργιών λίστας της. Αφού εντοπίσετε την απαιτούμενη ετικέτα, μπορείτε να ενημερώσετε τον ταυτοποιητή, τον ταυτοποιητή ιστότοπου, την κατάσταση ενεργοποίησης, τη μέθοδο εκχώρησης, την κατάσταση αφαίρεσης και τους τύπους σημάνσεων περιεχομένου. Αποθηκεύστε την παρουσίαση για να διατηρήσετε τις αλλαγές.

Το παρακάτω παράδειγμα ενημερώνει την κατάσταση ενεργοποίησης και τη μέθοδο εκχώρησης της πρώτης ετικέτας:

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

Σήμανση Ετικέτας Ευαισθησίας Ως Αφαιρεμένη

Για να διατηρήσετε το γεγονός ότι μια ετικέτα αφαιρέθηκε, βρείτε την ετικέτα και ορίστε το ISensitivityLabel.IsRemoved σε true. Αυτό διατηρεί την καταχώρηση ετικέτας ενώ καταγράφει την κατάσταση αφαίρεσης. Εάν αντίθετα χρειάζεται να διαγράψετε μια καταχώρηση από τη σύγχρονη συλλογή, χρησιμοποιήστε ISensitivityLabelCollection.RemoveAt; χρησιμοποιήστε ISensitivityLabelCollection.Clear για να διαγράψετε όλες τις καταχωρήσεις.

Το παρακάτω παράδειγμα σηματοδοτεί μια συγκεκριμένη ετικέτα ως αφαιρεμένη και αποθηκεύει την ενημερωμένη παρουσίαση:

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

Ανάγνωση και Μεταφορά Παλαιών Ετικετών MIP Ευαισθησίας

Οι παλαιότερες ροές εργασίας βασισμένες σε MIP μπορούν να αποθηκεύουν μεταδεδομένα ετικέτας ευαισθησίας σε προσαρμοσμένες ιδιότητες εγγράφου αντί για τη σύγχρονη συλλογή ετικετών. Διαβάστε αυτά τα μεταδεδομένα με το IDocumentProperties.GetSensitivityLabels. Η μέθοδος αναλύει τις κληροδοτημένες προσαρμοσμένες ιδιότητες και επιστρέφει έναν πίνακα αντικειμένων ISensitivityLabel.

Για να μεταφέρετε τα μεταδεδομένα, προσθέστε κάθε επιστρεφόμενη ετικέτα στη σύγχρονη ISensitivityLabelCollection μέσω του ISensitivityLabelCollection.Add. Δεδομένου ότι η προσθήκη διπλότυπου ταυτοποιητή ετικέτας προκαλεί εξαίρεση, το παράδειγμα ελέγχει τη συλλογή προορισμού πριν αντιγράψει κάθε ετικέτα. Μπορείτε να προσθέσετε περαιτέρω επικύρωση για να επιβεβαιώσετε ότι κάθε κληροδοτημένη ετικέτα εξακολουθεί να υπάρχει στην τρέχουσα πολιτική 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);

Η μεταφορά αντιγράφει τα αναλυθέντα αντικείμενα ετικετών στη σύγχρονη συλλογή. Δεν απαιτεί εκκαθάριση όλων των προσαρμοσμένων ιδιοτήτων εγγράφου, ώστε τα μη σχετιζόμενα μεταδεδομένα του εγγράφου να παραμείνουν άθικτα. Χρησιμοποιήστε το IPresentation.Save με το SaveFormat.Pptx για να γράψετε τα σύγχρονα μεταδεδομένα ετικετών σε αρχείο PPTX.

Συχνές Ερωτήσεις

Δημιουργεί η προσθήκη τύπου σημάνσης περιεχομένου ορατή κεφαλίδα, υποσέλιδο ή υδατογράφημα στις διαφάνειες;

Όχι. Οι τιμές που προστίθενται μέσω του ISensitivityLabel.ContentMarkTypes περιγράφουν τις σημάνσεις που σχετίζονται με την ετικέτα ευαισθησίας. Δεν δημιουργούν ορατό κείμενο ή σχήματα στην παρουσίαση. Προσθέστε το αντίστοιχο περιεχόμενο διαφάνειας ξεχωριστά εάν η ροή εργασίας σας πρέπει να αποτυπώσει αυτές τις σημάνσεις.

Ποια είναι η διαφορά μεταξύ σήμανσης μιας ετικέτας ως αφαιρεμένης και διαγραφής της από τη συλλογή;

Ο ορισμός του ISensitivityLabel.IsRemoved σε true διατηρεί την καταχώρηση ετικέτας και καταγράφει την κατάσταση αφαίρεσης. Η κλήση του ISensitivityLabelCollection.RemoveAt διαγράφει την καταχώρηση από τη σύγχρονη συλλογή. Επιλέξτε τη λειτουργία που ταιριάζει στις απαιτήσεις διατήρησης μεταδεδομένων του οργανισμού σας.

Μπορεί μια παρουσίαση να περιέχει τόσο κληροδοτημένα μεταδεδομένα MIP όσο και σύγχρονες ετικέτες ευαισθησίας;

Ναι. Οι κληροδοτημένες ετικέτες μπορούν να παραμείνουν σε προσαρμοσμένες ιδιότητες εγγράφου, ενώ οι σύγχρονες ετικέτες διατίθενται μέσω του Presentation.SensitivityLabels. Χρησιμοποιήστε το IDocumentProperties.GetSensitivityLabels για να διαβάσετε τα κληροδοτημένα μεταδεδομένα και να μεταφέρετε μόνο τις έγκυρες ετικέτες που δεν υπάρχουν ήδη στη σύγχρονη συλλογή.

Τι συμβαίνει όταν μια ετικέτα με τον ίδιο ταυτοποιητή προστίθεται περισσότερες από μία φορές;

Το ISensitivityLabelCollection.Add πετάει ArgumentException όταν η συλλογή περιέχει ήδη ετικέτα με τον ίδιο ταυτοποιητή. Ελέγξτε τις υπάρχουσες τιμές του ISensitivityLabel.Id πριν προσθέσετε ή μεταφέρετε ετικέτες.

Ποια μορφή εξόδου πρέπει να χρησιμοποιηθεί για τη διατήρηση των ενημερωμένων ετικετών ευαισθησίας;

Αποθηκεύστε την παρουσίαση ως PPTX καλώντας το IPresentation.Save με το SaveFormat.Pptx, όπως φαίνεται στα παραπάνω παραδείγματα.