Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How can I convert a .ps file into a .png file?

I need to convert .ps files to .png files as part of an image recognition program I am making. I know I can use Ghostscript or other programs, but could someone give a specific example of how to write something like this:

def ps_to_png(ps_file):
    file = ghostscript.read(ps_file)
    png_file = ghostscript.save(file, "png")
    return png_file

(This code is pseudo code- I want to know how to write something that actually does what this code looks like it will do.) Thanks in advance! Stack is a great community and I appreciate it.

EDIT (Attempted solutions): When running this line:

os.system("ghostscript file.ps file.png")

I get the following Error:

'ghostscript' is not recognized as an internal or external command, operable program or batch file.

When attempting to use Pillow:

from PIL import Image
def convert_to_png(ps_file):
    img = Image.open(ps_file)
    img.save("img.png")

I get the following error:

OSError: Unable to locate Ghostscript on paths

Image of Error Message

like image 884
InstaK0 Avatar asked Sep 20 '25 05:09

InstaK0


1 Answers

You can use Pillow.

from PIL import Image

psimage=Image.open('myImage.ps')
psimage.save('myImage.png')

If you want to wrap it to a function:

from PIL import Image

def convert_to_png(path):
    img = Image.open(path)
    img.save("img.png")

path='/path_to_your_file'
convert_to_png(path)
like image 62
Henrique Avatar answered Sep 23 '25 13:09

Henrique