عرض العروض التقديمية بخطوط احتياطية في PHP

Contents
[ ]

المثال التالي يتضمن هذه الخطوات:

  1. نقوم بـإنشاء مجموعة قواعد الخط الاحتياطي.
  2. [إزالة] قاعدة خط احتياطي وaddFallBackFonts إلى قاعدة أخرى.
  3. عيّن مجموعة القواعد إلى getFontsManager.getFontFallBackRulesCollection الطريقة.
  4. باستخدام طريقة Presentation.save يمكننا حفظ العرض التقديمي بنفس التنسيق، أو حفظه بتنسيق آخر. بعد تعيين مجموعة قواعد الخط الاحتياطي إلى FontsManager، تُطبق هذه القواعد أثناء أي عمليات على العرض التقديمي: حفظ، عرض، تحويل، إلخ.
  # إنشاء نسخة جديدة من مجموعة القواعد
  $rulesList = new FontFallBackRulesCollection();
  # إنشاء عدد من القواعد
  $rulesList->add(new FontFallBackRule(0x400, 0x4ff, "Times New Roman"));
  foreach($rulesList as $fallBackRule) {
    # محاولة إزالة خط FallBack "Tahoma" من القواعد المحملة
    $fallBackRule->remove("Tahoma");
    # وتحديث القواعد للنطاق المحدد
    if (java_values($fallBackRule->getRangeEndIndex()) >= 0x4000 && java_values($fallBackRule->getRangeStartIndex()) < 0x5000) {
      $fallBackRule->addFallBackFonts("Verdana");
    }
  }
  # يمكننا أيضًا إزالة أي قواعد موجودة من القائمة
  if (java_values($rulesList->size()) > 0) {
    $rulesList->remove($rulesList->get_Item(0));
  }
  $pres = new Presentation("input.pptx");
  try {
    # تعيين قائمة القواعد المعدة للاستخدام
    $pres->getFontsManager()->setFontFallBackRulesCollection($rulesList);
    # إنشاء صورة مصغرة باستخدام مجموعة القواعد المُهيأة وحفظها كملف JPEG
    $slideImage = $pres->getSlides()->get_Item(0)->getImage(1.0, 1.0);
    # حفظ الصورة إلى القرص بتنسيق JPEG
    try {
      $slideImage->save("Slide_0.jpg", ImageFormat::Jpeg);
    } finally {
      if (!java_is_null($slideImage)) {
        $slideImage->dispose();
      }
    }
  } finally {
    if (!java_is_null($pres)) {
      $pres->dispose();
    }
  }