pythonfileghostscript

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


Solution

  • 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)