Android'de PowerPoint Sunumlarında Duyarlılık Etiketlerini Yönetme

Genel Bakış

Microsoft Purview duyarlılık etiketleri, kuruluşların belgeleri sınıflandırmasına ve yönetmesine yardımcı olur. Otomatik sunum işleme sırasında, bir uygulama mevcut bir etiketi korumak, bir politika tarafından seçilen bir etiketi uygulamak, durumunu güncellemek veya eski bir Microsoft Information Protection (MIP) iş akışı tarafından yazılmış etiket üst verilerini taşımak isteyebilir.

Aspose.Slides for Android via Java, modern duyarlılık etiketi üst verilerini IPresentation.getSensitivityLabels aracılığıyla sunar. Bu yöntem, sunum PPTX olarak kaydedilmeden önce incelenebilen ve değiştirilebilen bir ISensitivityLabelCollection döndürür.

Duyarlılık Etiketi Özelliklerini Anlama

Her bir ISensitivityLabel aşağıdaki üst verileri içerir:

Yöntemler Amaç
ISensitivityLabel.getId ve ISensitivityLabel.setId Purview politikasındaki duyarlılık etiketi tanımlayıcısını alır veya ayarlar.
ISensitivityLabel.getSiteId ve ISensitivityLabel.setSiteId Etiket politikasına ilişkili siteyi alır veya ayarlar.
ISensitivityLabel.isEnabled ve ISensitivityLabel.setEnabled Etiketin etkin olup olmadığını alır veya ayarlar.
ISensitivityLabel.isRemoved ve ISensitivityLabel.setRemoved Etiketin kaldırılmış olup olmadığını alır veya ayarlar. Kaldırma durumunun üst veride tutulması gerektiğinde değeri true olarak ayarlayın.
ISensitivityLabel.getAssignmentMethodType ve ISensitivityLabel.setAssignmentMethodType Etiketin otomatik olarak mı yoksa kullanıcı kararıyla mı uygulandığını alır veya ayarlar.
ISensitivityLabel.getContentMarkTypes Etiketle ilişkili içerik işaretleme türlerini alır.

SensitivityLabelAssignmentType sınıfı, bir etiketin nasıl atandığını tanımlar:

SensitivityLabelContentType sınıfı, bir etiketle ilişkili işaretlemeyi tanımlar:

Değer Anlam
SensitivityLabelContentType.None Etiket varsayılan olarak veya otomatik olarak uygulanmıştır.
SensitivityLabelContentType.Header Başlık içerik işaretlemesi etiketle ilişkilidir.
SensitivityLabelContentType.Footer Altbilgi içerik işaretlemesi etiketle ilişkilidir.
SensitivityLabelContentType.Watermark Filigran içerik işaretlemesi etiketle ilişkilidir.
SensitivityLabelContentType.Encryption Şifreleme koruması etiketle ilişkilidir.

Bir etiket birden çok işaretleme türüyle ilişkilendirilebilir.

Mevcut Duyarlılık Etiketlerini Listeleme

IPresentation.getSensitivityLabels üzerinden modern etiket koleksiyonunu okuyun ve enumerate edin. Aşağıdaki örnek, her etiket için saklanan tüm özellikleri ve içerik işaretlemelerini listeler:

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

İçerik İşaretleme ile Duyarlılık Etiketi Ekleme

ISensitivityLabelCollection.add yöntemini etiket tanımlayıcısı, site tanımlayıcısı, etkin durumu ve atama yöntemiyle kullanın. Yöntem yeni bir ISensitivityLabel döndürdükten sonra, gereken işaretleme değerlerini ISensitivityLabel.getContentMarkTypes tarafından döndürülen listeye ekleyin.

Aşağıdaki örnek, altbilgi ve filigran işaretlemeleriyle ilişkilendirilmiş manuel seçilmiş bir etiket ekler ve ardından sonucu PPTX olarak kaydeder:

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

Duyarlılık Etiketini Güncelleme

ISensitivityLabel değerleri okuma/yazma özelliktedir; ancak ISensitivityLabel.getContentMarkTypes tarafından döndürülen liste, liste operasyonları aracılığıyla değiştirilir. Gerekli etiketi bulduktan sonra, tanımlayıcısını, site tanımlayıcısını, etkin durumunu, atama yöntemini, kaldırma durumunu ve içerik işaretleme türlerini güncelleyebilirsiniz. Değişiklikleri kalıcı kılmak için sunumu kaydedin.

