Fuente personalizada de PowerPoint en C#

Cargar Fuentes Personalizadas

Aspose.Slides te 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 será renderizada.
  3. Limpia la caché en la clase FontsLoader.

Este código C# demuestra el proceso de carga de fuentes:

// La ruta al directorio de documentos
string dataDir = "C:\\";

// carpetas para buscar fuentes
String[] folders = new String[] { dataDir };

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

// Realiza algunas tareas y realiza la renderización de la presentación/diapositiva
using (Presentation presentation = new Presentation(dataDir + "DefaultFonts.pptx"))
    presentation.Save(dataDir + "NewFonts_out.pptx", SaveFormat.Pptx);

// 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 C# te muestra cómo usar GetFontFolders:

// Esta línea muestra las carpetas que se verifican para 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 Usadas Con la Presentación

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

Este código C# te muestra cómo usar la propiedad DocumentLevelFontSources:

byte[] memoryFont1 = File.ReadAllBytes("customfonts\\CustomFont1.ttf");
byte[] memoryFont2 = File.ReadAllBytes("customfonts\\CustomFont2.ttf");

LoadOptions loadOptions = new LoadOptions();
loadOptions.DocumentLevelFontSources.FontFolders = new string[] { "assets\\fonts", "global\\fonts" };
loadOptions.DocumentLevelFontSources.MemoryFonts = new byte[][] { memoryFont1, memoryFont2 };
using (IPresentation presentation = new Presentation("MyPresentation.pptx", loadOptions))
{
    // Trabaja con la presentación
    // CustomFont1, CustomFont2, y fuentes de las carpetas assets\fonts y global\fonts y sus subcarpetas están disponibles para la presentación
}

Gestionar Fuentes Externamente

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

Este código C# demuestra el proceso de carga de fuentes desde un arreglo de bytes:

FontsLoader.LoadExternalFont(File.ReadAllBytes("ARIALN.TTF"));
FontsLoader.LoadExternalFont(File.ReadAllBytes("ARIALNBI.TTF"));
FontsLoader.LoadExternalFont(File.ReadAllBytes("ARIALNI.TTF"));

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