Renderizar presentaciones con fuentes de respaldo en PHP
Contents
[
Hide
]
El siguiente ejemplo incluye los siguientes pasos:
- Creamos la colección de reglas de fuentes de respaldo.
- Eliminar una regla de fuente de respaldo y addFallBackFonts a otra regla.
- Establezca la colección de reglas en getFontsManager.getFontFallBackRulesCollection método.
- Con el método Presentation.save podemos guardar la presentación en el mismo formato o en otro. Después de que la colección de reglas de fuentes de respaldo se establece en FontsManager, estas reglas se aplican durante cualquier operación sobre la presentación: guardar, renderizar, convertir, etc.
# Crear nueva instancia de una colección de reglas
$rulesList = new FontFallBackRulesCollection();
# crear un número de reglas
$rulesList->add(new FontFallBackRule(0x400, 0x4ff, "Times New Roman"));
foreach($rulesList as $fallBackRule) {
# Intentando eliminar la fuente de respaldo "Tahoma" de las reglas cargadas
$fallBackRule->remove("Tahoma");
# Y actualizar las reglas para el rango especificado
if (java_values($fallBackRule->getRangeEndIndex()) >= 0x4000 && java_values($fallBackRule->getRangeStartIndex()) < 0x5000) {
$fallBackRule->addFallBackFonts("Verdana");
}
}
# También podemos eliminar cualquier regla existente de la lista
if (java_values($rulesList->size()) > 0) {
$rulesList->remove($rulesList->get_Item(0));
}
$pres = new Presentation("input.pptx");
try {
# Asignando una lista de reglas preparada para su uso
$pres->getFontsManager()->setFontFallBackRulesCollection($rulesList);
# Renderizado de miniatura usando la colección de reglas inicializada y guardando en JPEG
$slideImage = $pres->getSlides()->get_Item(0)->getImage(1.0, 1.0);
# Guardar la imagen en disco en 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();
}
}
Obtenga más información sobre cómo Convertir PPT y PPTX a JPG en PHP.