Photoshop操作脚本失败

时间:2013-01-12 06:11:10

标签: python pydev photoshop win32com

我正在尝试编写一个脚本来应用Photoshop滤镜。我看着this blog似乎有一些好的建议但是当我尝试基本的例子(下面列出)时,我得到以下错误。

Traceback (most recent call last):
  File "C:\Users\Daniel\EclipseWorkspace\PhotoScript\src\scriptLaunch.py", line 3, in <module>
    psApp = win32com.client.Dispatch("Photoshop.Application")
  File "C:\Python27\lib\site-packages\win32com\client\__init__.py", line 95, in Dispatch
    dispatch, userName = dynamic._GetGoodDispatchAndUserName(dispatch,userName,clsctx)
  File "C:\Python27\lib\site-packages\win32com\client\dynamic.py", line 108, in _GetGoodDispatchAndUserName
    return (_GetGoodDispatch(IDispatch, clsctx), userName)
  File "C:\Python27\lib\site-packages\win32com\client\dynamic.py", line 85, in _GetGoodDispatch
    IDispatch = pythoncom.CoCreateInstance(IDispatch, None, clsctx, pythoncom.IID_IDispatch)
pywintypes.com_error: (-2147221005, 'Invalid class string', None, None)

我不知道是什么导致了这个问题。 This solution已经实施,所以我不知道该怎么做。我在PyDev和Photoshop Elements 10上运行python 2.7。

我的代码:

import win32com.client

psApp = win32com.client.Dispatch("Photoshop.Application") //the line causing the error

psApp.Open(r"D:\temp\blah.psd")         # Opens a PSD file
doc = psApp.Application.ActiveDocument  # Get active document object
layer = doc.ArtLayers[0]                # Get the bottom-most layer
layer.AdjustBrightnessContrast(20,-15)  # Bright +20, Contrast -15
doc.Save()

1 个答案:

答案 0 :(得分:1)

我非常确定Photoshop API仅适用于Photoshop CSx版本,而不适用于“Elements”。我认为它说这个类是不可用的,因为你没有必要的.dll(或者如果你使用的是mac,那么等同于它)。 http://www.adobe.com/devnet/photoshop/sdk.html