حفظ العروض التقديمية في جافا سكريبت
نظرة عامة
فتح العروض التقديمية في جافا سكريبت يصف كيفية استخدام فئة Presentation لفتح عرض تقديمي. تشرح هذه المقالة كيفية إنشاء العروض وتخزينها. فئة Presentation تحتوي على محتويات العرض. سواء كنت تنشئ عرضًا من الصفر أو تعدل عرضًا موجودًا، ستحتاج إلى حفظه عندما تنتهي. مع Aspose.Slides لـ Node.js، يمكنك الحفظ إلى ملف أو تيار. توضح هذه المقالة الطرق المختلفة لحفظ العرض.
حفظ العروض إلى ملفات
احفظ عرضًا تقديميًا إلى ملف عن طريق استدعاء طريقة save في فئة Presentation. مرّر اسم الملف وتنسيق الحفظ إلى الطريقة. المثال التالي يوضح كيفية حفظ عرض تقديمي باستخدام Aspose.Slides.
// إنشاء كائن من فئة Presentation التي تمثل ملف عرض تقديمي.
let presentation = new aspose.slides.Presentation();
try {
// تنفيذ بعض الأعمال هنا...
// حفظ العرض التقديمي إلى ملف.
presentation.save("Output.pptx", aspose.slides.SaveFormat.Pptx);
} finally {
presentation.dispose();
}
حفظ العروض إلى التيارات
يمكنك حفظ عرض تقديمي إلى تيار بتمرير تيار إخراج إلى طريقة save في فئة Presentation. يمكن كتابة العرض إلى أنواع متعددة من التيارات. في المثال أدناه، نقوم بإنشاء عرض جديد ونحفظه إلى تيار ملف.
// إنشاء كائن من فئة Presentation التي تمثل ملف عرض تقديمي.
let presentation = new aspose.slides.Presentation();
try {
let fileStream = java.newInstanceSync("java.io.FileOutputStream", "Output.pptx");
try {
// حفظ العرض التقديمي إلى التيار.
presentation.save(fileStream, aspose.slides.SaveFormat.Pptx);
} finally {
fileStream.close();
}
} finally {
presentation.dispose();
}
حفظ العروض بنوع عرض مسبق التعريف
Aspose.Slides يتيح لك تعيين العرض الأولي الذي يستخدمه PowerPoint عند فتح العرض المُنشأ من خلال فئة ViewProperties. استخدم طريقة setLastView مع قيمة من تعداد ViewType.
let presentation = new aspose.slides.Presentation();
try {
presentation.getViewProperties().setLastView(aspose.slides.ViewType.SlideMasterView);
presentation.save("SlideMasterView.pptx", aspose.slides.SaveFormat.Pptx);
} finally {
presentation.dispose();
}
حفظ العروض بتنسيق Strict Office Open XML
Aspose.Slides يتيح لك حفظ العرض بتنسيق Strict Office Open XML. استخدم فئة PptxOptions وحدد خاصية conformance عند الحفظ. إذا ضبطت Conformance.Iso29500_2008_Strict، يتم حفظ ملف الإخراج بتنسيق Strict Office Open XML.
المثال أدناه يُنشئ عرضًا ويحفظه بتنسيق Strict Office Open XML.
let options = new aspose.slides.PptxOptions();
options.setConformance(aspose.slides.Conformance.Iso29500_2008_Strict);
// إنشاء كائن من فئة Presentation التي تمثل ملف عرض تقديمي.
let presentation = new aspose.slides.Presentation();
try {
// حفظ العرض التقديمي بتنسيق Strict Office Open XML.
presentation.save("StrictOfficeOpenXml.pptx", aspose.slides.SaveFormat.Pptx, options);
} finally {
presentation.dispose();
}
حفظ العروض بتنسيق Office Open XML في وضع Zip64
ملف Office Open XML هو أرشيف ZIP يفرض حدود 4 GB (2^32 بايت) على الحجم غير المضغوط لأي ملف، وحجم الضغط لأي ملف، وإجمالي حجم الأرشيف، كما يحد من عدد الملفات إلى 65 535 (2^16‑1). امتدادات صيغة ZIP64 ترفع هذه الحدود إلى 2^64.
طريقة PptxOptions.setZip64Mode تتيح لك اختيار متى تستخدم امتدادات صيغة ZIP64 عند حفظ ملف Office Open XML.
يمكن استخدام هذه الطريقة مع الأنماط التالية:
- IfNecessary يستخدم امتدادات صيغة ZIP64 فقط إذا تجاوز العرض الحدود المذكورة أعلاه. هذا هو الوضع الافتراضي.
- Never لا يستخدم امتدادات صيغة ZIP64 أبداً.
- Always يستخدم امتدادات صيغة ZIP64 دائماً.
المقطع البرمجي التالي يوضح كيفية حفظ عرض تقديمي كملف PPTX مع تمكين امتدادات صيغة ZIP64:
let pptxOptions = new aspose.slides.PptxOptions();
pptxOptions.setZip64Mode(aspose.slides.Zip64Mode.Always);
let presentation = new aspose.slides.Presentation("Sample.pptx");
try {
presentation.save("OutputZip64.pptx", aspose.slides.SaveFormat.Pptx, pptxOptions);
} finally {
presentation.dispose();
}
NOTE
عند الحفظ باستخدام Zip64Mode.Never، يتم طرح استثناء PptxException إذا تعذر حفظ العرض بتنسيق ZIP32.حفظ العروض دون تجديد الصورة المصغرة
طريقة PptxOptions.setRefreshThumbnail تتحكم في توليد الصورة المصغرة عند حفظ العرض إلى PPTX:
- إذا تم تعيينه إلى
true، يتم تجديد الصورة المصغرة أثناء الحفظ. هذا هو الوضع الافتراضي. - إذا تم تعيينه إلى
false، يتم الحفاظ على الصورة المصغرة الحالية. إذا لم يكن للعرض صورة مصغرة، لن يتم إنشاء أي واحدة.
في الكود أدناه، يتم حفظ العرض إلى PPTX دون تجديد صورته المصغرة.
let pptxOptions = new aspose.slides.PptxOptions();
pptxOptions.setRefreshThumbnail(false);
let presentation = new aspose.slides.Presentation("Sample.pptx");
try {
presentation.save("Output.pptx", aspose.slides.SaveFormat.Pptx, pptxOptions);
}
finally {
presentation.dispose();
}
Info
هذا الخيار يساعد على تقليل الوقت المطلوب لحفظ العرض بتنسيق PPTX.تحديثات حفظ التقدم بالنسبة المئوية
تقارير تقدم الحفظ تُضبط عبر طريقة setProgressCallback في فئة SaveOptions وفئاتها الفرعية. قدم وكيل Java يطبق واجهة IProgressCallback; أثناء التصدير، يستقبل النداء التلقائي تحديثات دورية بنسب مئوية.
المقاطع البرمجية التالية توضح كيفية استخدام IProgressCallback.
const ExportProgressHandler = java.newProxy("com.aspose.slides.IProgressCallback", {
reporting: function(progressValue) {
// استخدم قيمة نسبة التقدم هنا.
const progress = Math.floor(progressValue);
console.log(`${progress}% of the file has been converted.`);
}
});
let saveOptions = new aspose.slides.PdfOptions();
saveOptions.setProgressCallback(ExportProgressHandler);
let presentation = new aspose.slides.Presentation("Sample.pptx");
try {
presentation.save("Output.pdf", aspose.slides.SaveFormat.Pdf, saveOptions);
} finally {
presentation.dispose();
}
Info
قامت Aspose بتطوير تطبيق مجاني لتقسيم عروض PowerPoint باستخدام واجهتها البرمجية الخاصة. يتيح لك التطبيق تقسيم عرض تقديمي إلى ملفات متعددة عن طريق حفظ الشرائح المحددة كملفات PPTX أو PPT جديدة.الأسئلة المتداولة
هل يتم دعم “الحفظ السريع” (الحفظ التدريجي) بحيث تُكتب التغييرات فقط؟
لا. كل عملية حفظ تُنشئ الملف الهدف بالكامل في كل مرة؛ الحفظ التدريجي “السريع” غير مدعوم.
هل حفظ نفس كائن Presentation من عدة خيوط آمن من ناحية التزامن؟
لا. كائن Presentation غير آمن للتزامن؛ احفظه من خيط واحد.
ماذا يحدث للروابط التشعبية والملفات المرتبطة خارجيًا عند الحفظ؟
يتم الحفاظ على Hyperlinks. الملفات المرتبطة خارجيًا (مثل الفيديوهات عبر مسارات نسبية) لا تُنسخ تلقائيًا—تأكد من بقاء المسارات المشار إليها قابلة للوصول.
هل يمكنني تعيين/حفظ بيانات تعريف المستند (المؤلف، العنوان، الشركة، التاريخ)؟
نعم. يتم دعم خصائص المستند القياسية وستُكتب إلى الملف عند الحفظ.