إنشاء عروض تقديمية في PHP

نظرة عامة

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

قبل البدء، قم بتثبيت Aspose.Slides for PHP عبر Java باستخدام Composer وابدأ جسر PHP/Java في Apache Tomcat. راجع Installation للإعداد الكامل. تتوقع الأمثلة أدناه أن يكون Tomcat يعمل على localhost:8080 ومجلد Composer vendor بجوار السكريبت.

إنشاء عرض تقديمي PowerPoint

لإنشاء عرض تقديمي ووضع صندوق نص على شريحته الأولى، اتبع الخطوات التالية:

  1. إنشاء كائن من الفئة Presentation . يحتوي العرض التقديمي الجديد بالفعل على شريحة فارغة واحدة.
  2. احصل على تلك الشريحة من المجموعة التي تُرجعها Presentation::getSlides، باستخدام فهرسها 0.
  3. أضف مستطيلًا باستخدام الطريقة ShapeCollection::addAutoShape، واضبط نصه باستخدام TextFrame::setText.
  4. احفظ العرض التقديمي كملف PPTX باستخدام الطريقة Presentation::save .
<?php
require_once("http://localhost:8080/JavaBridge/java/Java.inc");
require_once(__DIR__ . "/vendor/aspose/slides/ar/lib/aspose.slides.php");

use aspose\slides\Presentation;
use aspose\slides\SaveFormat;
use aspose\slides\ShapeType;

$presentation = new Presentation();
try {
    $slide = $presentation->getSlides()->get_Item(0);
    $shape = $slide->getShapes()->addAutoShape(ShapeType::Rectangle, 50, 50, 400, 100);
    $shape->getTextFrame()->setText("Hello, Aspose.Slides!");
    $presentation->save(__DIR__ . "/hello.pptx", SaveFormat::Pptx);
} finally {
    $presentation->dispose();
}

السطران require_once يقومان بتحميل عميل PHP/Java Bridge من Tomcat وفئات Aspose.Slides من حزمة Composer. زاوية المستطيل العلوية اليسرى تقع على بُعد 50 نقطة من الحافة اليسرى و50 نقطة من الحافة العليا للشريحة، وعرض المستطيل 400 نقطة وارتفاعه 100 نقطة. يحتوي الملف المحفوظ على شريحة واحدة تحتوي على ذلك المستطيل ونصه. بدون ترخيص، يضيف Aspose.Slides أيضًا علامة مائية للتقييم إلى كل شريحة يتم حفظها؛ راجع Licensing.

إنشاء وحفظ عرض تقديمي

لإنشاء عرض تقديمي فارغ وحفظه، أنشئ كائنًا من الفئة Presentation ، واحفظه بأي تنسيق من تعداد SaveFormat . النتيجة هي عرض تقديمي يحتوي على شريحة فارغة واحدة.

<?php
require_once("http://localhost:8080/JavaBridge/java/Java.inc");
require_once(__DIR__ . "/vendor/aspose/slides/ar/lib/aspose.slides.php");

use aspose\slides\Presentation;
use aspose\slides\SaveFormat;

$presentation = new Presentation();
try {
    $presentation->save(__DIR__ . "/OutputPresentation.pptx", SaveFormat::Pptx);
} finally {
    $presentation->dispose();
}

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

لتحويل عرض تقديمي من تنسيق إلى آخر، افتحه بتمرير مساره إلى مكتّب Presentation ، ثم احفظه بالتنسيق الهدف. يكتشف Aspose.Slides تنسيق الإدخال، مثل PPT أو PPTX أو ODP، من الملف نفسه.

يتوقع المثال أدناه وجود عرض تقديمي OpenDocument باسم Sample.odp بجوار السكريبت ويحفظه كـ PPTX.

<?php
require_once("http://localhost:8080/JavaBridge/java/Java.inc");
require_once(__DIR__ . "/vendor/aspose/slides/ar/lib/aspose.slides.php");

use aspose\slides\Presentation;
use aspose\slides\SaveFormat;

$presentation = new Presentation(__DIR__ . "/Sample.odp");
try {
    $presentation->save(__DIR__ . "/OutputPresentation.pptx", SaveFormat::Pptx);
} finally {
    $presentation->dispose();
}

الأسئلة المتكررة

ما هي التنسيقات التي يمكنني حفظ عرض تقديمي جديد إليها؟

يمكنك الحفظ إلى PPTX, PPT, و ODP، وتصدير إلى PDF، XPS, HTML, SVG, والصور, وغيرها.

هل يمكنني البدء من قالب (POTX/POTM) وحفظه كـ PPTX عادي؟

نعم. قم بتحميل القالب واحفظه بالتنسيق المطلوب؛ تنسيقات POTX/POTM/PPTM وما شابهها مدعومة.

كيف يمكنني التحكم في حجم الشريحة/نسبة الأبعاد عند إنشاء عرض تقديمي؟

قم بتعيين حجم الشريحة (بما في ذلك القوالب المسبقة مثل 4:3 و 16:9 أو الأبعاد المخصصة) واختر طريقة تكبير المحتوى.

بأي وحدات يتم قياس الأحجام والإحداثيات؟

بالنقاط: 1 إنش يساوي 72 وحدة.

كيف يمكنني التعامل مع عروض تقديمية كبيرة جدًا (مع العديد من ملفات الوسائط) لتقليل استهلاك الذاكرة؟

استخدم استراتيجيات إدارة BLOB، قيّد التخزين في الذاكرة باستخدام ملفات مؤقتة، وفضّل سير عمل قائم على الملفات بدلاً من التدفقات داخل الذاكرة فقط.

هل يمكنني إنشاء/حفظ عروض تقديمية بشكل متوازٍ؟

لا يمكنك العمل على نفس كائن Presentation من عدة خيوط. شغّل مث-instances منفصلة ومعزولة لكل خيط أو عملية.

كيف يمكنني إزالة علامة التجربة المائية والقيود؟

قم بتطبيق ترخيص مرة واحدة لكل عملية. يجب أن يبقى ملف ترخيص XML دون تعديل، ويجب مزامنة إعداد الترخيص إذا كانت هناك خيوط متعددة.

هل يمكنني توقيع PPTX الذي أنشأه رقمياً؟

نعم. التوقيع الرقمي (الإضافة والتحقق) مدعوم للعرض التقديمي.

هل تدعم العروض المقدمة الماكرو (VBA)؟

نعم. يمكنك إنشاء/تحرير مشاريع VBA وحفظ ملفات مفعلة للماكرو مثل PPTM/PPSM.