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 Downloads license pypi format

Python API for 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.11.0.tar.gz (2.0 MB view details)

Uploaded Source

Built Distribution

photoshop_python_api-0.11.0-py2.py3-none-any.whl (47.0 kB view details)

Uploaded Python 2 Python 3

File details

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

File metadata

  • Download URL: photoshop_python_api-0.11.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.46.0 CPython/3.8.2

File hashes

Hashes for photoshop_python_api-0.11.0.tar.gz
Algorithm Hash digest
SHA256 dce6c8e63ee8f1bf6d8fe9c1a0fdb00e5729028f27781dd680ea83ba59d10600
MD5 78d830276461218d24a8d4e551646906
BLAKE2b-256 6d2ddd51d661edeb16e4f14add96fe2ea32a4b568a2ea601b67dbeb097420498

See more details on using hashes here.

Provenance

File details

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

File metadata

  • Download URL: photoshop_python_api-0.11.0-py2.py3-none-any.whl
  • Upload date:
  • Size: 47.0 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.46.0 CPython/3.8.2

File hashes

Hashes for photoshop_python_api-0.11.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 edb8e8238f2b6ad54ff147c7d9871b883bf3f10b2bc7095e73b043d94a476419
MD5 97e7fb1f66c0b54ca4210e006da63a1f
BLAKE2b-256 5908aee327768460af1d428ebf0b6ce11df8d48356c0e273c07ef5c524a58b98

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