Skip to main content

The API for using COM (Component Object Model) objects interfaces of Photoshop.

Project description

photoshop_python_api

python version PyPI version Documentation Status Downloads Status license pypi format

The API for using COM (Component Object Model) objects interfaces of Photoshop.

https://photoshop-python-api.readthedocs.io

logo

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 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}")')

More examples

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.9.0.tar.gz (2.0 MB view details)

Uploaded Source

Built Distribution

photoshop_python_api-0.9.0-py2.py3-none-any.whl (34.4 kB view details)

Uploaded Python 2 Python 3

File details

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

File metadata

  • Download URL: photoshop_python_api-0.9.0.tar.gz
  • Upload date:
  • Size: 2.0 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.45.0 CPython/3.8.2

File hashes

Hashes for photoshop_python_api-0.9.0.tar.gz
Algorithm Hash digest
SHA256 73b2c24d3812d3cdb1d537f82bd6f7418feafe625c9937a70dcc7057bff6decc
MD5 50f3c169494d4b7b8390881885cdc16c
BLAKE2b-256 578341a0c1f902728967d4625c2e49195bb0d81ddfea52527b9aa6678b087f2b

See more details on using hashes here.

Provenance

File details

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

File metadata

  • Download URL: photoshop_python_api-0.9.0-py2.py3-none-any.whl
  • Upload date:
  • Size: 34.4 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.45.0 CPython/3.8.2

File hashes

Hashes for photoshop_python_api-0.9.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 daaba99cc4c342a6c264d92bade8a954db0d6fc2b8a55e66d18e2d90c5e44268
MD5 0424af60205d4c73e03d4cc34a8dc1c1
BLAKE2b-256 12d741f06d734726cbc24b7ceba3fc09ffb5ec48bc8923e20d79f1a80c9295b3

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