Fuente Embebida
Las fuentes embebidas en PowerPoint son útiles cuando deseas que tu presentación aparezca correctamente al abrirse en cualquier sistema o dispositivo. Si utilizaste una fuente de un tercero o no estándar porque te inspiraste en tu trabajo, entonces tienes aún más razones para embebeder tu fuente. De lo contrario (sin fuentes embebidas), los textos o números en tus diapositivas, el diseño, el estilo, etc., pueden cambiar o convertirse en rectángulos confusos.
La clase FontsManager, la clase FontData, la clase Compress y sus interfaces contienen la mayoría de las propiedades y métodos que necesitas para trabajar con fuentes embebidas en presentaciones de PowerPoint.
Obtener o Eliminar Fuentes Embebidas de la Presentación
Aspose.Slides proporciona el método get_embedded_fonts()
(expuesto por la clase FontsManager) para permitirte obtener (o averiguar) las fuentes embebidas en una presentación. Para eliminar fuentes, se utiliza el método remove_embedded_font(font_data)
(expuesto por la misma clase).
Este código en Python te muestra cómo obtener y eliminar fuentes embebidas de una presentación:
import aspose.slides as slides
import aspose.pydrawing as draw
# Crea un objeto Presentation que representa un archivo de presentación
with slides.Presentation(path + "EmbeddedFonts.pptx") as presentation:
# Renderiza una diapositiva que contiene un marco de texto que usa "FunSized" embebido
with presentation.slides[0].get_image(draw.Size(960, 720)) as img:
img.save("picture1_out.png", slides.ImageFormat.PNG)
fontsManager = presentation.fonts_manager
# Obtiene todas las fuentes embebidas
embeddedFonts = fontsManager.get_embedded_fonts()
# Encuentra la fuente "Calibri"
funSizedEmbeddedFont = list(filter(lambda data : data.font_name == "Calibri", embeddedFonts))[0]
# Elimina la fuente "Calibri"
fontsManager.remove_embedded_font(funSizedEmbeddedFont)
# Renderiza la presentación; la fuente "Calibri" es reemplazada por una existente
with presentation.slides[0].get_image(draw.Size(960, 720)) as img:
img.save("picture2_out.png", slides.ImageFormat.PNG)
# Guarda la presentación sin la fuente "Calibri" embebida en disco
presentation.save("WithoutManageEmbeddedFonts_out.ppt", slides.export.SaveFormat.PPT)
Agregar Fuentes Embebidas a la Presentación
Utilizando el enum EmbedFontCharacters y dos sobrecargas del método add_embedded_font(font_data, embed_font_rule)
, puedes seleccionar tu regla preferida (de embebido) para embebeder las fuentes en una presentación. Este código en Python te muestra cómo embebeder y agregar fuentes a una presentación:
import aspose.slides as slides
# Carga la presentación
with slides.Presentation(path + "Fonts.pptx") as presentation:
# Carga la fuente de origen que se va a reemplazar
sourceFont = slides.FontData("Arial")
allFonts = presentation.fonts_manager.get_fonts()
embeddedFonts = presentation.fonts_manager.get_embedded_fonts()
for font in allFonts:
if font not in embeddedFonts:
presentation.fonts_manager.add_embedded_font(font, slides.export.EmbedFontCharacters.ALL)
# Guarda la presentación en disco
presentation.save("AddEmbeddedFont_out.pptx", slides.export.SaveFormat.PPTX)
Comprimir Fuentes Embebidas
Para permitirte comprimir las fuentes embebidas en una presentación y reducir su tamaño de archivo, Aspose.Slides proporciona el método compress_embedded_fonts
(expuesto por la clase Compress).
Este código en Python te muestra cómo comprimir fuentes embebidas de PowerPoint:
import aspose.slides as slides
with slides.Presentation("pres.pptx") as pres:
slides.lowcode.Compress.compress_embedded_fonts(pres)
pres.save("pres-out.pptx", slides.export.SaveFormat.PPTX)