PowerPoint Sunumlarında Python ile Duyarlılık Etiketlerini Yönet

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 daha eski bir Microsoft Information Protection (MIP) iş akışı tarafından yazılmış etiket üst verilerini taşımak zorunda kalabilir.

Aspose.Slides for Python via .NET, modern duyarlılık etiketi üst verilerini Presentation.sensitivity_labels aracılığıyla sunar. Bu özellik, sunum PPTX olarak kaydedilmeden önce incelenebilen ve değiştirilebilen bir SensitivityLabelCollection döndürür.

Duyarlılık Etiketi Özelliklerini Anlayın

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

Özellik Amaç
SensitivityLabel.id Purview politikasındaki duyarlılık etiketini tanımlar.
SensitivityLabel.site_id Etiket politikasına bağlı siteyi tanımlar.
SensitivityLabel.is_enabled Etiketin etkin olup olmadığını gösterir.
SensitivityLabel.is_removed Etiketin kaldırıldığını gösterir. Kaldırma durumu üst veride tutulmalıysa bu özelliği True olarak ayarlayın.
SensitivityLabel.assignment_method_type Etiketin otomatik olarak mı yoksa bir kullanıcı kararıyla mı uygulandığını belirler.
SensitivityLabel.content_mark_types Etiketle ilişkili içerik işaretleme türlerini listeler.

SensitivityLabelAssignmentType sayımı, bir etiketin nasıl atandığını açıklar:

SensitivityLabelContentType sayımı, bir etiketle ilişkili işaretlemeyi belirler:

Değer Anlam
SensitivityLabelContentType.NONE Etiket varsayılan veya otomatik olarak uygulanmıştır.
SensitivityLabelContentType.HEADER Üst bilgi içerik işaretlemesi etiketle ilişkilendirilir.
SensitivityLabelContentType.FOOTER Alt bilgi içerik işaretlemesi etiketle ilişkilendirilir.
SensitivityLabelContentType.WATERMARK Filigran içerik işaretlemesi etiketle ilişkilendirilir.
SensitivityLabelContentType.ENCRYPTION Şifreleme koruması etiketle ilişkilendirilir.

Bir etikete birden fazla işaretleme türü ilişkilendirilebilir.

Mevcut Duyarlılık Etiketlerini Listele

Presentation.sensitivity_labels üzerinden modern etiket koleksiyonunu okuyun ve yineleyin. Aşağıdaki örnek, her etiket için depolanan tüm özellikleri ve içerik işaretlemelerini listeler:

import aspose.slides as slides

with slides.Presentation("presentation.pptx") as presentation:
    sensitivity_labels = presentation.sensitivity_labels

    for sensitivity_label in sensitivity_labels:
        print("Label ID:", sensitivity_label.id)
        print("Site ID:", sensitivity_label.site_id)
        print("Enabled:", sensitivity_label.is_enabled)
        print("Removed:", sensitivity_label.is_removed)
        print("Assignment method:", sensitivity_label.assignment_method_type)

        for content_mark_type in sensitivity_label.content_mark_types:
            print("Content marking:", content_mark_type)

İçerik İşaretlemesiyle Bir Duyarlılık Etiketi Ekle

SensitivityLabelCollection.add yöntemini etiket tanımlayıcısı, site tanımlayıcısı, etkin durumu ve atama yöntemiyle kullanın. Site tanımlayıcısını bir Python uuid.UUID nesnesi olarak gönderin. Yöntem yeni bir SensitivityLabel döndürdükten sonra, gerekli işaretleme değerlerini SensitivityLabel.content_mark_types listesine ekleyin.

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

import uuid
import aspose.slides as slides

with slides.Presentation("presentation.pptx") as presentation:
    sensitivity_labels = presentation.sensitivity_labels

    label_identifier = "{11111111-2222-3333-4444-555555555555}"
    site_identifier = uuid.UUID("aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee")
    is_enabled = True
    assignment_method = slides.SensitivityLabelAssignmentType.PRIVILEGED

    sensitivity_label = sensitivity_labels.add(
        label_identifier,
        site_identifier,
        is_enabled,
        assignment_method
    )

    sensitivity_label.content_mark_types.append(slides.SensitivityLabelContentType.FOOTER)
    sensitivity_label.content_mark_types.append(slides.SensitivityLabelContentType.WATERMARK)

    presentation.save("presentation_with_label.pptx", slides.export.SaveFormat.PPTX)

Bir Duyarlılık Etiketini Güncelle

SensitivityLabel özellikleri okuma/yazma yapılabilir; ancak SensitivityLabel.content_mark_types tarafından döndürülen liste, liste işlemleriyle 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 aspose.slides as slides

