مدیریت برچسب‌های حساسیت در ارائه‌های PowerPoint در Android

مروری

Microsoft Purview حساسیت برچسب‌ها به سازمان‌ها کمک می‌کند تا اسناد را طبقه‌بندی و مدیریت کنند. در طول پردازش خودکار ارائه، ممکن است برنامه‌ای نیاز داشته باشد برچسب موجود را حفظ کند، برچسبی که توسط سیاست انتخاب شده است اعمال کند، وضعیت آن را به‌روز‌رسانی کند یا متادیتای برچسب نوشته‌شده توسط یک جریان کاری قدیمی‌تر Microsoft Information Protection (MIP) را مهاجرت دهد.

Aspose.Slides for Android via Java متادیتای برچسب حساسیت مدرن را از طریق IPresentation.getSensitivityLabels در دسترس قرار می‌دهد. این متد یک ISensitivityLabelCollection را برمی‌گرداند که می‌توان قبل از ذخیره ارائه به‌عنوان PPTX، آن را بررسی و تغییر داد.

درک ویژگی‌های برچسب حساسیت

هر ISensitivityLabel متادیتای زیر را شامل می‌شود:

متدها هدف
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 نحوه اختصاص برچسب را تعریف می‌کند:

کلاس SensitivityLabelContentType علامت‌گذاری مرتبط با برچسب را تعریف می‌کند:

مقدار معنی
SensitivityLabelContentType.None برچسب به‌صورت پیش‌فرض یا خودکار اعمال شده است.
SensitivityLabelContentType.Header علامت‌گذاری محتوا در سرصفحه با برچسب مرتبط است.
SensitivityLabelContentType.Footer علامت‌گذاری محتوا در پاورقی با برچسب مرتبط است.
SensitivityLabelContentType.Watermark علامت‌گذاری محتوا به‌صورت واترمارک با برچسب مرتبط است.
SensitivityLabelContentType.Encryption محافظت رمزنگاری با برچسب مرتبط است.

چندین نوع علامت‌گذاری می‌تواند به یک برچسب مرتبط باشد.

فهرست برچسب‌های حساسیت موجود

مجموعه برچسب‌های مدرن را از طریق 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();
}

افزودن برچسب حساسیت با علامت‌گذاری محتوا

از ISensitivityLabelCollection.add همراه با شناسه برچسب، شناسه سایت، وضعیت فعال بودن و روش اختصاص استفاده کنید. پس از اینکه متد برچسب جدید ISensitivityLabel را برگرداند، مقادیر علامت‌گذاری مورد نیاز را از طریق فهرست برگشتی ISensitivityLabel.getContentMarkTypes اضافه کنید.

مثال زیر برچسبی که به‌صورت دستی انتخاب شده و با علامت‌گذاری‌های پاورقی و واترمارک مرتبط است را اضافه می‌کند، سپس نتیجه را به‌عنوان 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();
}

به‌روزرسانی برچسب حساسیت

مقادیر 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();
}

علامت‌گذاری برچسب حساسیت به‌عنوان حذف شده

برای حفظ اینکه یک برچسب حذف شده است، برچسب را پیدا کنید و 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();
}

خواندن و مهاجرت برچسب‌های حساسیت MIP قدیمی

جریان‌های کاری قدیمی مبتنی بر MIP می‌توانند متادیتای برچسب حساسیت را در خصوصیات سند سفارشی به جای مجموعه برچسب مدرن ذخیره کنند. این متادیتا را با IDocumentProperties.getSensitivityLabels بخوانید. این متد خصوصیات سفارشی قدیمی را تجزیه کرده و یک آرایه از اشیاء ISensitivityLabel را برمی‌گرداند.

برای مهاجرت متادیتا، هر برچسب برگشتی را به ISensitivityLabelCollection مدرن از طریق ISensitivityLabelCollection.add اضافه کنید. از آنجا که افزودن شناسه برچسب تکراری استثنا ایجاد می‌کند، مثال قبل از کپی هر برچسب، مجموعه مقصد را بررسی می‌کند. می‌توانید اعتبارسنجی‌های بیشتری اضافه کنید تا تأیید شود هر برچسب قدیمی همچنان در سیاست 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();
}

مهاجرت اشیاء برچسب تجزیه‌شده را به مجموعه مدرن کپی می‌کند. این کار نیاز به پاک‌سازی تمام خصوصیات سفارشی سند ندارد، بنابراین متادیتای غیرمرتبط سند دست نخورده می‌ماند. برای نوشتن متادیتای برچسب مدرن به فایل PPTX، از IPresentation.save با SaveFormat.Pptx استفاده کنید.

سؤالات متداول

آیا افزودن یک نوع علامت‌گذاری محتوا یک سرصفحه، پاورقی یا واترمارک قابل مشاهده بر روی اسلایدها ایجاد می‌کند؟

خیر. مقادیر اضافه‌شده از طریق فهرست برگشتی ISensitivityLabel.getContentMarkTypes ویژگی‌های محتوا مرتبط با برچسب حساسیت را توصیف می‌کنند. آنها متن یا شکل قابل مشاهده‌ای در ارائه ایجاد نمی‌کنند. اگر گردش کار شما نیاز دارد این علامت‌گذاری‌ها را رندر کند، محتوا را به‌صورت جداگانه به اسلاید اضافه کنید.

تفاوت علامت‌گذاری یک برچسب به‌عنوان حذف شده و حذف آن از مجموعه چه می‌باشد؟

فراخوانی ISensitivityLabel.setRemoved با true ورودی برچسب را نگه می‌دارد و وضعیت حذف آن را ثبت می‌کند. فراخوانی ISensitivityLabelCollection.removeAt ورودی را از مجموعه مدرن حذف می‌کند. عملیاتی را که با نیازهای حفظ متادیتای سازمان شما مطابقت دارد انتخاب کنید.

آیا یک ارائه می‌تواند هم متادیتای MIP قدیمی و هم برچسب‌های حساسیت مدرن را داشته باشد؟

بله. برچسب‌های قدیمی می‌توانند در خصوصیات سفارشی سند باقی بمانند در حالی که برچسب‌های مدرن از طریق IPresentation.getSensitivityLabels در دسترس هستند. برای خواندن متادیتای قدیمی از IDocumentProperties.getSensitivityLabels استفاده کنید و فقط برچسب‌های معتبر را که هنوز در مجموعه مدرن وجود ندارند، مهاجرت کنید.

چه اتفاقی می‌افتد زمانی که یک برچسب با همان شناسه بیش از یک بار اضافه شود؟

ISensitivityLabelCollection.add وقتی مجموعه از قبل شامل برچسبی با همان شناسه باشد، استثنا ایجاد می‌کند. قبل از افزودن یا مهاجرت برچسب‌ها، مقادیر موجود را با استفاده از ISensitivityLabel.getId بررسی کنید.

کدام قالب خروجی باید برای حفظ برچسب‌های حساسیت به‌روزرسانی‌شده استفاده شود؟

ارائه را به‌عنوان PPTX ذخیره کنید با فراخوانی IPresentation.save همراه با SaveFormat.Pptx، همان‌طور که در مثال‌های بالا نشان داده شد.