حفظ العرض التقديمي
نظرة عامة
فئة Presentation تحمل محتوى العرض التقديمي. سواءً كنت تقوم بإنشاء عرض تقديمي من الصفر أو تعديل عرض موجود، عندما تنتهي، ستحتاج إلى حفظ العرض التقديمي. باستخدام Aspose.Slides لنظام Android عبر Java، يمكن حفظه كـ ملف أو تدفق. تشرح هذه المقالة كيفية حفظ العرض التقديمي بطرق مختلفة:
حفظ العرض التقديمي كملف
قم بحفظ عرض تقديمي كملف عن طريق استدعاء طريقة Save لفئة Presentation. ببساطة قم بتمرير اسم الملف وSaveFormat إلى طريقة Save.
تظهر الأمثلة التالية كيفية حفظ عرض تقديمي باستخدام Aspose.Slides لنظام Android عبر 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 جديد، وأضفنا نصًا في شكل وحفظنا العرض التقديمي في التدفق.
// إنشاء كائن 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 لنظام Android عبر 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();
}
حفظ العروض التقديمية في تنسيق Office Open XML الصارم
يتيح لك Aspose.Slides حفظ العرض التقديمي في تنسيق Office Open XML الصارم. لهذا الغرض، يوفر فئة PptxOptions حيث يمكنك تعيين خاصية Conformance أثناء حفظ ملف العرض التقديمي. إذا قمت بتعيين قيمتها إلى Conformance.Iso29500_2008_Strict، فإن ملف العرض التقديمي الناتج سيتم حفظه في تنسيق Open XML الصارم.
الكود النموذجي التالي ينشئ عرضًا تقديميًا ويحفظه في تنسيق Office Open XML الصارم. عند استدعاء طريقة Save للعرض التقديمي، يتم تمرير كائن PptxOptions إليه مع تعيين خاصية Conformance على 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);
// تعيين خيارات الحفظ لتنسيق Office Open XML الصارم
PptxOptions options = new PptxOptions();
options.setConformance(Conformance.Iso29500_2008_Strict);
// احفظ عرضك التقديمي كملف
pres.save("demoPass.pptx", SaveFormat.Pptx, options);
} finally {
if (pres != null) pres.dispose();
}
حفظ العروض التقديمية في تنسيق Office Open XML في وضع Zip64
ملف Office Open XML هو أرشيف ZIP له حد قدره 4 جيجابايت (2^32 بايت) على الحجم غير المضغوط للملف، حجم الملف المضغوط، والحجم الكلي للأرشيف، بالإضافة إلى حد قدره 65,535 (2^16-1) ملف في الأرشيف. تزيد ملحقات تنسيق ZIP64 من الحدود إلى 2^64.
تسمح خاصية IPptxOptions.Zip64Mode الجديدة لك باختيار متى يتم استخدام ملحقات تنسيق ZIP64 للملف Office Open 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();
}
ملاحظة
سوف يؤدي الحفظ في وضع Zip64Mode.Never إلى إلقاء PptxException إذا لم يكن بالإمكان حفظ العرض التقديمي في تنسيق ZIP32.تحديثات تقدم الحفظ للنسبة المئوية
تمت إضافة واجهة 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 + "% الملف تم تحويله");
}
}