Benutzerdefinierte PowerPoint-Schriftart in C#

Benutzerdefinierte Schriftarten laden

Aspose.Slides ermöglicht es Ihnen, Schriftarten zu laden, die in Präsentationen gerendert werden, ohne dass diese Schriftarten installiert werden müssen. Die Schriftarten werden aus einem benutzerdefinierten Verzeichnis geladen.

  1. Erstellen Sie eine Instanz der FontsLoader Klasse und rufen Sie die Methode LoadExternalFonts auf.
  2. Laden Sie die Präsentation, die gerendert werden soll.
  3. Leeren Sie den Cache in der FontsLoader Klasse.

Dieser C#-Code zeigt den Schriftartladeprozess:

// Der Pfad zum Dokumentenverzeichnis
string dataDir = "C:\\";

// Ordner, um nach Schriftarten zu suchen
String[] folders = new String[] { dataDir };

// Lädt die Schriftarten aus dem benutzerdefinierten Verzeichnis
FontsLoader.LoadExternalFonts(folders);

// Führen Sie einige Arbeiten durch und rendern Sie die Präsentation/Folien
using (Presentation presentation = new Presentation(dataDir + "DefaultFonts.pptx"))
    presentation.Save(dataDir + "NewFonts_out.pptx", SaveFormat.Pptx);

// Leert den Schriftarten-Cache
FontsLoader.ClearCache();

Benutzerdefinierten Schriftartenordner abrufen

Aspose.Slides bietet die Methode GetFontFolders, um Ihnen zu ermöglichen, Schriftartenordner zu finden. Diese Methode gibt Ordner zurück, die über die Methode LoadExternalFonts hinzugefügt wurden, sowie systemweite Schriftartenordner.

Dieser C#-Code zeigt Ihnen, wie Sie GetFontFolders verwenden:

// Diese Zeile gibt die Ordner aus, die auf Schriftartdateien überprüft werden.
// Dies sind Ordner, die über die LoadExternalFonts-Methode und systemweite Schriftartenordner hinzugefügt wurden.
string[] fontFolders = FontsLoader.GetFontFolders();

Benutzerdefinierte Schriftarten für die Präsentation angeben

Aspose.Slides bietet die Eigenschaft DocumentLevelFontSources, um externe Schriftarten anzugeben, die mit der Präsentation verwendet werden.

Dieser C#-Code zeigt Ihnen, wie Sie die Eigenschaft DocumentLevelFontSources verwenden:

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))
{
    // Arbeiten mit der Präsentation
    // CustomFont1, CustomFont2 und Schriftarten aus den Ordnern assets\fonts & global\fonts sowie deren Unterordnern sind der Präsentation verfügbar
}

Schriftarten extern verwalten

Aspose.Slides bietet die Methode LoadExternalFont(byte[] data), um externer Schriftarten aus binären Daten zu laden.

Dieser C#-Code demonstriert den Prozess des Ladens von Schriftarten aus Byte-Arrays:

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

try
{
    using (Presentation pres = new Presentation(""))
    {
        // externe Schriftart, die während der Lebensdauer der Präsentation geladen wurde
    }
}
finally
{
    FontsLoader.ClearCache();
}