WOFF (Web Open Font Format) ist im Grunde ein TTF (True Type Font), enthält jedoch formatspezifische Komprimierung und zusätzliche XML-Metadaten. WOFF2 ist eine erweiterte Version von WOFF. Es bietet im Vergleich zu WOFF mehr Komprimierung. Sowohl WOFF als auch WOFF2 werden auf Webseiten verwendet. Andererseits funktioniert TTF (True Type Font) gut auf allen digitalen Plattformen und bietet eine hervorragende Qualität auf dem Bildschirm und in gedruckten Dokumenten. In bestimmten Fällen müssen wir in Java-Anwendungen möglicherweise True-Type-Schriftarten programmgesteuert in Web-Schriftarten konvertieren. In diesem Artikel erfahren Sie, wie Sie TTF mit Java in WOFF und WOFF2 konvertieren.
Folgende Themen sollen in diesem Artikel behandelt werden:
- Java-API zum Konvertieren von TTF in WOFF & WOFF2
- Konvertieren Sie TTF mit Java in WOFF
- Konvertieren Sie TTF in WOFF2 mit Java
Java-API zum Konvertieren von TTF in WOFF & WOFF2
Zum Konvertieren von TTF in WOFF verwenden wir die API Aspose.Font for Java. Es stellt die FontFileDefinition-Klasse bereit, die die Schriftartdateidefinition darstellt. Sie stellt auch die FontDefinition-Klasse bereit, die die Schriftartdateisatzdefinition darstellt und grundlegende Details der Schriftart wie Name, Typ usw. bereitstellt. Die Open()-Methode dieser Klasse gibt die FontDefinition für die Schriftartdatei und den Schriftarttyp zurück. Wir können die geladene Schriftart mit der SaveToFormat()-Methode der Font-Klasse in andere Formate konvertieren. Darüber hinaus ermöglicht die API das Laden, Speichern und Extrahieren von Informationen aus unterstützten Schriftarten.
Bitte laden Sie die JAR-Datei der API herunter oder fügen Sie die folgende pom.xml-Konfiguration in einer Maven-basierten Java-Anwendung hinzu.
<repository>
<id>AsposeJavaAPI</id>
<name>Aspose Java API</name>
<url>https://repository.aspose.com/repo/</url>
</repository>
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-font</artifactId>
<version>21.12</version>
<type>pom</type>
</dependency>
Konvertieren Sie TTF mit Java in WOFF
Wir können True Type Fonts (TTF) einfach in das Web Open Font Format (WOFF) konvertieren, indem wir die folgenden Schritte ausführen:
- Laden Sie zunächst die Schriftartdatei mit der Klasse FileSystemStreamSource.
- Erstellen Sie als Nächstes eine Instanz der Klasse FontFileDefinition mit dem Quelldateiobjekt als Argument.
- Initialisieren Sie dann das Klassenobjekt FontDefinition mit dem Font-Typ als TTF und dem FontFileDefinition-Objekt.
- Öffnen Sie danach die Schriftart mit der Methode Font.Open() mit dem FontDefinition-Objekt als Argument.
- Rufen Sie schließlich die Methode SaveToFormat() auf, um sie zu speichern. Als Argumente werden der Ausgabedateipfad und FontSavingFormats für WOFF verwendet.
Das folgende Codebeispiel zeigt, wie TTF mit Java in WOFF konvertiert wird.
// Dieses Codebeispiel zeigt, wie TTF in WOFF konvertiert wird.
// TTF-Dateipfad
String fontPath = "C:\\Files\\Montserrat-Regular.ttf";
// Laden Sie die Font-Datei
FileSystemStreamSource source = new FileSystemStreamSource(fontPath);
// Schriftdateidefinition erstellen
FontFileDefinition fileDefinition = new FontFileDefinition(source);
// Schriftdefinition erstellen
FontDefinition fontDefinition = new FontDefinition(FontType.TTF, fileDefinition);
// Schriftart öffnen
Font font = Font.open(fontDefinition);
// WOFF-Ausgangspfad
String outPath = "C:\\Files\\TtfToWoff_out1.woff";
FileOutputStream outStream = new FileOutputStream(outPath);
// Konvertieren Sie TTF in WOFF
font.saveToFormat(outStream, FontSavingFormats.WOFF);
Konvertieren Sie TTF mit Java in WOFF2
WOFF2 ist eine aktualisierte Version von WOFF. Es bietet mehr Komprimierung, wodurch es eine kleinere Dateigröße hat und eine bessere Leistung für moderne Browser bietet. Wir können TTF auch in WOFF2 konvertieren, indem wir die zuvor erwähnten Schritte ausführen. Wir müssen jedoch im letzten Schritt nur die FontSavingFormats als WOFF2 festlegen.
Das folgende Codebeispiel zeigt, wie TTF mit Java in WOFF2 konvertiert wird.
// Dieses Codebeispiel zeigt, wie TTF in WOFF2 konvertiert wird.
// TTF-Dateipfad
String fontPath = "C:\\Files\\Montserrat-Regular.ttf";
// Laden Sie die Font-Datei
FileSystemStreamSource source = new FileSystemStreamSource(fontPath);
// Schriftdateidefinition erstellen
FontFileDefinition fileDefinition = new FontFileDefinition(source);
// Schriftdefinition erstellen
FontDefinition fontDefinition = new FontDefinition(FontType.TTF, fileDefinition);
// Schriftart öffnen
Font font = Font.open(fontDefinition);
// WOFF-Ausgangspfad
String outPath = "C:\\Files\\TtfToWoff_out1.woff2";
FileOutputStream outStream = new FileOutputStream(outPath);
// Konvertieren Sie TTF in WOFF
font.saveToFormat(outStream, FontSavingFormats.WOFF2);
Holen Sie sich eine kostenlose Lizenz
Sie können eine kostenlose temporäre Lizenz erhalten, um die Bibliothek ohne Evaluierungseinschränkungen zu testen.
Fazit
In diesem Artikel haben wir gelernt, wie man True Type-Schriftarten in Java in Web Open-Schriftarten konvertiert. Wir haben auch gesehen, wie man TTF programmgesteuert als WOFF2 speichert. Außerdem können Sie mithilfe der Dokumentation mehr über Aspose.Font for Java API erfahren. Bei Unklarheiten können Sie uns gerne im Forum kontaktieren.