PHP'de Yedek Yazı Tipleriyle Sunumları Renderleme

Genel Bakış

Aspose.Slides, yedek yazı tipi kurallarını kullanarak sunumları renderlemenizi sağlar. Bu makale, bir yedek yazı tipi kural koleksiyonu oluşturma, kuralları yedek yazı tiplerini kaldırarak veya ekleyerek değiştirme ve koleksiyonu FontsManager::setFontFallBackRulesCollection yöntemine atama işlemlerini gösterir.

Yedek yazı tipi kurallar koleksiyonu sunumun FontsManager‘ına atandıktan sonra, kurallar kaydetme, renderleme ve sunumu dönüştürme gibi işlemler sırasında uygulanır. Örnek, bir slayt küçük resmini renderlerken ve PNG görüntüsü olarak kaydederken yapılandırılmış kuralların nasıl kullanılacağını gösterir.

Yedek Yazı Tipi Kurallarıyla Bir Slaytı Renderleme

  1. Biz yedek yazı tipi kurallar koleksiyonu oluşturuyoruz.
  2. Remove bir yedek yazı tipi kuralını kaldırır ve addFallBackFonts başka bir kurala ekler.
  3. Kurallar koleksiyonunu getFontsManager.getFontFallBackRulesCollection yöntemine ayarlayın.
  4. Presentation.save yöntemiyle sunumu aynı formatta kaydedebilir veya başka bir formatta kaydedebiliriz. Yedek yazı tipi kurallar koleksiyonu FontsManager‘a ayarlandıktan sonra, bu kurallar sunum üzerindeki tüm işlemler sırasında uygulanır: kaydetme, renderleme, dönüştürme vb.
  # Yeni bir kural koleksiyonu örneği oluştur
  $rulesList = new FontFallBackRulesCollection();
  # bir dizi kural oluştur
  $rulesList->add(new FontFallBackRule(0x400, 0x4ff, "Times New Roman"));
  foreach($rulesList as $fallBackRule) {
    # Yüklenen kurallardan Yedek Yazı Tipi "Tahoma"'yı kaldırmaya çalışılıyor
    $fallBackRule->remove("Tahoma");
    # Ve belirtilen aralık için kuralları güncellemeye
    if (java_values($fallBackRule->getRangeEndIndex()) >= 0x4000 && java_values($fallBackRule->getRangeStartIndex()) < 0x5000) {
      $fallBackRule->addFallBackFonts("Verdana");
    }
  }
  # Ayrıca listeden mevcut kuralları kaldırabiliriz
  if (java_values($rulesList->size()) > 0) {
    $rulesList->remove($rulesList->get_Item(0));
  }
  $pres = new Presentation("input.pptx");
  try {
    # Kullanım için hazırlanmış kural listesini atama
    $pres->getFontsManager()->setFontFallBackRulesCollection($rulesList);
    # Başlatılmış kural koleksiyonu kullanılarak thumbnail renderleme ve JPEG olarak kaydetme
    $slideImage = $pres->getSlides()->get_Item(0)->getImage(1.0, 1.0);
    # Görüntüyü JPEG formatında diske kaydet
    try {
      $slideImage->save("Slide_0.jpg", ImageFormat::Jpeg);
    } finally {
      if (!java_is_null($slideImage)) {
        $slideImage->dispose();
      }
    }
  } finally {
    if (!java_is_null($pres)) {
      $pres->dispose();
    }
  }