photoshop-python-api 是一个方便的库,用于通过 Python 操作 Adobe Photoshop。它提供了与 Photoshop 的通信接口,可以执行诸如打开文件、编辑图层、应用滤镜等任务。
以下是关于如何使用 photoshop-python-api 的详细介绍和代码示例。
安装
确保你已安装 Python 和 Photoshop。然后,安装 photoshop-python-api:
bashbash:bash
复制代码
pip install photoshop-python-api
此外,Photoshop 的 ExtendScript 扩展必须启用。你可以在 Photoshop 的首选项中启用它。
基础用法
初始化 Photoshop
以下是连接到 Photoshop 的基本代码:
python
复制代码
from photoshop import Session
# 打开一个 Photoshop 会话
with Session() as ps:
print(f"Connected to Photoshop: {ps.app.name}")
常见任务
1. 打开文件
python
复制代码
from photoshop import Session
with Session() as ps:
# 打开文件
file_path = r"C:\path\to\your\image.psd"
doc = ps.app.open(file_path)
print(f"Opened document: {doc.name}")
2. 新建文档
python
复制代码
from photoshop import Session
with Session() as ps:
# 创建新文档
doc = ps.app.documents.add(width=800, height=600, resolution=72)
print(f"Created new document: {doc.name}")
3. 操作图层
python
复制代码
from photoshop import Session
with Session() as ps:
doc = ps.app.activeDocument
# 添加新图层
layer = doc.artLayers.add()
layer.name = "My Layer"
# 修改图层属性
layer.opacity = 50 # 设置透明度为 50%
print(f"Layer '{layer.name}' created with opacity {layer.opacity}")
4. 应用滤镜
python
复制代码
from photoshop import Session
with Session() as ps:
doc = ps.app.activeDocument
layer = doc.activeLayer
# 应用高斯模糊
ps.app.doJavaScript('app.activeDocument.activeLayer.applyGaussianBlur(5);')
print(f"Applied Gaussian blur to layer: {layer.name}")
5. 导出文件
python
复制代码
from photoshop import Session
with Session() as ps:
doc = ps.app.activeDocument
output_path = r"C:\path\to\output.png"
# 导出为 PNG
options = ps.PNGSaveOptions()
doc.saveAs(output_path, options, asCopy=True)
print(f"Document saved to {output_path}")
使用 ExtendScript 扩展功能
photoshop-python-api 允许直接运行 ExtendScript(Photoshop 的 JavaScript 脚本语言):
python
复制代码
from photoshop import Session
with Session() as ps:
result = ps.app.doJavaScript('app.version;')
print(f"Photoshop version: {result}")
高级功能
遍历图层
python
复制代码
from photoshop import Session
with Session() as ps:
doc = ps.app.activeDocument
for layer in doc.artLayers:
print(f"Layer: {layer.name}")
动态修改文本
python
复制代码
from photoshop import Session
with Session() as ps:
doc = ps.app.activeDocument
text_layer = doc.artLayers.add()
text_layer.kind = 2 # 2 表示文本图层
text_layer.textItem.contents = "Hello Photoshop"
text_layer.textItem.size = 48
text_layer.textItem.color = ps.SolidColor()
text_layer.textItem.color.rgb.red = 255
print("Added text layer with content: 'Hello Photoshop'")
批量处理文件
python
复制代码
import os
from photoshop import Session
input_folder = r"C:\path\to\input"
output_folder = r"C:\path\to\output"
with Session() as ps:
for filename in os.listdir(input_folder):
if filename.endswith(".psd"):
file_path = os.path.join(input_folder, filename)
doc = ps.app.open(file_path)
# 修改文件名并保存
output_path = os.path.join(output_folder, filename.replace(".psd", ".png"))
options = ps.PNGSaveOptions()
doc.saveAs(output_path, options, asCopy=True)
print(f"Processed and saved: {output_path}")
# 关闭文档
doc.close()
注意事项
- 环境依赖: 确保 Photoshop 已安装且运行,并启用 ExtendScript。
- 权限问题: 某些操作可能需要管理员权限。
- 文件路径: 确保使用正确的路径分隔符(Windows 使用
\或r"")。
扩展和改进
如果需要实现更复杂的功能(例如自动设计、批量处理等),可以结合 Photoshop 的 JavaScript API 和 Python 的脚本逻辑,进一步扩展能力。
如果你有特定需求,可以详细说明,我可以为你编写更具体的脚本!
您说:
更多的应用案例
ChatGPT 说:
以下是更多使用 photoshop-python-api 的实际应用案例,涵盖了各种常见的 Photoshop 操作和自动化脚本的实现。每个案例都包含代码示例和用途说明。
1. 批量添加水印
场景
为一组图片添加公司 Logo 或文字水印。
实现代码
python
复制代码
import os
from photoshop import Session
def add_watermark(input_folder, output_folder, watermark_text="Watermark"):
with Session() as ps:
for filename in os.listdir(input_folder):
if filename.lower().endswith(('.jpg', '.png', '.psd')):
file_path = os.path.join(input_folder, filename)
doc = ps.app.open(file_path)
# 添加文字水印
text_layer = doc.artLayers.add()
text_layer.kind = 2 # 文本图层
text_layer.textItem.contents = watermark_text
text_layer.textItem.size = 24
text_layer.textItem.position = [doc.width - 200, doc.height - 50] # 右下角
text_layer.textItem.color = ps.SolidColor()
text_layer.textItem.color.rgb.red = 255
text_layer.textItem.color.rgb.green = 255
text_layer.textItem.color.rgb.blue = 255
# 保存并导出
output_path = os.path.join(output_folder, filename)
options = ps.PNGSaveOptions()
doc.saveAs(output_path, options, asCopy=True)
print(f"Processed and saved: {output_path}")
# 关闭文档
doc.close()
# 输入和输出文件夹
input_folder = r"C:\path\to\input"
output_folder = r"C:\path\to\output"
add_watermark(input_folder, output_folder, "My Watermark")
2. 自动裁剪图片
场景
根据透明边界裁剪图片,去除多余空白区域。
实现代码
python
复制代码
from photoshop import Session
def auto_crop_image(image_path, output_path):
with Session() as ps:
doc = ps.app.open(image_path)
# 裁剪图片:选择图层内容的边界
doc.crop(doc.activeLayer.bounds)
# 保存裁剪后的图片
options = ps.PNGSaveOptions()
doc.saveAs(output_path, options, asCopy=True)
print(f"Cropped and saved: {output_path}")
doc.close()
# 输入图片路径和输出路径
image_path = r"C:\path\to\input.png"
output_path = r"C:\path\to\output.png"
auto_crop_image(image_path, output_path)
3. 批量调整图片分辨率
场景
为一组图片统一分辨率(例如,修改为 300 DPI 或更小尺寸)。
实现代码
python
复制代码
import os
from photoshop import Session
def batch_resize_images(input_folder, output_folder, resolution=300):
with Session() as ps:
for filename in os.listdir(input_folder):
if filename.lower().endswith(('.jpg', '.png', '.psd')):
file_path = os.path.join(input_folder, filename)
doc = ps.app.open(file_path)
# 修改分辨率
doc.resizeImage(resolution=resolution)
# 保存为新的文件
output_path = os.path.join(output_folder, filename)
options = ps.JPEGSaveOptions()
doc.saveAs(output_path, options, asCopy=True)
print(f"Resized and saved: {output_path}")
# 关闭文档
doc.close()
# 输入和输出文件夹
input_folder = r"C:\path\to\input"
output_folder = r"C:\path\to\output"
batch_resize_images(input_folder, output_folder, resolution=300)
4. 自动化 Logo 替换
场景
将设计模板中的公司 Logo 替换为新的 Logo。
实现代码
python
复制代码
from photoshop import Session
def replace_logo(template_path, logo_path, output_path):
with Session() as ps:
# 打开模板文件
doc = ps.app.open(template_path)
# 删除旧 Logo 图层
for layer in doc.artLayers:
if "Logo" in layer.name: # 假设 Logo 图层名称包含 "Logo"
layer.remove()
# 插入新的 Logo
logo_doc = ps.app.open(logo_path)
logo_doc.activeLayer.copy() # 复制 Logo 图层
logo_doc.close()
doc.paste() # 粘贴到模板
new_logo_layer = doc.activeLayer
new_logo_layer.name = "New Logo"
# 调整 Logo 尺寸和位置
new_logo_layer.resize(50, 50) # 缩放 50%
new_logo_layer.translate(doc.width / 2, doc.height / 2) # 移动到中心
# 保存文件
options = ps.PSDSaveOptions()
doc.saveAs(output_path, options)
print(f"Template updated and saved: {output_path}")
doc.close()
# 模板路径、Logo 路径和输出路径
template_path = r"C:\path\to\template.psd"
logo_path = r"C:\path\to\logo.png"
output_path = r"C:\path\to\output.psd"
replace_logo(template_path, logo_path, output_path)
5. 图片颜色调整
场景
自动为一组图片应用色调调整,例如改变亮度、对比度或饱和度。
实现代码
python
复制代码
import os
from photoshop import Session
def adjust_colors(image_path, output_path, brightness=20, contrast=10):
with Session() as ps:
doc = ps.app.open(image_path)
# 调整亮度和对比度
adjustment_layer = doc.artLayers.add()
ps.app.doJavaScript(f"""
var idbrightnessContrast = stringIDToTypeID("brightnessContrast");
var desc = new ActionDescriptor();
desc.putInteger(stringIDToTypeID("brightness"), {brightness});
desc.putInteger(stringIDToTypeID("contrast"), {contrast});
executeAction(idbrightnessContrast, desc, DialogModes.NO);
""")
# 保存文件
options = ps.PNGSaveOptions()
doc.saveAs(output_path, options, asCopy=True)
print(f"Adjusted colors and saved: {output_path}")
doc.close()
# 输入图片路径和输出路径
image_path = r"C:\path\to\input.jpg"
output_path = r"C:\path\to\output.jpg"
adjust_colors(image_path, output_path, brightness=30, contrast=15)
6. 动态生成批量名片
场景
根据一组人员信息(例如姓名和职位),生成对应的名片图片。
实现代码
python
复制代码
from photoshop import Session
def generate_business_cards(template_path, output_folder, data):
with Session() as ps:
for person in data:
# 打开模板
doc = ps.app.open(template_path)
# 替换姓名和职位
for layer in doc.artLayers:
if layer.name == "Name":
layer.textItem.contents = person["name"]
elif layer.name == "Title":
layer.textItem.contents = person["title"]
# 保存为新的文件
output_path = os.path.join(output_folder, f"{person['name']}_card.png")
options = ps.PNGSaveOptions()
doc.saveAs(output_path, options, asCopy=True)
print(f"Business card saved: {output_path}")
doc.close()
# 名片模板路径和人员数据
template_path = r"C:\path\to\business_card_template.psd"
output_folder = r"C:\path\to\output"
data = [
{"name": "Alice", "title": "Manager"},
{"name": "Bob", "title": "Engineer"},
]
generate_business_cards(template_path, output_folder, data)
如果你有其他需求或更复杂的场景需求,请告诉我,我可以进一步扩展代码!
您说:
有没有更高级的完法
ChatGPT 说:
更高级的用法可以结合 Photoshop Scripting API、动态数据生成、机器学习技术 和 复杂的操作逻辑,实现智能化、自动化的 Photoshop 操作。以下是几个高级案例及其实现思路:
高级玩法案例
1. 基于 AI 的图片增强和自动修复
结合 Python 的机器学习库(如 TensorFlow、PyTorch)和 Photoshop 的 API,可以实现图像智能化处理。例如:
- 使用深度学习模型对图片去噪。
- 利用 Photoshop 的功能微调 AI 处理后的图像。
实现思路
- 使用 Python 的机器学习模型处理图片(如去噪、修复、风格迁移)。
- 将结果图片传递给 Photoshop,通过
photoshop-python-api进行后处理。
示例代码
python
复制代码
import cv2
from photoshop import Session
def enhance_and_refine(image_path, output_path):
# AI 增强图片(使用 OpenCV 进行简单去噪作为示例)
image = cv2.imread(image_path)
denoised_image = cv2.fastNlMeansDenoisingColored(image, None, 10, 10, 7, 21)
temp_path = "temp_denoised.png"
cv2.imwrite(temp_path, denoised_image)
# 用 Photoshop 进一步处理
with Session() as ps:
doc = ps.app.open(temp_path)
# 应用锐化滤镜
ps.app.doJavaScript('app.activeDocument.activeLayer.applySharpen();')
# 保存最终结果
options = ps.PNGSaveOptions()
doc.saveAs(output_path, options, asCopy=True)
print(f"Enhanced and saved: {output_path}")
doc.close()
# 使用该功能
enhance_and_refine("input.jpg", "output.jpg")
2. 动态生成海报或广告模板
创建动态广告:根据用户输入(如产品名称、图片、价格),自动生成一个海报或广告图片。
实现思路
- 准备 Photoshop 模板,预定义占位符图层(如 "Product Image", "Product Name", "Price")。
- 使用
photoshop-python-api自动替换这些占位符内容。 - 可生成多种布局或配色方案。
示例代码
python
复制代码
from photoshop import Session
def generate_ad(template_path, output_path, product_info):
with Session() as ps:
doc = ps.app.open(template_path)
# 替换产品名称
for layer in doc.artLayers:
if layer.name == "Product Name":
layer.textItem.contents = product_info["name"]
elif layer.name == "Price":
layer.textItem.contents = f"${product_info['price']}"
# 替换产品图片
product_image = ps.app.open(product_info["image_path"])
product_image.activeLayer.copy()
product_image.close()
doc.paste()
pasted_layer = doc.activeLayer
pasted_layer.name = "Product Image"
pasted_layer.resize(80, 80) # 缩放
# 保存最终广告
options = ps.PNGSaveOptions()
doc.saveAs(output_path, options, asCopy=True)
print(f"Generated ad saved: {output_path}")
doc.close()
# 示例:产品信息
product_info = {
"name": "Cool Gadget",
"price": 49.99,
"image_path": "product.jpg",
}
generate_ad("ad_template.psd", "ad_output.png", product_info)
3. Photoshop + 数据可视化
动态生成图片并在 Photoshop 中嵌入复杂的数据可视化(例如市场趋势图、统计数据)。
实现思路
- 使用 Python 的 Matplotlib 或 Seaborn 库生成可视化图片。
- 将图表传递给 Photoshop,作为一层嵌入到设计中。
- 可批量生成多张报告图片。
示例代码
python
复制代码
import matplotlib.pyplot as plt
from photoshop import Session
def create_chart(data, chart_path):
# 使用 Matplotlib 生成图表
plt.figure(figsize=(8, 6))
plt.bar(data.keys(), data.values(), color='skyblue')
plt.title("Sales Data")
plt.xlabel("Month")
plt.ylabel("Sales")
plt.savefig(chart_path)
plt.close()
def integrate_chart(template_path, chart_path, output_path):
with Session() as ps:
doc = ps.app.open(template_path)
# 添加图表图片
chart_image = ps.app.open(chart_path)
chart_image.activeLayer.copy()
chart_image.close()
doc.paste()
pasted_layer = doc.activeLayer
pasted_layer.name = "Chart"
pasted_layer.resize(80, 80) # 调整大小
# 保存最终结果
options = ps.PNGSaveOptions()
doc.saveAs(output_path, options, asCopy=True)
print(f"Report saved: {output_path}")
doc.close()
# 示例数据
data = {"Jan": 200, "Feb": 240, "Mar": 300, "Apr": 280}
chart_path = "chart.png"
template_path = "report_template.psd"
output_path = "final_report.png"
create_chart(data, chart_path)
integrate_chart(template_path, chart_path, output_path)
4. 复杂批量处理与智能布局
对多个输入图片进行不同的裁剪、滤镜应用,并将结果按指定布局组合成一个拼贴图。
实现思路
- 使用 Photoshop 的裁剪和滤镜工具处理图片。
- 动态计算布局并合并图片。
- 保存最终拼贴图。
示例代码
python
复制代码
from photoshop import Session
def create_collage(image_paths, output_path, grid_size=(2, 2)):
with Session() as ps:
# 创建新文档
doc = ps.app.documents.add(width=1000, height=1000, resolution=72)
# 动态计算每张图片的位置
cell_width = doc.width / grid_size[0]
cell_height = doc.height / grid_size[1]
for i, image_path in enumerate(image_paths):
image_doc = ps.app.open(image_path)
image_doc.activeLayer.copy()
image_doc.close()
# 粘贴图片
doc.paste()
pasted_layer = doc.activeLayer
x = (i % grid_size[0]) * cell_width
y = (i // grid_size[0]) * cell_height
pasted_layer.translate(x, y)
pasted_layer.resize(cell_width / pasted_layer.bounds[2],
cell_height / pasted_layer.bounds[3])
# 保存拼贴图
options = ps.PNGSaveOptions()
doc.saveAs(output_path, options, asCopy=True)
print(f"Collage saved: {output_path}")
doc.close()
# 图片路径列表
image_paths = ["image1.jpg", "image2.jpg", "image3.jpg", "image4.jpg"]
output_path = "collage.png"
create_collage(image_paths, output_path, grid_size=(2, 2))
5. 智能照片风格迁移
- 结合深度学习模型(如 PyTorch 实现的 Neural Style Transfer)和 Photoshop API 实现照片风格迁移。
- Photoshop 负责后续的微调和效果增强。
下一步扩展
- 云端处理: 将生成任务部署到服务器,结合云存储(如 AWS S3)批量生成和存储图片。
- 智能推荐: 利用机器学习分析设计元素(如颜色、布局)自动推荐设计模板。
- 增强脚本交互: 使用 Flask 或 FastAPI 构建一个 Web 接口,与
photoshop-python-api集成,实现远程操作 Photoshop。
如果你想深入探讨某一具体功能或需要结合更多技术,请告诉我!
您说:
需要更多的案例
ChatGPT 说:
以下是更多高级 Photoshop 自动化操作的案例,这些操作结合了 photoshop-python-api 和其他 Python 库,实现复杂任务和功能:
案例 6:批量生成社交媒体内容
场景
为不同社交媒体平台(如 Instagram、Facebook、Twitter)生成指定尺寸的内容,例如广告或活动预告。
实现代码
python
复制代码
from photoshop import Session
def generate_social_media_content(template_path, output_folder, sizes):
"""根据不同社交媒体的要求生成多种尺寸的内容"""
with Session() as ps:
doc = ps.app.open(template_path)
for platform, size in sizes.items():
# 修改文档尺寸
doc.resizeImage(width=size[0], height=size[1])
# 保存文件
output_path = f"{output_folder}/{platform}_content.png"
options = ps.PNGSaveOptions()
doc.saveAs(output_path, options, asCopy=True)
print(f"Generated content for {platform}: {output_path}")
doc.close()
# 示例社交媒体尺寸
sizes = {
"Instagram": (1080, 1080),
"Facebook": (1200, 628),
"Twitter": (1024, 512),
"LinkedIn": (1200, 1200),
}
template_path = "template.psd"
output_folder = "social_media_output"
generate_social_media_content(template_path, output_folder, sizes)
案例 7:批量去背景
场景
对一组图片批量去除背景(透明化),然后导出为 PNG 格式。
实现代码
python
复制代码
from photoshop import Session
def remove_background(input_folder, output_folder):
"""批量去除图片背景"""
with Session() as ps:
for filename in os.listdir(input_folder):
if filename.lower().endswith(('.jpg', '.png')):
file_path = os.path.join(input_folder, filename)
doc = ps.app.open(file_path)
# 执行去背景命令
ps.app.doJavaScript('''
var doc = app.activeDocument;
doc.activeLayer.isBackgroundLayer = false;
doc.selection.selectAll();
doc.selection.clear();
''')
# 保存结果
output_path = os.path.join(output_folder, filename)
options = ps.PNGSaveOptions()
doc.saveAs(output_path, options, asCopy=True)
print(f"Background removed: {output_path}")
doc.close()
# 输入和输出文件夹
input_folder = "images_to_process"
output_folder = "output_images"
remove_background(input_folder, output_folder)
案例 8:自动生成证书
场景
从 CSV 文件中读取姓名并生成对应的电子证书。
实现代码
python
复制代码
import csv
from photoshop import Session
def generate_certificates(template_path, output_folder, csv_file):
"""批量生成证书"""
with open(csv_file, 'r') as file:
reader = csv.DictReader(file)
with Session() as ps:
for row in reader:
doc = ps.app.open(template_path)
# 替换姓名
for layer in doc.artLayers:
if layer.name == "Name":
layer.textItem.contents = row['Name']
# 保存证书
output_path = f"{output_folder}/{row['Name']}_certificate.png"
options = ps.PNGSaveOptions()
doc.saveAs(output_path, options, asCopy=True)
print(f"Certificate saved: {output_path}")
doc.close()
# 使用案例
template_path = "certificate_template.psd"
output_folder = "certificates"
csv_file = "names.csv" # CSV 文件需包含 "Name" 列
generate_certificates(template_path, output_folder, csv_file)
案例 9:自动化产品目录设计
场景
从数据库或 JSON 文件中读取产品信息,生成设计好的产品展示页面。
实现代码
python
复制代码
import json
from photoshop import Session
def create_product_catalog(template_path, output_path, products):
"""根据产品信息生成产品目录"""
with Session() as ps:
doc = ps.app.open(template_path)
for i, product in enumerate(products):
# 动态替换产品信息
for layer in doc.artLayers:
if layer.name == f"Product {i+1} Name":
layer.textItem.contents = product['name']
elif layer.name == f"Product {i+1} Price":
layer.textItem.contents = f"${product['price']}"
elif layer.name == f"Product {i+1} Image":
# 插入产品图片
product_image = ps.app.open(product['image_path'])
product_image.activeLayer.copy()
product_image.close()
doc.paste()
pasted_layer = doc.activeLayer
pasted_layer.name = f"Product {i+1} Image"
pasted_layer.translate(100 * i, 200) # 调整位置
# 保存目录
options = ps.PSDSaveOptions()
doc.saveAs(output_path, options)
print(f"Product catalog saved: {output_path}")
doc.close()
# 示例产品信息
products = [
{"name": "Product 1", "price": 19.99, "image_path": "product1.jpg"},
{"name": "Product 2", "price": 29.99, "image_path": "product2.jpg"},
{"name": "Product 3", "price": 39.99, "image_path": "product3.jpg"},
]
template_path = "catalog_template.psd"
output_path = "product_catalog.psd"
create_product_catalog(template_path, output_path, products)
案例 10:复杂效果自动应用(批量滤镜+水印)
场景
对图片批量应用滤镜(如模糊、锐化、色调调整),并在其上叠加水印。
实现代码
python
复制代码
from photoshop import Session
def apply_effects_and_watermark(input_folder, output_folder, watermark_text):
"""批量应用效果并添加水印"""
with Session() as ps:
for filename in os.listdir(input_folder):
if filename.lower().endswith(('.jpg', '.png')):
file_path = os.path.join(input_folder, filename)
doc = ps.app.open(file_path)
# 应用滤镜(高斯模糊 + 锐化)
ps.app.doJavaScript('app.activeDocument.activeLayer.applyGaussianBlur(5);')
ps.app.doJavaScript('app.activeDocument.activeLayer.applySharpen();')
# 添加水印
watermark_layer = doc.artLayers.add()
watermark_layer.kind = 2 # 文本图层
watermark_layer.textItem.contents = watermark_text
watermark_layer.textItem.size = 20
watermark_layer.textItem.position = [doc.width - 150, doc.height - 50]
watermark_layer.textItem.color = ps.SolidColor()
watermark_layer.textItem.color.rgb.red = 255
watermark_layer.textItem.color.rgb.green = 255
watermark_layer.textItem.color.rgb.blue = 255
# 保存处理后的图片
output_path = os.path.join(output_folder, filename)
options = ps.PNGSaveOptions()
doc.saveAs(output_path, options, asCopy=True)
print(f"Processed and saved: {output_path}")
doc.close()
# 使用案例
input_folder = "images_to_process"
output_folder = "output_images"
apply_effects_and_watermark(input_folder, output_folder, "My Watermark")
案例 11:智能化名片批量生成
场景
根据员工信息批量生成多种风格的名片,并动态选择 Logo 和配色。
实现思路
- 动态选择模板样式。
- 根据员工数据(如姓名、职位、联系方式)生成不同风格的名片。
- 可以批量输出 PDF。
示例代码
python
复制代码
import os
from photoshop import Session
def generate_business_cards(template_folder, output_folder, employee_data):
"""批量生成名片"""
with Session() as ps:
for employee in employee_data:
template_path = os.path.join(template_folder, f"{employee['template']}.psd")
doc = ps.app.open(template_path)
# 替换姓名、职位和联系方式
for layer in doc.artLayers:
if layer.name == "Name":
layer.textItem.contents = employee['name']
elif layer.name == "Title":
layer.textItem.contents = employee['title']
elif layer.name == "Contact":
layer.textItem.contents = employee['contact']
# 保存名片
output_path = os.path.join(output_folder, f"{employee['name']}_card.png")
options = ps.PNGSaveOptions()
doc.saveAs(output_path, options, asCopy=True)
print(f"Generated business card: {output_path}")
doc.close()
# 示例员工数据
employee_data = [
{"name": "Alice", "title": "Manager", "contact": "alice@company.com", "template": "template1"},
{"name": "Bob", "title": "Developer", "contact": "bob@company.com", "template": "template2"},
]
template_folder = "card_templates"
output_folder = "business_cards"
generate_business_cards(template_folder, output_folder, employee_data)
如果你还有更多的特定需求或想进一步优化某些功能,可以告诉我,我可