Lavorare con documenti PostScript (PS) in Java

Crea, modifica e gestisci i documenti PostScript (PS) a livello di codice utilizzando Aspose.Page for Java. Crea facilmente documenti PS multipagina da zero, aggiungi pagine, inserisci grafica vettoriale ed elementi di testo, unisci più file PostScript e modifica la struttura del documento senza dover installare Adobe Acrobat o Distiller.

 

Aspose.Page for Java fornisce un modello a oggetti autonomo di alto livello incentrato sulla classe PsDocument per controllare la creazione di documenti PostScript e la manipolazione delle pagine.

Per creare nuovi flussi di stampa PostScript a pagina singola o multipagina, utilizzare PsDocument(outputStream, options)

  • Per strutturare a livello di codice le singole pagine all’interno di un flusso PostScript, utilizzare i metodi PsDocument.openPage()/closePage().
  • Per salvare grafica vettoriale, forme, testo e pagine in file su disco o flussi, utilizzare il metodo PsDocument.save().
  • Per impostare i margini delle pagine, le dimensioni personalizzate (A4, Letter) e l’orientamento di stampa, utilizzare la classe PsSaveOptions.

Creare un documento PostScript multipagina in Java

Creare un documento PS multipagina da zero configurando le opzioni di salvataggio e aprendo e chiudendo esplicitamente le pagine all’interno del flusso del documento.

import com.aspose.page.eps.PsDocument;
import com.aspose.page.eps.device.PsSaveOptions;
import java.io.FileOutputStream;

public class CreateMultiPagePSDocument {
    public static void main(String[] args) throws Exception {
        // Initialize output stream for the new PS file
        FileOutputStream outStream = new FileOutputStream("C:/PSProject/Output/multipage_document.ps");

        // Set save options (Default page size A4, 72 DPI)
        PsSaveOptions options = new PsSaveOptions();

        // Create a multi-page PS document instance
        PsDocument document = new PsDocument(outStream, options, 2); // Explicitly specifying 2 pages

        // --- PAGE 1 ---
        document.openPage("Page 1");
        // Add content to Page 1 (e.g., text or graphics)
        document.closePage();

        // --- PAGE 2 ---
        document.openPage("Page 2");
        // Add content to Page 2
        document.closePage();

        // Save and flush the document
        document.save();
        outStream.close();

        System.out.println("Multi-page PostScript document created successfully.");
    }
}

Aggiungere pagine e grafica a un generatore di documenti esistente

Popolare le pagine del documento PostScript con forme vettoriali, elementi di testo e trasformazioni.

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 AddPageContentToPS {
    public static void main(String[] args) throws Exception {
        FileOutputStream outStream = new FileOutputStream("C:/PSProject/Output/styled_document.ps");
        PsSaveOptions options = new PsSaveOptions();

        PsDocument document = new PsDocument(outStream, options, 1);

        // Open page
        document.openPage(null);

        // Add text element
        Font font = new Font("Arial", Font.BOLD, 24);
        document.fillText("Hello World from Aspose.Page Java!", font, 100, 100, Color.BLACK);

        // Draw a vector rectangle
        document.setPaint(Color.RED);
        document.drawRect(100, 150, 300, 200);

        // Close page and save
        document.closePage();
        document.save();
        outStream.close();

        System.out.println("Styled PS document with vector content saved.");
    }
}

Configurare dimensioni e margini di pagina personalizzati

Definire dimensioni precise delle pagine (come Letter, Legal o dimensioni personalizzate) utilizzando PsSaveOptions.

import com.aspose.page.eps.PsDocument;
import com.aspose.page.eps.device.PsSaveOptions;
import java.io.FileOutputStream;

public class CustomPageSizePS {
    public static void main(String[] args) throws Exception {
        FileOutputStream outStream = new FileOutputStream("C:/PSProject/Output/custom_size.ps");

        // Create options and set custom size (e.g., Letter dimensions in points)
        PsSaveOptions options = new PsSaveOptions();
        options.setPageSize(new java.awt.Dimension(612, 792)); // 8.5 x 11 inches in points

        PsDocument document = new PsDocument(outStream, options, 1);

        document.openPage("Main Page");
        // Page drawing commands...
        document.closePage();

        document.save();
        outStream.close();

        System.out.println("PS document with custom page size saved.");
    }
}

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. È necessario che siano installati Adobe Acrobat o le utilità del driver PostScript?

No. Aspose.Page for Java è una libreria Java nativa e autonoma che costruisce, esegue il rendering e manipola direttamente le strutture dei documenti PS/EPS senza dipendere da driver di stampa esterni o software nativo.

2. Posso convertire direttamente il documento PostScript (PS) creato in PDF o immagini raster?

Sì. È possibile passare un’istanza di PsDocument a PdfDevice o ImageDevice in Aspose.Page per convertire direttamente il file PostScript generato nei formati PDF, PNG, JPEG o TIFF.

3. Come vengono definite le coordinate e le unità di misura in PsDocument?

Aspose.Page utilizza i punti PostScript standard, dove 1 pollice = 72 punti Le coordinate vengono misurate rispetto all’origine della superficie della pagina.