在 PostScript 中处理文档 | .NET
创建 PS 文档
Aspose.Page for .NET 提供了两个构造函数来创建 PsDocument 类。以下代码片段用于创建一个单页 PS 文档:
1//Create output stream for PostScript document
2using (Stream outPsStream = new FileStream(dir + "document.ps", FileMode.Create))
3{
4 //Create save options
5 PsSaveOptions options = new PsSaveOptions();
6 //If you want to assign page size other than A4, set page size in options
7 options.PageSize = PageConstants.GetSize(PageConstants.SIZE_A4, PageConstants.ORIENTATION_PORTRAIT);
8 //If you want to assign page margins other than empty, set page margins in options
9 options.Margins = PageConstants.GetMargins(PageConstants.MARGINS_ZERO);
10 //If you plan to use fonts that are located in non system folders, set additional fonts folders in options
11 options.AdditionalFontsFolders = new string[] { dir };
12
13 //Set variable that indicates if resulting PostScript document will be multipaged
14 bool multiPaged = false;
15
16 // Create new multipaged PS Document with one page opened
17 PsDocument document = new PsDocument(outPsStream, options, multiPaged);
18
19 //Close current page
20 document.ClosePage();
21 //Save the document
22 document.Save();
23}
如果 PS 文档计划为多页格式,请将 multiPaged 变量设置为 true。
另一个构造函数允许创建具有指定页数的 PsDocument 对象:
1//Create output stream for PostScript document
2using (Stream outPsStream = new FileStream(dir + "document.ps", FileMode.Create))
3{
4 //Create save options
5 PsSaveOptions options = new PsSaveOptions();
6
7 // Create new multipaged PS Document with 2 pages. These two pages are not created. It must be added by AddPage() method.
8 PsDocument document = new PsDocument(outPsStream, options, 2);
9
10 //Adding pages and it's content
11
12 //Save the document
13 document.Save();
14}
请参阅在 Java 中处理 PS 文档。
让我们看一下 PsSaveOptions 类,它封装了有助于创建正确 PostScript 文档的可用选项。
SaveFormat 指定文档的输出格式。可以是 PS 或 EPS。在 Aspose.Page 库中,这两种格式之间的差异仅体现在 PostScript 注释和文件扩展名上。 此外,根据 EPS 文件规范,EPS 文件应为单页文件。默认使用 PS 格式。
PageSize 指定 PS 文档中页面的大小。但是,如果需要,我们可以为每个页面分配不同的页面大小。页面大小可以从 PageConstants 类中获取,如下例所示:
1options.PageSize = PageConstants.GetSize(PageConstants.SIZE_International, PageConstants.ORIENTATION_PORTRAIT);
默认页面尺寸为“纵向”方向的“A4”。
- 边距 指定页面边界与页面内容的左、上、右和下边缘之间的空白字段。该值可从 PageConstants 类获取。
1options.Margins = PageConstants.GetMargins(PageConstants.MARGINS_SMALL); // 20 points for each margin
默认边距为“零”(0, 0, 0, 0)。
- BackGroundColor 指定页面背景的颜色。可以指定为:
1options.BackgroundColor = Color.FromArgb(211, 8, 48);
或者:
1options.BackgroundColor = Color.Yellow;
对于 Linux、MacOS 和其他非 Windows 操作系统,我们建议使用我们的 Aspose.Page.Drawing Nuget 包。它使用 Aspose.Drawing 后端,而不是 System.Drawing 系统库。
因此,请导入 Aspose.Page.Drawing 命名空间,而不是 System.Drawing 命名空间。在上述代码片段中,将使用 Aspose.Page.Drawing.Color 代替 System.Drawing.Color。我们在 GitHub 上的代码示例包含所有必要的替换。
默认值为“null”,表示无背景。
EmbedFonts 控制 PsDocument 在保存到文件时的行为。如果设置为“false”,则使用的字体将不会写入 PS 文件中。在这种情况下,如果在目标主机的系统文件夹中找不到使用的字体,PostScript 解释器将抛出错误。
EmbedFontsAs 控制字体在 PS 文件中的嵌入方式。目前,TrueType 和 Type3 字体格式支持两种嵌入方式。该值可以通过 FontConstants 类设置,如下所示:
1options.EmbedFontsAs = FontsConstants.EMBED_FONTS_TYPE3
默认值为“TrueType”。
JpegQualityLevel 指定生成的 PS 文档中图像的压缩/质量级别。质量要求越高,压缩率越低,反之亦然。最低质量为 0,最高质量为 100。默认值为 75。
AdditionalFontsFolder 指定字体的存放位置。默认情况下,始终包含系统字体文件夹。
Debug 允许将调试信息输出到控制台。默认值为 false。
您可以从 GitHub 下载示例和数据文件。