Работа с документом в PS-файле | Java
Создать документ PS
Aspose.Page для Java предлагает два конструктора для создания класса PsDocument. Следующий фрагмент кода создает одностраничный документ PS:
1// Create new multipaged PS document from scratch.
2
3String outputFileName = "document_out.ps";
4
5//Create save options
6PsSaveOptions options = new PsSaveOptions();
7//If you want to aassign page size other than A4, set page size in options
8options.setPageSize(PageConstants.getSize(PageConstants.SIZE_A4, PageConstants.ORIENTATION_PORTRAIT));
9//If you want to aassign page margins other empty, set page margins in options
10options.setMargins(PageConstants.getMargins(PageConstants.MARGINS_ZERO));
11//If you plan to use fonts that located in non system folders, set additional fonts folders in options
12options.setAdditionalFontsFolders(new String[] { getDataDir() });
13
14//Set variable that indicates if resulting PostScript document will be multipaged
15boolean multiPaged = false;
16
17// Create new multipaged PS Document with one page opened
18PsDocument document = new PsDocument(getOutputDir() + outputFileName, options, multiPaged);
19
20//Close current page
21document.closePage();
22//Save the document
23document.save();Если документ PS планируется сделать многостраничным, установите для переменной multiPaged значение true.
Другой конструктор позволяет создать объект PsDocument с определенным количеством страниц:
1// Create new PS document with defined number of pages.
2
3String outputFileName = "document_out.ps";
4
5//Create save options
6PsSaveOptions options = new PsSaveOptions();
7//If you want to aassign page size other than A4, set page size in options
8options.setPageSize(PageConstants.getSize(PageConstants.SIZE_A4, PageConstants.ORIENTATION_PORTRAIT));
9//If you want to aassign page margins other empty, set page margins in options
10options.setMargins(PageConstants.getMargins(PageConstants.MARGINS_ZERO));
11//If you plan to use fonts that located in non system folders, set additional fonts folders in options
12options.setAdditionalFontsFolders(new String[] { getDataDir() });
13
14// Create new multipaged PS Document with 2 pages. These two pages are not created. It must be added by OpenPage() method.
15PsDocument document = new PsDocument(getOutputDir() + outputFileName, options, 2);
16
17//Add the first page
18document.openPage(null);
19//Close current page
20document.closePage();
21//Save the document
22document.save();См. работу с документом PS в .NET.
Давайте посмотрим на класс PsSaveOptions, который инкапсулирует возможные параметры, помогающие создать правильный документ PostScript.
SaveFormat определяет выходной формат документов. Может быть ПС или ЭПС. В библиотеке Aspose.Page различия между этими двумя форматами отражаются только в комментариях PostScript и расширении файла. Также в соответствии со спецификацией файла EPS файлы EPS должны быть одностраничными. По умолчанию используется формат PS.
PageSize определяет размер страниц в документе PS. Однако, если необходимо, мы можем назначить разные размеры для каждой страницы. Размер страницы можно получить из класса PageConstants, как показано в следующем примере:
1options.setPageSize(PageConstants.getSize(PageConstants.SIZE_International, PageConstants.ORIENTATION_PORTRAIT));Размер страницы по умолчанию — «А4» в «Портретной» ориентации.
- Поля – указывают пустые поля между границами страницы и левым, верхним, правым и нижним краями содержимого страницы. Его можно получить из класса PageConstants.
1options.setMargins(PageConstants.getMargins(PageConstants.MARGINS_SMALL)); // 20 points for each marginПоля по умолчанию — «НОЛЬ» (0, 0, 0, 0).
- BackGroundColor определяет цвет фона страницы. Может быть назначен как:
1options.setBackgroundColor(new Color(211, 8, 48));или:
1options.setBackgroundColor(Color.YELLOW);Значение по умолчанию — «ноль», что означает отсутствие фона.
EmbedFonts управляет поведением PsDocument при сохранении его в файл. Если установлено значение «false», используемые шрифты не будут записываться в PS-файл. В этом случае интерпретатор PostScript выдаст ошибку, если используемый шрифт не может быть найден в системных папках на целевом хосте.
EmbedFontsAs управляет способом внедрения шрифтов в файл PS. На данный момент работают два формата шрифтов TrueType и Type3. Значение можно установить с помощью класса FontConstants, как показано ниже:
1options.setEmbedFontsAs(FontsConstants.EMBED_FONTS_TYPE3);Значение по умолчанию — «TrueType».
JpegQualityLevel определяет уровень сжатия/качества изображений в результирующем документе PS. Чем больше качества требуется, тем меньше будет сжатие, и наоборот. Минимальное качество — 0, максимальное — 100. По умолчанию — 75.
AdditionalFontsFolder указывает места, где можно найти шрифты. Папки системных шрифтов всегда включены по умолчанию.
Debug позволяет выводить отладочную информацию на консоль. Значение по умолчанию — ложь.
Вы можете загрузить примеры и файлы данных с GitHub.