photoshop-python-api


Namephotoshop-python-api JSON
Version 0.22.4 PyPI version JSON
download
home_pagehttps://github.com/loonghao/photoshop-python-api
SummaryPython API for Photoshop.
upload_time2023-12-04 03:30:36
maintainer
docs_urlNone
authorlonghao
requires_python>=3.8,<4.0
licenseMIT
keywords python-api photoshop-python-api photoshop python
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI
coveralls test coverage
            <p align="center">
<img src="https://i.imgur.com/cjp1RH6.png" alt="logo">
</p>

<p align="center">
<a href="https://img.shields.io/pypi/pyversions/photoshop-python-api">
<img src="https://img.shields.io/pypi/pyversions/photoshop-python-api" alt="python version"></a>
<a href="https://badge.fury.io/py/photoshop-python-api">
<img src="https://img.shields.io/pypi/v/photoshop-python-api?color=green" alt="PyPI version"></a>
<img src="https://img.shields.io/pypi/dw/photoshop-python-api" alt="Downloads Status">
<a href="https://pepy.tech/badge/photoshop-python-api">
<img src="https://pepy.tech/badge/photoshop-python-api" alt="Downloads"></a>
<img src="https://img.shields.io/pypi/l/photoshop-python-api" alt="License">
<img src="https://img.shields.io/pypi/format/photoshop-python-api" alt="pypi format">
<a href="https://discord.gg/AnxSa6n">
<img src="https://img.shields.io/discord/724615671400628314" alt="Chat on Discord"></a>
<a href="https://github.com/loonghao/photoshop-python-api/graphs/commit-activity">
<img src="https://img.shields.io/badge/Maintained%3F-yes-green.svg" alt="Maintenance"></a>
<a href="https://github.com/loonghao/photoshop-python-api/actions/workflows/bumpversion.yml">
<img src="https://github.com/loonghao/photoshop-python-api/actions/workflows/bumpversion.yml/badge.svg" alt="Bump version"></a>
<a href="https://github.com/loonghao/photoshop-python-api/actions/workflows/pages/pages-build-deployment">
<img src="https://github.com/loonghao/photoshop-python-api/actions/workflows/pages/pages-build-deployment/badge.svg" alt="pages-build-deployment"></a>
<a href="https://github.com/loonghao/photoshop-python-api/actions/workflows/publish_docs.yml">
<img src="https://github.com/loonghao/photoshop-python-api/actions/workflows/publish_docs.yml/badge.svg" alt="Documentation Status"></a>
<a href="https://img.shields.io/badge/photoshop-2024-green">
<img src="https://img.shields.io/badge/photoshop-2024-green" alt="photoshop-2024"></a>
<a href="https://img.shields.io/badge/photoshop-2023-green">
<img src="https://img.shields.io/badge/photoshop-2023-green" alt="photoshop-2023"></a>
<a href="https://img.shields.io/badge/photoshop-2022-green">
<img src="https://img.shields.io/badge/photoshop-2022-green" alt="photoshop-2022"></a>
<a href="https://img.shields.io/badge/photoshop-2021-green">
<img src="https://img.shields.io/badge/photoshop-2021-green" alt="photoshop-2021"></a>
<a href="https://img.shields.io/badge/photoshop-2020-green">
<img src="https://img.shields.io/badge/photoshop-2020-green" alt="photoshop-2020"></a>
<a href="https://img.shields.io/badge/photoshop-CC2019-green">
<img src="https://img.shields.io/badge/photoshop-CC2019-green" alt="photoshop-CC2019"></a>
<a href="https://img.shields.io/badge/photoshop-CC2018-green">
<img src="https://img.shields.io/badge/photoshop-CC2018-green" alt="photoshop-CC2018"></a>
<a href="https://img.shields.io/badge/photoshop-CC2017-green">
<img src="https://img.shields.io/badge/photoshop-CC2017-green" alt="photoshop-CC2017"></a>

