前言:
這是一個系列教程,若你都還沒看過關於Python + Photoshop的其他文章,可以先看看下面幾篇
Photoshop + Python 釋放你的雙手來點自動化設計??
Python + Photoshop 自動化實作 (1)
Python + Photoshop 自動化實作 (2)
Python + Photoshop 自動化實作 (3)
本文接續的先前的自動化操作完成以後,我們需要存檔,這篇文章將教你如何用Python 控制 Photoshop 完成存檔,這邊我們用的存檔方法為 SaveForWeb。如下圖:
實際操練:
這裡有個小小的坑,因為先前已有提過,可以引入
import comtypes.client
import pythoncom
透過pythoncom來控制photoshop
但這次我們要用的是Win32com來進行控制,因為部分的功能在comtype的方法是行不通的。記得匯入 win32com.client
import win32com.client
下面就是存檔的程式碼了,記得改一下打開PSD檔的路徑檔案名。以及存檔時所用的檔案名稱。
下面的範例是使用 JPG來存檔,存檔的品質可以直接透過 options.Quality = 30 來賦值。
TemplateFile = r"x:\filepath\filename.psd"
psApp = win32com.client.Dispatch('Photoshop.Application')
refDoc = psApp.Application.Open(TemplateFile)
options = win32com.client.Dispatch('Photoshop.ExportOptionsSaveForWeb')
options.Format = 6 # JPEG
options.Quality = 30 # 0-100
jpgFile = r"E:/TargetPath/outputFileName.jpg"
refDoc.Export(ExportIn=jpgFile, ExportAs=2, Options=options)
執行後很輕鬆地就把檔案存到指定路徑了。
若想用PNG格式來存檔,記得把option.Format 賦值 13 這樣就OK了,當然檔案名稱記得換成 XXXXX.png
options.Format = 13 #PNG
有別於上面介紹的SaveForWeb檔案存檔,若想用一般的Ctrl+S存檔,可用下面指令就可以將原本開啟的檔案存檔。
refDoc.Save()
結論:
隨著系列文章越來越豐富,用到的指令也越來越多了,相信這樣的知識對於想要直接利用Python控制Photoshop的人,會越來越沒難度。因為只要複製貼上我的程式碼,就可實現你平常在Photoshop常用的指令了。也少走很多嘗試的冤路。
未來會持續更新,讓整個工作流程變得更能大量生成與自動化。