จัดการป้ายความละเอียดในงานนำเสนอ PowerPoint บน Android
ภาพรวม
Microsoft Purview sensitivity labels ช่วยให้องค์กรจัดประเภทและควบคุมเอกสารได้ ในระหว่างการประมวลผลงานนำเสนออัตโนมัติ แอปพลิเคชันอาจต้องคงฉลากที่มีอยู่ไว้, ใช้ฉลากที่นโยบายเลือกไว้, อัปเดตสถานะ, หรือย้ายเมตาดาต้าฉลากที่เขียนโดยเวิร์กโฟลว์ Microsoft Information Protection (MIP) รุ่นเก่า
Aspose.Slides for Android via Java เปิดเผยเมตาดาต้าฉลากความละเอียดระดับสูงผ่าน IPresentation.getSensitivityLabels. วิธีนี้จะคืนค่า ISensitivityLabelCollection ที่สามารถตรวจสอบและแก้ไขได้ก่อนบันทึกงานนำเสนอเป็น PPTX
หมายเหตุ
ตัวระบุฉลากความละเอียดและข้อมูลนโยบายถูกกำหนดโดยการกำหนดค่า Microsoft Purview ของคุณ ยืนยันความพร้อมใช้งานของฉลากและความต้องการของนโยบายในสภาพแวดล้อมของคุณก่อนเพิ่มหรือย้ายเมตาดาต้าค่า ISensitivityLabel.getContentMarkTypes อธิบายการทำเครื่องหมายเนื้อหาที่เกี่ยวข้องกับฉลาก; ค่าดังกล่าวไม่ได้เพิ่มข้อความหรือรูปทรงที่มองเห็นได้ลงในสไลด์โดยตรงทำความเข้าใจคุณสมบัติของ Sensitivity Label
แต่ละ ISensitivityLabel มีเมตาดาต้ต่อไปนี้:
| Methods | Purpose |
|---|---|
| ISensitivityLabel.getId และ ISensitivityLabel.setId | รับหรือกำหนดตัวระบุฉลากความละเอียดในนโยบาย Purview |
| ISensitivityLabel.getSiteId และ ISensitivityLabel.setSiteId | รับหรือกำหนดไซต์ที่เชื่อมโยงกับนโยบายฉลาก |
| ISensitivityLabel.isEnabled และ ISensitivityLabel.setEnabled | รับหรือกำหนดว่าฉลากเปิดใช้งานหรือไม่ |
| ISensitivityLabel.isRemoved และ ISensitivityLabel.setRemoved | รับหรือกำหนดว่าฉลากถูกลบหรือไม่ ตั้งค่าเป็น true เมื่อต้องการเก็บสถานะการลบไว้ในเมตาดาต้า |
| ISensitivityLabel.getAssignmentMethodType และ ISensitivityLabel.setAssignmentMethodType | รับหรือกำหนดว่าฉลากถูกกำหนดโดยอัตโนมัติหรือโดยการตัดสินใจของผู้ใช้ |
| ISensitivityLabel.getContentMarkTypes | รับประเภทการทำเครื่องหมายเนื้อหาที่เชื่อมโยงกับฉลาก |
คลาส SensitivityLabelAssignmentType กำหนดวิธีที่ฉลากถูกกำหนด:
- SensitivityLabelAssignmentType.Standard แสดงถึงฉลากที่เป็นค่าเริ่มต้นหรือถูกกำหนดโดยอัตโนมัติ
- SensitivityLabelAssignmentType.Privileged แสดงถึงฉลากที่กำหนดผ่านการตัดสินใจของผู้ใช้ รวมถึงฉลากที่กำหนดด้วยตนเอง, แนะนำ, และบังคับใช้
คลาส SensitivityLabelContentType กำหนดการทำเครื่องหมายที่เชื่อมโยงกับฉลาก:
| Value | Meaning |
|---|---|
| SensitivityLabelContentType.None | ฉลากถูกกำหนดโดยค่าเริ่มต้นหรืออัตโนมัติ |
| SensitivityLabelContentType.Header | การทำเครื่องหมายเนื้อหา Header เชื่อมโยงกับฉลาก |
| SensitivityLabelContentType.Footer | การทำเครื่องหมายเนื้อหา Footer เชื่อมโยงกับฉลาก |
| SensitivityLabelContentType.Watermark | การทำเครื่องหมายเนื้อหา Watermark เชื่อมโยงกับฉลาก |
| SensitivityLabelContentType.Encryption | การปกป้องด้วย Encryption เชื่อมโยงกับฉลาก |
หลายประเภทการทำเครื่องหมายสามารถเชื่อมโยงกับฉลากเดียวได้
แสดงรายการ Sensitivity Labels ที่มีอยู่
อ่านคอลเลกชันฉลากสมัยใหม่จาก IPresentation.getSensitivityLabels และวนลูปแสดงผล ตัวอย่างต่อไปนี้แสดงทุกคุณสมบัติและการทำเครื่องหมายเนื้อหาที่เก็บไว้สำหรับแต่ละฉลาก:
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();
}
เพิ่ม Sensitivity Label พร้อมการทำเครื่องหมายเนื้อหา
ใช้ ISensitivityLabelCollection.add พร้อมระบุตัวระบุฉลาก, ตัวระบุไซต์, สถานะเปิดใช้งาน, และวิธีการกำหนด หลังจากเมธอดคืนค่า ISensitivityLabel ใหม่แล้ว ให้เพิ่มค่าการทำเครื่องหมายที่ต้องการผ่านรายการที่คืนจาก ISensitivityLabel.getContentMarkTypes
ตัวอย่างต่อไปนี้เพิ่มฉลากที่เลือกด้วยตนเองพร้อมการทำเครื่องหมาย Footer และ Watermark แล้วบันทึกผลลัพธ์เป็น PPTX:
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();
}
อัปเดต Sensitivity Label
ค่าใน ISensitivityLabel สามารถอ่าน/เขียนได้ ยกเว้นรายการที่คืนจาก ISensitivityLabel.getContentMarkTypes ซึ่งต้องแก้ไขผ่านการดำเนินการของรายการหลังจากค้นพบฉลากที่ต้องการแล้ว คุณสามารถอัปเดตตัวระบุ, ตัวระบุไซต์, สถานะเปิดใช้งาน, วิธีการกำหนด, สถานะการลบ และประเภทการทำเครื่องหมายเนื้อหาได้ บันทึกงานนำเสนอเพื่อบันทึกการเปลี่ยนแปลง
ตัวอย่างต่อไปนี้อัปเดตสถานะเปิดใช้งานและวิธีการกำหนดของฉลากแรก:
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();
}
ทำเครื่องหมาย Sensitivity Label ว่าถูกลบ
เพื่อรักษาข้อเท็จจริงว่าฉลากถูกลบ ให้ค้นหาฉลากนั้นและเรียกใช้ ISensitivityLabel.setRemoved ด้วยค่า true การทำเช่นนี้จะเก็บรายการฉลากไว้พร้อมบันทึกสถานะการลบ หากต้องการลบรายการออกจากคอลเลกชันสมัยใหม่ ให้ใช้ ISensitivityLabelCollection.removeAt; ใช้ ISensitivityLabelCollection.clear เพื่อลบทุกรายการ
ตัวอย่างต่อไปนี้ทำเครื่องหมายฉลากเฉพาะว่าเป็นการลบและบันทึกงานนำเสนอที่อัปเดตแล้ว:
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();
}
อ่านและย้าย Sensitivity Labels แบบ Legacy ของ MIP
เวิร์กโฟลว์แบบ MIP รุ่นเก่าสามารถเก็บเมตาดาต้าฉลากความละเอียดในคุณสมบัติเพิ่มเติมของเอกสารแทนคอลเลกชันฉลากสมัยใหม่ อ่านเมตาดาต้านั้นด้วย IDocumentProperties.getSensitivityLabels. เมธอดจะวิเคราะห์คุณสมบัติเพิ่มเติมแบบ legacy และคืนค่าอาเรย์ของออบเจกต์ ISensitivityLabel
เพื่อย้ายเมตาดาต้าให้เพิ่มแต่ละฉลากที่คืนจากเมธอดลงใน ISensitivityLabelCollection ผ่าน ISensitivityLabelCollection.add เนื่องจากการเพิ่มฉลากที่มีตัวระบุซ้ำจะทำให้เกิดข้อยกเว้น ตัวอย่างจึงตรวจสอบคอลเลกชันปลายทางก่อนคัดลอกแต่ละฉลาก คุณสามารถเพิ่มการตรวจสอบเพิ่มเติมเพื่อยืนยันว่าฉลาก legacy ยังมีอยู่ในนโยบาย Purview ปัจจุบันหรือไม่
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();
}
การย้ายนี้คัดลอกออบเจกต์ฉลากที่วิเคราะห์แล้วเข้าสู่คอลเลกชันสมัยใหม่ ไม่จำเป็นต้องล้างคุณสมบัติเพิ่มเติมทั้งหมดของเอกสาร ดังนั้นเมตาดาต้าเอกสารที่ไม่เกี่ยวข้องจึงยังคงอยู่ ใช้ IPresentation.save กับ SaveFormat.Pptx เพื่อเขียนเมตาดาต้าฉลากสมัยใหม่ลงไฟล์ PPTX
FAQ
การเพิ่มประเภทการทำเครื่องหมายเนื้อหาจะสร้าง Header, Footer หรือ Watermark ที่มองเห็นได้บนสไลด์หรือไม่?
ไม่ได้ ค่าในรายการที่คืนจาก ISensitivityLabel.getContentMarkTypes อธิบายการทำเครื่องหมายที่เชื่อมโยงกับฉลากความละเอียด แต่ไม่สร้างข้อความหรือรูปทรงที่มองเห็นได้ในงานนำเสนอ หากเวิร์กโฟลว์ของคุณต้องแสดงการทำเครื่องหมายเหล่านั้น ให้เพิ่มเนื้อหาสไลด์ที่สอดคล้องกันแยกต่างหาก
ความแตกต่างระหว่างทำเครื่องหมายฉลากว่าเป็นการลบและการลบออกจากคอลเลกชันคืออะไร?
การเรียก ISensitivityLabel.setRemoved ด้วยค่า true จะเก็บรายการฉลากไว้และบันทึกสถานะการลบ การเรียก ISensitivityLabelCollection.removeAt จะลบรายการนั้นออกจากคอลเลกชันสมัยใหม่ เลือกวิธีที่ตรงกับข้อกำหนดการเก็บรักษาเมตาดาต้าขององค์กรคุณ
งานนำเสนอสามารถมีเมตาดาต้าMIP legacy และ Sensitivity Labels สมัยใหม่พร้อมกันได้หรือไม่?
ได้ ฉลาก legacy สามารถคงอยู่ในคุณสมบัติเพิ่มเติมของเอกสารได้ขณะที่ฉลากสมัยใหม่เข้าถึงได้ผ่าน IPresentation.getSensitivityLabels ใช้ IDocumentProperties.getSensitivityLabels เพื่ออ่านเมตาดาต้าแบบ legacy แล้วย้ายเฉพาะฉลากที่ยังไม่ปรากฏในคอลเลกชันสมัยใหม่
ถ้าฉลากที่มีตัวระบุเดียวกันถูกเพิ่มหลายครั้งจะเกิดอะไรขึ้น?
ISensitivityLabelCollection.add จะยกข้อยกเว้นเมื่อคอลเลกชันมีฉลากที่มีตัวระบุเดียวกันอยู่แล้ว ตรวจสอบค่าที่มีอยู่แล้วจาก ISensitivityLabel.getId ก่อนทำการเพิ่มหรือย้ายฉลาก
ควรใช้รูปแบบไฟล์ใดเพื่อรักษา Sensitivity Labels ที่อัปเดต?
บันทึกงานนำเสนอเป็น PPTX โดยเรียก IPresentation.save พร้อม SaveFormat.Pptx ตามที่แสดงในตัวอย่างด้านบน