PHP में फ़ॉलबैक फ़ॉन्ट्स के साथ प्रस्तुतियों को रेंडर करें

अवलोकन

Aspose.Slides आपको फ़ॉलबैक फ़ॉन्ट नियमों का उपयोग करके प्रस्तुतियों को रेंडर करने की अनुमति देता है। यह लेख दिखाता है कि कैसे फ़ॉलबैक फ़ॉन्ट नियमों का संग्रह बनाया जाए, नियमों को हटाकर या फ़ॉलबैक फ़ॉन्ट जोड़कर संशोधित किया जाए, और संग्रह को FontsManager::setFontFallBackRulesCollection मेथड को असाइन किया जाए।

जब फ़ॉलबैक फ़ॉन्ट नियमों का संग्रह प्रस्तुतिकरण के FontsManager को असाइन कर दिया जाता है, तो नियमों को सहेजने, रेंडर करने और प्रस्तुतिकरण को परिवर्तित करने जैसी कार्यों के दौरान लागू किया जाता है। उदाहरण दिखाता है कि स्लाइड थंबनेल को रेंडर करते समय और उसे PNG छवि के रूप में सहेजते समय कॉन्फ़िगर किए गए नियमों का कैसे उपयोग किया जा सकता है।

फ़ॉलबैक फ़ॉन्ट नियमों का उपयोग करके स्लाइड रेंडर करना

निम्नलिखित उदाहरण में ये चरण शामिल हैं:

  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) {
    # लोडेड नियमों से फ़ॉलबैक फ़ॉन्ट "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();
    }
  }