Lavorare con il testo nei documenti PostScript (PS) in Java
Aggiungi, formatta e definisci lo stile degli elementi di testo nei documenti PostScript (PS/EPS) utilizzando Aspose.Page for Java. Esegui il rendering di testo ad alta precisione a livello programmatico con controllo completo sulla selezione dei font (inclusi font di sistema, TrueType e OpenType), sugli effetti di riempimento e contorno del testo, sulle trasformazioni affini (ridimensionamento, rotazione, inclinazione), sulla spaziatura personalizzata dei caratteri e sul clipping del testo vettoriale.
Aspose.Page for Java offre metodi flessibili per il rendering del testo all’interno della classe PsDocument, consentendo agli sviluppatori di generare testo standard con riempimento o testo delineato lungo percorsi vettoriali.
- Per eseguire il rendering di paragrafi di testo, titoli ed etichette standard e leggibili con riempimenti uniformi o sfumati, utilizza il metodo
PsDocument.fillText(). - Per creare contorni di testo vettoriali decorativi, titoli cavi o effetti tipografici stilizzati, utilizza il metodo
PsDocument.outlineText(). - Per caricare file di font esterni
.ttfo.otfe mantenere un’identità visiva esatta in diversi ambienti, utilizzaDrFont/System Fonts. - Per aggiungere angoli, ruotare o inclinare gli elementi di testo rispetto alle coordinate della pagina del documento, utilizza il metodo
PsDocument.transform().
Aggiungere testo con riempimento standard a una pagina PostScript
Esegui il rendering di semplici stringhe su una pagina PostScript utilizzando font di sistema standard e riempimenti colorati.
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.");
}
}Delineare e tracciare i percorsi del testo
Disegna contorni di testo vettoriali senza riempimenti interni per creare intestazioni di forte impatto o elementi di design tipografico.
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.");
}
}Utilizzare font TrueType/OpenType personalizzati (`.ttf`/`.otf`)
Integra font di brand non disponibili nel sistema specificando i percorsi dei file dei font o incorporando cartelle di font personalizzate in 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.");
}
}Installazione e configurazione
Aggiungi Aspose.Page for Java al tuo 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>
FAQ
1. Come vengono calcolate le posizioni del testo in PsDocument?
I punti delle coordinate del testo (X, Y) rappresentano l’inizio della linea di base della stringa di testo all’interno della cornice della pagina PostScript (misurata in punti PostScript, dove 72 punti = 1 pollice).
2. Posso eseguire il rendering del testo con riempimenti sfumati invece che con colori uniformi?
Sì. Passa un oggetto paint con sfumatura, come java.awt.LinearGradientPaint o java.awt.TexturePaint, a document.setPaint() prima di chiamare document.fillText() per applicare stili di riempimento complessi al testo.
3. Cosa succede se il font richiesto non è presente sul server host?
Se un font di sistema specificato è assente e non viene fornito alcun percorso di font personalizzato tramite PsSaveOptions.setAdditionalFontsFolders(), Aspose.Page utilizza i caratteri tipografici PostScript predefiniti standard, come Courier o Helvetica, per garantire che la generazione del documento venga completata senza errori.