Anonymous
Photoshop-python-api говорит, что, возможно, у меня неправильно установлен Photoshop
Сообщение
Anonymous » 12 янв 2025, 22:57
Я пытаюсь написать код, который будет брать данные из электронной таблицы Excel и помещать их в определенные слои PSD-файла. Вот мой код:
Код: Выделить всё
import pandas as pd
from photoshop import Session
import os
def update_psd_with_excel_data(excel_path, psd_template_path, output_dir):
df = pd.read_excel(excel_path)
for index, row in df.iterrows():
brand = row['Brand']
name = row['Name']
price = row['Price']
image_path = row['Image']
with Session(psd_template_path, action="open") as ps:
doc = ps.app.activeDocument
update_text_layer(doc, 'brand', brand)
update_text_layer(doc, 'name', name)
update_text_layer(doc, 'price', price)
update_image_layer(doc, 'product_image', r'%s' % image_path)
output_path = os.path.join(output_dir, f"{name}.jpg")
save_as_jpg(doc, output_path, ps)
def update_text_layer(doc, layer_name, text):
layer = doc.artLayers[layer_name]
if layer.kind == 2: # ps.LayerKind.TextLayer
text_item = layer.textItem
text_item.contents = text
def update_image_layer(doc, layer_name, image_path):
layer = doc.artLayers[layer_name]
if layer.kind == 1: # ps.LayerKind.SmartObjectLayer
layer.smartObject.updateContents(image_path)
def save_as_jpg(doc, output_path, ps, quality=12):
jpg_options = ps.JPEGSaveOptions()
jpg_options.quality = quality
jpg_file = ps.File(output_path)
doc.saveAs(jpg_file, jpg_options, asCopy=True)
excel_path = r'C:\Users\Arsen\Desktop\test.xlsx'
psd_template_path = r'C:\Users\Arsen\Desktop\phtsjjjf.psd'
output_dir = r'C:\Users\Arsen\Desktop'
update_psd_with_excel_data(excel_path, psd_template_path, output_dir)
У меня на ноутбуке установлен фотошоп. Этот код находится в файле Python.
Я даже не могу проверить работоспособность кода, потому что при его запуске он сразу выдает ошибку:
Код: Выделить всё
photoshop.api.errors.PhotoshopPythonAPIError: Please check if you have Photoshop installed correctly.
Я попробовал сначала запустить Photoshop, а затем код; Я добавил местоположение фотошопа в переменную пути, но это не сработало
Подробнее здесь:
https://stackoverflow.com/questions/787 ... -correctly
1736711856
Anonymous
Я пытаюсь написать код, который будет брать данные из электронной таблицы Excel и помещать их в определенные слои PSD-файла. Вот мой код: [code]import pandas as pd from photoshop import Session import os def update_psd_with_excel_data(excel_path, psd_template_path, output_dir): df = pd.read_excel(excel_path) for index, row in df.iterrows(): brand = row['Brand'] name = row['Name'] price = row['Price'] image_path = row['Image'] with Session(psd_template_path, action="open") as ps: doc = ps.app.activeDocument update_text_layer(doc, 'brand', brand) update_text_layer(doc, 'name', name) update_text_layer(doc, 'price', price) update_image_layer(doc, 'product_image', r'%s' % image_path) output_path = os.path.join(output_dir, f"{name}.jpg") save_as_jpg(doc, output_path, ps) def update_text_layer(doc, layer_name, text): layer = doc.artLayers[layer_name] if layer.kind == 2: # ps.LayerKind.TextLayer text_item = layer.textItem text_item.contents = text def update_image_layer(doc, layer_name, image_path): layer = doc.artLayers[layer_name] if layer.kind == 1: # ps.LayerKind.SmartObjectLayer layer.smartObject.updateContents(image_path) def save_as_jpg(doc, output_path, ps, quality=12): jpg_options = ps.JPEGSaveOptions() jpg_options.quality = quality jpg_file = ps.File(output_path) doc.saveAs(jpg_file, jpg_options, asCopy=True) excel_path = r'C:\Users\Arsen\Desktop\test.xlsx' psd_template_path = r'C:\Users\Arsen\Desktop\phtsjjjf.psd' output_dir = r'C:\Users\Arsen\Desktop' update_psd_with_excel_data(excel_path, psd_template_path, output_dir) [/code] У меня на ноутбуке установлен фотошоп. Этот код находится в файле Python. Я даже не могу проверить работоспособность кода, потому что при его запуске он сразу выдает ошибку: [code]photoshop.api.errors.PhotoshopPythonAPIError: Please check if you have Photoshop installed correctly.[/code] Я попробовал сначала запустить Photoshop, а затем код; Я добавил местоположение фотошопа в переменную пути, но это не сработало Подробнее здесь: [url]https://stackoverflow.com/questions/78746142/photoshop-python-api-says-that-i-may-not-have-photoshop-installed-correctly[/url]