Skip to main content

Aspose.Page for Python via .NET makes your Python Apps instantly support to work with XPS, EPS/PS documents without installing any 3rd party software. It helps developers create/edit XPS documents while working with canvas, paths, and glyph elements. Utilize a set of primitives, such as, elliptical arcs, straights lines, Bezier curve segments to create vector graphics. Add default print tickets and preserve them in the XPS file. Link print ticket objects among job/document/page.

Project description

PS and XPS File Manipulation via Python API


Product Page | Docs | Demos | API Reference | Examples | Blog | Search | Free Support | Temporary License

Aspose.Page for Python via .NET is an on premise Python API that allows you to add PS/EPS and XPS manipulation features to your own applications. The API also supports converting XPS, EPS & PS documents to other formats.

Developers can perform various operations on PS and XPS documents, such as, add text, images, pages, gradient, grid using the visual brush, transparency object and set opacity mask. It allows you to create, edit and convert the file pages as well as the ability to manipulate documents and elements, create vector graphics, group shapes, and specifying colors in different color spaces including sRGB, scRGB, and any space-based on ICC profile.

XPS, EPS & PS Processing Features

  • Create & modify XPS documents via API.
  • Create PS & EPS documents via API.
  • Add pages to PS & XPS documents.
  • Create vector graphic shapes (Path element) and text strings (Glyphs element).
  • Group various elements as well as modify the appearance of text strings and graphics.
  • Support for visual brush, image brush, solid color brush, and more.
  • Work with multiple documents within an XPS document.
  • Preserve print tickets and add default print tickets to new XPS documents.
  • Perform cross-package operations such as inserting a page from another document.
  • Conversion of XPS, PS & EPS documents to other popular formats.
  • Supports PostScript language levels 1-3 with an exception of font types: Type2 (CFF), Type14 (Chameleon), Types 9, 10, 11.

Supported Read Formats


Save XPS Documents As

Fixed Layout: PDF

Save PS & EPS Documents As

Metafiles: EMF, WMF
Animation: GIF

Platform Independence

Aspose.Page for Python via .NET can be used to develop 32-bit and 64-bit Python applications for Windows where Python 3.5 or later is installed.

Get Started

Are you ready to give Aspose.Page for Python a try? Simply execute pip install aspose-page to install wheel package package. If you already have Aspose.Page for Python and want to upgrade the version, please execute pip install --upgrade aspose-page to get the latest version.

Create an XPS Document from Scratch via Python Code

Execute the below code snippet to see how Aspose.Page API performs in your own environment or check the GitHub Repository for other common usage scenarios.

# The path to the documents directory.
dir = Util.get_data_dir_working_with_document()
# Create new XPS Document
x_docs = XpsDocument()

# add glyph to the document
glyphs = x_docs.add_glyphs("Arial", 12, aspose.pydrawing.FontStyle.REGULAR, 300, 450, "Hello World!")

glyphs.fill = x_docs.create_solid_color_brush(

# save result + "output.xps")

Convert a PostScript (PS) File to PDF Format

Aspose.Page for Python allows you to work with document conversion, such as; PS to images, PS to PDF, XPS to images, XPS to PDF and so on. The following snippet demonstrates the conversion of PS to PDF using streams:

# The path to the documents directory.
data_dir = Util.get_data_dir_working_with_document_conversion()
# Initialize PDF output stream
pdf_stream = open(data_dir + "outputPDF_out.pdf", "wb")
# Initialize PostScript input stream
ps_stream = open(data_dir + "", "rb",)
document = PsDocument(ps_stream)

# If you want to convert Postscript file despite of minor errors set this flag
suppress_errors = True

#Initialize options object with necessary parameters.
options = PdfSaveOptions(suppress_errors)
# If you want to add special folder where fonts are stored. Default fonts folder in OS is always included.
options.additional_fonts_folders = [ """{FONT_FOLDER}""" ]

# Default page size is 595x842 and it is not mandatory to set it in PdfDevice
device = PdfDevice(pdf_stream)
# But if you need to specify size and image format use following line
#Aspose.Page.EPS.Device.PdfDevice device = new Aspose.Page.EPS.Device.PdfDevice(pdfStream, new aspose.pydrawing.Size(595, 842));

try:, options)

Product Page | Docs | Demos | API Reference | Examples | Blog | Search | Free Support | Temporary License

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

aspose_page-24.2.0-py3-none-win_amd64.whl (47.5 MB view hashes)

Uploaded Python 3 Windows x86-64

aspose_page-24.2.0-py3-none-win32.whl (42.2 MB view hashes)

Uploaded Python 3 Windows x86

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page