Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/antipalindrome/Photoshop-Export-Layers-to-Files-Fast

This script allows you to export your layers as individual files at a speed much faster than the built-in script from Adobe.
https://github.com/antipalindrome/Photoshop-Export-Layers-to-Files-Fast

adobe export photoshop

Last synced: 12 days ago
JSON representation

This script allows you to export your layers as individual files at a speed much faster than the built-in script from Adobe.

Awesome Lists containing this project

README

        

# Photoshop-Export-Layers-to-Files-Fast

This script allows you to export layers in your Photoshop document as individual files at a speed much faster than the built-in script from Adobe.

This script does not try to achieve feature parity with the built-in script, but rather provide a more streamlined / performant experience. That being said, feel free to [make feature requests](https://github.com/antipalindrome/Photoshop-Export-Layers-to-Files-Fast/issues/new), and feel free to contribute to it and make it even more powerful!

## Table of Contents

- [How to Use](#how-to-use)
- [Example Screenshot](#example-screenshot)
- [Features](#features)
- [Extra Field Documentation](#extra-field-documentation)
- [Batch Processing / Actions](#batch-processing--actions)
- [Requirements](#requirements)
- [Contributing](#contributing)
- [Feedback / Bugs](#feedback--bugs)

## How to Use

_Disclaimer:_ We are not associated with Adobe in any way. For any issues relating to Adobe products or Adobe scripts please contact them directly. We have never had an issue, but **please use this script at your own risk**. We are not responsible for any lost data or damaged PSDs so always make a back-up.

- Go to the [releases page](https://github.com/antipalindrome/Photoshop-Export-Layers-to-Files-Fast/releases) and download [the most recent release](https://github.com/antipalindrome/Photoshop-Export-Layers-to-Files-Fast/releases/latest).
- In Photoshop go to `File -> Scripts -> Browse...` and select the `Export Layers To Files (Fast).jsx` file.
- NOTE: The script needs the `Export Layers To Files (Fast)-progress_bar.json` file to run as well. Without this you will get a "Progress bar resource corrupt" error. Please ensure that the `.jsx` and the `.json` files are siblings in the same directory.
- You can add the script to the Scripts menu by adding all of the script files to `Photoshop > Presets > Scripts`
- Windows: `/Program Files/Adobe/Adobe Photoshop VERSION/Presets/Scripts`
- Mac: `/Applications/Adobe Photoshop VERSION/Presets/Scripts`

## Example Screenshot

![Screenshot of the script dialog](example.png)

## Features

Some of the features of the script include...

- Supported export formats:
- PNG (8 and 24 bit)
- JPEG
- TIFF
- PDF
- Targa
- BMP
- PSD
- Handles nesting in grouped layers
- Export either all layers or visible only
- Files are named either using layer names, layer + group names, or automatic layer indices
- Lowest layer can be treated as common background
- Exported images can have layer size or canvas size (trimming option)
- Last used dialog settings are remembered
- A selected group can be exported as usual (layer by layer) while everything else is left in tact. (This way variable content can be exported for complex fixed background and foreground.)
- Can export groups as folder hierarchy; conflicting folders are renamed

## Extra Field Documentation

### Selected Group

Will only export the selected group. Note that you must selected the group before launching the script, otherwise this option will be disabled. When you run the script this way, all other layers will be left untouched, meaning any visible layers on top or bottom may show in the export.

### Ignore Layers Starting With

When this is selected, you can specify a prefix that will be used to match against layer names. Any matching layers will be ignored during the export.

For example, if you specify `x` in the input, all layers starting with the letter `x` will not be exported.

### Filenames

| Option | Example |
| ---------------------------------- | ---------------------------------------------------------- |
| `Use Layer Name (strip extension)` | `layer-3.png` => `layer-3.png` |
| `Use Layer Name (keep extension)` | `layer-3.png` => `layer-3.png.png` |
| `Use layer and parent group names` | `group 1 > layer-3` => `group-1-layer-3.png` |
| `Use index descending` | `layer-10`, where `layer-10` is the top-most layer => `01` |
| `Use index ascending` | `layer-5`, where `layer-5` is the top-most layer => `5` |

### Use Custom Delimiter

`Use Custom Delimiter` will enable the use of a custom delimiter. Custom delimiters will be used instead of spaces in layer names and in the prefix/suffix fields. Note that the use of a space inside the file name is not supported by Photoshop, so by default a `-` delimiter will be used if not custom delimiter is specified.

For example:
`my layer 1` will export as `my-layer-1`

The following characters are **not** supported in the delimiter field:
`\`, `/`, `*`, `?`, `|`, `.`, `:`, `"`, `<`, `>`, `%`, `,`, `;`, `=`

### Prefix/Suffix

`Prefix` and `Suffix` will add a prefix and suffix, respectively, to every exported filename, and is compatible with all the options in Filenames above.

The following characters are **not** supported in the prefix or suffix field:
`\`, `/`, `*`, `?`, `|`, `:`, `"`, `<`, `>`

| Prefix | Suffix | Output Example |
| --------- | ------------ | ---------------------------- |
| `test-` | N/A | `test-layer-3.png` |
| N/A | `.scale-100` | `layer-3.scale-100.png` |
| `test-` | `.scale-100` | `test-layer-3.scale-100.png` |
| `{ii}-` | N/A | `04-layer-3.png` |
| `{YYYY}-` | N/A | `2021-layer-3.png` |

#### Variable Substitution

Prefix and Suffix fields can take the following string substitutes.

| Option | Example |
| -------- | ---------------------------------------------------------------------------------------- |
| `{i}` | Will be replaced with the index of the layer |
| `{ii}` | Will be replaced with the index of the layer, with a leading zero |
| `{iii}` | Will be replaced with the index of the layer, with up to two leading zeros |
| `{iiii}` | Will be replaced with the index of the layer, with up to three leading zeros |
| `{ln}` | Will be replaced with the layer name. Useful for when exporting filenames as their index |
| `{dn}` | Will be replaced with the document name |
| `{M}` | Will be replaced with the month |
| `{MM}` | Will be replaced with the month, with a leading zero |
| `{D}` | Will be replaced with the date of the month |
| `{DD}` | Will be replaced with the date of the month, with a leading zero |
| `{YY}` | Will be replaced with the year, as the last two digits |
| `{YYYY}` | Will be replaced with the year, as all four digits |
| `{HH}` | Will be replaced with the hours, with a leading zero |
| `{mm}` | Will be replaced with the minutes, with a leading zero |
| `{ss}` | Will be replaced with the seconds, with a leading zero |
| `{sss}` | Will be replaced with the milliseconds, with leading zeros |

### Known Gaps

- Currently we do not support multiple artboards for export

## Batch Processing / Actions

Many people like to set up the script once, and then use batch processing or actions to automatically run the script.

To use the script this way, follow these instructions:

1. Run the script, set your desired settings in the dialog and then hit "Save and Close"
2. Open up the script file, in TextEdit (Mac), Notepad (Windows), or in a code IDE.
3. At the top of the script, locate the code that reads `var BATCH_OPERATION = false;`
4. Change this to say `var BATCH_OPERATION = true;`
5. You can now rerun the script, and it will auto-run with the previous settings.

In order to make changes to the settings again, you'll need to change `BATCH_OPERATION` back to `false` and rerun the script.

## Requirements

We do our best to have the script be backwards compatible (back to Adobe Photoshop CS2) but are limited in what we can test for, both by Photoshop versions as well as OS. If you are encountering any issues with the current version, try downloading [previous versions](https://github.com/antipalindrome/Photoshop-Export-Layers-to-Files-Fast/releases) of the script instead.

## Contributing

Please feel free to contribute! We appreciate it!

Here are some things to know:

- When updating the dialog UI, please reference the `dev/dialog.js` and import it at https://scriptui.joonas.me/. Then, when you've made the appropriate UI changes, export the dialog and copy/paste the top comment block into the `dev/dialog.js` file and copy/paste the remainder into the `showDialog` function inside `Export Layers To Files (Fast).jsx`.
- Be sure to test that any UI you add gets saved between script runs. i.e. If the user checks a checkbox, that checkbox should remain checked the next time they run the script.

## Feedback / Bugs

Please use GitHub to write feedback/bugs/suggestions by [filing an issue](https://github.com/antipalindrome/Photoshop-Export-Layers-to-Files-Fast/issues).

If you encounter a bug, please include the following information:

- Your OS and OS Version
- Your Photoshop version and release number
- A screenshot (if applicable)
- A `.psd` that reproduces the issue (the simpler the better)