Working with Document in PostScript | .NET

Contents
[ Hide Show ]

Create PS Document

Aspose.Page for .NET offers two constructors in order to create PsDocument class. The following code snippet creates a 1-paged PS document:

 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}

If PS document is planning to be multi-paged, set multiPaged variable to true.

Another constructor allows creating PsDocument object with a defined number of pages:

 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}

See working with PS document in Java and C++.

Let’s look at the PsSaveOptions class that encapsulates possible options helping to create the right PostScript document.

1options.PageSize = PageConstants.GetSize(PageConstants.SIZE_International, PageConstants.ORIENTATION_PORTRAIT);

The default page size is “A4” in “Portrait” orientation.

1options.Margins = PageConstants.GetMargins(PageConstants.MARGINS_SMALL); // 20 points for each margin

Default margins are “ZERO” (0, 0, 0, 0).

1options.BackgroundColor = Color.FromArgb(211, 8, 48);

or:

1options.BackgroundColor = Color.Yellow;

For Linux, MacOS and other non-Windows operation systems we offer to use our Aspose.Page.Drawing Nuget package. It uses Aspose.Drawing backend instead of System.Drawing system library. So import Aspose.Page.Drawing namespace instead of System.Drawing one. In the above code snippets Aspose.Page.Drawing.Color will be used instead of System.Drawing.Color. Our examples code on github contain all necessary substitutions.

Default value is “null” that means no background.

1options.EmbedFontsAs = FontsConstants.EMBED_FONTS_TYPE3

The default value is “TrueType”.



You can download examples and data files from GitHub.

Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.