如何将 .ps 文件转换为 .png 文件?

Posted

技术标签:

【中文标题】如何将 .ps 文件转换为 .png 文件?【英文标题】:How can I convert a .ps file into a .png file? 【发布时间】:2020-05-27 22:14:48 【问题描述】:

作为我正在制作的图像识别程序的一部分,我需要将 .ps 文件转换为 .png 文件。我知道我可以使用 Ghostscript 或其他程序,但有人可以举一个具体的例子来说明如何编写这样的东西:

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

(此代码是伪代码 - 我想知道如何编写一些实际执行此代码看起来会执行的操作。) 提前致谢! Stack 是一个很棒的社区,我很感激。

编辑(尝试的解决方案):运行此行时:

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

我收到以下错误:

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

尝试使用 Pillow 时:

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

我收到以下错误:

OSError: Unable to locate Ghostscript on paths

【问题讨论】:

这看起来是一个很好的解决方案,它有什么问题? 应该解释一下-这只是伪代码-我不知道如何使用ghostscript来执行此功能。 如何使用外部程序如os.system("ghostscript file.ps file.png") 我会喜欢这个解决方案,但不幸的是我收到了一个错误。我编辑了我的帖子。 只需安装ghostscript,然后使用“from PIL import EpsImagePlugin EpsImagePlugin.gs_windows_binary = r'C:\Program Files\gs\gs9.55.0\bin\gswin64c'”解决错误。 【参考方案1】:

你可以使用枕头。

from PIL import Image

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

如果你想把它包装成一个函数:

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)

【讨论】:

当我运行它时,我得到以下信息:“操作系统错误:无法在路径上找到 Ghostscript” Pillow 与 Ghostscript 无关。只需使用 pip 在您的 python 环境中安装它并运行它。请注意,您应该更改路径的“myImage.ps”。 我编辑了我的帖子,不幸的是我认为 Pillow 使用 Ghostscript 来执行某些功能。我没有在我的代码中的任何地方使用 ghostscript,只有 Pillow。 您没有在 PIL 脚本上使用路径文件。我将更改我的答案以澄清 感谢您的帮助,但我的代码与您的示例完全相同。该错误与打开文件没有任何关系,而是将其保存为 .png。

以上是关于如何将 .ps 文件转换为 .png 文件?的主要内容,如果未能解决你的问题,请参考以下文章

如何将png格式、jpg格式的图片转成24bit的bmp图片。

怎样把pdf格式转成png格式

图片怎么转png格式

如何使 ghostscript 将 postscript 文件中的单个特定页面输出为 png?

怎样把jpg图片变成png格式的

Ghostscript -- 将 PS 转换为 PNG、旋转和缩放