在一般网页转档服务中,档案转换多半以单档上传及单档下载的形式进行,虽然适用于少量档案,但面对大量档案时,效率与便捷性将大幅降低。本范例透过整合 Ghostscript 这款多功能软件工具,示范如何在本机环境中批次将 EPS 档转换为 JPG 档,进而提升大量档案处理的效能与工作流程自动化程度。


  • 下载Ghostscripthttps://www.ghostscript.com/releases/gsdnld.html

这是下载路径,可以先复制下来(通常都是在C:\\Program Files\\gs\\gs10.04.0)

下载好之后放入至环境变数

到资料夹找到刚刚下载的档案(bin),将上面路径复制下来

放入到环境变数path里面(点两下可开启),将路径贴上


开启.py档写入以下代码

此程式的转换原理是利用 Pillow (PIL) 与 Ghostscript 的协同工作,将 EPS 这类向量化描述(PostScript)的档案内容转译为可点阵显示的影像,再存成 JPG 格式。

import os
from PIL import Image

os.environ["PATH"] += r";C:\\Program Files\\gs\\gs10.04.0\\bin"
os.environ["GHOSTSCRIPT"] = r"C:\\Program Files\\gs\\gs10.04.0\\bin\\gswin64c.exe"

src_folder = r"C:\\Users\\chenchen\\Downloads\\eps"
dst_folder = r"C:\\Users\\chenchen\\Downloads\\jpg_out111"

if not os.path.exists(dst_folder):
os.makedirs(dst_folder)

for filename in os.listdir(src_folder):
if filename.lower().endswith(\'.eps\'):
eps_path = os.path.join(src_folder, filename)

base_name = os.path.splitext(filename)[0]
jpg_filename = base_name + \'.jpg\'
jpg_path = os.path.join(dst_folder, jpg_filename)

with Image.open(eps_path) as im:
im = im.convert("RGB")
im.save(jpg_path, \'JPEG\')

print("转档完成!")

代码解释

import os
from PIL import Image

# 将 Ghostscript 所在的路径加入系统 PATH,让系统能找到 Ghostscript 的执行档
os.environ["PATH"] += r";C:\\Program Files\\gs\\gs10.04.0\\bin"

# 设定 Ghostscript 的执行档路径,以便 Pillow 的 EpsImagePlugin 能够使用 Ghostscript 来解析 EPS 档案
os.environ["GHOSTSCRIPT"] = r"C:\\Program Files\\gs\\gs10.04.0\\bin\\gswin64c.exe"

# 指定来源 EPS 档案所在的资料夹
src_folder = r"C:\\Users\\chenchen\\Downloads\\eps"

# 指定转换后输出的 JPG 资料夹
dst_folder = r"C:\\Users\\chenchen\\Downloads\\jpg_out111"

# 如果目标输出资料夹不存在,则自动建立
if not os.path.exists(dst_folder):
os.makedirs(dst_folder)

# 对来源资料夹中的所有档案进行巡览
for filename in os.listdir(src_folder):
# 检查副档名是否为 .eps(EPS 档案)
if filename.lower().endswith(\'.eps\'):
# 建立 EPS 档案的完整路径
eps_path = os.path.join(src_folder, filename)

# 移除原档案副档名,将其改成 .jpg 作为输出档名
base_name = os.path.splitext(filename)[0]
jpg_filename = base_name + \'.jpg\'
jpg_path = os.path.join(dst_folder, jpg_filename)

# 使用 Pillow 来开启 EPS 档案
# Image.open() 会利用 Ghostscript 来解析 EPS,转成可内部处理的影像格式
with Image.open(eps_path) as im:
# 将影像转换为 RGB 模式(EPS 可包含 CMYK 或其他色彩模式,转成 RGB 可以顺利输出为 JPG)
im = im.convert("RGB")
# 将转换后的影像存成 JPG 格式到指定资料夹中
im.save(jpg_path, \'JPEG\')

print("转档完成!")

Ghostscript 是一款多功能软件工具,可解析与转换 PostScript、PDF、EPS 等档案格式。透过 Ghostscript,使用者得以将这些描述性的向量图档快速转换为常用点阵影像格式,或于无需专业软件的情况下进行预览与列印。此外,它也经常被各类程式与函式库整合,用于后端的档案转换与图像处理自动化工作流程。