# photoshop-python-api **Repository Path**: open-instrument/photoshop-python-api ## Basic Information - **Project Name**: photoshop-python-api - **Description**: No description available - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-02-07 - **Last Updated**: 2024-02-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README

logo

python version PyPI version Downloads Status Downloads License pypi format Chat on Discord Maintenance Bump version pages-build-deployment Documentation Status photoshop-2024 photoshop-2023 photoshop-2022 photoshop-2021 photoshop-2020 photoshop-CC2019 photoshop-CC2018 photoshop-CC2017 [![All Contributors](https://img.shields.io/badge/all_contributors-18-orange.svg?style=flat-square)](#contributors-)

Python API for Photoshop.

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

Has been tested and used Photoshop version: | Photoshop Version | Supported | | ----------------- | ------------------ | | 2023 | ✅ | | 2022 | ✅ | | 2021 | ✅ | | 2020 | ✅ | | cc2019 | ✅ | | cc2018 | ✅ | | cc2017 | ✅ | Installing ---------- You can install via pip. ```cmd pip install photoshop_python_api ``` Since it uses COM (Component Object Model) connect Photoshop, it can be used in any DCC software with a python interpreter. Hello World ----------- ```python import photoshop.api as ps app = ps.Application() doc = app.documents.add() new_doc = doc.artLayers.add() text_color = ps.SolidColor() text_color.rgb.red = 0 text_color.rgb.green = 255 text_color.rgb.blue = 0 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](https://i.imgur.com/25TrzbV.gif) Photoshop Session ----------------- Use it as context. ```python 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](https://allcontributors.org/docs/en/emoji-key)):
Hal
Hal

💻
voodraizer
voodraizer

🐛
brunosly
brunosly

🐛
tubi
tubi

🐛
wjxiehaixin
wjxiehaixin

🐛
罗马钟
罗马钟

🐛
clement
clement

🐛
krevlinmen
krevlinmen

🐛
Thomas
Thomas

🐛
CaptainCsaba
CaptainCsaba

🐛
Il Harper
Il Harper

💻
blunderedbishop
blunderedbishop

🐛
MrTeferi
MrTeferi

💻
Damien Chambe
Damien Chambe

💻
Ehsan Akbari Tabar
Ehsan Akbari Tabar

🐛
Michael Ikemann
Michael Ikemann

🐛
Enguerrand DE SMET
Enguerrand DE SMET

💻
Proton
Proton

💻
This project follows the [all-contributors](https://allcontributors.org) specification. Contributions of any kind are welcome! # Repobeats analytics ![Repobeats analytics](https://repobeats.axiom.co/api/embed/0f4ab02065b94983fc95677c6587a61ce5fa8397.svg "Repobeats analytics image") how to get Photoshop program ID ------------------------------- ```PS> 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](https://i.imgur.com/UwPN7qq.png) [How to get a list of COM objects from the registry](https://rakhesh.com/powershell/how-to-get-a-list-of-com-objects-from-the-registry/) 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 - http://web.archive.org/web/20140121053819/http://www.pcpix.com/Photoshop/char.html - http://www.tonton-pixel.com/scripts/utility-scripts/get-equivalent-id-code/index.html - https://github.com/Adobe-CEP/Samples/tree/master/PhotoshopEvents - https://evanmccall.wordpress.com/2015/03/09/how-to-develop-photoshop-tools-in-python