Benutzerdefinierte PowerPoint-Schriftarten in Python

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 load_external_fonts auf.
  2. Laden Sie die Präsentation, die gerendert werden soll.
  3. Leeren Sie den Cache in der FontsLoader Klasse.

Dieser Python-Code zeigt den Prozess des Ladevorgangs von Schriftarten:

import aspose.slides as slides

# Der Pfad zum Dokumentenverzeichnis.
dataDir = "C:\\"

# Verzeichnisse zur Suche nach Schriftarten
folders = [ dataDir ]

# Lädt die Schriftarten aus dem benutzerdefinierten Schriftartenverzeichnis
slides.FontsLoader.load_external_fonts(folders)

# Führen Sie einige Arbeiten aus und rendern Sie die Präsentation/Folie
with slides.Presentation(path + "DefaultFonts.pptx") as presentation:
    presentation.save("NewFonts_out.pptx", slides.export.SaveFormat.PPTX)

# Leert den Schriftarten-Cache
slides.FontsLoader.clear_cache()

Benutzerdefinierten Schriftartenordner abrufen

Aspose.Slides bietet die Methode get_font_folders(), mit der Sie Schriftartenordner finden können. Diese Methode gibt Ordner zurück, die über die Methode LoadExternalFonts hinzugefügt wurden, sowie Systemschriftartenordner.

Dieser Python-Code zeigt Ihnen, wie Sie get_font_folders() verwenden:

# Diese Zeile gibt die Ordner aus, die auf Schriftartdateien überprüft werden.
# Das sind Ordner, die über die Methode load_external_fonts hinzugefügt wurden und Systemschriftartenordner.
fontFolders = slides.FontsLoader.get_font_folders()

Benutzerdefinierte Schriftarten für Präsentationen angeben

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

Dieser Python-Code zeigt Ihnen, wie Sie die Eigenschaft document_level_font_sources verwenden:

import aspose.slides as slides

with open(path + "CustomFont1.ttf", "br") as font1:
    memoryFont1 = font1.read()
    with open(path + "CustomFont2.ttf", "br") as font2:
        memoryFont2 = font2.read()

        loadOptions = slides.LoadOptions()
        loadOptions.document_level_font_sources.font_folders =  ["assets\\fonts", "global\\fonts"] 
        loadOptions.document_level_font_sources.memory_fonts = [ memoryFont1, memoryFont2 ]
        with slides.Presentation(path + "DefaultFonts.pptx", loadOptions) as presentation:
            # Arbeiten Sie mit der Präsentation
            # CustomFont1, CustomFont2 und Schriftarten aus den Ordnern assets\fonts & global\fonts und deren Unterordnern sind für die Präsentation verfügbar
            print(len(presentation.slides))

Schriftarten extern verwalten

Aspose.Slides bietet die Methode load_external_font(data), um externe Schriftarten aus Binärdaten zu laden.

Dieser Python-Code demonstriert den Prozess des Ladevorgangs von Schriftarten aus Byte-Arrays:

from aspose.slides import FontsLoader, Presentation

def read_all_bytes(path):
    with open(path, "rb") as in_file:
        bytes = in_file.read()
    return bytes

FontsLoader.load_external_font(read_all_bytes("ARIALN.TTF"))
FontsLoader.load_external_font(read_all_bytes("ARIALNBI.TTF"))
FontsLoader.load_external_font(read_all_bytes("ARIALNI.TTF"))

try:
    with Presentation() as pres:
        # Externe Schriftart während der Lebensdauer der Präsentation geladen
        print("Verarbeitung")
finally:
    FontsLoader.clear_cache()