Aşağıdaki örnek, ilk etiketin etkin durumunu ve atama yöntemini günceller:

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

Bir Duyarlılık Etiketini Kaldırılmış Olarak İşaretleme

Bir etiketin kaldırıldığını korumak için etiketi bulun ve ISensitivityLabel.setRemoved yöntemini true ile çağırın. Bu, etiket girişini tutarken kaldırılmış durumunu kaydeder. Modern koleksiyondan bir girişi tamamen silmek isterseniz, ISensitivityLabelCollection.removeAt kullanın; tüm girişleri silmek için ISensitivityLabelCollection.clear kullanın.

Aşağıdaki örnek, belirli bir etiketi kaldırılmış olarak işaretler ve güncellenmiş sunumu kaydeder:

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

Eski MIP Duyarlılık Etiketlerini Okuma ve Taşıma

Eski MIP tabanlı iş akışları, duyarlılık etiketi üst verilerini modern etiket koleksiyonu yerine özel belge özelliklerinde saklayabilir. Bu üst verileri IDocumentProperties.getSensitivityLabels ile okuyun. Yöntem, eski özel özellikleri ayrıştırır ve bir dizi ISensitivityLabel nesnesi döndürür.

Üst verileri taşımak için, her döndürülen etiketi modern ISensitivityLabelCollection içine ISensitivityLabelCollection.add ile ekleyin. Çift etiket tanımlayıcısının eklenmesi bir istisna fırlattığından, örnek her etiketi kopyalamadan önce hedef koleksiyonu kontrol eder. Her eski etiketin hâlâ geçerli Purview politikasında bulunup bulunmadığını doğrulamak için ek kontroller ekleyebilirsiniz.

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

Taşıma, ayrıştırılan etiket nesnelerini modern koleksiyona kopyalar. Tüm özel belge özelliklerinin temizlenmesini gerektirmez; böylece ilgili olmayan belge üst verileri bozulmaz. Modern etiket üst verilerini bir PPTX dosyasına yazmak için IPresentation.save ile SaveFormat.Pptx kullanın.

SSS

Bir içerik işaretleme türü eklemek slaytlarda görünen bir başlık, altbilgi veya filigran oluşturur mu?

Hayır. ISensitivityLabel.getContentMarkTypes aracılığıyla eklenen değerler, duyarlılık etiketiyle ilişkili işaretlemeleri tanımlar. Sunumda görünür metin veya şekil oluşturmazlar. İş akışınız bu işaretlemeleri göstermek zorundaysa, ilgili slayt içeriğini ayrı olarak ekleyin.

Bir etiketi kaldırılmış olarak işaretlemek ile koleksiyondan silmek arasındaki fark nedir?

ISensitivityLabel.setRemoved yöntemini true ile çağırmak, etiketi tutar ve kaldırılmış durumunu kaydeder. ISensitivityLabelCollection.removeAt yöntemi ise etiketi modern koleksiyondan tamamen siler. Organizasyonunuzun üst veri saklama gereksinimlerine uygun olan işlemi seçin.

Bir sunum hem eski MIP üst verilerini hem de modern duyarlılık etiketlerini içerebilir mi?

Evet. Eski etiketler özel belge özelliklerinde kalabilirken, modern etiketler IPresentation.getSensitivityLabels aracılığıyla erişilebilir. Eski üst verileri okumak ve hâlâ modern koleksiyonda olmayan geçerli etiketleri taşımak için IDocumentProperties.getSensitivityLabels kullanın.

Aynı tanımlayıcıya sahip bir etiket birden çok kez eklendiğinde ne olur?

ISensitivityLabelCollection.add yöntemi, koleksiyon zaten aynı tanımlayıcıya sahip bir etiket içeriyorsa bir istisna fırlatır. Etiket eklemeden veya taşımadan önce mevcut değerleri ISensitivityLabel.getId ile kontrol edin.

Güncellenen duyarlılık etiketlerini korumak için hangi çıktı formatı kullanılmalıdır?

Sunumu, yukarıdaki örneklerde gösterildiği gibi, IPresentation.save yöntemini SaveFormat.Pptx ile çağırarak PPTX formatında kaydedin.