Převeďte TTF na WOFF a WOFF2 pomocí Java.

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

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.

Viz také