with slides.Presentation("presentation.pptx") as presentation:
    sensitivity_labels = presentation.sensitivity_labels

    if sensitivity_labels.count > 0:
        sensitivity_label = sensitivity_labels[0]
        sensitivity_label.is_enabled = True
        sensitivity_label.assignment_method_type = (
            slides.SensitivityLabelAssignmentType.PRIVILEGED
        )

    presentation.save("presentation_with_updated_label.pptx", slides.export.SaveFormat.PPTX)

Bir Duyarlılık Etiketini Kaldırıldı Olarak İşaretle

Bir etiketin kaldırıldığını korumak için etiketi bulun ve SensitivityLabel.is_removed özelliğini True olarak ayarlayın. Bu, etiket girişini tutarken kaldırılmış durumunu kaydeder. Modern koleksiyondan bir girişi tamamen silmek isterseniz, SensitivityLabelCollection.remove_at yöntemini kullanın; tüm girişleri silmek için SensitivityLabelCollection.clear yöntemini kullanın.

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

import aspose.slides as slides

with slides.Presentation("presentation.pptx") as presentation:
    sensitivity_labels = presentation.sensitivity_labels
    target_label_identifier = "{11111111-2222-3333-4444-555555555555}"

    for sensitivity_label in sensitivity_labels:
        identifiers_match = (
            sensitivity_label.id.casefold() == target_label_identifier.casefold()
        )

        if identifiers_match:
            sensitivity_label.is_removed = True
            break

    presentation.save("presentation_with_removed_label.pptx", slides.export.SaveFormat.PPTX)

Eski MIP Duyarlılık Etiketlerini Oku ve Taşı

Eski MIP tabanlı iş akışları, duyarlılık etiketi üst verilerini modern etiket koleksiyonu yerine özel belge özelliklerinde saklayabilir. Bu üst verileri DocumentProperties.get_sensitivity_labels yöntemiyle okuyun. Yöntem, eski özel özellikleri ayrıştırır ve SensitivityLabel nesneleri döndürür.

Üst verileri taşımak için, döndürülen her etiketi modern SensitivityLabelCollection içine SensitivityLabelCollection.add ile ekleyin. Aynı etiket tanımlayıcısının eklenmesi bir istisna oluşturduğundan, örnek her etiketi kopyalamadan önce hedef koleksiyonun mevcut olup olmadığını kontrol eder. Her eski etiketin hâlâ geçerli Purview politikanızda bulunup bulunmadığını doğrulamak için ek kontroller ekleyebilirsiniz.

import aspose.slides as slides

with slides.Presentation("presentation_with_legacy_labels.pptx") as presentation:
    legacy_sensitivity_labels = (
        presentation.document_properties.get_sensitivity_labels()
    )
    modern_sensitivity_labels = presentation.sensitivity_labels

    for legacy_sensitivity_label in legacy_sensitivity_labels:
        label_already_exists = False

        for modern_sensitivity_label in modern_sensitivity_labels:
            label_already_exists = (
                modern_sensitivity_label.id.casefold()
                == legacy_sensitivity_label.id.casefold()
            )

            if label_already_exists:
                break

        if not label_already_exists:
            modern_sensitivity_labels.add(legacy_sensitivity_label)

    presentation.save("presentation_with_modern_labels.pptx", slides.export.SaveFormat.PPTX)

Taşıma işlemi, ayrıştırılan etiket nesnelerini modern koleksiyona kopyalar. Tüm özel belge özelliklerini temizlemeye gerek yoktur; bu sayede ilgili olmayan belge üst verileri korunur. Modern etiket üst verilerini bir PPTX dosyasına yazmak için Presentation.save yöntemini SaveFormat.PPTX ile kullanın.

SSS

Bir içerik işaretleme türü eklemek slaytlara görünür bir üst bilgi, alt bilgi veya filigran oluşturur mu?

Hayır. SensitivityLabel.content_mark_types üzerinden 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örsel olarak sunmak zorundaysa, ilgili slayt içeriğini ayrı olarak ekleyin.

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

SensitivityLabel.is_removed özelliğini True olarak ayarlamak, etiket girişini tutar ve kaldırılmış durumunu kaydeder. SensitivityLabelCollection.remove_at yöntemi ise etiketi modern koleksiyondan tamamen siler. Kuruluşunuzun ü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 Presentation.sensitivity_labels üzerinden erişilebilir. Eski üst verileri okumak ve yalnızca modern koleksiyonda hâlâ bulunmayan geçerli etiketleri taşımak için DocumentProperties.get_sensitivity_labels yöntemini kullanın.

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

SensitivityLabelCollection.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 SensitivityLabel.id değerlerini kontrol edin.

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

Yukarıdaki örneklerde gösterildiği gibi, Presentation.save yöntemini SaveFormat.PPTX ile çağırarak sunumu PPTX olarak kaydedin.