Python + Photoshop 自動化實作 (4) 存檔 SaveForWeb

Python_Photoshop_automation_case_study_feature_picture_

前言:

這是一個系列教程,若你都還沒看過關於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常用的指令了。也少走很多嘗試的冤路。

未來會持續更新,讓整個工作流程變得更能大量生成與自動化。

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *