Fuente Personalizada de PowerPoint en Java

Cargar Fuentes Personalizadas

Aspose.Slides permite cargar fuentes que se renderizan en presentaciones sin necesidad de instalar esas fuentes. Las fuentes se cargan desde un directorio personalizado.

  1. Crea una instancia de la clase FontsLoader y llama al método loadExternalFonts.
  2. Carga la presentación que se renderizará.
  3. Limpia la caché en la clase FontsLoader.

Este código en Java demuestra el proceso de carga de fuentes:

// Carpetas para buscar fuentes
String[] folders = new String[] { externalFontsDir };

// Carga las fuentes del directorio de fuentes personalizadas
FontsLoader.loadExternalFonts(folders);

// Realiza algún trabajo y realiza la renderización de la presentación/diapositiva
Presentation pres = new Presentation("DefaultFonts.pptx");
try {
    pres.save("NewFonts_out.pptx", SaveFormat.Pptx);
} finally {
    if (pres != null) pres.dispose();

    // Limpia la caché de fuentes
    FontsLoader.clearCache();
}

Obtener Carpeta de Fuentes Personalizadas

Aspose.Slides proporciona el método getFontFolders para permitirte encontrar carpetas de fuentes. Este método devuelve carpetas añadidas a través del método LoadExternalFonts y carpetas de fuentes del sistema.

Este código en Java te muestra cómo usar getFontFolders:

// Esta línea muestra las carpetas donde se buscan los archivos de fuentes.
// Esas son carpetas añadidas a través del método LoadExternalFonts y carpetas de fuentes del sistema.
String[] fontFolders = FontsLoader.getFontFolders();

Especificar Fuentes Personalizadas Utilizadas con la Presentación

Aspose.Slides proporciona la propiedad setDocumentLevelFontSources para permitirte especificar fuentes externas que se utilizarán con la presentación.

Este código en Java te muestra cómo usar la propiedad setDocumentLevelFontSources:

byte[] memoryFont1 = Files.readAllBytes("customfonts/CustomFont1.ttf");
byte[] memoryFont2 = Files.readAllBytes("customfonts/CustomFont2.ttf");

LoadOptions loadOptions = new LoadOptions();
loadOptions.getDocumentLevelFontSources().setFontFolders(new String[] { "assets/fonts", "global/fonts" });
loadOptions.getDocumentLevelFontSources().setMemoryFonts(new byte[][] { memoryFont1, memoryFont2 });

Presentation pres = new Presentation("MyPresentation.pptx", loadOptions);
try {
    // Trabaja con la presentación
    // CustomFont1, CustomFont2 y fuentes de las carpetas assets\fonts & global\fonts y sus subcarpetas están disponibles para la presentación
} finally {
    if (pres != null) pres.dispose();
}

Gestionar Fuentes Externamente

Aspose.Slides proporciona el método loadExternalFont(byte[] data) para permitirte cargar fuentes externas desde datos binarios.

Este código en Java demuestra el proceso de carga de fuentes desde un arreglo de bytes:

FontsLoader.loadExternalFont(Files.readAllBytes(Paths.get("ARIALN.TTF")));
FontsLoader.loadExternalFont(Files.readAllBytes(Paths.get("ARIALNBI.TTF")));
FontsLoader.loadExternalFont(Files.readAllBytes(Paths.get("ARIALNI.TTF")));

try
{
    Presentation pres = new Presentation("");
    try {
        // fuente externa cargada durante la vida útil de la presentación
    } finally {
        
    }
}
finally
{
    FontsLoader.clearCache();
}