Prezentációk megjelenítése helyettesítő betűtípusokkal PHP-ben

Áttekintés

Az Aspose.Slides lehetővé teszi, hogy prezentációkat jelenítsen meg helyettesítő betűtípus szabályok használatával. Ez a cikk bemutatja, hogyan hozhat létre helyettesítő betűtípus szabálykészletet, módosíthatja annak szabályait betűtípusok eltávolításával vagy hozzáadásával, és hogyan rendeli hozzá a készletet a FontsManager::setFontFallBackRulesCollection metódushoz.

Miután a helyettesítő betűtípus szabálykészletet a bemutató FontsManager-éhez rendelték, a szabályok alkalmazásra kerülnek olyan műveletek során, mint a mentés, a megjelenítés és a bemutató konvertálása. A példában bemutatjuk, hogyan használhatók a konfigurált szabályok egy dia bélyegképének megjelenítésekor és PNG képként való mentésekor.

Dia megjelenítése helyettesítő betűtípus szabályok használatával

A következő példa ezeket a lépéseket tartalmazza:

  1. Létrehozzuk a helyettesítő betűtípus szabálykészlet létrehozása.
  2. Remove egy helyettesítő betűtípus szabályt, és addFallBackFonts egy másik szabályhoz.
  3. Állítsuk be a szabálykészletet a getFontsManager.getFontFallBackRulesCollection metódusra.
  4. A Presentation.save metódussal menthetjük a prezentációt ugyanabba a formátumba, vagy egy másikba. Miután a helyettesítő betűtípus szabálykészletet beállítottuk a FontsManager-ben, ezek a szabályok minden prezentáción végzett műveletnél alkalmazásra kerülnek: mentés, megjelenítés, konvertálás stb.
  # Új szabálykészlet példány létrehozása
  $rulesList = new FontFallBackRulesCollection();
  # több szabály létrehozása
  $rulesList->add(new FontFallBackRule(0x400, 0x4ff, "Times New Roman"));
  foreach($rulesList as $fallBackRule) {
    # Megpróbáljuk eltávolítani a "Tahoma" helyettesítő betűtípust a betöltött szabályokból
    $fallBackRule->remove("Tahoma");
    # És a szabályok frissítése a megadott tartományra
    if (java_values($fallBackRule->getRangeEndIndex()) >= 0x4000 && java_values($fallBackRule->getRangeStartIndex()) < 0x5000) {
      $fallBackRule->addFallBackFonts("Verdana");
    }
  }
  # Ezenkívül eltávolíthatunk meglévő szabályokat a listáról
  if (java_values($rulesList->size()) > 0) {
    $rulesList->remove($rulesList->get_Item(0));
  }
  $pres = new Presentation("input.pptx");
  try {
    # Előkészített szabálykészlet hozzárendelése használatra
    $pres->getFontsManager()->setFontFallBackRulesCollection($rulesList);
    # Bélyegkép renderelése az inicializált szabálykészlet használatával és JPEG formátumban mentése
    $slideImage = $pres->getSlides()->get_Item(0)->getImage(1.0, 1.0);
    # Kép mentése lemezre JPEG formátumban
    try {
      $slideImage->save("Slide_0.jpg", ImageFormat::Jpeg);
    } finally {
      if (!java_is_null($slideImage)) {
        $slideImage->dispose();
      }
    }
  } finally {
    if (!java_is_null($pres)) {
      $pres->dispose();
    }
  }