PowerPoint Sunumlarında JavaScript ile 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 zorunda kalabilir.
Aspose.Slides for Node.js via Java, modern duyarlılık etiketi üst verilerini Presentation.getSensitivityLabels aracılığıyla sunar. Bu yöntem, sunum PPTX olarak kaydedilmeden önce incelenebilen ve değiştirilebilen bir SensitivityLabelCollection döndürür.
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ızdaki etiket kullanılabilirliğini ve politika gereksinimlerini doğrulayın. SensitivityLabel.getContentMarkTypes değerleri, bir etiketle ilişkilendirilen içerik işaretlemelerini tanımlar; bunlar tek başına slaytlara görünür metin veya şekil eklemez.Duyarlılık Etiketi Özelliklerini Anlamak
Her SensitivityLabel aşağıdaki üst verileri içerir:
| Yöntemler | Amaç |
|---|---|
| SensitivityLabel.getId ve SensitivityLabel.setId | Purview politikasındaki duyarlılık etiketi tanımlayıcısını alır veya ayarlar. |
| SensitivityLabel.getSiteId ve SensitivityLabel.setSiteId | Etiket politikasına ilişkilendirilen siteyi alır veya ayarlar. |
| SensitivityLabel.isEnabled ve SensitivityLabel.setEnabled | Etiketin etkin olup olmadığını alır veya ayarlar. |
| SensitivityLabel.isRemoved ve SensitivityLabel.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. |
| SensitivityLabel.getAssignmentMethodType ve SensitivityLabel.setAssignmentMethodType | Etiketin otomatik olarak mı yoksa kullanıcı kararıyla mı uygulandığını alır veya ayarlar. |
| SensitivityLabel.getContentMarkTypes | Etiketle ilişkilendirilmiş içerik işaretleme tiplerini alır. |
SensitivityLabelAssignmentType sınıfı, bir etiketin nasıl atandığını tanımlar:
- SensitivityLabelAssignmentType.Standard varsayılan veya otomatik olarak uygulanmış bir etiketi temsil eder.
- SensitivityLabelAssignmentType.Privileged kullanıcı kararıyla uygulanmış bir etiketi temsil eder; manuel olarak uygulanmış, önerilen ve zorunlu etiketleri içerir.
SensitivityLabelContentType sınıfı, bir etiketle ilişkili işaretlemeyi tanımlar:
| Değer | Anlam |
|---|---|
| SensitivityLabelContentType.None | Etiket varsayılan olarak veya otomatik şekilde uygulanmıştır. |
| SensitivityLabelContentType.Header | Üstbilgi içerik işaretlemesi etiketle ilişkilendirilmiştir. |
| SensitivityLabelContentType.Footer | Altbilgi içerik işaretlemesi etiketle ilişkilendirilmiştir. |
| SensitivityLabelContentType.Watermark | Filigran içerik işaretlemesi etiketle ilişkilendirilmiştir. |
| SensitivityLabelContentType.Encryption | Şifreleme koruması etiketle ilişkilendirilmiştir. |
Bir etiketle birden çok işaretleme türü ilişkilendirilebilir.
Mevcut Duyarlılık Etiketlerini Listeleme
Modern etiket koleksiyonunu Presentation.getSensitivityLabels ile okuyun ve enumerate edin. Aşağıdaki örnek, her etiket için saklanan tüm özellikleri ve içerik işaretlemelerini listeler:
const aspose = { slides: require("aspose.slides.via.java") };
const presentation = new aspose.slides.Presentation("presentation.pptx");
try {
const sensitivityLabels = presentation.getSensitivityLabels();
const labelCount = sensitivityLabels.getCount();
for (let labelIndex = 0; labelIndex < labelCount; labelIndex++) {
const sensitivityLabel = sensitivityLabels.get_Item(labelIndex);
const labelIdentifier = sensitivityLabel.getId();
const siteIdentifier = sensitivityLabel.getSiteId();
const isEnabled = sensitivityLabel.isEnabled();
const isRemoved = sensitivityLabel.isRemoved();
const assignmentMethod = sensitivityLabel.getAssignmentMethodType();
console.log("Label ID: " + labelIdentifier);
console.log("Site ID: " + siteIdentifier);
console.log("Enabled: " + isEnabled);
console.log("Removed: " + isRemoved);
console.log("Assignment method: " + assignmentMethod);
const contentMarkTypes = sensitivityLabel.getContentMarkTypes();
const contentMarkCount = contentMarkTypes.size();
for (let contentMarkIndex = 0; contentMarkIndex < contentMarkCount; contentMarkIndex++) {
const contentMarkType = contentMarkTypes.get_Item(contentMarkIndex);
console.log("Content marking: " + contentMarkType);
}
}
} finally {
presentation.dispose();
}
İçerik İşaretlemesiyle Duyarlılık Etiketi Ekleme
SensitivityLabelCollection.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 SensitivityLabel döndürdükten sonra, gerekli işaretleme değerlerini SensitivityLabel.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:
const aspose = { slides: require("aspose.slides.via.java") };
const java = require("java");
const presentation = new aspose.slides.Presentation("presentation.pptx");
try {
const sensitivityLabels = presentation.getSensitivityLabels();
const labelIdentifier = "{11111111-2222-3333-4444-555555555555}";
const siteIdentifier = java.callStaticMethodSync(
"java.util.UUID",
"fromString",
"aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee");
const isEnabled = true;
const assignmentMethod = aspose.slides.SensitivityLabelAssignmentType.Privileged;
const sensitivityLabel = sensitivityLabels.add(
labelIdentifier,
siteIdentifier,
isEnabled,
assignmentMethod);
const contentMarkTypes = sensitivityLabel.getContentMarkTypes();
contentMarkTypes.addItem(aspose.slides.SensitivityLabelContentType.Footer);
contentMarkTypes.addItem(aspose.slides.SensitivityLabelContentType.Watermark);
presentation.save("presentation_with_label.pptx", aspose.slides.SaveFormat.Pptx);
} finally {
presentation.dispose();
}
Duyarlılık Etiketini Güncelleme
SensitivityLabel değerleri okuma/yazma özelliğine sahiptir; ancak SensitivityLabel.getContentMarkTypes 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:
const aspose = { slides: require("aspose.slides.via.java") };
const presentation = new aspose.slides.Presentation("presentation.pptx");
try {
const sensitivityLabels = presentation.getSensitivityLabels();
const labelCount = sensitivityLabels.getCount();
if (labelCount > 0) {
const sensitivityLabel = sensitivityLabels.get_Item(0);
sensitivityLabel.setEnabled(true);
sensitivityLabel.setAssignmentMethodType(
aspose.slides.SensitivityLabelAssignmentType.Privileged);
}
presentation.save("presentation_with_updated_label.pptx", aspose.slides.SaveFormat.Pptx);
} finally {
presentation.dispose();
}
Duyarlılık Etiketini Kaldırılmış Olarak İşaretleme
Bir etiketin kaldırıldığını korumak için, etiketi bulun ve SensitivityLabel.setRemoved yöntemini true ile çağırın. Bu, etiket kaydını tutar ve kaldırma durumunu kaydeder. Bunun yerine modern koleksiyondan bir girişi silmeniz gerekiyorsa, SensitivityLabelCollection.removeAt kullanın; tüm girişleri silmek için SensitivityLabelCollection.clear kullanın.
Aşağıdaki örnek, belirli bir etiketi kaldırılmış olarak işaretler ve güncellenmiş sunumu kaydeder:
const aspose = { slides: require("aspose.slides.via.java") };
const presentation = new aspose.slides.Presentation("presentation.pptx");
try {
const sensitivityLabels = presentation.getSensitivityLabels();
const targetLabelIdentifier = "{11111111-2222-3333-4444-555555555555}";
const labelCount = sensitivityLabels.getCount();
for (let labelIndex = 0; labelIndex < labelCount; labelIndex++) {
const sensitivityLabel = sensitivityLabels.get_Item(labelIndex);
const labelIdentifier = sensitivityLabel.getId();
const isTargetLabel = labelIdentifier.toLowerCase() === targetLabelIdentifier.toLowerCase();
if (isTargetLabel) {
sensitivityLabel.setRemoved(true);
break;
}
}
presentation.save("presentation_with_removed_label.pptx", aspose.slides.SaveFormat.Pptx);
} finally {
presentation.dispose();
}
Eski MIP Duyarlılık Etiketlerini Okuma ve Taşıma
Daha eski MIP tabanlı iş akışları, modern etiket koleksiyonu yerine özelleştirilmiş belge özelliklerinde duyarlılık etiketi üst verilerini depolayabilir. Bu üst verileri DocumentProperties.getSensitivityLabels ile okuyun. Yöntem, eski özelleştirilmiş özellikleri ayrıştırır ve bir SensitivityLabel nesneleri dizisi döndürür.
Üst verileri taşımak için, dönen her etiketi modern SensitivityLabelCollection içine SensitivityLabelCollection.add ile ekleyin. Aynı etiket tanımlayıcısını eklemek bir istisna oluşturduğundan, örnek her etiketi kopyalamadan önce hedef koleksiyonu kontrol eder. Her eski etiketin hâlâ geçerli Purview politikasında mevcut olduğunu doğrulamak için ek doğrulama ekleyebilirsiniz.
const aspose = { slides: require("aspose.slides.via.java") };
const presentation = new aspose.slides.Presentation("presentation_with_legacy_labels.pptx");
try {
const legacySensitivityLabels = presentation.getDocumentProperties().getSensitivityLabels();
const modernSensitivityLabels = presentation.getSensitivityLabels();
for (let legacyLabelIndex = 0; legacyLabelIndex < legacySensitivityLabels.length; legacyLabelIndex++) {
const legacySensitivityLabel = legacySensitivityLabels[legacyLabelIndex];
const legacyLabelIdentifier = legacySensitivityLabel.getId();
const modernLabelCount = modernSensitivityLabels.getCount();
let labelAlreadyExists = false;
for (let modernLabelIndex = 0; modernLabelIndex < modernLabelCount; modernLabelIndex++) {
const modernSensitivityLabel = modernSensitivityLabels.get_Item(modernLabelIndex);
const modernLabelIdentifier = modernSensitivityLabel.getId();
labelAlreadyExists =
modernLabelIdentifier.toLowerCase() === legacyLabelIdentifier.toLowerCase();
if (labelAlreadyExists) {
break;
}
}
if (!labelAlreadyExists) {
modernSensitivityLabels.add(legacySensitivityLabel);
}
}
presentation.save("presentation_with_modern_labels.pptx", aspose.slides.SaveFormat.Pptx);
} finally {
presentation.dispose();
}
Taşıma, ayrıştırılmış etiket nesnelerini modern koleksiyona kopyalar. Tüm özelleştirilmiş belge özelliklerini temizlemeye gerek yoktur; böylece ilgili olmayan belge üst verileri korunur. Modern etiket üst verilerini bir PPTX dosyasına yazmak için Presentation.save ile SaveFormat.Pptx kullanın.
SSS
Bir içerik işaretleme türü eklemek, slaytlarda görünür bir üstbilgi, altbilgi veya filigran oluşturur mu?
Hayır. SensitivityLabel.getContentMarkTypes tarafından döndürülen listeye eklenen değerler, duyarlılık etiketiyle ilişkilendirilen 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ılmış olarak işaretlemek ile koleksiyondan silmek arasındaki fark nedir?
SensitivityLabel.setRemoved yöntemini true ile çağırmak, etiket kaydını tutar ve kaldırma durumunu kaydeder. SensitivityLabelCollection.removeAt yöntemini çağırmak, modern koleksiyondan kaydı 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 özelleştirilmiş belge özelliklerinde kalabilirken, modern etiketler Presentation.getSensitivityLabels aracılığıyla erişilebilir. Eski üst verileri okumak ve modern koleksiyonda hâlâ bulunmayan geçerli etiketleri taşımak için DocumentProperties.getSensitivityLabels kullanın.
Aynı tanımlayıcıya sahip bir etiket birden çok kez eklenirse ne olur?
Koleksiyon aynı tanımlayıcıya sahip bir etiketi zaten içeriyorsa, SensitivityLabelCollection.add bir istisna oluşturur. Etiket eklemeden veya taşımadan önce mevcut değerleri SensitivityLabel.getId ile 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, Presentation.save ile SaveFormat.Pptx kullanarak sunumu PPTX olarak kaydedin.