Renderizzare presentazioni con font di fallback in PHP
Contents
[
Hide
]
Panoramica
Aspose.Slides permette di rendere le presentazioni usando regole di fallback dei font. Questo articolo mostra come creare una raccolta di regole di fallback dei font, modificare le regole rimuovendo o aggiungendo font di fallback, e assegnare la raccolta al metodo FontsManager::setFontFallBackRulesCollection.
Una volta assegnata la raccolta di regole di fallback al FontsManager della presentazione, le regole vengono applicate durante operazioni come salvataggio, rendering e conversione della presentazione. L’esempio dimostra come usare le regole configurate quando si rende una miniatura di una diapositiva e la si salva come immagine PNG.
Renderizzare una diapositiva usando regole di fallback dei font
Il seguente esempio include questi passaggi:
- Creiamo la raccolta di regole di fallback dei font.
- Rimuovi a fallback font rule and addFallBackFonts to another rule.
- Imposta la raccolta di regole su getFontsManager.getFontFallBackRulesCollection metodo.
- Con il metodo Presentation.save possiamo salvare la presentazione nello stesso formato, oppure salvarla in un altro. Dopo che la raccolta di regole di fallback dei font è impostata su FontsManager, queste regole vengono applicate durante qualsiasi operazione sulla presentazione: salvataggio, rendering, conversione, ecc.
# Crea una nuova istanza di una raccolta di regole
$rulesList = new FontFallBackRulesCollection();
# crea un certo numero di regole
$rulesList->add(new FontFallBackRule(0x400, 0x4ff, "Times New Roman"));
foreach($rulesList as $fallBackRule) {
# Tentativo di rimuovere il font di fallback "Tahoma" dalle regole caricate
$fallBackRule->remove("Tahoma");
# E aggiornare le regole per l'intervallo specificato
if (java_values($fallBackRule->getRangeEndIndex()) >= 0x4000 && java_values($fallBackRule->getRangeStartIndex()) < 0x5000) {
$fallBackRule->addFallBackFonts("Verdana");
}
}
# Possiamo anche rimuovere qualsiasi regola esistente dall'elenco
if (java_values($rulesList->size()) > 0) {
$rulesList->remove($rulesList->get_Item(0));
}
$pres = new Presentation("input.pptx");
try {
# Assegnazione di un elenco di regole preparato per l'uso
$pres->getFontsManager()->setFontFallBackRulesCollection($rulesList);
# Rendering della miniatura utilizzando la raccolta di regole inizializzata e salvataggio in JPEG
$slideImage = $pres->getSlides()->get_Item(0)->getImage(1.0, 1.0);
# Salva l'immagine su disco in formato 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();
}
}
Leggi di più su come Convertire PPT e PPTX in JPG in PHP.