
WOFF (Web Open Font Format) je v podstatě TTF (True Type Font), ale obsahuje kompresi specifickou pro daný formát a další metadata XML. WOFF2 je rozšířená verze WOFF. Nabízí větší kompresi ve srovnání s WOFF. Na webových stránkách se používají WOFF i WOFF2. Na druhou stranu TTF (True Type Font) funguje dobře na všech digitálních platformách a poskytuje vynikající kvalitu na obrazovce i v tištěných dokumentech. V určitých případech může být nutné převést písma TrueType do webových písem programově v aplikacích Java. V tomto článku se naučíme, jak převést TTF na WOFF a WOFF2 pomocí Java.
Tento článek bude obsahovat následující témata:
- Java API pro převod TTF na WOFF a WOFF2
- Převeďte TTF na WOFF pomocí Java
- Převeďte TTF na WOFF2 pomocí Java
Java API pro převod TTF na WOFF a WOFF2
Pro převod TTF na WOFF budeme používat API Aspose.Font for Java. Poskytuje třídu FontFileDefinition, která představuje definici souboru písem. Poskytuje také třídu FontDefinition, která představuje definici sady písem a poskytuje základní podrobnosti o Písmu, jako je název, typ atd. Metoda Open() této třídy vrací FontDefinition pro soubor písem a typ písma. Načtené písmo můžeme převést do jiných formátů pomocí metody SaveToFormat() třídy Font. Kromě toho API umožňuje načítání, ukládání a extrahování informací z podporovaných typů písem.
Prosím buď stáhněte JAR API, nebo přidejte následující konfiguraci pom.xml do Java aplikace založené na Maven.
<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>
Převeďte TTF na WOFF pomocí Java
Můžeme snadno převést True Type Fonts (TTF) na Web Open Font Format (WOFF) podle následujících kroků:
- Nejprve načtěte soubor písma pomocí třídy FileSystemStreamSource.
- Dále vytvořte instanci třídy FontFileDefinition s objektem zdrojového souboru jako argumentem.
- Poté inicializujte objekt třídy FontDefinition s typem písma jako TTF a objekt FontFileDefinition.
- Poté písmo otevřete pomocí metody Font.Open() s objektem FontDefinition jako argumentem.
- Nakonec zavolejte metodu SaveToFormat() a uložte jej. Jako argumenty bere cestu k výstupnímu souboru a FontSavingFormats na WOFF.
Následující ukázka kódu ukazuje, jak převést TTF na WOFF pomocí Java.
// Tento příklad kódu ukazuje, jak převést TTF na WOFF.
// Cesta k souboru TTF
String fontPath = "C:\\Files\\Montserrat-Regular.ttf";
// Načtěte soubor písma
FileSystemStreamSource source = new FileSystemStreamSource(fontPath);
// Vytvořte definici souboru písem
FontFileDefinition fileDefinition = new FontFileDefinition(source);
// Vytvořte definici písma
FontDefinition fontDefinition = new FontDefinition(FontType.TTF, fileDefinition);
// Otevřít písmo
Font font = Font.open(fontDefinition);
// Výstupní cesta WOFF
String outPath = "C:\\Files\\TtfToWoff_out1.woff";
FileOutputStream outStream = new FileOutputStream(outPath);
// Převést TTF na WOFF
font.saveToFormat(outStream, FontSavingFormats.WOFF);
Převeďte TTF na WOFF2 pomocí Java
WOFF2 je aktualizovaná verze WOFF. Nabízí větší kompresi, díky čemuž je menší velikost souboru a poskytuje lepší výkon pro moderní prohlížeče. Můžeme také převést TTF na WOFF2 podle výše uvedených kroků. V posledním kroku však musíme pouze nastavit FontSavingFormats jako WOFF2.
Následující ukázka kódu ukazuje, jak převést TTF na WOFF2 pomocí Java.
// Tento příklad kódu ukazuje, jak převést TTF na WOFF2.
// Cesta k souboru TTF
String fontPath = "C:\\Files\\Montserrat-Regular.ttf";
// Načtěte soubor písma
FileSystemStreamSource source = new FileSystemStreamSource(fontPath);
// Vytvořte definici souboru písem
FontFileDefinition fileDefinition = new FontFileDefinition(source);
// Vytvořte definici písma
FontDefinition fontDefinition = new FontDefinition(FontType.TTF, fileDefinition);
// Otevřít písmo
Font font = Font.open(fontDefinition);
// Výstupní cesta WOFF
String outPath = "C:\\Files\\TtfToWoff_out1.woff2";
FileOutputStream outStream = new FileOutputStream(outPath);
// Převést TTF na WOFF
font.saveToFormat(outStream, FontSavingFormats.WOFF2);
Získejte bezplatnou licenci
Můžete získat bezplatnou dočasnou licenci a vyzkoušet knihovnu bez omezení hodnocení.
Závěr
V tomto článku jsme se naučili, jak převést True Type Fonts na Web Open Fonts v Javě. Také jsme viděli, jak uložit TTF jako WOFF2 programově. Kromě toho se můžete dozvědět více o Aspose.Font pro Java API pomocí dokumentace. V případě jakýchkoliv nejasností nás neváhejte kontaktovat na fóru.