Arbeiten mit Text in PostScript-(PS)-Dokumenten in Java

Fügen Sie Textelemente in PostScript-(PS/EPS)-Dokumenten mit Aspose.Page for Java hinzu, formatieren und gestalten Sie diese. Rendern Sie hochpräzise Texte programmgesteuert mit vollständiger Kontrolle über die Schriftauswahl (einschließlich System-, TrueType- und OpenType-Schriftarten), Textfüllungs- und Umrisseffekte, affine Transformationen (Skalierung, Drehung, Scherung), benutzerdefinierte Zeichenabstände und das Beschneiden von Vektortext.

 

Aspose.Page for Java bietet flexible Methoden zum Rendern von Texten innerhalb der Klasse PsDocument, mit denen Entwickler standardmäßig gefüllten Text oder Textumrisse entlang von Vektorpfaden ausgeben können.

  • Verwenden Sie für das Rendern standardmäßiger, gut lesbarer Textabsätze, Titel und Beschriftungen mit Vollton- oder Verlaufsfüllungen die Methode PsDocument.fillText().
  • Verwenden Sie zum Erstellen dekorativer Vektortextumrisse, hohler Titel oder stilisierter typografischer Effekte die Methode PsDocument.outlineText().
  • Um externe .ttf- oder .otf-Schriftartdateien zu laden und eine exakt übereinstimmende visuelle Darstellung über verschiedene Umgebungen hinweg zu gewährleisten, verwenden Sie DrFont/System Fonts.
  • Um Textelemente relativ zu den Seitenkoordinaten des Dokuments zu drehen, zu neigen oder in einem bestimmten Winkel auszurichten, verwenden Sie die Methode PsDocument.transform().

Hinzufügen von standardmäßig gefülltem Text zu einer PostScript-Seite

Einfache Zeichenfolgen auf einer PostScript-Seite mit standardmäßigen Systemschriftarten und Farbausfüllungen rendern.

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.");
    }
}

Textpfade als Umrisse darstellen und nachzeichnen

Zeichnen Sie Vektortextumrisse ohne innere Füllungen, um wirkungsvolle Überschriften oder typografische Gestaltungselemente zu erstellen.

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.");
    }
}

Verwenden benutzerdefinierter TrueType-/OpenType-Schriftarten (`.ttf`/`.otf`)

Integrieren Sie nicht systemseitig verfügbare Markenschriftarten, indem Sie Pfade zu Schriftartdateien angeben oder benutzerdefinierte Schriftartenordner in PsSaveOptions einbetten.

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.");
    }
}

Installation und Einrichtung

Fügen Sie Aspose.Page for Java zu Ihrem Maven-Projekt hinzu:

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. Wie werden Textpositionen in PsDocument berechnet?

Die Textkoordinatenpunkte (X, Y) stellen den Beginn der Grundlinie der Textzeichenfolge innerhalb des PostScript-Seitenrahmens dar (gemessen in PostScript-Punkten, wobei 72 Punkte = 1 Zoll gilt).

2. Kann ich Text mit Farbverlaufsfüllungen anstelle von Volltonfarben rendern?

Ja. Übergeben Sie ein Farbverlaufsobjekt, z. B. java.awt.LinearGradientPaint oder java.awt.TexturePaint, an document.setPaint(), bevor Sie document.fillText() aufrufen, um komplexe Füllstile auf Text anzuwenden.

3. Was geschieht, wenn eine angeforderte Schriftart auf dem Hostserver fehlt?

Wenn eine angegebene Systemschriftart nicht vorhanden ist und kein benutzerdefinierter Schriftartpfad über PsSaveOptions.setAdditionalFontsFolders() bereitgestellt wurde, greift Aspose.Page auf standardmäßige PostScript-Schriftarten wie Courier oder Helvetica zurück, um sicherzustellen, dass die Dokumenterstellung ohne Fehler abgeschlossen wird.