Skip to main content

Interface to the Ghostscript C-API, both high- and low-level, based on ctypes

Project description

Author: Hartmut Goebel <h.goebel@crazy-compiler.com>
Version: 0.5dev
Copyright: GNU Public License v3 (GPLv3)
Homepage:https://gitlab.com/pdftools/python-ghostscript

Ghostscript is a well known interpreter for the PostScript language and for PDF. This package implements a interface to the Ghostscript C-API using ctypes. Both a low-level and a pythonic, high-level interface are provided.

This package is currently tested only under GNU/Linux. Please report whether it works in your environment, too. Thanks.

Example

Here is an example for how to use the high-level interface of python-ghostscript. This implements a very basic ps2pdf-tool:

import sys
import locale
import ghostscript

args = [
    "ps2pdf", # actual value doesn't matter
    "-dNOPAUSE", "-dBATCH", "-dSAFER",
    "-sDEVICE=pdfwrite",
    "-sOutputFile=" + sys.argv[1],
    "-c", ".setpdfwrite",
    "-f",  sys.argv[2]
    ]

# arguments have to be bytes, encode them
encoding = locale.getpreferredencoding()
args = [a.encode(encoding) for a in args]

ghostscript.Ghostscript(*args)

Here an example for passing a string document to Ghostscript:

doc = b"""%!
/Helvetica findfont 20 scalefont setfont
50 50 moveto
(Hello World) show
showpage
quit
"""

import ghostscript

args = b"""test.py
     -dNOPAUSE -dBATCH -dSAFER -sDEVICE=pdfwrite -sOutputFile=/tmp/out.pdf
     -c .setpdfwrite""".split()

with ghostscript.Ghostscript(*args) as gs:
    gs.run_string(doc)

More examples can be found in the examples subdirectory of the distribution archive.

Requirements and Installation

Please note:This package is meant for developers. Even if there are some usable examples included, installations instructions are meant for developers.

python-ghostscript requires

Installing python-ghostscript

Since this package is meant for developers, we assume you have experience in installing Python packages.

python-ghostscript is listed on PyPI (Python Package Index), so you can install it using pip install ghostscript as usual. Please refer to the manuals of pip for further information.

Alternatively you my download and unpack the source package of python-ghostscript from http://pypi.python.org/pypi/ghostscript and run:

python ./setup.py install

Project details


Download files

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

Files for ghostscript, version 0.5.dev0
Filename, size File type Python version Upload date Hashes
Filename, size ghostscript-0.5.dev0.linux-x86_64.tar.gz (18.1 kB) File type Source Python version None Upload date Hashes View
Filename, size ghostscript-0.5.dev0-py2.py3-none-any.whl (15.3 kB) File type Wheel Python version py2.py3 Upload date Hashes View
Filename, size ghostscript-0.5.dev0-py3-none-any.whl (15.3 kB) File type Wheel Python version py3 Upload date Hashes View

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring DigiCert DigiCert EV certificate Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page