Working with Document in PS file | Python

Contents
[ Hide Show ]

Create PS Document

Aspose.Page for Python via .NET includes two constructors for creating PsDocument class. The following code snippet explains a creation of 1-paged PS document:

 1# The path to the documents directory.
 2dir = Util.get_data_dir_working_with_document()
 3        
 4# Create an output stream for a PostScript document
 5with open(dir + "document.ps", "wb") as out_ps_stream:
 6    # Create save options
 7    options = PsSaveOptions()
 8    # If you want to aassign a page size other than A4, set the page size in options
 9    options.page_size = PageConstants.get_size(PageConstants.SIZE_A4, PageConstants.ORIENTATION_PORTRAIT)
10    # If you want to aassign page margins other empty, set the page margins in options
11    options.margins = PageConstants.get_margins(PageConstants.MARGINS_ZERO)
12    # If you plan to use fonts that located in non system folders, set additional fonts folders in options
13    options.additional_fonts_folders = [ dir ]
14    
15    # Set a variable that indicates if resulting PostScript document will be multipaged
16    multi_paged = False
17    
18    # Create a new multipaged PS Document with one page opened
19    document = PsDocument(out_ps_stream, options, multi_paged)
20    
21    # Close the current page
22    document.close_page()
23    # Save the document
24    document.save()

If you want PS document to be multi-paged, set multiPaged variable to true.

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

 1with open(dir + "document.ps", "wb") as out_ps_stream:
 2# Create save options
 3options = PsSaveOptions()
 4# If you want to assign the page size other than A4, set the page size in options
 5options.page_size = PageConstants.get_size(PageConstants.SIZE_A4, PageConstants.ORIENTATION_PORTRAIT)
 6# If you want to aassign page margins other empty, set the page margins in options
 7options.margins = PageConstants.get_margins(PageConstants.MARGINS_ZERO)
 8# If you plan to use fonts that located in non system folders, set additional fonts folders in options
 9options.additional_fonts_folders = [ dir ]
10
11# Create a new multipaged PS Document with one page opened
12document = PsDocument(out_ps_stream, options, 2)
13
14# Close the current page
15document.close_page()
16# Save the document
17document.save()

See working with PS document in .NET, Java.

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

The page size can be obtained from PageConstants class as demonstrated in the following example:

1options.page_size = PageConstants.get_size(PageConstants.SIZE_International, PageConstants.ORIENTATION_PORTRAIT);

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

1options.margins = PageConstants.get_margins(PageConstants.MARGINS_SMALL)); // 20 points for each margin

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

1options.back_ground_color = aspose.pydrawing.Color(211, 8, 48);

or:

1options.back_ground_color = aspose.pydrawing.Color.YELLOW;

Default value is “null” that means no background.

1options.embed_fonts_as = FontsConstants.EMBED_FONTS_TYPE3;

The default value is “TrueType”.

You can download examples and data files from GitHub.

Have any questions about Aspose.Page?



Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.