Renderizar presentaciones con fuentes de reserva en Python mediante Java
Contents
[
Hide
]
Descripción general
Aspose.Slides le permite renderizar presentaciones usando reglas de fuentes de reserva. Este artículo muestra cómo crear una colección de reglas de fuentes de reserva, modificar sus reglas eliminando o añadiendo fuentes de reserva, y asignar la colección mediante el método FontsManager.setFontFallBackRulesCollection.
Una vez que la colección de reglas de fuentes de reserva se asigna al FontsManager de la presentación, las reglas se aplican durante operaciones como guardar, renderizar y convertir la presentación. El ejemplo demuestra cómo usar las reglas configuradas al renderizar una miniatura de diapositiva y guardarla como imagen JPEG.
Renderizar una diapositiva usando reglas de fuentes de reserva
El siguiente ejemplo incluye estos pasos:
- Crear una colección de reglas de fuentes de reserva.
- Eliminar una fuente de reserva de una regla y añadir fuentes de reserva a otra regla.
- Asignar la colección de reglas usando setFontFallBackRulesCollection en el gestor de fuentes devuelto por getFontsManager.
- Utilizar el método Presentation.save para guardar la presentación en el mismo formato o en otro formato. Después de que la colección de reglas de fuentes de reserva se asigna a FontsManager, estas reglas se aplican durante operaciones sobre la presentación: guardar, renderizar, convertir, etc.
import jpype
import asposeslides
if not jpype.isJVMStarted():
jpype.startJVM()
from asposeslides.api import FontFallBackRule, FontFallBackRulesCollection, ImageFormat, Presentation
# Crear una nueva colección de reglas.
fallback_rules = FontFallBackRulesCollection()
# Crear varias reglas.
cyrillic_rule = FontFallBackRule(0x400, 0x4FF, "Times New Roman")
fallback_rules.add(cyrillic_rule)
arabic_rule = FontFallBackRule(0x600, 0x6FF, "Tahoma, Arial")
fallback_rules.add(arabic_rule)
for fallback_rule in fallback_rules:
# Intentar eliminar la fuente de reserva "Tahoma" de las reglas.
fallback_rule.remove("Tahoma")
# Actualizar las reglas para el rango especificado.
if fallback_rule.getRangeEndIndex() >= 0x400 and fallback_rule.getRangeStartIndex() < 0x500:
fallback_rule.addFallBackFonts("Verdana")
# Eliminar una regla existente, manteniendo al menos una regla para el renderizado.
if fallback_rules.size() > 1:
rule_to_remove = fallback_rules.get_Item(1)
fallback_rules.remove(rule_to_remove)
presentation = Presentation("input.pptx")
try:
# Asignar la colección de reglas preparada.
presentation.getFontsManager().setFontFallBackRulesCollection(fallback_rules)
# Renderizar una miniatura usando la colección de reglas configurada.
slide_image = presentation.getSlides().get_Item(0).getImage(1.0, 1.0)
try:
# Guardar la imagen en disco en formato JPEG.
slide_image.save("Slide_0.jpg", ImageFormat.Jpeg)
finally:
slide_image.dispose()
finally:
presentation.dispose()