Работа с документами 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 точки. Координаты измеряются относительно начала координат поверхности страницы.