Adobe создала ужасный API для взаимодействия с Photoshop. Хуже того, документация устарела и не включает в себя такие обновления, как файлы PSB, файлы EXR и т. Д.
Хороший способ узнать, как написать код для этого, - это использовать Photoshop ActionListener и взломать свой путь (не всегда работает, но он дает вам хорошие подсказки). Подробнее об этом можно прочитать здесь .
Это должно делать то, что вы ищете:
import comtypes.client as ct
app = ct.CreateObject('Photoshop.Application')
def save_as_psb(path):
""" Save the current Document as PSB with maximised compatibility
turned ON.
Args:
path (str): This is the filename of the output PSB
"""
desc19 = ct.CreateObject("Photoshop.ActionDescriptor")
desc20 = ct.CreateObject("Photoshop.ActionDescriptor")
desc20.putBoolean(app.StringIDToTypeID('maximizeCompatibility'), True)
desc19.putObject(
app.CharIDToTypeID('As '), app.CharIDToTypeID('Pht8'), desc20)
desc19.putPath(app.CharIDToTypeID('In '), path)
logging.debug(path)
desc19.putBoolean(app.CharIDToTypeID('LwCs'), True)
app.executeAction(app.CharIDToTypeID('save'), desc19, 3)