فتح عرض تقديمي في جافا

بالإضافة إلى إنشاء عروض PowerPoint من الصفر، تتيح لك Aspose.Slides فتح العروض التقديمية الحالية. بعد تحميل عرض تقديمي، يمكنك الحصول على معلومات حول العرض التقديمي، تعديل العرض التقديمي (المحتوى على شرائحه)، إضافة شرائح جديدة أو إزالة الموجودة، إلخ.

فتح عرض تقديمي

لفتح عرض تقديمي موجود، عليك ببساطة إنشاء كائن من فئة Presentation وتمرير مسار الملف (للعرض الذي ترغب في فتحه) إلى المنشئ الخاص بها.

هذا الكود بلغة جافا يوضح لك كيفية فتح عرض تقديمي وأيضًا معرفة عدد الشرائح الموجودة فيه:

// إنشاء كائن من فئة Presentation وتمرير مسار الملف إلى منشئه
Presentation pres = new Presentation("Presentation.pptx");
try {
    // طباعة العدد الإجمالي للشرائح الموجودة في العرض التقديمي
    System.out.println(pres.getSlides().size());
} finally {
    if (pres != null) pres.dispose();
}

فتح عرض تقديمي محمي بكلمة مرور

عندما تحتاج إلى فتح عرض تقديمي محمي بكلمة مرور، يمكنك تمرير كلمة المرور من خلال خاصية Password (من فئة LoadOptions) لفك تشفير العرض التقديمي وتحميله. هذا الكود بلغة جافا يوضح العملية:

 LoadOptions loadOptions = new LoadOptions();
 loadOptions.setPassword("YOUR_PASSWORD");
 Presentation pres = new Presentation("pres.pptx", loadOptions);
 try {
 // قم بعمل بعض الأعمال مع العرض التقديمي المفكوك
 } finally {
     if (pres != null) pres.dispose();
 }

فتح عرض تقديمي كبير

تقدم Aspose.Slides خيارات (خاصية BlobManagementOptions بشكل خاص) تحت فئة LoadOptions للسماح لك بتحميل العروض التقديمية الكبيرة.

هذا المثال بلغة جافا يوضح عملية تحميل عرض تقديمي كبير (على سبيل المثال، 2 جيجابايت في الحجم):

LoadOptions loadOptions = new LoadOptions();
loadOptions.getBlobManagementOptions().setPresentationLockingBehavior(PresentationLockingBehavior.KeepLocked);
loadOptions.getBlobManagementOptions().setTemporaryFilesAllowed(true);
loadOptions.getBlobManagementOptions().setMaxBlobsBytesInMemory(0L);

Presentation pres = new Presentation("veryLargePresentation.pptx", loadOptions);
try {
    // تم تحميل العرض التقديمي الكبير ويمكن استخدامه، لكن استهلاك الذاكرة لا يزال منخفضًا.
    // أجر تغييرات على العرض التقديمي.
    pres.getSlides().get_Item(0).setName("عرض تقديمي كبير جدًا");

    // سيتم حفظ العرض التقديمي إلى ملف آخر. يبقى استهلاك الذاكرة منخفضًا أثناء العملية
    pres.save("veryLargePresentation-copy.pptx", SaveFormat.Pptx);
} finally {
    if(pres != null) pres.dispose();
}

تحميل عرض تقديمي

تقدم Aspose.Slides IResourceLoadingCallback مع طريقة واحدة للسماح لك بإدارة الموارد الخارجية. يوضح لك هذا الكود بلغة جافا كيفية استخدام واجهة IResourceLoadingCallback:

LoadOptions opts = new LoadOptions();
opts.setResourceLoadingCallback(new ImageLoadingHandler());

Presentation pres = new Presentation("presentation.pptx", opts);
class ImageLoadingHandler implements IResourceLoadingCallback 
{
    public int resourceLoading(IResourceLoadingArgs args) 
    {
        if (args.getOriginalUri().endsWith(".jpg")) 
        {
            try // تحميل صورة بديلة
            {
                byte[] imageBytes = Files.readAllBytes(new File("aspose-logo.jpg").toPath());
                args.setData(imageBytes);
                return ResourceLoadingAction.UserProvided;
            } catch (RuntimeException ex) {
                return ResourceLoadingAction.Skip;
            }  catch (IOException ex) {
                ex.printStackTrace();
            }
        } else if (args.getOriginalUri().endsWith(".png")) {
            // تعيين عنوان URL بديل
            args.setUri("http://www.google.com/images/logos/ps_logo2.png");
            return ResourceLoadingAction.Default;
        }
        // تخطي جميع الصور الأخرى
        return ResourceLoadingAction.Skip;
    }
}

تحميل عرض تقديمي بدون كائنات ثنائية مضمنة

يمكن أن يحتوي العرض التقديمي PowerPoint على الأنواع التالية من الكائنات الثنائية المضمنة:

باستخدام خاصية ILoadOptions.DeleteEmbeddedBinaryObjects، يمكنك تحميل العرض التقديمي بدون أي كائنات ثنائية مضمنة.

يمكن أن تكون هذه الخاصية مفيدة لإزالة المحتوى الثنائي الخبيث المحتمل.

يظهر الكود كيفية تحميل وحفظ عرض تقديمي بدون أي محتوى برمجي ضار:

LoadOptions loadOptions = new LoadOptions();
loadOptions.setDeleteEmbeddedBinaryObjects(true);

Presentation pres = new Presentation("malware.ppt", loadOptions);
try {
    pres.save("clean.ppt", SaveFormat.Ppt);
} finally {
    if (pres != null) pres.dispose();
}

فتح وحفظ عرض تقديمي

خطوات فتح وحفظ عرض تقديمي:

  1. إنشاء كائن من فئة Presentation وتمرير الملف الذي ترغب في فتحه.
  2. حفظ العرض التقديمي.
// إنشاء كائن Presentation يمثل ملف PPT
Presentation pres = new Presentation();
try {
    // ...قم ببعض الأعمال هنا...
    
    // حفظ عرضك التقديمي إلى ملف
    pres.save("demoPass.pptx", com.aspose.slides.SaveFormat.Pptx);
} finally {
    if(pres != null) pres.dispose();
}