.NET'te 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 daha eski bir Microsoft Information Protection (MIP) akışı tarafından yazılan etiket üst verilerini taşımak zorunda kalabilir.
Aspose.Slides, modern duyarlılık etiketi üst verilerini Presentation.SensitivityLabels aracılığıyla ortaya koyar. Bu özellik, ISensitivityLabelCollection döndürür; bu koleksiyon, sunum PPTX olarak kaydedilmeden önce incelenebilir ve değiştirilebilir.
Note
Duyarlılık etiketi tanımlayıcıları ve politika bilgileri, Microsoft Purview yapılandırmanız tarafından tanımlanır. Üst verileri eklemeden veya taşımadan önce ortamınızda etiket kullanılabilirliğini ve politika gereksinimlerini doğrulayın. ISensitivityLabel.ContentMarkTypes değerleri, bir etiketle ilişkilendirilen içerik işaretlemelerini açıklar; bunlar tek başına slaytlara görünür metin veya şekil eklemez.Duyarlılık Etiketi Özelliklerini Anlama
Her ISensitivityLabel aşağıdaki üst verileri içerir:
| Özellik | Amaç |
|---|---|
| ISensitivityLabel.Id | Purview politikasındaki duyarlılık etiketini tanımlar. |
| ISensitivityLabel.SiteId | Etiket politikasıyla ilişkili siteyi tanımlar. |
| ISensitivityLabel.IsEnabled | Etiketin etkin olup olmadığını gösterir. |
| ISensitivityLabel.IsRemoved | Etiketin kaldırıldığını gösterir. Kaldırma durumu meta veride tutulmalıysa bu özelliği true olarak ayarlayın. |
| ISensitivityLabel.AssignmentMethodType | Etiketin otomatik olarak mı yoksa kullanıcı kararıyla mı uygulandığını belirtir. |
| ISensitivityLabel.ContentMarkTypes | Etiketle ilişkili içerik işaretleme türlerini listeler. |
SensitivityLabelAssignmentType sayımı, bir etiketin nasıl atandığını açıklar:
- SensitivityLabelAssignmentType.Standard varsayılan veya otomatik olarak uygulanan etiketi temsil eder.
- SensitivityLabelAssignmentType.Privileged kullanıcı kararıyla uygulanan etiketi temsil eder; bunlar manuel olarak uygulanan, önerilen ve zorunlu etiketleri içerir.
SensitivityLabelContentType sayımı, 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 | Üst bilgi (header) içerik işaretlemesi etiketle ilişkilidir. |
| SensitivityLabelContentType.Footer | Alt bilgi (footer) içerik işaretlemesi etiketle ilişkilidir. |
| SensitivityLabelContentType.Watermark | Filigran (watermark) içerik işaretlemesi etiketle ilişkilidir. |
| SensitivityLabelContentType.Encryption | Şifreleme koruması etiketle ilişkilidir. |
Bir etiketle birden fazla işaretleme türü ilişkilendirilebilir.
Mevcut Duyarlılık Etiketlerini Listeleme
Modern etiket koleksiyonunu Presentation.SensitivityLabels üzerinden okuyun ve listeleyin. Aşağıdaki örnek, her etiket için saklanan tüm özellikleri ve içerik işaretlemelerini listeler:
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);
}
}
İç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öntemi ile kullanın. Yöntem yeni bir ISensitivityLabel döndürdükten sonra, gerekli işaretleme değerlerini ISensitivityLabel.ContentMarkTypes aracılığıyla ekleyin.
Aşağıdaki örnek, alt bilgi ve filigran işaretlemeleriyle ilişkili manuel olarak seçilmiş bir etiket ekler ve ardından sonucu PPTX olarak kaydeder:
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);
Duyarlılık Etiketini Güncelleme
ISensitivityLabel özellikleri okunabilir/yazılabilir, ancak ISensitivityLabel.ContentMarkTypes tarafından döndürülen koleksiyon, liste operasyonları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ılaştırmak için sunumu kaydedin.
Aşağıdaki örnek, ilk etiketin etkin durumunu ve atama yöntemini günceller:
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);
Duyarlılık Etiketini Kaldırıldı Olarak İşaretleme
Bir etiketin kaldırılmış olduğunu korumak için, etiketi bulun ve ISensitivityLabel.IsRemoved özelliğini true olarak ayarlayın. Bu, etiket girişini kaldırılmış durumunu kaydederek tutar. Modern koleksiyondan bir girişi silmeniz gerekiyorsa, ISensitivityLabelCollection.RemoveAt kullanın; tüm girişleri silmek için ISensitivityLabelCollection.Clear kullanın.
Aşağıdaki örnek, belirli bir etiketi kaldırıldı olarak işaretler ve güncellenmiş sunumu kaydeder:
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);
Eski MIP Duyarlılık Etiketlerini Okuma ve Taşıma
Daha eski MIP tabanlı iş akışları, modern etiket koleksiyonu yerine özel belge özelliklerinde duyarlılık etiketi üst verilerini depolayabilir. 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, döndürülen her etiketi modern ISensitivityLabelCollection ISensitivityLabelCollection.Add aracılığıyla ekleyin. Yinelenen bir etiket tanımlayıcısı eklemek bir istisna fırlattığından, örnek her etiketi kopyalamadan önce hedef koleksiyonu kontrol eder. Her eski etiketin hâlâ mevcut Purview politikasında mevcut olduğunu doğrulamak için ek doğrulama ekleyebilirsiniz.
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);
Taşıma, ayrıştırılan etiket nesnelerini modern koleksiyona kopyalar. Tüm özel belge özelliklerini temizlemeye gerek yoktur, bu nedenle alakasız belge üst verileri olduğu gibi kalır. Modern etiket üst verilerini bir PPTX dosyasına yazmak için IPresentation.Save ile SaveFormat.Pptx kullanın.
FAQ
Bir içerik işaretleme türü eklemek slaytlarda görünür bir üst bilgi, alt bilgi veya filigran oluşturur mu?
Hayır. ISensitivityLabel.ContentMarkTypes aracılığıyla eklenen değerler, duyarlılık etiketiyle ilişkili işaretlemeleri tanımlar. Bunlar sunumda görünür metin veya şekil oluşturmaz. İş akışınız bu işaretlemeleri göstermek zorundaysa ilgili slayt içeriğini ayrı olarak ekleyin.
Bir etiketi kaldırıldı olarak işaretlemek ile koleksiyondan silmek arasındaki fark nedir?
ISensitivityLabel.IsRemoved özelliğini true olarak ayarlamak, etiket girişini tutar ve kaldırılmış durumunu kaydeder. ISensitivityLabelCollection.RemoveAt çağrısı, modern koleksiyondan girişi siler. Kuruluşunuzun üst veri saklama gereksinimlerine uygun 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.SensitivityLabels aracılığıyla erişilebilir. Eski üst verileri okumak için IDocumentProperties.GetSensitivityLabels kullanın ve modern koleksiyonda hâlihazırda bulunmayan geçerli etiketleri taşıyın.
Aynı tanımlayıcıya sahip bir etiket birden fazla eklendiğinde ne olur?
ISensitivityLabelCollection.Add aynı tanımlayıcıya sahip bir etiket zaten koleksiyonda bulunuyorsa bir ArgumentException fırlatır. Etiket eklemeden veya taşımadan önce mevcut ISensitivityLabel.Id değerlerini kontrol edin.
Güncellenmiş duyarlılık etiketlerini korumak için hangi çıktı formatı kullanılmalıdır?
Yukarıdaki örneklerde gösterildiği gibi, sunumu PPTX olarak kaydetmek için IPresentation.Save ile SaveFormat.Pptx çağırın.