Skip to main content

Python API for Photoshop.

Project description

logo

python version PyPI version Documentation Status Downloads Status Downloads License pypi format Chat on Discird Maintenance

All Contributors

Python API for Photoshop.

The example above was created with Photoshop Python API. Check it out at photoshop-python-api.readthedocs.io/examples.

Has been tested and used Photoshop version:

Photoshop Version Supported
2020 :white_check_mark:
cc2019 :white_check_mark:
cc2018 :white_check_mark:
cc2017 :white_check_mark:

Installing

You can install via pip.

pip install photoshop_python_api

or through clone from Github.

git clone https://github.com/loonghao/photoshop_python_api.git

Install package.

python setup.py install

Since it uses COM (Component Object Model) connect Photoshop, it can be used in any DCC software with a python interpreter.

Hello World

import photoshop.api as ps
app = ps.Application()
doc = app.documents.add()
new_doc = doc.artLayers.add()
text_color = ps.SolidColor()
text_color.rgb.green = 255
new_text_layer = new_doc
new_text_layer.kind = ps.LayerKind.TextLayer
new_text_layer.textItem.contents = 'Hello, World!'
new_text_layer.textItem.position = [160, 167]
new_text_layer.textItem.size = 40
new_text_layer.textItem.color = text_color
options = ps.JPEGSaveOptions(quality=5)
# # save to jpg
jpg = 'd:/hello_world.jpg'
doc.saveAs(jpg, options, asCopy=True)
app.doJavaScript(f'alert("save to jpg: {jpg}")')

demo

Photoshop Session

Use it as context.

from photoshop import Session


with Session(action="new_document") as ps:
    doc = ps.active_document
    text_color = ps.SolidColor()
    text_color.rgb.green = 255
    new_text_layer = doc.artLayers.add()
    new_text_layer.kind = ps.LayerKind.TextLayer
    new_text_layer.textItem.contents = 'Hello, World!'
    new_text_layer.textItem.position = [160, 167]
    new_text_layer.textItem.size = 40
    new_text_layer.textItem.color = text_color
    options = ps.JPEGSaveOptions(quality=5)
    jpg = 'd:/hello_world.jpg'
    doc.saveAs(jpg, options, asCopy=True)
    ps.app.doJavaScript(f'alert("save to jpg: {jpg}")')

Contributors ✨

Thanks goes to these wonderful people (emoji key):


Hal

💻

voodraizer

🐛

brunosly

🐛

tubi

🐛

wjxiehaixin

🐛

罗马钟

🐛

This project follows the all-contributors specification. Contributions of any kind are welcome!

how to get Photoshop program ID

Get-ChildItem "HKLM:\SOFTWARE\Classes" | 
  ?{ ($_.PSChildName -match "^[a-z]+\.[a-z]+(\.\d+)?$") -and ($_.GetSubKeyNames() -contains "CLSID") } | 
  ?{ $_.PSChildName -match "Photoshop.Application" } | ft PSChildName

get_program_id

How to get a list of COM objects from the registry

Useful links

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

photoshop_python_api-0.14.0.tar.gz (46.3 kB view details)

Uploaded Source

Built Distribution

photoshop_python_api-0.14.0-py2.py3-none-any.whl (57.0 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file photoshop_python_api-0.14.0.tar.gz.

File metadata

  • Download URL: photoshop_python_api-0.14.0.tar.gz
  • Upload date:
  • Size: 46.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.0 requests/2.24.0 setuptools/49.2.1 requests-toolbelt/0.9.1 tqdm/4.50.2 CPython/3.9.0

File hashes

Hashes for photoshop_python_api-0.14.0.tar.gz
Algorithm Hash digest
SHA256 232ae55c84b7b9d285c77937b906aed136863bd8b61e8dad9287cd9fd76094f3
MD5 a4c294509f59bbcf9403e983a5ea2389
BLAKE2b-256 efde41aed001b8dd4731f9fe3baf52c6177607ec6ab1ed79cad4dab5d3067b45

See more details on using hashes here.

Provenance

File details

Details for the file photoshop_python_api-0.14.0-py2.py3-none-any.whl.

File metadata

  • Download URL: photoshop_python_api-0.14.0-py2.py3-none-any.whl
  • Upload date:
  • Size: 57.0 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.0 requests/2.24.0 setuptools/49.2.1 requests-toolbelt/0.9.1 tqdm/4.50.2 CPython/3.9.0

File hashes

Hashes for photoshop_python_api-0.14.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 e7f8d8393b8c63d99fb3cf44f31f04fc3bbf033934e5f67cc1d16de6774a5166
MD5 07194d8f68ab939d0636ac49e36d70aa
BLAKE2b-256 79dc63f2f8d52fd5a1781aba4a6bb0866f0ca7adead3c8dcbec9fd0477ed609e

See more details on using hashes here.

Provenance

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page