在一般網頁轉檔服務中,檔案轉換多半以單檔上傳及單檔下載的形式進行,雖然適用於少量檔案,但面對大量檔案時,效率與便捷性將大幅降低。本範例透過整合 Ghostscript 這款多功能軟體工具,示範如何在本機環境中批次將 EPS 檔轉換為 JPG 檔,進而提升大量檔案處理的效能與工作流程自動化程度。
這是下載路徑,可以先複製下來(通常都是在C:\Program Files\gs\gs10.04.0)
下載好之後放入至環境變數
到資料夾找到剛剛下載的檔案(bin),將上面路徑複製下來
放入到環境變數path裡面(點兩下可開啟),將路徑貼上
此程式的轉換原理是利用 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,使用者得以將這些描述性的向量圖檔快速轉換為常用點陣影像格式,或於無需專業軟體的情況下進行預覽與列印。此外,它也經常被各類程式與函式庫整合,用於後端的檔案轉換與圖像處理自動化工作流程。