Bekerja dengan teks dalam dokumen PostScript (PS) di Java

Tambahkan, format, dan tata gaya elemen teks dalam dokumen PostScript (PS/EPS) menggunakan Aspose.Page for Java. Render teks dengan presisi tinggi secara terprogram dengan kontrol penuh atas pemilihan font (termasuk font sistem, TrueType, dan OpenType), efek isian dan garis tepi teks, transformasi afin (penskalaan, rotasi, kemiringan), jarak karakter khusus, dan clipping teks vektor.

 

Aspose.Page for Java menyediakan metode rendering teks yang fleksibel dalam kelas PsDocument, yang memungkinkan pengembang menghasilkan teks standar dengan isian atau teks bergaris tepi di sepanjang jalur vektor.

  • Untuk merender paragraf teks, judul, dan string label standar yang mudah dibaca dengan isian solid atau gradien, gunakan metode PsDocument.fillText().
  • Untuk membuat garis tepi teks vektor dekoratif, judul berongga, atau efek tipografi bergaya, gunakan metode PsDocument.outlineText().
  • Untuk memuat file font eksternal .ttf atau .otf guna mempertahankan tampilan visual yang sama secara tepat di berbagai lingkungan, gunakan DrFont/System Fonts.
  • Untuk memberikan sudut, memutar, atau memiringkan elemen teks relatif terhadap koordinat halaman dokumen, gunakan metode PsDocument.transform().

Menambahkan teks dengan isian standar ke halaman PostScript

Render string sederhana pada halaman PostScript menggunakan font sistem standar dan isian warna.

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

Membuat garis luar dan menggambar jalur teks

Gambar garis tepi teks vektor tanpa isian interior untuk membuat header yang menarik perhatian atau elemen desain tipografi.

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

Menggunakan font TrueType/OpenType khusus (`.ttf`/`.otf`)

Integrasikan font merek yang tidak tersedia di sistem dengan menentukan jalur file font atau menyematkan folder font khusus ke dalam 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.");
    }
}

Instalasi dan Penyiapan

Tambahkan Aspose.Page for Java ke Maven Anda:

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. Bagaimana posisi teks dihitung dalam PsDocument?

Titik koordinat teks (X, Y) menunjukkan awal garis dasar string teks dalam bingkai halaman PostScript (diukur dalam titik PostScript, dengan 72 titik = 1 inci).

2. Bisakah saya merender teks dengan isian gradien, bukan warna solid?

Ya. Teruskan objek cat gradien, seperti java.awt.LinearGradientPaint atau java.awt.TexturePaint, ke document.setPaint() sebelum memanggil document.fillText() untuk menerapkan gaya isian kompleks pada teks.

3. Apa yang terjadi jika font yang diminta tidak tersedia di server host?

Jika font sistem yang ditentukan tidak tersedia dan tidak ada jalur font khusus yang diberikan melalui PsSaveOptions.setAdditionalFontsFolders(), Aspose.Page akan menggunakan tipografi PostScript default standar, seperti Courier atau Helvetica, untuk memastikan pembuatan dokumen selesai tanpa kesalahan.