حفظ العرض التقديمي

نظرة عامة

فئة Presentation تحتفظ بمحتوى العرض التقديمي. سواء كنت تقوم بإنشاء عرض تقديمي من الصفر أو تعديل واحد موجود، عندما تنتهي، سترغب في حفظ العرض التقديمي. مع Aspose.Slides لـ Java، يمكن حفظه كـ ملف أو تدفق. هذه المقالة تفسر كيفية حفظ العرض التقديمي بطرق مختلفة:

حفظ العرض التقديمي كملف

احفظ العرض التقديمي كملف عن طريق استدعاء طريقة Save في فئة Presentation. فقط مرر اسم الملف وSaveFormat إلى طريقة Save.

تظهر الأمثلة التالية كيفية حفظ العرض التقديمي باستخدام Aspose.Slides لـ Java.

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

حفظ العرض التقديمي كصورة

من الممكن حفظ عرض تقديمي كصورة عن طريق تمرير دفق المخرج إلى طريقة Save في فئة Presentation. هناك العديد من أنواع التدفقات التي يمكن حفظ العرض التقديمي فيها. في المثال أدناه، أنشأنا ملف عرض تقديمي جديد، وأضفنا نصًا في شكل، وحفظنا العرض التقديمي إلى التدفق.

// إنشاء كائن Presentation يمثل ملف PPT
Presentation pres = new Presentation();
try {
    IAutoShape shape = pres.getSlides().get_Item(0).getShapes().addAutoShape(ShapeType.Rectangle, 200, 200, 200, 200);

    // إضافة نص إلى الشكل
    shape.getTextFrame().setText("تظهر هذه التجربة كيفية إنشاء ملف PowerPoint وحفظه في التدفق.");

    OutputStream os = new FileOutputStream("Save_As_Stream_out.pptx");

    pres.save(os, com.aspose.slides.SaveFormat.Pptx);

    os.close();
} catch (IOException e) {
} finally {
    if (pres != null) pres.dispose();
}

حفظ العرض التقديمي مع نوع العرض المحدد مسبقًا

توفر Aspose.Slides لـ Java إمكانية تعيين نوع العرض للعرض التقديمي الناتج عند فتحه في PowerPoint عبر فئة ViewProperties. تُستخدم خاصية setLastView لتعيين نوع العرض باستخدام المعداد ViewType.

// فتح ملف العرض التقديمي
Presentation pres = new Presentation();
try {
    // تعيين نوع العرض
    pres.getViewProperties().setLastView((byte) ViewType.SlideMasterView);
    
    // حفظ العرض التقديمي
    pres.save("newDemo.pptx", SaveFormat.Pptx);
} finally {
    if (pres != null) pres.dispose();
}

حفظ العروض التقديمية في تنسيق XML مفتوح صارم

يسمح لك Aspose.Slides بحفظ العرض التقديمي في تنسيق XML مفتوح صارم. لهذا الغرض، يوفر فئة PptxOptions حيث يمكنك تعيين خاصية التوافق أثناء حفظ ملف العرض التقديمي. إذا قمت بتعيين قيمته إلى Conformance.Iso29500_2008_Strict، فسيتم حفظ ملف العرض التقديمي الناتج في تنسيق XML مفتوح صارم.

الكود المصدري التالي ينشئ عرض تقديمي ويحفظه في تنسيق XML مفتوح صارم. عند استدعاء طريقة Save للعروض التقديمية، يتم تمرير كائن PptxOptions إليه مع تعيين خاصية التوافق إلى Conformance.Iso29500_2008_Strict.

// إنشاء كائن Presentation يمثل ملف PPT
Presentation pres = new Presentation();
try {
    // احصل على الشريحة الأولى
    ISlide slide = pres.getSlides().get_Item(0);
    
    // إضافة شكل تلقائي من نوع خط
    slide.getShapes().addAutoShape(ShapeType.Line, 50, 150, 300, 0);
    
    // تعيين خيارات حفظ تنسيق XML مفتوح صارم
    PptxOptions options = new PptxOptions();
    options.setConformance(Conformance.Iso29500_2008_Strict);
    
    // احفظ العرض التقديمي كملف
    pres.save("demoPass.pptx", SaveFormat.Pptx, options);
} finally {
    if (pres != null) pres.dispose();
}

حفظ العروض التقديمية بتنسيق XML مفتوح مع وضع ZIP64

ملف XML مفتوح هو أرشيف ZIP له حد أقصى قدره 4 غيغابايت (2^32 بايت) على حجم الملف غير المضغوط وحجم الملف المضغوط، بالإضافة إلى حد يصل إلى 65,535 (2^16-1) ملف في الأرشيف. تزيد إضافات تنسيق ZIP64 من الحدود إلى 2^64.

تسمح لك خاصية IPptxOptions.Zip64Mode باختيار متى تستخدم إضافات تنسيق ZIP64 للملف XML المفتوح المحفوظ.

تقدم هذه الخاصية الأوضاع التالية:

  • Zip64Mode.IfNecessary تعني أن إضافات تنسيق ZIP64 ستستخدم فقط إذا كان العرض التقديمي يقع خارج القيود المذكورة أعلاه. هذه هي الوضع الافتراضي.
  • Zip64Mode.Never تعني أنه لن يتم استخدام إضافات تنسيق ZIP64.
  • Zip64Mode.Always تعني أنه سيتم دائمًا استخدام إضافات تنسيق ZIP64.

يوضح الكود التالي كيفية حفظ العرض التقديمي بتنسيق PPTX مع إضافات تنسيق ZIP64:

Presentation pres = new Presentation("Sample.pptx");
try {
    PptxOptions pptxOptions = new PptxOptions();
    pptxOptions.setZip64Mode(Zip64Mode.Always);
    
    pres.save("Sample-zip64.pptx", SaveFormat.Pptx, pptxOptions);
} finally {
    if (pres != null) pres.dispose();
}

تحديثات تقدم الحفظ بنسبة مئوية

تمت إضافة واجهة IProgressCallback إلى واجهة ISaveOptions والفئة المجردة SaveOptions . تمثل واجهة IProgressCallback كائن استدعاء لتحديثات تقدم الحفظ بنسبة مئوية.

توضح مقتطفات الكود التالية كيفية استخدام واجهة IProgressCallback:

// فتح ملف العرض التقديمي
Presentation pres = new Presentation("ConvertToPDF.pptx");
try {
    ISaveOptions saveOptions = new PdfOptions();
    saveOptions.setProgressCallback((IProgressCallback) new ExportProgressHandler());
    pres.save("ConvertToPDF.pdf", SaveFormat.Pdf, saveOptions);
} finally {
    pres.dispose();
}
class ExportProgressHandler implements IProgressCallback 
{
    public void reporting(double progressValue) 
	{
        // استخدم قيمة النسبة المئوية هنا
        int progress = Double.valueOf(progressValue).intValue();
        System.out.println(progress + "% تم تحويل الملف");
    }
}