Ошибка Windows в скрипте python для photoshop

#python #python-3.x #photoshop #photoshop-script #photoshop-sdk

Вопрос:

 Traceback (most recent call last):
  File "C:Usersdeepak.prasadDesktoppython_scrappingpsdapp.py", line 18, in <module>
    ps.app.executeAction(replace_contents, desc)
  File "C:Usersdeepak.prasadAppDataLocalPackagesPythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0LocalCachelocal-packagesPython39site-packagesphotoshopapiapplication.py", line 354, in executeAction
    return self.app.executeAction(event_id, descriptor, display_dialogs)
  File "C:Usersdeepak.prasadAppDataLocalPackagesPythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0LocalCachelocal-packagesPython39site-packagescomtypesclientlazybind.py", line 182, in caller
    return self._comobj._invoke(descr.memid, descr.invkind, 0, *args)
  File "C:Usersdeepak.prasadAppDataLocalPackagesPythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0LocalCachelocal-packagesPython39site-packagescomtypesautomation.py", line 728, in _invoke
    self.__com_Invoke(memid, riid_null, lcid, invkind,
_ctypes.COMError: (-2147213497, None, (None, None, None, 0, None))

> Blockquote
 

Я застрял на вышеупомянутой ошибке и не получаю ни малейшего представления о том, откуда, я просто пытаюсь использовать photshop-api для замены изображения моего psd-файла. Прикрепляю свой код для справки.

 """Replace the image of the current active layer with a new image."""


from photoshop import Session
import photoshop.api as ps


app = ps.Application()
print("ps.Application executed")
app.load("C:\Users\deepak.prasad\Desktop\python_scrapping\psd\Ad-format-final-1.psd")
print("template loaded successfully")

with Session() as ps:
    replace_contents = ps.app.stringIDToTypeID("logo")
    desc = ps.ActionDescriptor
    idnull = ps.app.charIDToTypeID("null")
    desc.putPath(idnull, "C:\Users\deepak.prasad\Desktop\python_scrapping\psd\logo1.png")
    ps.app.executeAction(replace_contents, desc)
 

Комментарии:

1. У тебя есть desc = ps.ActionDescriptor . Не зная, к какому коду это приводит, вам нужно создать экземпляр дескриптора, например: win32com.client.Dispatch('Photoshop.ActionDescriptor')