Trabajar con texto en documentos PostScript (PS) en Java
Agregue, dé formato y diseñe elementos de texto en documentos PostScript (PS/EPS) utilizando Aspose.Page for Java. Renderice texto de alta precisión mediante programación con control total sobre la selección de fuentes (incluidas fuentes del sistema, TrueType y OpenType), efectos de relleno y contorno del texto, transformaciones afines (escalado, rotación, inclinación), espaciado personalizado entre caracteres y recorte de texto vectorial.
Aspose.Page for Java proporciona métodos flexibles de renderizado de texto dentro de la clase PsDocument, lo que permite a los desarrolladores generar texto estándar con relleno o texto con contorno a lo largo de rutas vectoriales.
- Para renderizar párrafos de texto, títulos y cadenas de etiquetas estándar y legibles con rellenos sólidos o degradados, utilice el método
PsDocument.fillText(). - Para crear contornos de texto vectoriales decorativos, títulos huecos o efectos tipográficos estilizados, utilice el método
PsDocument.outlineText(). - Para cargar archivos de fuentes externos
.ttfu.otfy mantener una identidad visual exacta en diferentes entornos, utiliceDrFont/System Fonts. - Para añadir ángulos, rotar o inclinar elementos de texto con respecto a las coordenadas de la página del documento, utilice el método
PsDocument.transform().
Agregar texto con relleno estándar a una página PostScript
Renderice cadenas de texto simples en una página PostScript utilizando fuentes del sistema estándar y rellenos de color.
import com.aspose.page.eps.PsDocument;
import com.aspose.page.eps.device.PsSaveOptions;
import java.awt.Color;
import java.awt.Font;
import java.io.FileOutputStream;
public class AddTextToPS {
public static void main(String[] args) throws Exception {
// Initialize output stream and PS document
FileOutputStream outStream = new FileOutputStream("C:/PSProject/Output/simple_text.ps");
PsSaveOptions options = new PsSaveOptions();
PsDocument document = new PsDocument(outStream, options, 1);
document.openPage(null);
// Define font and color paint
Font font = new Font("Times New Roman", Font.BOLD, 20);
document.setPaint(Color.BLUE);
// Fill text at specified X, Y coordinates
document.fillText("Aspose.Page for Java - Text Rendering", font, 100, 150);
// Close page and save document
document.closePage();
document.save();
outStream.close();
System.out.println("Text successfully added to PostScript document.");
}
}Convertir y trazar rutas de texto
Dibuje contornos de texto vectoriales sin rellenos interiores para crear encabezados de gran impacto o elementos de diseño tipográfico.
import com.aspose.page.eps.PsDocument;
import com.aspose.page.eps.device.PsSaveOptions;
import java.awt.BasicStroke;
import java.awt.Color;
import java.awt.Font;
import java.io.FileOutputStream;
public class StrokeTextInPS {
public static void main(String[] args) throws Exception {
FileOutputStream outStream = new FileOutputStream("C:/PSProject/Output/stroked_text.ps");
PsSaveOptions options = new PsSaveOptions();
PsDocument document = new PsDocument(outStream, options, 1);
document.openPage(null);
// Configure font, stroke width, and outline paint
Font font = new Font("Arial", Font.BOLD, 36);
document.setStroke(new BasicStroke(2.0f));
document.setPaint(Color.RED);
// Outline text string
document.outlineText("Outlined Vector Text", font, 100, 200);
document.closePage();
document.save();
outStream.close();
System.out.println("Outlined text rendered successfully.");
}
}Usar fuentes TrueType/OpenType personalizadas (`.ttf`/`.otf`)
Incorpore fuentes de marca que no estén disponibles en el sistema declarando las rutas de los archivos de fuentes o integrando carpetas de fuentes personalizadas en PsSaveOptions.
import com.aspose.page.eps.PsDocument;
import com.aspose.page.eps.device.PsSaveOptions;
import java.awt.Color;
import java.awt.Font;
import java.io.FileOutputStream;
public class CustomFontTextPS {
public static void main(String[] args) throws Exception {
FileOutputStream outStream = new FileOutputStream("C:/PSProject/Output/custom_font_text.ps");
// Add custom font folder search path in options
PsSaveOptions options = new PsSaveOptions();
options.setAdditionalFontsFolders(new String[] { "C:/PSProject/Fonts/" });
PsDocument document = new PsDocument(outStream, options, 1);
document.openPage(null);
// Reference custom font by its registered family name
Font customFont = new Font("CustomBrandFont", Font.PLAIN, 24);
document.setPaint(Color.DARK_GRAY);
document.fillText("Text rendered using external TrueType font", customFont, 100, 250);
document.closePage();
document.save();
outStream.close();
System.out.println("Custom font text rendered successfully.");
}
}Instalación y configuración
Agregue Aspose.Page for Java a su Maven:
Package Manager Console Command
<repository>
<id>AsposeJavaAPI</id>
<name>Aspose Java API</name>
<url>https://repository.aspose.com/repo/</url>
</repository>
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-page</artifactId>
<version>Latest</version>
</dependency>
Preguntas frecuentes
1. ¿Cómo se calculan las posiciones del texto en PsDocument?
Los puntos de coordenadas del texto (X, Y) representan el inicio de la línea base de la cadena de texto dentro del marco de la página PostScript (medidos en puntos PostScript, donde 72 puntos = 1 pulgada).
2. ¿Puedo representar texto con rellenos de degradado en lugar de colores sólidos?
Sí. Pase un objeto de pintura con degradado, como java.awt.LinearGradientPaint o java.awt.TexturePaint, a document.setPaint() antes de llamar a document.fillText() para aplicar estilos de relleno complejos al texto.
3. ¿Qué sucede si falta una fuente solicitada en el servidor host?
Si la fuente del sistema especificada no está disponible y no se proporciona una ruta de fuente personalizada mediante PsSaveOptions.setAdditionalFontsFolders(), Aspose.Page utiliza tipos de letra PostScript predeterminados estándar, como Courier o Helvetica, para garantizar que la generación del documento se complete sin errores.