The API for using COM (Component Object Model) objects interfaces of Photoshop.
Project description
photoshop_python_api
The API for using COM (Component Object Model) objects interfaces of Photoshop.
https://photoshop-python-api.readthedocs.io
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}")')
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 a list of COM objects from the registry
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
Useful links
- https://theiviaxx.github.io/photoshop-docs/Photoshop/
- http://wwwimages.adobe.com/www.adobe.com/content/dam/acom/en/devnet/photoshop/pdfs/photoshop-cc-javascript-ref-2015.pdf
- https://github.com/lohriialo/photoshop-scripting-python
- https://www.adobe.com/devnet/photoshop/scripting.html
- https://www.youtube.com/playlist?list=PLUEniN8BpU8-Qmjyv3zyWaNvDYwJOJZ4m
- http://yearbook.github.io/esdocs/#/Photoshop/Application
- http://www.shining-lucy.com/wiki/page.php?id=appwiki:photoshop:ps_script
- http://www.tonton-pixel.com/wp-content/uploads/DecisionTable.pdf
- http://jongware.mit.edu/pscs5js_html/psjscs5/pc_Application.html
- https://indd.adobe.com/view/a0207571-ff5b-4bbf-a540-07079bd21d75
- http://shining-lucy.com/wiki/page.php?id=appwiki:photoshop:ps_script
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Close
Hashes for photoshop_python_api-0.7.0.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6cc71be3403c4853f6aa59df83050d10ce7314a4e1b6921634cf1657c2864bd7 |
|
MD5 | faf9c3c7650a323b7007cc046c4d5f9e |
|
BLAKE2b-256 | ef5739261e8dfd9cd5e3a9f83552290eb49e259a75f53a1df9390dce4b2b4567 |
Close
Hashes for photoshop_python_api-0.7.0-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | abfa6e71fb07659cb62c4f5454d40e8d0f3b941517da7e2dfcf955d28a74b2f8 |
|
MD5 | 9103e4a280a128be068f9f284aa76ad4 |
|
BLAKE2b-256 | 2c68dc94bd95bc774dae28ed6ccd3314e8aa3112b705669d02eacd2b235e40a0 |