PowerPoint-Schriften unter Android anpassen
Aspose Slides ermöglicht das Laden dieser Schriften mithilfe der loadExternalFonts Methode:
Benutzerdefinierte Schriften laden
Aspose.Slides ermöglicht das Laden von Schriften, die in einer Präsentation verwendet werden, ohne sie im System zu installieren. Dies wirkt sich auf die Exportausgabe aus – z. B. PDF, Bilder und andere unterstützte Formate – sodass die resultierenden Dokumente in verschiedenen Umgebungen konsistent aussehen. Schriften werden aus benutzerdefinierten Verzeichnissen geladen.
- Geben Sie einen oder mehrere Ordner an, die die Schriftdateien enthalten.
- Rufen Sie die statische FontsLoader.loadExternalFonts Methode auf, um Schriften aus diesen Ordnern zu laden.
- Laden und rendern/exportieren Sie die Präsentation.
- Rufen Sie FontsLoader.clearCache auf, um den Schrift-Cache zu leeren.
Das folgende Codebeispiel demonstriert den Schriftladevorgang:
// Definieren Sie Ordner, die benutzerdefinierte Schriftdateien enthalten.
String[] fontFolders = new String[] { externalFontFolder1, externalFontFolder2 };
// Laden Sie benutzerdefinierte Schriften aus den angegebenen Ordnern.
FontsLoader.loadExternalFonts(fontFolders);
Presentation presentation = null;
try {
presentation = new Presentation("sample.pptx");
// Präsentation rendern/exportieren (z. B. nach PDF, Bildern oder anderen Formaten) mit den geladenen Schriften.
presentation.save("output.pdf", SaveFormat.Pdf);
} finally {
if (presentation != null) presentation.dispose();
// Löschen Sie den Schrift-Cache, nachdem die Arbeit abgeschlossen ist.
FontsLoader.clearCache();
}
Hinweis
FontsLoader.loadExternalFonts fügt zusätzliche Ordner zu den Schriftsuchpfaden hinzu, ändert jedoch nicht die Reihenfolge der Schriftinitialisierung.
Schriften werden in dieser Reihenfolge initialisiert:
- Der Standardschriftpfad des Betriebssystems.
- Die Pfade, die über FontsLoader geladen wurden.
Benutzerdefinierte Schriftordner abrufen
Aspose.Slides stellt die getFontFolders Methode zur Verfügung, mit der Sie Schriftordner finden können. Diese Methode gibt Ordner zurück, die über die LoadExternalFonts‑Methode hinzugefügt wurden, sowie System‑Schriftordner.
Dieser Java‑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.
String[] fontFolders = FontsLoader.getFontFolders();
Benutzerdefinierte Schriften für eine Präsentation festlegen
Aspose.Slides bietet die setDocumentLevelFontSources Eigenschaft, mit der Sie externe Schriften angeben können, die mit der Präsentation verwendet werden sollen.
Dieser Java‑Code zeigt, wie Sie die setDocumentLevelFontSources Eigenschaft verwenden:
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 {
// Arbeiten mit der Präsentation
// CustomFont1, CustomFont2 und Schriften aus den Ordnern assets\fonts & global\fonts sowie deren Unterordnern stehen der Präsentation zur Verfügung
} finally {
if (pres != null) pres.dispose();
}
Schriften extern verwalten
Aspose.Slides stellt die loadExternalFont(byte[] data) Methode bereit, mit der Sie externe Schriften aus Binärdaten laden können.
Dieser Java‑Code demonstriert das Laden von Schriften aus einem Byte‑Array:
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 {
// extern geladene Schrift während der Lebensdauer der Präsentation
} finally {
}
}
finally
{
FontsLoader.clearCache();
}
FAQ
Beeinflussen benutzerdefinierte Schriften den Export in alle Formate (PDF, PNG, SVG, HTML)?
Ja. Verbundene Schriften werden vom Renderer in allen Exportformaten verwendet.
Werden benutzerdefinierte Schriften automatisch in die resultierende PPTX eingebettet?
Nein. Das Registrieren einer Schrift zum Rendern ist nicht dasselbe wie das Einbetten in eine PPTX. Wenn Sie die Schrift in der Präsentationsdatei behalten möchten, müssen Sie die expliziten embedding features verwenden.
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 verwenden, ohne sie systemweit zu installieren?
Ja. Zeigen Sie auf Ihre eigenen Schriftordner oder laden Sie Schriften aus Byte‑Arrays. So entfällt jede Abhängigkeit von Systemschriftverzeichnissen im Container‑Image.
Wie sieht es mit Lizenzierung aus – kann ich jede benutzerdefinierte Schrift ohne Einschränkungen einbetten?
Sie sind für die Einhaltung der Schriftlizenz verantwortlich. Die Bedingungen variieren; einige Lizenzen verbieten das Einbetten oder die kommerzielle Nutzung. Überprüfen Sie stets die EULA der Schrift, bevor Sie Ausgaben verbreiten.