<!-- ALL-CONTRIBUTORS-BADGE:START - Do not remove or modify this section -->
[![All Contributors](https://img.shields.io/badge/all_contributors-18-orange.svg?style=flat-square)](#contributors-)
<!-- ALL-CONTRIBUTORS-BADGE:END --> 
</p>

<p align="center">Python API for Photoshop.</p>

<p align="center"><em>The example above was created with Photoshop Python API. Check it out at <a href="https://loonghao.github.io/photoshop-python-api/examples">https://loonghao.github.io/photoshop-python-api/examples</a>.</em></p>

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)):

<!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section -->
<!-- prettier-ignore-start -->
<!-- markdownlint-disable -->
<table>
  <tbody>
    <tr>
      <td align="center" valign="top" width="14.28%"><a href="https://github.com/loonghao"><img src="https://avatars1.githubusercontent.com/u/13111745?v=4?s=100" width="100px;" alt="Hal"/><br /><sub><b>Hal</b></sub></a><br /><a href="https://github.com/loonghao/photoshop-python-api/commits?author=loonghao" title="Code">💻</a></td>
      <td align="center" valign="top" width="14.28%"><a href="https://github.com/voodraizer"><img src="https://avatars0.githubusercontent.com/u/1332729?v=4?s=100" width="100px;" alt="voodraizer"/><br /><sub><b>voodraizer</b></sub></a><br /><a href="https://github.com/loonghao/photoshop-python-api/issues?q=author%3Avoodraizer" title="Bug reports">🐛</a></td>
      <td align="center" valign="top" width="14.28%"><a href="https://github.com/brunosly"><img src="https://avatars2.githubusercontent.com/u/4326547?v=4?s=100" width="100px;" alt="brunosly"/><br /><sub><b>brunosly</b></sub></a><br /><a href="https://github.com/loonghao/photoshop-python-api/issues?q=author%3Abrunosly" title="Bug reports">🐛</a></td>
      <td align="center" valign="top" width="14.28%"><a href="https://github.com/tubi-carrillo"><img src="https://avatars3.githubusercontent.com/u/33004093?v=4?s=100" width="100px;" alt="tubi"/><br /><sub><b>tubi</b></sub></a><br /><a href="https://github.com/loonghao/photoshop-python-api/issues?q=author%3Atubi-carrillo" title="Bug reports">🐛</a></td>
      <td align="center" valign="top" width="14.28%"><a href="https://github.com/wjxiehaixin"><img src="https://avatars0.githubusercontent.com/u/48039822?v=4?s=100" width="100px;" alt="wjxiehaixin"/><br /><sub><b>wjxiehaixin</b></sub></a><br /><a href="https://github.com/loonghao/photoshop-python-api/issues?q=author%3Awjxiehaixin" title="Bug reports">🐛</a></td>
      <td align="center" valign="top" width="14.28%"><a href="http://it.econline.net"><img src="https://avatars0.githubusercontent.com/u/993544?v=4?s=100" width="100px;" alt="罗马钟"/><br /><sub><b>罗马钟</b></sub></a><br /><a href="https://github.com/loonghao/photoshop-python-api/issues?q=author%3Aenzozhong" title="Bug reports">🐛</a></td>
      <td align="center" valign="top" width="14.28%"><a href="https://github.com/ClementHector"><img src="https://avatars.githubusercontent.com/u/7068597?v=4?s=100" width="100px;" alt="clement"/><br /><sub><b>clement</b></sub></a><br /><a href="https://github.com/loonghao/photoshop-python-api/issues?q=author%3AClementHector" title="Bug reports">🐛</a></td>
    </tr>
    <tr>
      <td align="center" valign="top" width="14.28%"><a href="https://github.com/krevlinmen"><img src="https://avatars.githubusercontent.com/u/56278440?v=4?s=100" width="100px;" alt="krevlinmen"/><br /><sub><b>krevlinmen</b></sub></a><br /><a href="https://github.com/loonghao/photoshop-python-api/issues?q=author%3Akrevlinmen" title="Bug reports">🐛</a></td>
      <td align="center" valign="top" width="14.28%"><a href="https://github.com/SThomasN"><img src="https://avatars.githubusercontent.com/u/63218023?v=4?s=100" width="100px;" alt="Thomas"/><br /><sub><b>Thomas</b></sub></a><br /><a href="https://github.com/loonghao/photoshop-python-api/issues?q=author%3ASThomasN" title="Bug reports">🐛</a></td>
      <td align="center" valign="top" width="14.28%"><a href="https://github.com/CaptainCsaba"><img src="https://avatars.githubusercontent.com/u/59013751?v=4?s=100" width="100px;" alt="CaptainCsaba"/><br /><sub><b>CaptainCsaba</b></sub></a><br /><a href="https://github.com/loonghao/photoshop-python-api/issues?q=author%3ACaptainCsaba" title="Bug reports">🐛</a></td>
      <td align="center" valign="top" width="14.28%"><a href="https://ilharper.vbox.moe"><img src="https://avatars.githubusercontent.com/u/20179549?v=4?s=100" width="100px;" alt="Il Harper"/><br /><sub><b>Il Harper</b></sub></a><br /><a href="https://github.com/loonghao/photoshop-python-api/commits?author=Afanyiyu" title="Code">💻</a></td>
      <td align="center" valign="top" width="14.28%"><a href="https://github.com/blunderedbishop"><img src="https://avatars.githubusercontent.com/u/56189376?v=4?s=100" width="100px;" alt="blunderedbishop"/><br /><sub><b>blunderedbishop</b></sub></a><br /><a href="https://github.com/loonghao/photoshop-python-api/issues?q=author%3Ablunderedbishop" title="Bug reports">🐛</a></td>
      <td align="center" valign="top" width="14.28%"><a href="https://github.com/MrTeferi"><img src="https://avatars.githubusercontent.com/u/92750180?v=4?s=100" width="100px;" alt="MrTeferi"/><br /><sub><b>MrTeferi</b></sub></a><br /><a href="https://github.com/loonghao/photoshop-python-api/commits?author=MrTeferi" title="Code">💻</a></td>
      <td align="center" valign="top" width="14.28%"><a href="https://github.com/damienchambe"><img src="https://avatars.githubusercontent.com/u/42462209?v=4?s=100" width="100px;" alt="Damien Chambe"/><br /><sub><b>Damien Chambe</b></sub></a><br /><a href="https://github.com/loonghao/photoshop-python-api/commits?author=damienchambe" title="Code">💻</a></td>
    </tr>
    <tr>
      <td align="center" valign="top" width="14.28%"><a href="https://github.com/be42day"><img src="https://avatars.githubusercontent.com/u/20614168?v=4?s=100" width="100px;" alt="Ehsan Akbari Tabar"/><br /><sub><b>Ehsan Akbari Tabar</b></sub></a><br /><a href="https://github.com/loonghao/photoshop-python-api/issues?q=author%3Abe42day" title="Bug reports">🐛</a></td>
      <td align="center" valign="top" width="14.28%"><a href="http://www.linkedin.com/in/michael-ikemann"><img src="https://avatars.githubusercontent.com/u/33489959?v=4?s=100" width="100px;" alt="Michael Ikemann"/><br /><sub><b>Michael Ikemann</b></sub></a><br /><a href="https://github.com/loonghao/photoshop-python-api/issues?q=author%3AAlyxion" title="Bug reports">🐛</a></td>
      <td align="center" valign="top" width="14.28%"><a href="https://github.com/dsmtE"><img src="https://avatars.githubusercontent.com/u/37016704?v=4?s=100" width="100px;" alt="Enguerrand DE SMET"/><br /><sub><b>Enguerrand DE SMET</b></sub></a><br /><a href="https://github.com/loonghao/photoshop-python-api/commits?author=dsmtE" title="Code">💻</a></td>
      <td align="center" valign="top" width="14.28%"><a href="http://www.thbattle.net"><img src="https://avatars.githubusercontent.com/u/857880?v=4?s=100" width="100px;" alt="Proton"/><br /><sub><b>Proton</b></sub></a><br /><a href="https://github.com/loonghao/photoshop-python-api/commits?author=feisuzhu" title="Code">💻</a></td>
    </tr>
  </tbody>
