Trabalhando com documentos PostScript (PS) em Java

Crie, modifique e gerencie documentos PostScript (PS) programaticamente usando o Aspose.Page for Java. Crie facilmente documentos PS com várias páginas do zero, adicione páginas, insira gráficos vetoriais e elementos de texto, mescle vários arquivos PostScript e ajuste a estrutura do documento sem precisar instalar o Adobe Acrobat ou o Distiller.

 

O Aspose.Page for Java fornece um modelo de objetos autônomo de alto nível centrado na classe PsDocument para controlar a criação de documentos PostScript e a manipulação de páginas.

Para criar novos fluxos de impressão PostScript de uma ou várias páginas, use PsDocument(outputStream, options)

  • Para estruturar programaticamente páginas individuais dentro de um fluxo PostScript, use os métodos PsDocument.openPage()/closePage().
  • Para salvar gráficos vetoriais, formas, texto e páginas em arquivos no disco ou em fluxos, use o método PsDocument.save().
  • Para definir margens de página, tamanhos personalizados (A4, Letter) e orientação de impressão, use a classe PsSaveOptions.

Criar um documento PostScript com várias páginas em Java

Crie um documento PS com várias páginas do zero configurando as opções de salvamento e abrindo e fechando explicitamente as páginas dentro do fluxo do 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.");
    }
}

Adicionar páginas e gráficos a um construtor de documentos existente

Preencha as páginas do documento PostScript com formas vetoriais, elementos de texto e transformações.

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

Configurar tamanhos e margens de página personalizados

Defina dimensões de página precisas (como Letter, Legal ou dimensões personalizadas) usando 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.");
    }
}

Instalação e configuração

Adicione o Aspose.Page for Java ao seu 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. Preciso ter o Adobe Acrobat ou os utilitários do driver PostScript instalados?

Não. O Aspose.Page for Java é uma biblioteca Java nativa e independente que constrói, renderiza e manipula diretamente as estruturas de documentos PS/EPS sem depender de drivers de impressora externos ou software nativo.

2. Posso converter diretamente o documento PostScript (PS) criado para PDF ou imagens rasterizadas?

Sim. Você pode passar uma instância de PsDocument para PdfDevice ou ImageDevice no Aspose.Page para converter diretamente o arquivo PostScript gerado para os formatos PDF, PNG, JPEG ou TIFF.

3. Como as coordenadas e as unidades de medida são definidas em PsDocument?

O Aspose.Page usa pontos PostScript padrão, onde 1 polegada = 72 pontos. As coordenadas são medidas em relação à origem da superfície da página.