تحويل شرائح PowerPoint إلى PNG في PHP
حول تحويل PowerPoint إلى PNG
تنسيق PNG (Portable Network Graphics) ليس شائعًا مثل JPEG (Joint Photographic Experts Group)، لكنه لا يزال شائعًا جدًا.
حالة الاستخدام: عندما يكون لديك صورة معقدة ولا تشكل الحجم مشكلة، يكون PNG تنسيق صورة أفضل من JPEG.
Tip
قد ترغب في الاطلاع على محولات Aspose المجانية PowerPoint إلى PNG: PPTX إلى PNG و PPT إلى PNG. إنها تنفيذ مباشر للعملية الموضحة في هذه الصفحة.تحويل PowerPoint إلى PNG
اتبع الخطوات التالية:
- إنشاء كائن من الفئة Presentation.
- احصل على كائن الشريحة من مجموعة Presentation.getSlides() ضمن الفئة Slide.
- استخدم طريقة Slide.getImage() للحصول على الصورة المصغرة لكل شريحة.
- استخدم طريقة IImage.save(String formatName, int imageFormat) لحفظ الصورة المصغرة للشرائح بتنسيق PNG.
$pres = new Presentation("pres.pptx");
try {
for($index = 0; $index < java_values($pres->getSlides()->size()) ; $index++) {
$slide = $pres->getSlides()->get_Item($index);
$slideImage = $slide->getImage();
try {
$slideImage->save("image_java_" . $index . ".png", ImageFormat::Png);
} finally {
if (!java_is_null($slideImage)) {
$slideImage->dispose();
}
}
}
} finally {
if (!java_is_null($pres)) {
$pres->dispose();
}
}
تحويل PowerPoint إلى PNG بأبعاد مخصصة
إذا كنت تريد الحصول على ملفات PNG بحجم معين، يمكنك ضبط القيم desiredX و desiredY، التي تحدد أبعاد الصورة المصغرة الناتجة.
يعرض هذا الشيفرة العملية الموضحة:
$pres = new Presentation("pres.pptx");
try {
$scaleX = 2.0;
$scaleY = 2.0;
for($index = 0; $index < java_values($pres->getSlides()->size()) ; $index++) {
$slide = $pres->getSlides()->get_Item($index);
$slideImage = $slide->getImage($scaleX, $scaleY);
try {
$slideImage->save("image_java_" . $index . ".png", ImageFormat::Png);
} finally {
if (!java_is_null($slideImage)) {
$slideImage->dispose();
}
}
}
} finally {
if (!java_is_null($pres)) {
$pres->dispose();
}
}
تحويل PowerPoint إلى PNG بحجم مخصص
إذا كنت تريد الحصول على ملفات PNG بحجم معين، يمكنك تمرير القيم المفضلة width و height لـ ImageSize.
يعرض هذا الشيفرة كيفية تحويل PowerPoint إلى PNG مع تحديد حجم الصور:
$pres = new Presentation("pres.pptx");
try {
$size = new Java("java.awt.Dimension", 960, 720);
for($index = 0; $index < java_values($pres->getSlides()->size()) ; $index++) {
$slide = $pres->getSlides()->get_Item($index);
$slideImage = $slide->getImage($size);
try {
$slideImage->save("image_java_" . $index . ".png", ImageFormat::Png);
} finally {
if (!java_is_null($slideImage)) {
$slideImage->dispose();
}
}
}
} finally {
if (!java_is_null($pres)) {
$pres->dispose();
}
}
الأسئلة المتكررة
كيف يمكنني تصدير شكل محدد فقط (مثل مخطط أو صورة) بدلاً من الشريحة بأكملها؟
يدعم Aspose.Slides إنشاء صور مصغرة للأشكال الفردية; يمكنك تصيير الشكل إلى صورة PNG.
هل يدعم التحويل المتوازي على الخادم؟
نعم، ولكن يجب عدم مشاركة كائن presentation واحد عبر الخيوط. استخدم كائنًا منفصلًا لكل خيط أو عملية.
ما هي قيود النسخة التجريبية عند التصدير إلى PNG؟
يضيف وضع التقييم علامة مائية إلى الصور الناتجة ويطبق قيودًا أخرى حتى يتم تطبيق ترخيص.