Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > Python > Announcing: python-ghostscript 0.3

Reply
Thread Tools

Announcing: python-ghostscript 0.3

 
 
Hartmut Goebel
Guest
Posts: n/a
 
      08-12-2010
Announcing:

python-ghostscript 0.3

A Python-Interface to the Ghostscript
C-API using ctypes

:Copyright: GNU Public License v3 (GPLv3)
:Author: Hartmut Goebel <(E-Mail Removed)>
:Homepage: http://bitbucket.org/htgoebel/python-ghostscript
ownload: http://pypi.python.org/pypi/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.

__ http://www.ghostscript.com/
__ http://docs.python.org/library/ctypes.html

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


Latest Changes
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

:0.3 (2010-08-12):

* Added support for win32: The DLL to load is searched in registry.

* On other platforms: Be more inteligent about finding Ghostscript
shared object file (fall back to ctypes.util.find_library() if
`libgs.8.so` can not be loaded

* Better error messages if lib/dll is not found.

* Removed relative imports, so older versions of Python can be used.

* Added nice project logo

:0.2 (2010-08-06):

* Fixed several bugs, esp. for running strings by Ghostscript.


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 ghostscript

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

ghostscript.Ghostscript(*args)

--
Regards
Hartmut Goebel

| Hartmut Goebel | http://www.velocityreviews.com/forums/(E-Mail Removed) |
| www.crazy-compilers.com | compilers which you thought are impossible |
 
Reply With Quote
 
 
 
 
Peter Kleiweg
Guest
Posts: n/a
 
      08-12-2010
Hartmut Goebel schreef op de 12e dag van de oogstmaand van het jaar 2010:

> 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 ghostscript
>
> args = [
> "ps2pdf", # actual value doesn't matter
> "-dNOPAUSE", "-dBATCH", "-dSAFER",
> "-sDEVICE=pdfwrite",
> "-sOutputFile=" + sys.argv[1],
> "-c", ".setpdfwrite",
> "-f", sys.argv[2]
> ]
>
> ghostscript.Ghostscript(*args)


How is this different from os.system(' '.join(args)) ?



--
Peter Kleiweg L:NL,af,da,de,en,ia,nds,no,sv,(fr,it) S:NL,de,en,(da,ia)
info: http://www.let.rug.nl/kleiweg/ls.html
 
Reply With Quote
 
 
 
 
Peter Kleiweg
Guest
Posts: n/a
 
      08-12-2010
Hartmut Goebel schreef op de 12e dag van de oogstmaand van het jaar 2010:

> 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 ghostscript
>
> args = [
> "ps2pdf", # actual value doesn't matter
> "-dNOPAUSE", "-dBATCH", "-dSAFER",
> "-sDEVICE=pdfwrite",
> "-sOutputFile=" + sys.argv[1],
> "-c", ".setpdfwrite",
> "-f", sys.argv[2]
> ]
>
> ghostscript.Ghostscript(*args)


How is this different from os.system(' '.join(args)) ?



--
Peter Kleiweg L:NL,af,da,de,en,ia,nds,no,sv,(fr,it) S:NL,de,en,(da,ia)
info: http://www.let.rug.nl/kleiweg/ls.html
 
Reply With Quote
 
Aahz
Guest
Posts: n/a
 
      08-12-2010
In article <alpine.DEB.1.10.1008121733280.3749@localhost>,
Peter Kleiweg <(E-Mail Removed)> wrote:
>Hartmut Goebel schreef op de 12e dag van de oogstmaand van het jaar 2010:
>
>> 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 ghostscript
>>
>> args = [
>> "ps2pdf", # actual value doesn't matter
>> "-dNOPAUSE", "-dBATCH", "-dSAFER",
>> "-sDEVICE=pdfwrite",
>> "-sOutputFile=" + sys.argv[1],
>> "-c", ".setpdfwrite",
>> "-f", sys.argv[2]
>> ]
>>
>> ghostscript.Ghostscript(*args)

>
>How is this different from os.system(' '.join(args)) ?


You don't have problems with shell metacharacters.
--
Aahz ((E-Mail Removed)) <*> http://www.pythoncraft.com/

"...if I were on life-support, I'd rather have it run by a Gameboy than a
Windows box." --Cliff Wells
 
Reply With Quote
 
Peter Kleiweg
Guest
Posts: n/a
 
      08-12-2010
Aahz schreef op de 12e dag van de oogstmaand van het jaar 2010:

> In article <alpine.DEB.1.10.1008121733280.3749@localhost>,
> Peter Kleiweg <(E-Mail Removed)> wrote:
> >Hartmut Goebel schreef op de 12e dag van de oogstmaand van het jaar 2010:
> >
> >> 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 ghostscript
> >>
> >> args = [
> >> "ps2pdf", # actual value doesn't matter
> >> "-dNOPAUSE", "-dBATCH", "-dSAFER",
> >> "-sDEVICE=pdfwrite",
> >> "-sOutputFile=" + sys.argv[1],
> >> "-c", ".setpdfwrite",
> >> "-f", sys.argv[2]
> >> ]
> >>
> >> ghostscript.Ghostscript(*args)

> >
> >How is this different from os.system(' '.join(args)) ?

>
> You don't have problems with shell metacharacters.


Then use os.spawnv(os.P_WAIT, args[0], args)



--
Peter Kleiweg L:NL,af,da,de,en,ia,nds,no,sv,(fr,it) S:NL,de,en,(da,ia)
info: http://www.let.rug.nl/kleiweg/ls.html
 
Reply With Quote
 
 
 
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off




Advertisments