Convierta TTF a WOFF y WOFF2 usando Java.

WOFF (Web Open Font Format) es básicamente un TTF (True Type Font) pero contiene compresión específica del formato y metadatos XML adicionales. WOFF2 es una versión extendida de WOFF. Ofrece más compresión en comparación con WOFF. Tanto WOFF como WOFF2 se utilizan en páginas web. Por otro lado, TTF (True Type Font) funciona bien en todas las plataformas digitales y ofrece una excelente calidad en pantalla y en documentos impresos. En ciertos casos, es posible que necesitemos convertir fuentes de tipo verdadero en fuentes web mediante programación en aplicaciones Java. En este artículo, aprenderemos cómo convertir TTF a WOFF y WOFF2 usando Java.

En este artículo se tratarán los siguientes temas:

API de Java para convertir TTF a WOFF y WOFF2

Para convertir TTF a WOFF, utilizaremos la API Aspose.Font for Java. Proporciona la clase FontFileDefinition que representa la definición del archivo de fuente. También proporciona la clase FontDefinition que representa la definición del conjunto de archivos de fuente y proporciona detalles básicos de la fuente, como el nombre, el tipo, etc. El método Open() de esta clase devuelve la definición de fuente para el archivo de fuente y el tipo de fuente. Podemos convertir la fuente cargada a otros formatos utilizando el método SaveToFormat() de la clase Font. Además, la API permite cargar, guardar y extraer información de tipos de fuentes compatibles.

Descargue el JAR de la API o agregue la siguiente configuración pom.xml en una aplicación Java basada en 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>

Convierta TTF a WOFF usando Java

Podemos convertir fácilmente True Type Fonts (TTF) a Web Open Font Format (WOFF) siguiendo los pasos que se detallan a continuación:

  • En primer lugar, cargue el archivo de fuente utilizando la clase FileSystemStreamSource.
  • A continuación, cree una instancia de la clase FontFileDefinition con el objeto del archivo de origen como argumento.
  • Luego, inicialice el objeto de clase FontDefinition con el tipo de fuente como TTF y el objeto FontFileDefinition.
  • Después de eso, abra la fuente usando el método Font.Open() con el objeto FontDefinition como argumento.
  • Finalmente, llame al método SaveToFormat() para guardarlo. Toma la ruta del archivo de salida y FontSavingFormats a WOFF como argumentos.

El siguiente ejemplo de código demuestra cómo convertir TTF a WOFF usando Java.

// Este ejemplo de código muestra cómo convertir TTF a WOFF.
// Ruta del archivo TTF
String fontPath = "C:\\Files\\Montserrat-Regular.ttf";

// Cargue el archivo de fuente
FileSystemStreamSource source = new FileSystemStreamSource(fontPath);

// Crear definición de archivo de fuente
FontFileDefinition fileDefinition = new FontFileDefinition(source);

// Crear definición de fuente
FontDefinition fontDefinition = new FontDefinition(FontType.TTF, fileDefinition);

// fuente abierta
Font font = Font.open(fontDefinition);

// Ruta de salida WOFF
String outPath = "C:\\Files\\TtfToWoff_out1.woff";
FileOutputStream outStream = new FileOutputStream(outPath);

// Convertir TTF a WOFF
font.saveToFormat(outStream, FontSavingFormats.WOFF);

Convierta TTF a WOFF2 usando Java

WOFF2 es una versión actualizada de WOFF. Ofrece más compresión debido a que es más pequeño en tamaño de archivo y proporciona un mejor rendimiento para los navegadores modernos. También podemos convertir TTF a WOFF2 siguiendo los pasos mencionados anteriormente. Sin embargo, solo necesitamos configurar FontSavingFormats como WOFF2 en el último paso.

El siguiente ejemplo de código demuestra cómo convertir TTF a WOFF2 usando Java.

// Este ejemplo de código muestra cómo convertir TTF a WOFF2.
// Ruta del archivo TTF
String fontPath = "C:\\Files\\Montserrat-Regular.ttf";

// Cargue el archivo de fuente
FileSystemStreamSource source = new FileSystemStreamSource(fontPath);

// Crear definición de archivo de fuente
FontFileDefinition fileDefinition = new FontFileDefinition(source);

// Crear definición de fuente
FontDefinition fontDefinition = new FontDefinition(FontType.TTF, fileDefinition);

// fuente abierta
Font font = Font.open(fontDefinition);

// Ruta de salida WOFF
String outPath = "C:\\Files\\TtfToWoff_out1.woff2";
FileOutputStream outStream = new FileOutputStream(outPath);

// Convertir TTF a WOFF
font.saveToFormat(outStream, FontSavingFormats.WOFF2);

Obtenga una licencia gratis

Puede obtener una licencia temporal gratuita para probar la biblioteca sin limitaciones de evaluación.

Conclusión

En este artículo, hemos aprendido cómo convertir fuentes True Type a fuentes Web abiertas en Java. También hemos visto cómo guardar TTF como WOFF2 programáticamente. Además, puede obtener más información sobre Aspose.Font for Java API utilizando la documentación. En caso de cualquier ambigüedad, no dude en contactarnos en el foro.

Ver también