python如何批量生成psd
python批量生成psd
在之前需要安裝python環(huán)境和ps
來看實例
# -*- coding: utf-8 -*-
import win32com.client
import csv
import os
# 配置區(qū)(按需修改)=====================================
CSV_PATH = r'E:\psd\jobs.csv' # 簡歷數(shù)據(jù)路徑
PSD_TEMPLATE = r'E:\psd\zhaopin.psd' # PSD模板路徑
OUTPUT_FOLDER = r'E:\psd\output' # 成品輸出目錄
TEXT_LAYER_MAP = { # 圖層名稱與CSV列名對應(yīng)關(guān)系
'company': 'company',
'position': 'position',
'salary': 'salary'
}
# =====================================================
def main():
# 創(chuàng)建Photoshop實例
ps = win32com.client.Dispatch("Photoshop.Application")
if ps:
print("成功創(chuàng)建 Photoshop 實例")
else:
print("創(chuàng)建 Photoshop 實例失敗")
# 讀取CSV數(shù)據(jù)
with open(CSV_PATH, 'r', encoding='utf-8') as f:
reader = csv.DictReader(f)
data = [row for row in reader]
# 創(chuàng)建輸出目錄
os.makedirs(OUTPUT_FOLDER, exist_ok=True)
# 處理每條數(shù)據(jù)
for index, item in enumerate(data, 1):
# 復(fù)制模板文件
output_psd = os.path.join(OUTPUT_FOLDER, f'招聘_{index}.psd')
open(PSD_TEMPLATE, 'r') # 檢查模板是否存在
doc = ps.Open(PSD_TEMPLATE)
try:
# 遍歷所有圖層
for layer in doc.Layers:
# 僅處理文本圖層
if layer.Kind == 2: # 2表示文本圖層
layer_name = layer.Name
if layer_name in TEXT_LAYER_MAP:
csv_column = TEXT_LAYER_MAP[layer_name]
new_text = str(item.get(csv_column, ''))
# 中文換行處理(每10個字符換行)
if len(new_text) > 10:
new_text = '\n'.join([new_text[i:i + 10] for i in range(0, len(new_text), 10)])
layer.TextItem.Contents = new_text
# 導(dǎo)出為PNG
png_path = output_psd.replace('.psd', '.png')
export_options = win32com.client.Dispatch('Photoshop.ExportOptionsSaveForWeb')
export_options.Format = 13 # PNG格式
export_options.PNG8 = False # 使用24位PNG
doc.Export(ExportIn=png_path, ExportAs=2, Options=export_options)
# 保存PSD
doc.SaveAs(output_psd)
print(f'已生成:{output_psd}')
finally:
doc.Close(2) # 關(guān)閉文檔不保存修改(因為已另存)
if __name__ == '__main__':
main()
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
基于MSELoss()與CrossEntropyLoss()的區(qū)別詳解
今天小編就為大家分享一篇基于MSELoss()與CrossEntropyLoss()的區(qū)別詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-01-01
人工智能學(xué)習(xí)pyTorch的ResNet殘差模塊示例詳解
這篇文章主要為大家介紹了人工智能學(xué)習(xí)pyTorch的ResNet殘差模塊示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步2021-11-11
基于pytorch的RNN實現(xiàn)字符級姓氏文本分類的示例代碼
當(dāng)使用基于PyTorch的RNN實現(xiàn)字符級姓氏文本分類時,我們可以使用一個非常簡單的RNN模型來處理輸入的字符序列,并將其應(yīng)用于姓氏分類任務(wù),本文給大家舉了一個基本的示例代碼,需要的朋友可以參考下2023-12-12
tensorflow保持每次訓(xùn)練結(jié)果一致的簡單實現(xiàn)
今天小編就為大家分享一篇tensorflow保持每次訓(xùn)練結(jié)果一致的實現(xiàn),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-02-02
Python使用re模塊實現(xiàn)okenizer(表達式分詞器)
這篇文章主要介紹了Python使用re模塊實現(xiàn)okenizer,我們這里講解用正則表達式構(gòu)建簡單的表達式分詞器(tokenizer),它能夠?qū)⒈磉_式字符串從左到右解析為標記(tokens)流,需要的朋友可以參考下2022-04-04
從零學(xué)python系列之從文件讀取和保存數(shù)據(jù)
在Python一般都是運用內(nèi)置函數(shù)open()與文件進行交互,下面說說具體用法2014-05-05
Django model 中設(shè)置聯(lián)合約束和聯(lián)合索引的方法
今天小編就為大家分享一篇Django model 中設(shè)置聯(lián)合約束和聯(lián)合索引的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-08-08
PyCharm修改系統(tǒng)緩存路徑,防止C盤爆滿問題及解決
文章介紹了如何更新IDEA和PyCharm編輯器,并修改緩存路徑配置以防止C盤空間不足,同時,文章還指導(dǎo)如何遷移舊數(shù)據(jù)以保持配置一致2026-03-03

