Benutzerdefinierte PowerPoint-Schriftart in JavaScript

Benutzerdefinierte Schriften laden

Aspose.Slides ermöglicht das Laden von Schriften, die in Präsentationen gerendert werden, ohne diese installieren zu müssen. Die Schriften werden aus einem benutzerdefinierten Verzeichnis geladen.

  1. Erstellen Sie eine Instanz der FontsLoader‑Klasse und rufen Sie die loadExternalFonts‑Methode auf.
  2. Laden Sie die Präsentation, die gerendert werden soll.
  3. Clear the cache in der FontsLoader‑Klasse.

Dieser JavaScript‑Code demonstriert den Vorgang des Schriftartenladens:

// Ordner zum Suchen von Schriftarten
var folders = java.newArray("java.lang.String", [externalFontsDir]);
// Lädt die Schriftarten aus dem benutzerdefinierten Schriftartenverzeichnis
aspose.slides.FontsLoader.loadExternalFonts(folders);
// Führt einige Aktionen aus und rendert die Präsentation/Folie
var pres = new aspose.slides.Presentation("DefaultFonts.pptx");
try {
    pres.save("NewFonts_out.pptx", aspose.slides.SaveFormat.Pptx);
} finally {
    if (pres != null) {
        pres.dispose();
    }
    // Löscht den Schriftarten-Cache
    aspose.slides.FontsLoader.clearCache();
}

Benutzerdefinierten Schriftenordner abrufen

Aspose.Slides stellt die getFontFolders‑Methode zur Verfügung, um Schriftordner zu finden. Diese Methode gibt Ordner zurück, die über die LoadExternalFonts‑Methode sowie System‑Schriftordner hinzugefügt wurden.

Dieser JavaScript‑Code zeigt, wie Sie getFontFolders verwenden:

// Diese Zeile gibt die Ordner aus, in denen nach Schriftdateien gesucht wird.
// Das sind Ordner, die über die LoadExternalFonts-Methode und System-Schriftordner hinzugefügt wurden.
var fontFolders = aspose.slides.FontsLoader.getFontFolders();

Angeben benutzerdefinierter Schriften für die Präsentation

Aspose.Slides bietet die setDocumentLevelFontSources‑Eigenschaft, mit der externe Schriften festgelegt werden können, die für die Präsentation verwendet werden.

Dieser JavaScript‑Code zeigt, wie Sie die setDocumentLevelFontSources‑Eigenschaft nutzen:

var memoryFont1 = java.newInstanceSync("java.io.FileInputStream", java.newInstanceSync("java.io.File", "customfonts/CustomFont1.ttf"));
var memoryFont2 = java.newInstanceSync("java.io.FileInputStream", java.newInstanceSync("java.io.File", "customfonts/CustomFont2.ttf"));
var loadOptions = new aspose.slides.LoadOptions();
loadOptions.getDocumentLevelFontSources().setFontFolders(java.newArray("java.lang.String", ["assets/fonts", "global/fonts"]));
loadOptions.getDocumentLevelFontSources().setMemoryFonts(java.newArray("[B", [java.newArray("byte", ["item1", "item2", "item3"])]));
var pres = new aspose.slides.Presentation("MyPresentation.pptx", loadOptions);
try {
    // Arbeit mit der Präsentation
    // CustomFont1, CustomFont2 und Schriftarten aus den Ordnern assets\fonts & global\fonts sowie deren Unterordnern sind für die Präsentation verfügbar
} finally {
    if (pres != null) {
        pres.dispose();
    }
}

Schriften extern verwalten

Aspose.Slides stellt die loadExternalFont(byte[] data)‑Methode bereit, um externe Schriften aus Binärdaten zu laden.

Dieser JavaScript‑Code demonstriert das Laden von Schriftarten aus einem Byte‑Array:

java.callStaticMethodSync("com.aspose.slides.FontsLoader", "loadExternalFonts", java.newInstanceSync("java.io.FileInputStream", java.newInstanceSync("java.io.File", "ARIALN.TTF")));
java.callStaticMethodSync("com.aspose.slides.FontsLoader", "loadExternalFonts", java.newInstanceSync("java.io.FileInputStream", java.newInstanceSync("java.io.File", "ARIALNBI.TTF")));
java.callStaticMethodSync("com.aspose.slides.FontsLoader", "loadExternalFonts", java.newInstanceSync("java.io.FileInputStream", java.newInstanceSync("java.io.File", "ARIALNI.TTF")));
try {
    var pres = new aspose.slides.Presentation("");
    try {
        // Externe Schriftart während der Laufzeit der Präsentation geladen
    } finally {
    }
} finally {
    java.callStaticMethodSync("com.aspose.slides.FontsLoader", "clearCache");
}

FAQ

Wirken sich benutzerdefinierte Schriften auf den Export in alle Formate (PDF, PNG, SVG, HTML) aus?

Ja. Eingebundene Schriften werden vom Renderer in allen Exportformaten verwendet.

Werden benutzerdefinierte Schriften automatisch in die resultierende PPTX eingebettet?

Nein. Das Registrieren einer Schrift für das Rendering ist nicht dasselbe wie das Einbetten in eine PPTX. Wenn die Schrift in der Präsentationsdatei enthalten sein soll, müssen Sie die expliziten Embedding‑Features nutzen.

Kann ich das Fallback‑Verhalten steuern, wenn einer benutzerdefinierten Schrift bestimmte Glyphen fehlen?

Ja. Konfigurieren Sie Font‑Substitution, Replacement‑Rules und Fallback‑Sets, um genau festzulegen, welche Schrift verwendet wird, wenn die angeforderte Glyphe fehlt.

Kann ich Schriften in Linux/Docker‑Containern nutzen, ohne sie systemweit zu installieren?

Ja. Verweisen Sie auf eigene Schriftordner oder laden Sie Schriften aus Byte‑Arrays. Dadurch entfällt jede Abhängigkeit von Systemschriftverzeichnissen im Container‑Image.

Wie verhält es sich mit Lizenzierung – kann ich jede benutzerdefinierte Schrift ohne Einschränkungen einbetten?

Sie sind für die Einhaltung der Schriftlizenzierung verantwortlich. Die Bedingungen variieren; einige Lizenzen verbieten das Einbetten oder die kommerzielle Nutzung. Überprüfen Sie stets die EULA der jeweiligen Schrift, bevor Sie Ausgaben verbreiten.