Робота з документами PostScript (PS) у Java

Створюйте, змінюйте та керуйте документами PostScript (PS) програмно за допомогою Aspose.Page for Java. Легко створюйте багатосторінкові PS-документи з нуля, додавайте сторінки, вставляйте векторну графіку та текстові елементи, об’єднуйте кілька файлів PostScript і налаштовуйте структуру документа без необхідності встановлювати Adobe Acrobat або Distiller.

 

Aspose.Page for Java надає високорівневу автономну об’єктну модель на основі класу PsDocument для керування створенням документів PostScript та обробкою сторінок.

Щоб створити нові односторінкові або багатосторінкові потоки друку PostScript, використовуйте PsDocument(outputStream, options)

  • Щоб програмно структурувати окремі сторінки в потоці PostScript, використовуйте методи PsDocument.openPage()/closePage().
  • Щоб зберігати векторну графіку, фігури, текст і сторінки у файли на диску або в потоки, використовуйте метод PsDocument.save().
  • Щоб встановити поля сторінки, користувацькі розміри (A4, Letter) і орієнтацію друку, використовуйте клас PsSaveOptions.

Створення багатосторінкового документа PostScript у Java

Створіть багатосторінковий PS-документ з нуля, налаштувавши параметри збереження та явно відкриваючи й закриваючи сторінки в потоці документа.

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

Додавання сторінок і графіки до наявного конструктора документів

Заповнюйте сторінки документа PostScript векторними фігурами, текстовими елементами та перетвореннями.

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

Налаштування користувацьких розмірів сторінок і полів

Визначайте точні розміри сторінок (наприклад, Letter, Legal або користувацькі розміри) за допомогою 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.");
    }
}

Встановлення та налаштування

Додайте Aspose.Page for Java до свого 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. Чи потрібно встановлювати Adobe Acrobat або утиліти драйверів PostScript?

Ні. Aspose.Page for Java — це нативна автономна бібліотека Java, яка безпосередньо створює, відтворює та обробляє структури документів PS/EPS без залежності від зовнішніх драйверів принтера або нативного програмного забезпечення.

2. Чи можу я безпосередньо конвертувати створений документ PostScript (PS) у PDF або растрові зображення?

Так. Ви можете передати екземпляр PsDocument до PdfDevice або ImageDevice в Aspose.Page, щоб безпосередньо конвертувати створений файл PostScript у формат PDF, PNG, JPEG або TIFF.

3. Як визначаються координати та одиниці вимірювання в PsDocument?

Aspose.Page використовує стандартні пункти PostScript, де 1 дюйм = 72 пункти. Координати вимірюються відносно початку системи координат поверхні сторінки.