</table>

<!-- markdownlint-restore -->
<!-- prettier-ignore-end -->

<!-- ALL-CONTRIBUTORS-LIST:END -->

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

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/loonghao/photoshop-python-api",
    "name": "photoshop-python-api",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.8,<4.0",
    "maintainer_email": "",
    "keywords": "python-api, photoshop-python-api,photoshop,python",
    "author": "longhao",
    "author_email": "hal.long@outlook.com",
    "download_url": "https://files.pythonhosted.org/packages/4c/fd/34c98eae0137873625a13c213fedbf95adfc571143b5a9935e2378aee439/photoshop_python_api-0.22.4.tar.gz",
    "platform": null,
    "description": "<p align=\"center\">\n<img src=\"https://i.imgur.com/cjp1RH6.png\" alt=\"logo\">\n</p>\n\n<p align=\"center\">\n<a href=\"https://img.shields.io/pypi/pyversions/photoshop-python-api\">\n<img src=\"https://img.shields.io/pypi/pyversions/photoshop-python-api\" alt=\"python version\"></a>\n<a href=\"https://badge.fury.io/py/photoshop-python-api\">\n<img src=\"https://img.shields.io/pypi/v/photoshop-python-api?color=green\" alt=\"PyPI version\"></a>\n<img src=\"https://img.shields.io/pypi/dw/photoshop-python-api\" alt=\"Downloads Status\">\n<a href=\"https://pepy.tech/badge/photoshop-python-api\">\n<img src=\"https://pepy.tech/badge/photoshop-python-api\" alt=\"Downloads\"></a>\n<img src=\"https://img.shields.io/pypi/l/photoshop-python-api\" alt=\"License\">\n<img src=\"https://img.shields.io/pypi/format/photoshop-python-api\" alt=\"pypi format\">\n<a href=\"https://discord.gg/AnxSa6n\">\n<img src=\"https://img.shields.io/discord/724615671400628314\" alt=\"Chat on Discord\"></a>\n<a href=\"https://github.com/loonghao/photoshop-python-api/graphs/commit-activity\">\n<img src=\"https://img.shields.io/badge/Maintained%3F-yes-green.svg\" alt=\"Maintenance\"></a>\n<a href=\"https://github.com/loonghao/photoshop-python-api/actions/workflows/bumpversion.yml\">\n<img src=\"https://github.com/loonghao/photoshop-python-api/actions/workflows/bumpversion.yml/badge.svg\" alt=\"Bump version\"></a>\n<a href=\"https://github.com/loonghao/photoshop-python-api/actions/workflows/pages/pages-build-deployment\">\n<img src=\"https://github.com/loonghao/photoshop-python-api/actions/workflows/pages/pages-build-deployment/badge.svg\" alt=\"pages-build-deployment\"></a>\n<a href=\"https://github.com/loonghao/photoshop-python-api/actions/workflows/publish_docs.yml\">\n<img src=\"https://github.com/loonghao/photoshop-python-api/actions/workflows/publish_docs.yml/badge.svg\" alt=\"Documentation Status\"></a>\n<a href=\"https://img.shields.io/badge/photoshop-2024-green\">\n<img src=\"https://img.shields.io/badge/photoshop-2024-green\" alt=\"photoshop-2024\"></a>\n<a href=\"https://img.shields.io/badge/photoshop-2023-green\">\n<img src=\"https://img.shields.io/badge/photoshop-2023-green\" alt=\"photoshop-2023\"></a>\n<a href=\"https://img.shields.io/badge/photoshop-2022-green\">\n<img src=\"https://img.shields.io/badge/photoshop-2022-green\" alt=\"photoshop-2022\"></a>\n<a href=\"https://img.shields.io/badge/photoshop-2021-green\">\n<img src=\"https://img.shields.io/badge/photoshop-2021-green\" alt=\"photoshop-2021\"></a>\n<a href=\"https://img.shields.io/badge/photoshop-2020-green\">\n<img src=\"https://img.shields.io/badge/photoshop-2020-green\" alt=\"photoshop-2020\"></a>\n<a href=\"https://img.shields.io/badge/photoshop-CC2019-green\">\n<img src=\"https://img.shields.io/badge/photoshop-CC2019-green\" alt=\"photoshop-CC2019\"></a>\n<a href=\"https://img.shields.io/badge/photoshop-CC2018-green\">\n<img src=\"https://img.shields.io/badge/photoshop-CC2018-green\" alt=\"photoshop-CC2018\"></a>\n<a href=\"https://img.shields.io/badge/photoshop-CC2017-green\">\n<img src=\"https://img.shields.io/badge/photoshop-CC2017-green\" alt=\"photoshop-CC2017\"></a>\n\n<!-- ALL-CONTRIBUTORS-BADGE:START - Do not remove or modify this section -->\n[![All Contributors](https://img.shields.io/badge/all_contributors-18-orange.svg?style=flat-square)](#contributors-)\n<!-- ALL-CONTRIBUTORS-BADGE:END --> \n</p>\n\n<p align=\"center\">Python API for Photoshop.</p>\n\n<p align=\"center\"><em>The example above was created with Photoshop Python API. Check it out at <a href=\"https://loonghao.github.io/photoshop-python-api/examples\">https://loonghao.github.io/photoshop-python-api/examples</a>.</em></p>\n\nHas been tested and used Photoshop version:\n\n| Photoshop Version | Supported          |\n| ----------------- | ------------------ |\n| 2023              |       \u2705           |\n| 2022              |       \u2705           |\n| 2021              |       \u2705           |\n| 2020              |       \u2705           |\n| cc2019            |       \u2705           |\n| cc2018            |       \u2705           |\n| cc2017            |       \u2705           |\n\n\nInstalling\n----------\nYou can install via pip.\n\n```cmd\npip install photoshop_python_api\n```\n\n\nSince it uses COM (Component Object Model) connect Photoshop, it can be used \nin any DCC software with a python interpreter.\n\n\nHello World\n-----------\n\n```python\n\nimport photoshop.api as ps\napp = ps.Application()\ndoc = app.documents.add()\nnew_doc = doc.artLayers.add()\ntext_color = ps.SolidColor()\ntext_color.rgb.red = 0\ntext_color.rgb.green = 255\ntext_color.rgb.blue = 0\nnew_text_layer = new_doc\nnew_text_layer.kind = ps.LayerKind.TextLayer\nnew_text_layer.textItem.contents = 'Hello, World!'\nnew_text_layer.textItem.position = [160, 167]\nnew_text_layer.textItem.size = 40\nnew_text_layer.textItem.color = text_color\noptions = ps.JPEGSaveOptions(quality=5)\n# # save to jpg\njpg = 'd:/hello_world.jpg'\ndoc.saveAs(jpg, options, asCopy=True)\napp.doJavaScript(f'alert(\"save to jpg: {jpg}\")')\n\n```\n![demo](https://i.imgur.com/25TrzbV.gif)\n\n\nPhotoshop Session\n-----------------\nUse it as context.\n\n```python\n\nfrom photoshop import Session\n\n\nwith Session(action=\"new_document\") as ps:\n    doc = ps.active_document\n    text_color = ps.SolidColor()\n    text_color.rgb.green = 255\n    new_text_layer = doc.artLayers.add()\n    new_text_layer.kind = ps.LayerKind.TextLayer\n    new_text_layer.textItem.contents = 'Hello, World!'\n    new_text_layer.textItem.position = [160, 167]\n    new_text_layer.textItem.size = 40\n    new_text_layer.textItem.color = text_color\n    options = ps.JPEGSaveOptions(quality=5)\n    jpg = 'd:/hello_world.jpg'\n    doc.saveAs(jpg, options, asCopy=True)\n    ps.app.doJavaScript(f'alert(\"save to jpg: {jpg}\")')\n\n\n```\n\n## Contributors \u2728\n\nThanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)):\n\n<!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section -->\n<!-- prettier-ignore-start -->\n<!-- markdownlint-disable -->\n<table>\n  <tbody>\n    <tr>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"https://github.com/loonghao\"><img src=\"https://avatars1.githubusercontent.com/u/13111745?v=4?s=100\" width=\"100px;\" alt=\"Hal\"/><br /><sub><b>Hal</b></sub></a><br /><a href=\"https://github.com/loonghao/photoshop-python-api/commits?author=loonghao\" title=\"Code\">\ud83d\udcbb</a></td>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"https://github.com/voodraizer\"><img src=\"https://avatars0.githubusercontent.com/u/1332729?v=4?s=100\" width=\"100px;\" alt=\"voodraizer\"/><br /><sub><b>voodraizer</b></sub></a><br /><a href=\"https://github.com/loonghao/photoshop-python-api/issues?q=author%3Avoodraizer\" title=\"Bug reports\">\ud83d\udc1b</a></td>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"https://github.com/brunosly\"><img src=\"https://avatars2.githubusercontent.com/u/4326547?v=4?s=100\" width=\"100px;\" alt=\"brunosly\"/><br /><sub><b>brunosly</b></sub></a><br /><a href=\"https://github.com/loonghao/photoshop-python-api/issues?q=author%3Abrunosly\" title=\"Bug reports\">\ud83d\udc1b</a></td>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"https://github.com/tubi-carrillo\"><img src=\"https://avatars3.githubusercontent.com/u/33004093?v=4?s=100\" width=\"100px;\" alt=\"tubi\"/><br /><sub><b>tubi</b></sub></a><br /><a href=\"https://github.com/loonghao/photoshop-python-api/issues?q=author%3Atubi-carrillo\" title=\"Bug reports\">\ud83d\udc1b</a></td>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"https://github.com/wjxiehaixin\"><img src=\"https://avatars0.githubusercontent.com/u/48039822?v=4?s=100\" width=\"100px;\" alt=\"wjxiehaixin\"/><br /><sub><b>wjxiehaixin</b></sub></a><br /><a href=\"https://github.com/loonghao/photoshop-python-api/issues?q=author%3Awjxiehaixin\" title=\"Bug reports\">\ud83d\udc1b</a></td>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"http://it.econline.net\"><img src=\"https://avatars0.githubusercontent.com/u/993544?v=4?s=100\" width=\"100px;\" alt=\"\u7f57\u9a6c\u949f\"/><br /><sub><b>\u7f57\u9a6c\u949f</b></sub></a><br /><a href=\"https://github.com/loonghao/photoshop-python-api/issues?q=author%3Aenzozhong\" title=\"Bug reports\">\ud83d\udc1b</a></td>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"https://github.com/ClementHector\"><img src=\"https://avatars.githubusercontent.com/u/7068597?v=4?s=100\" width=\"100px;\" alt=\"clement\"/><br /><sub><b>clement</b></sub></a><br /><a href=\"https://github.com/loonghao/photoshop-python-api/issues?q=author%3AClementHector\" title=\"Bug reports\">\ud83d\udc1b</a></td>\n    </tr>\n    <tr>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"https://github.com/krevlinmen\"><img src=\"https://avatars.githubusercontent.com/u/56278440?v=4?s=100\" width=\"100px;\" alt=\"krevlinmen\"/><br /><sub><b>krevlinmen</b></sub></a><br /><a href=\"https://github.com/loonghao/photoshop-python-api/issues?q=author%3Akrevlinmen\" title=\"Bug reports\">\ud83d\udc1b</a></td>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"https://github.com/SThomasN\"><img src=\"https://avatars.githubusercontent.com/u/63218023?v=4?s=100\" width=\"100px;\" alt=\"Thomas\"/><br /><sub><b>Thomas</b></sub></a><br /><a href=\"https://github.com/loonghao/photoshop-python-api/issues?q=author%3ASThomasN\" title=\"Bug reports\">\ud83d\udc1b</a></td>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"https://github.com/CaptainCsaba\"><img src=\"https://avatars.githubusercontent.com/u/59013751?v=4?s=100\" width=\"100px;\" alt=\"CaptainCsaba\"/><br /><sub><b>CaptainCsaba</b></sub></a><br /><a href=\"https://github.com/loonghao/photoshop-python-api/issues?q=author%3ACaptainCsaba\" title=\"Bug reports\">\ud83d\udc1b</a></td>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"https://ilharper.vbox.moe\"><img src=\"https://avatars.githubusercontent.com/u/20179549?v=4?s=100\" width=\"100px;\" alt=\"Il Harper\"/><br /><sub><b>Il Harper</b></sub></a><br /><a href=\"https://github.com/loonghao/photoshop-python-api/commits?author=Afanyiyu\" title=\"Code\">\ud83d\udcbb</a></td>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"https://github.com/blunderedbishop\"><img src=\"https://avatars.githubusercontent.com/u/56189376?v=4?s=100\" width=\"100px;\" alt=\"blunderedbishop\"/><br /><sub><b>blunderedbishop</b></sub></a><br /><a href=\"https://github.com/loonghao/photoshop-python-api/issues?q=author%3Ablunderedbishop\" title=\"Bug reports\">\ud83d\udc1b</a></td>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"https://github.com/MrTeferi\"><img src=\"https://avatars.githubusercontent.com/u/92750180?v=4?s=100\" width=\"100px;\" alt=\"MrTeferi\"/><br /><sub><b>MrTeferi</b></sub></a><br /><a href=\"https://github.com/loonghao/photoshop-python-api/commits?author=MrTeferi\" title=\"Code\">\ud83d\udcbb</a></td>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"https://github.com/damienchambe\"><img src=\"https://avatars.githubusercontent.com/u/42462209?v=4?s=100\" width=\"100px;\" alt=\"Damien Chambe\"/><br /><sub><b>Damien Chambe</b></sub></a><br /><a href=\"https://github.com/loonghao/photoshop-python-api/commits?author=damienchambe\" title=\"Code\">\ud83d\udcbb</a></td>\n    </tr>\n    <tr>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"https://github.com/be42day\"><img src=\"https://avatars.githubusercontent.com/u/20614168?v=4?s=100\" width=\"100px;\" alt=\"Ehsan Akbari Tabar\"/><br /><sub><b>Ehsan Akbari Tabar</b></sub></a><br /><a href=\"https://github.com/loonghao/photoshop-python-api/issues?q=author%3Abe42day\" title=\"Bug reports\">\ud83d\udc1b</a></td>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"http://www.linkedin.com/in/michael-ikemann\"><img src=\"https://avatars.githubusercontent.com/u/33489959?v=4?s=100\" width=\"100px;\" alt=\"Michael Ikemann\"/><br /><sub><b>Michael Ikemann</b></sub></a><br /><a href=\"https://github.com/loonghao/photoshop-python-api/issues?q=author%3AAlyxion\" title=\"Bug reports\">\ud83d\udc1b</a></td>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"https://github.com/dsmtE\"><img src=\"https://avatars.githubusercontent.com/u/37016704?v=4?s=100\" width=\"100px;\" alt=\"Enguerrand DE SMET\"/><br /><sub><b>Enguerrand DE SMET</b></sub></a><br /><a href=\"https://github.com/loonghao/photoshop-python-api/commits?author=dsmtE\" title=\"Code\">\ud83d\udcbb</a></td>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"http://www.thbattle.net\"><img src=\"https://avatars.githubusercontent.com/u/857880?v=4?s=100\" width=\"100px;\" alt=\"Proton\"/><br /><sub><b>Proton</b></sub></a><br /><a href=\"https://github.com/loonghao/photoshop-python-api/commits?author=feisuzhu\" title=\"Code\">\ud83d\udcbb</a></td>\n    </tr>\n  </tbody>\n</table>\n\n<!-- markdownlint-restore -->\n<!-- prettier-ignore-end -->\n\n<!-- ALL-CONTRIBUTORS-LIST:END -->\n\nThis project follows the [all-contributors](https://allcontributors.org) specification.\nContributions of any kind are welcome!\n\n# Repobeats analytics\n![Repobeats analytics](https://repobeats.axiom.co/api/embed/0f4ab02065b94983fc95677c6587a61ce5fa8397.svg \"Repobeats analytics image\")\n\n\nhow to get Photoshop program ID\n-------------------------------\n```PS>\nGet-ChildItem \"HKLM:\\SOFTWARE\\Classes\" | \n  ?{ ($_.PSChildName -match \"^[a-z]+\\.[a-z]+(\\.\\d+)?$\") -and ($_.GetSubKeyNames() -contains \"CLSID\") } | \n  ?{ $_.PSChildName -match \"Photoshop.Application\" } | ft PSChildName\n```\n![get_program_id](https://i.imgur.com/UwPN7qq.png)\n\n[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/)\n\nUseful links\n------------\n- https://theiviaxx.github.io/photoshop-docs/Photoshop/\n- http://wwwimages.adobe.com/www.adobe.com/content/dam/acom/en/devnet/photoshop/pdfs/photoshop-cc-javascript-ref-2015.pdf\n- https://github.com/lohriialo/photoshop-scripting-python\n- https://www.adobe.com/devnet/photoshop/scripting.html\n- https://www.youtube.com/playlist?list=PLUEniN8BpU8-Qmjyv3zyWaNvDYwJOJZ4m\n- http://yearbook.github.io/esdocs/#/Photoshop/Application\n- http://www.shining-lucy.com/wiki/page.php?id=appwiki:photoshop:ps_script\n- http://www.tonton-pixel.com/wp-content/uploads/DecisionTable.pdf\n- http://jongware.mit.edu/pscs5js_html/psjscs5/pc_Application.html\n- https://indd.adobe.com/view/a0207571-ff5b-4bbf-a540-07079bd21d75\n- http://shining-lucy.com/wiki/page.php?id=appwiki:photoshop:ps_script\n- http://web.archive.org/web/20140121053819/http://www.pcpix.com/Photoshop/char.html\n- http://www.tonton-pixel.com/scripts/utility-scripts/get-equivalent-id-code/index.html\n- https://github.com/Adobe-CEP/Samples/tree/master/PhotoshopEvents\n- https://evanmccall.wordpress.com/2015/03/09/how-to-develop-photoshop-tools-in-python\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "Python API for Photoshop.",
    "version": "0.22.4",
    "project_urls": {
        "Documentation": "https://photoshop-python-api.readthedocs.io/en/master/",
        "Homepage": "https://github.com/loonghao/photoshop-python-api",
        "Repository": "https://github.com/loonghao/photoshop-python-api"
    },
    "split_keywords": [
        "python-api",
        " photoshop-python-api",
        "photoshop",
        "python"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "31da6ddb90387983a841888348cebece4cb6ad37ed5fc745e30213cc5b7bfec2",
                "md5": "faf5f995951f9b2a20ef57b25eb8fbf8",
                "sha256": "18e206f615a648427c884daa2c0a4b02159cd461a1779a64d69e831730e4dff9"
            },
            "downloads": -1,
            "filename": "photoshop_python_api-0.22.4-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "faf5f995951f9b2a20ef57b25eb8fbf8",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.8,<4.0",
            "size": 69876,
            "upload_time": "2023-12-04T03:30:34",
            "upload_time_iso_8601": "2023-12-04T03:30:34.404803Z",
            "url": "https://files.pythonhosted.org/packages/31/da/6ddb90387983a841888348cebece4cb6ad37ed5fc745e30213cc5b7bfec2/photoshop_python_api-0.22.4-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "4cfd34c98eae0137873625a13c213fedbf95adfc571143b5a9935e2378aee439",
                "md5": "bffa29529f041b2298c8f4585f988d49",
                "sha256": "ad080c61d4c850f71165dbf75c6fc23b8b0a1695d3192c0d2439e4101523e5bb"
            },
            "downloads": -1,
            "filename": "photoshop_python_api-0.22.4.tar.gz",
            "has_sig": false,
            "md5_digest": "bffa29529f041b2298c8f4585f988d49",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.8,<4.0",
            "size": 54531,
            "upload_time": "2023-12-04T03:30:36",
            "upload_time_iso_8601": "2023-12-04T03:30:36.813072Z",
            "url": "https://files.pythonhosted.org/packages/4c/fd/34c98eae0137873625a13c213fedbf95adfc571143b5a9935e2378aee439/photoshop_python_api-0.22.4.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-12-04 03:30:36",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "loonghao",
    "github_project": "photoshop-python-api",
    "travis_ci": true,
    "coveralls": true,
    "github_actions": true,
    "lcname": "photoshop-python-api"
}
        
Elapsed time: 0.29174s