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:

  • 2020
  • cc2019
  • cc2018
  • cc2017
  • cs6

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.12.1.tar.gz (44.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

photoshop_python_api-0.12.1-py2.py3-none-any.whl (54.6 kB view details)

Uploaded Python 2Python 3

File details

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

File metadata

  • Download URL: photoshop_python_api-0.12.1.tar.gz
  • Upload date:
  • Size: 44.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/47.1.0 requests-toolbelt/0.9.1 tqdm/4.49.0 CPython/3.8.5

File hashes

Hashes for photoshop_python_api-0.12.1.tar.gz
Algorithm Hash digest
SHA256 c4ac27019d1ce3928b2d1352bd5be361c9a967b973d0894817e1084d6a903b79
MD5 d509580077232ea9e8669c56326d0a24
BLAKE2b-256 1cb409d6c06c8366f501c1739b930fceae281ab011e976c9c65894d9cf2f2c38

See more details on using hashes here.

File details

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

File metadata

  • Download URL: photoshop_python_api-0.12.1-py2.py3-none-any.whl
  • Upload date:
  • Size: 54.6 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/47.1.0 requests-toolbelt/0.9.1 tqdm/4.49.0 CPython/3.8.5

File hashes

Hashes for photoshop_python_api-0.12.1-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 6cd8841a297db83b193f7e773b8caf6d96d60dded8f3e4bdd8817f223efa7e30
MD5 4e9a5db427fcf02971b600ae46c03e7d
BLAKE2b-256 de68aaced54bb485cff07087a196b46395d8924d0e29c21e6d51d4b6db812d18

See more details on using hashes here.

Supported by

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