Adobe Photoshop CS4 JavaScript Reference Java Script Scripting For Windows And Macintosh Ref

User Manual: adobe Photoshop - CS4 - JavaScript Scripting Reference for Windows and Macintosh Free User Guide for Photoshop Software, Manual

Open the PDF directly: View PDF PDF.
Page Count: 232

DownloadAdobe Photoshop CS4 JavaScript Reference - Java Script Scripting For Windows And Macintosh Ref
Open PDF In BrowserView PDF
ADOBE PHOTOSHOP CS4
JAVASCRIPT SCRIPTING REFERENCE
Revision 1

bc

© 2008 Adobe Systems Incorporated. All rights reserved.
Adobe® Creative Suite® 4 Photoshop® JavaScript Scripting Reference for Windows® and Macintosh®.
NOTICE: All information contained herein is the property of Adobe Systems Incorporated. No part of this publication (whether in hardcopy or
electronic form) may be reproduced or transmitted, in any form or by any means, electronic, mechanical, photocopying, recording, or
otherwise, without the prior written consent of Adobe Systems Incorporated. The software described in this document is furnished under
license and may only be used or copied in accordance with the terms of such license.
This publication and the information herein is furnished AS IS, is subject to change without notice, and should not be construed as a
commitment by Adobe Systems Incorporated. Adobe Systems Incorporated assumes no responsibility or liability for any errors or
inaccuracies, makes no warranty of any kind (express, implied, or statutory) with respect to this publication, and expressly disclaims any and
all warranties of merchantability, fitness for particular purposes, and noninfringement of third party rights.
Any references to company names in sample templates are for demonstration purposes only and are not intended to refer to any actual
organization.
Adobe®, the Adobe logo, Acrobat®, GoLive®,InDesign®, Illustrator®, Photoshop® are either registered trademarks or trademarks of Adobe
Systems Incorporated in the United States and/or other countries.
Apple®, Mac OS®, and Macintosh® are trademarks of Apple Computer, Inc., registered in the United States and other countries. Microsoft®, and
Windows®. are either registered trademarks or trademarks of Microsoft Corporation in the United States and other countries. JavaScriptTM and
all Java-related marks are trademarks or registered trademarks of Sun Microsystems, Inc. in the United States and other countries. UNIX® is a
registered trademark of The Open Group.
All other trademarks are the property of their respective owners.
If this guide is distributed with software that includes an end user agreement, this guide, as well as the software described in it, is furnished
under license and may be used or copied only in accordance with the terms of such license. Except as permitted by any such license, no part
of this guide may be reproduced, stored in a retrieval system, or transmitted, in any form or by any means, electronic, mechanical, recording,
or otherwise, without the prior written permission of Adobe Systems Incorporated. Please note that the content in this guide is protected
under copyright law even if it is not distributed with software that includes an end user license agreement.
The content of this guide is furnished for informational use only, is subject to change without notice, and should not be construed as a
commitment by Adobe Systems Incorporated. Adobe Systems Incorporated assumes no responsibility or liability for any errors or
inaccuracies that may appear in the informational content contained in this guide.
Adobe Systems Incorporated, 345 Park Avenue, San Jose, California 95110, USA.

Contents
1

Introduction ............................................................................................................................... 33
JavaScript support in Adobe Photoshop CS4 ....................................................................................................................33
Executing scripts ....................................................................................................................................................................34
Installing scripts ...............................................................................................................................................................34
Executing other scripts ..................................................................................................................................................34
Startup scripts .........................................................................................................................................................................34
Object model usage and naming...........................................................................................................................................35
Changes since earlier versions - CS4 changes ...................................................................................................................35
.............................................................................................................................................................................................................36

2

JavaScript Object Reference ..................................................................................................... 37
Object descriptions......................................................................................................................................................................37
Properties notation ...............................................................................................................................................................37
displayDialogs.................................................................................................................................................................37
Methods notation ..................................................................................................................................................................37
crop.....................................................................................................................................................................................38
ActionDescriptor ..........................................................................................................................................................................39
Properties..................................................................................................................................................................................39
count ..................................................................................................................................................................................39
typename .........................................................................................................................................................................39
Methods ....................................................................................................................................................................................39
clear ....................................................................................................................................................................................39
erase ...................................................................................................................................................................................39
fromStream ......................................................................................................................................................................39
getBoolean.......................................................................................................................................................................39
getClass .............................................................................................................................................................................39
getData..............................................................................................................................................................................39
getDouble ........................................................................................................................................................................39
getEnumerationType ...................................................................................................................................................39
getEnumerationValue..................................................................................................................................................39
getInteger.........................................................................................................................................................................39
getKey ................................................................................................................................................................................39
getList ................................................................................................................................................................................40
getObjectType ................................................................................................................................................................40
getObjectValue...............................................................................................................................................................40
getPath ..............................................................................................................................................................................40
getReference ...................................................................................................................................................................40
getString ...........................................................................................................................................................................40
getType .............................................................................................................................................................................40
getUnitDoubleType ......................................................................................................................................................40
getUnitDoubleValue.....................................................................................................................................................40
hasKey................................................................................................................................................................................40
isEqual................................................................................................................................................................................40
putBoolean ......................................................................................................................................................................40
putClass.............................................................................................................................................................................40
putData .............................................................................................................................................................................40
3

Adobe Photoshop CS4
JavaScript Scripting Reference

4

putDouble ........................................................................................................................................................................40
putEnumerated ..............................................................................................................................................................40
putInteger ........................................................................................................................................................................40
putList ................................................................................................................................................................................41
putObject..........................................................................................................................................................................41
putPath..............................................................................................................................................................................41
putReference...................................................................................................................................................................41
putString...........................................................................................................................................................................41
putUnitDouble................................................................................................................................................................41
toStream ...........................................................................................................................................................................41
ActionList.........................................................................................................................................................................................42
Properties..................................................................................................................................................................................42
count ..................................................................................................................................................................................42
typename .........................................................................................................................................................................42
Methods ....................................................................................................................................................................................42
clear ....................................................................................................................................................................................42
getBoolean.......................................................................................................................................................................42
getClass .............................................................................................................................................................................42
getData..............................................................................................................................................................................42
getDouble ........................................................................................................................................................................42
getEnumerationType ...................................................................................................................................................42
getEnumerationValue..................................................................................................................................................42
getInteger.........................................................................................................................................................................42
getList ................................................................................................................................................................................43
getObjectType ................................................................................................................................................................43
getObjectValue...............................................................................................................................................................43
getPath ..............................................................................................................................................................................43
getReference ...................................................................................................................................................................43
getString ...........................................................................................................................................................................43
getType .............................................................................................................................................................................43
getUnitDoubleType ......................................................................................................................................................43
getUnitDoubleValue.....................................................................................................................................................43
putBoolean ......................................................................................................................................................................43
putClass.............................................................................................................................................................................43
putData .............................................................................................................................................................................43
putDouble ........................................................................................................................................................................43
putEnumerated ..............................................................................................................................................................43
putInteger ........................................................................................................................................................................43
putList ................................................................................................................................................................................43
putObject..........................................................................................................................................................................43
putPath..............................................................................................................................................................................43
putReference...................................................................................................................................................................43
putString...........................................................................................................................................................................44
putUnitDouble................................................................................................................................................................44
ActionReference ...........................................................................................................................................................................45
Properties..................................................................................................................................................................................45
typename .........................................................................................................................................................................45
Methods ....................................................................................................................................................................................45
getContainer ...................................................................................................................................................................45
getDesiredClass..............................................................................................................................................................45
getEnumeratedType.....................................................................................................................................................45

Adobe Photoshop CS4
JavaScript Scripting Reference

5

getEnumeratedValue ...................................................................................................................................................45
getForm.............................................................................................................................................................................45
getIdentifier .....................................................................................................................................................................45
getIndex ............................................................................................................................................................................45
getName ...........................................................................................................................................................................45
getOffset ...........................................................................................................................................................................45
getProperty......................................................................................................................................................................45
putClass.............................................................................................................................................................................46
putEnumerated ..............................................................................................................................................................46
putIdentifier.....................................................................................................................................................................46
putIndex............................................................................................................................................................................46
putName ...........................................................................................................................................................................46
putOffset...........................................................................................................................................................................46
putProperty......................................................................................................................................................................46
Application .....................................................................................................................................................................................47
Properties..................................................................................................................................................................................47
activeDocument.............................................................................................................................................................47
backgroundColor...........................................................................................................................................................47
build....................................................................................................................................................................................47
colorSettings ...................................................................................................................................................................47
displayDialogs.................................................................................................................................................................47
documents .......................................................................................................................................................................47
fonts....................................................................................................................................................................................47
foregroundColor ............................................................................................................................................................47
freeMemory .....................................................................................................................................................................47
locale ..................................................................................................................................................................................48
macintoshFileTypes ......................................................................................................................................................48
measurementLog ..........................................................................................................................................................48
name...................................................................................................................................................................................48
notifiers .............................................................................................................................................................................48
notifiersEnabled .............................................................................................................................................................48
path.....................................................................................................................................................................................48
playbackDisplayDialogs ..............................................................................................................................................48
playbackParameters .....................................................................................................................................................48
preferences ......................................................................................................................................................................48
preferencesFolder .........................................................................................................................................................48
recentFiles ........................................................................................................................................................................48
scriptingBuildDate ........................................................................................................................................................48
scriptingVersion .............................................................................................................................................................48
systemInformation........................................................................................................................................................48
typename .........................................................................................................................................................................48
version ...............................................................................................................................................................................49
windowsFileTypes.........................................................................................................................................................49
Methods ....................................................................................................................................................................................49
batch ..................................................................................................................................................................................49
beep....................................................................................................................................................................................49
bringToFront ...................................................................................................................................................................49
charIDToTypeID..............................................................................................................................................................49
doAction ...........................................................................................................................................................................49
eraseCustomOptions....................................................................................................................................................49
executeAction.................................................................................................................................................................49

Adobe Photoshop CS4
JavaScript Scripting Reference

6

executeActionGet..........................................................................................................................................................49
featureEnabled ...............................................................................................................................................................49
getCustomOptions........................................................................................................................................................50
load .....................................................................................................................................................................................50
makeContactSheet........................................................................................................................................................50
makePDFPresentation .................................................................................................................................................50
makePhotoGallery.........................................................................................................................................................50
makePhotomerge..........................................................................................................................................................50
makePicturePackage ....................................................................................................................................................50
open ...................................................................................................................................................................................51
openDialog ......................................................................................................................................................................51
purge..................................................................................................................................................................................51
putCustomOptions .......................................................................................................................................................51
refresh ................................................................................................................................................................................51
runMenuItem ..................................................................................................................................................................51
stringIDToTypeID...........................................................................................................................................................51
togglePalettes.................................................................................................................................................................52
typeIDToCharID..............................................................................................................................................................52
typeIDToStringID ...........................................................................................................................................................52
ArtLayer............................................................................................................................................................................................54
Properties..................................................................................................................................................................................54
allLocked...........................................................................................................................................................................54
blendMode.......................................................................................................................................................................54
bounds...............................................................................................................................................................................54
fillOpacity..........................................................................................................................................................................54
filterMaskDensity ...........................................................................................................................................................54
filterMaskFeather...........................................................................................................................................................54
grouped ............................................................................................................................................................................54
isBackgroundLayer........................................................................................................................................................54
kind .....................................................................................................................................................................................54
layerMaskDensity...........................................................................................................................................................54
layerMaskFeather ..........................................................................................................................................................55
linkedLayers.....................................................................................................................................................................55
name...................................................................................................................................................................................55
opacity ...............................................................................................................................................................................55
parent.................................................................................................................................................................................55
pixelsLocked....................................................................................................................................................................55
positionLocked...............................................................................................................................................................55
textItem.............................................................................................................................................................................55
transparentPixelsLocked.............................................................................................................................................55
typename .........................................................................................................................................................................55
vectorMaskDensity........................................................................................................................................................55
vectorMaskFeather .......................................................................................................................................................55
visible .................................................................................................................................................................................55
xmpMetadata..................................................................................................................................................................55
Methods ....................................................................................................................................................................................56
adjustBrightnessContrast ...........................................................................................................................................56
adjustColorBalance .......................................................................................................................................................56
adjustCurves....................................................................................................................................................................56
adjustLevels .....................................................................................................................................................................56
applyAddNoise ...............................................................................................................................................................56

Adobe Photoshop CS4
JavaScript Scripting Reference

7

applyAverage ..................................................................................................................................................................56
applyBlur...........................................................................................................................................................................56
applyBlurMore ................................................................................................................................................................56
applyClouds.....................................................................................................................................................................56
applyCustomFilter.........................................................................................................................................................56
applyDeInterlace............................................................................................................................................................57
applyDespeckle ..............................................................................................................................................................57
applyDifferenceClouds................................................................................................................................................57
applyDiffuseGlow ..........................................................................................................................................................57
applyDisplace..................................................................................................................................................................57
applyDustAndScratches..............................................................................................................................................57
applyGaussianBlur.........................................................................................................................................................57
applyGlassEffect.............................................................................................................................................................57
applyHighPass ................................................................................................................................................................57
applyLensBlur .................................................................................................................................................................58
applyLensFlare................................................................................................................................................................58
applyMaximum ..............................................................................................................................................................58
applyMedianNoise ........................................................................................................................................................58
applyMinimum ...............................................................................................................................................................59
applyMotionBlur ............................................................................................................................................................59
applyNTSC........................................................................................................................................................................59
applyOceanRipple .........................................................................................................................................................59
applyOffset.......................................................................................................................................................................59
applyPinch .......................................................................................................................................................................59
applyPolarCoordinates................................................................................................................................................59
applyRadialBlur ..............................................................................................................................................................59
applyRipple......................................................................................................................................................................59
applySharpen..................................................................................................................................................................59
applySharpenEdges......................................................................................................................................................59
applySharpenMore .......................................................................................................................................................59
applyShear .......................................................................................................................................................................59
applySmartBlur...............................................................................................................................................................60
applySpherize .................................................................................................................................................................60
applyStyle.........................................................................................................................................................................60
applyTextureFill..............................................................................................................................................................60
applyTwirl.........................................................................................................................................................................60
applyUnSharpMask.......................................................................................................................................................60
applyWave........................................................................................................................................................................60
applyZigZag.....................................................................................................................................................................60
autoContrast....................................................................................................................................................................60
autoLevels ........................................................................................................................................................................60
clear ....................................................................................................................................................................................60
copy ....................................................................................................................................................................................61
cut........................................................................................................................................................................................61
desaturate ........................................................................................................................................................................61
duplicate ...........................................................................................................................................................................61
equalize .............................................................................................................................................................................61
invert ..................................................................................................................................................................................61
link.......................................................................................................................................................................................61
merge.................................................................................................................................................................................61
mixChannels....................................................................................................................................................................62

Adobe Photoshop CS4
JavaScript Scripting Reference

8

move...................................................................................................................................................................................62
photoFilter .......................................................................................................................................................................62
posterize ...........................................................................................................................................................................62
rasterize.............................................................................................................................................................................62
remove...............................................................................................................................................................................62
resize ..................................................................................................................................................................................63
rotate..................................................................................................................................................................................63
selectiveColor..................................................................................................................................................................63
shadowHighlight ...........................................................................................................................................................63
threshold...........................................................................................................................................................................63
translate ............................................................................................................................................................................63
unlink .................................................................................................................................................................................63
ArtLayers..........................................................................................................................................................................................66
Properties..................................................................................................................................................................................66
length.................................................................................................................................................................................66
parent.................................................................................................................................................................................66
typename .........................................................................................................................................................................66
Methods ....................................................................................................................................................................................66
add ......................................................................................................................................................................................66
getByName ......................................................................................................................................................................66
removeAll .........................................................................................................................................................................66
BatchOptions .................................................................................................................................................................................67
Properties..................................................................................................................................................................................67
destination .......................................................................................................................................................................67
destinationFolder ..........................................................................................................................................................67
errorFile .............................................................................................................................................................................67
fileNaming........................................................................................................................................................................67
macintoshCompatible .................................................................................................................................................67
overrideOpen..................................................................................................................................................................67
overrideSave....................................................................................................................................................................67
startingSerial ...................................................................................................................................................................67
suppressOpen.................................................................................................................................................................67
suppressProfile ...............................................................................................................................................................68
typename .........................................................................................................................................................................68
unixCompatible..............................................................................................................................................................68
windowsCompatible ....................................................................................................................................................68
BitmapConversionOptions .......................................................................................................................................................69
Properties..................................................................................................................................................................................69
angle...................................................................................................................................................................................69
frequency..........................................................................................................................................................................69
method..............................................................................................................................................................................69
patternName ...................................................................................................................................................................69
resolution..........................................................................................................................................................................69
shape..................................................................................................................................................................................69
typename .........................................................................................................................................................................69
BMPSaveOptions ..........................................................................................................................................................................70
Properties..................................................................................................................................................................................70
alphaChannels ................................................................................................................................................................70
depth..................................................................................................................................................................................70
flipRowOrder ...................................................................................................................................................................70
osType................................................................................................................................................................................70

Adobe Photoshop CS4
JavaScript Scripting Reference

9

rleCompression ..............................................................................................................................................................70
typename .........................................................................................................................................................................70
CameraRAWOpenOptions ........................................................................................................................................................71
Properties..................................................................................................................................................................................71
bitsPerChannel ...............................................................................................................................................................71
blueHue.............................................................................................................................................................................71
blueSaturation ................................................................................................................................................................71
brightness.........................................................................................................................................................................71
chromaticAberrationBY...............................................................................................................................................71
chromaticAberrationRC...............................................................................................................................................71
colorNoiseReduction....................................................................................................................................................71
colorSpace........................................................................................................................................................................71
contrast .............................................................................................................................................................................71
exposure ...........................................................................................................................................................................71
greenHue ..........................................................................................................................................................................71
greenSaturation .............................................................................................................................................................71
luminanceSmoothing ..................................................................................................................................................71
redHue ...............................................................................................................................................................................71
redSaturation ..................................................................................................................................................................71
resolution..........................................................................................................................................................................71
saturation .........................................................................................................................................................................71
settings ..............................................................................................................................................................................71
shadows ............................................................................................................................................................................71
shadowTint ......................................................................................................................................................................71
sharpness..........................................................................................................................................................................71
size ......................................................................................................................................................................................71
temperature.....................................................................................................................................................................71
tint.......................................................................................................................................................................................72
typename .........................................................................................................................................................................72
vignettingAmount ........................................................................................................................................................72
vignettingMidpoint ......................................................................................................................................................72
whiteBalance...................................................................................................................................................................72
Channel............................................................................................................................................................................................73
Properties..................................................................................................................................................................................73
color....................................................................................................................................................................................73
histogram .........................................................................................................................................................................73
kind .....................................................................................................................................................................................73
name...................................................................................................................................................................................73
opacity ...............................................................................................................................................................................73
parent.................................................................................................................................................................................73
typename .........................................................................................................................................................................73
visible .................................................................................................................................................................................73
Methods ....................................................................................................................................................................................73
duplicate ...........................................................................................................................................................................73
merge.................................................................................................................................................................................74
remove...............................................................................................................................................................................74
Channels ..........................................................................................................................................................................................75
Properties..................................................................................................................................................................................75
length.................................................................................................................................................................................75
parent.................................................................................................................................................................................75
typename .........................................................................................................................................................................75

Adobe Photoshop CS4
JavaScript Scripting Reference

10

Methods ....................................................................................................................................................................................75
add ......................................................................................................................................................................................75
getByName ......................................................................................................................................................................75
removeAll .........................................................................................................................................................................75
CMYKColor......................................................................................................................................................................................80
Properties..................................................................................................................................................................................80
black ...................................................................................................................................................................................80
cyan.....................................................................................................................................................................................80
magenta............................................................................................................................................................................80
typename .........................................................................................................................................................................80
yellow.................................................................................................................................................................................80
ColorSampler .................................................................................................................................................................................81
Properties..................................................................................................................................................................................81
color....................................................................................................................................................................................81
position .............................................................................................................................................................................81
parent.................................................................................................................................................................................81
typename .........................................................................................................................................................................81
Methods ....................................................................................................................................................................................81
move...................................................................................................................................................................................81
remove...............................................................................................................................................................................81
ColorSamplers ...............................................................................................................................................................................82
Properties..................................................................................................................................................................................82
length.................................................................................................................................................................................82
parent.................................................................................................................................................................................82
typename .........................................................................................................................................................................82
Methods ....................................................................................................................................................................................82
add ......................................................................................................................................................................................82
removeAll .........................................................................................................................................................................82
ContactSheetOptions .................................................................................................................................................................83
Properties..................................................................................................................................................................................83
acrossFirst.........................................................................................................................................................................83
bestFit ................................................................................................................................................................................83
caption...............................................................................................................................................................................83
columnCount ..................................................................................................................................................................83
flatten.................................................................................................................................................................................83
font......................................................................................................................................................................................83
fontSize..............................................................................................................................................................................83
height.................................................................................................................................................................................83
horizontal .........................................................................................................................................................................83
mode ..................................................................................................................................................................................83
resolution..........................................................................................................................................................................83
rowCount..........................................................................................................................................................................83
typename .........................................................................................................................................................................83
useAutoSpacing .............................................................................................................................................................83
vertical ...............................................................................................................................................................................83
width ..................................................................................................................................................................................83
CountItem .......................................................................................................................................................................................84
Properties..................................................................................................................................................................................84
position .............................................................................................................................................................................84
parent.................................................................................................................................................................................84
typename .........................................................................................................................................................................84

Adobe Photoshop CS4
JavaScript Scripting Reference

11

Methods ....................................................................................................................................................................................84
remove...............................................................................................................................................................................84
CountItems .....................................................................................................................................................................................85
Properties..................................................................................................................................................................................85
length.................................................................................................................................................................................85
parent.................................................................................................................................................................................85
typename .........................................................................................................................................................................85
Methods ....................................................................................................................................................................................85
add ......................................................................................................................................................................................85
getByName ......................................................................................................................................................................85
removeAll .........................................................................................................................................................................85
DCS1_SaveOptions......................................................................................................................................................................86
Properties..................................................................................................................................................................................86
dCS ......................................................................................................................................................................................86
embedColorProfile........................................................................................................................................................86
encoding...........................................................................................................................................................................86
halftoneScreen ...............................................................................................................................................................86
interpolation....................................................................................................................................................................86
preview..............................................................................................................................................................................86
transferFunction.............................................................................................................................................................86
typename .........................................................................................................................................................................86
vectorData........................................................................................................................................................................86
DCS2_SaveOptions......................................................................................................................................................................87
Properties..................................................................................................................................................................................87
dCS ......................................................................................................................................................................................87
embedColorProfile........................................................................................................................................................87
encoding...........................................................................................................................................................................87
halftoneScreen ...............................................................................................................................................................87
interpolation....................................................................................................................................................................87
multiFileDCS ....................................................................................................................................................................87
preview..............................................................................................................................................................................87
spotColors ........................................................................................................................................................................87
transferFunction.............................................................................................................................................................87
typename .........................................................................................................................................................................87
vectorData........................................................................................................................................................................87
DICOMOpenOptions ...................................................................................................................................................................88
Properties..................................................................................................................................................................................88
anonymize........................................................................................................................................................................88
columns.............................................................................................................................................................................88
reverse ...............................................................................................................................................................................88
rows ....................................................................................................................................................................................88
showOverlays..................................................................................................................................................................88
typename .........................................................................................................................................................................88
windowLevel ...................................................................................................................................................................88
windowWidth .................................................................................................................................................................88
Document .......................................................................................................................................................................................89
Properties..................................................................................................................................................................................89
activeChannels ...............................................................................................................................................................89
activeHistoryBrushSource ..........................................................................................................................................89
activeHistoryState .........................................................................................................................................................89
activeLayer .......................................................................................................................................................................89

Adobe Photoshop CS4
JavaScript Scripting Reference

12

artLayers............................................................................................................................................................................89
backgroundLayer...........................................................................................................................................................89
bitsPerChannel ...............................................................................................................................................................89
channels............................................................................................................................................................................89
colorProfileName...........................................................................................................................................................89
colorProfileType .............................................................................................................................................................89
colorSamplers .................................................................................................................................................................89
componentChannels....................................................................................................................................................89
countItems .......................................................................................................................................................................90
fullName............................................................................................................................................................................90
height.................................................................................................................................................................................90
histogram .........................................................................................................................................................................90
historyStates....................................................................................................................................................................90
info ......................................................................................................................................................................................90
layerComps ......................................................................................................................................................................90
layers ..................................................................................................................................................................................90
layerSets............................................................................................................................................................................90
managed...........................................................................................................................................................................90
measurementScale .......................................................................................................................................................90
mode ..................................................................................................................................................................................90
name...................................................................................................................................................................................90
parent.................................................................................................................................................................................90
path.....................................................................................................................................................................................90
pathItems .........................................................................................................................................................................90
pixelAspectRatio ............................................................................................................................................................90
printSettings....................................................................................................................................................................90
quickMaskMode .............................................................................................................................................................90
resolution..........................................................................................................................................................................91
saved ..................................................................................................................................................................................91
selection............................................................................................................................................................................91
typename .........................................................................................................................................................................91
width ..................................................................................................................................................................................91
xmpMetadata..................................................................................................................................................................91
Methods ....................................................................................................................................................................................92
autoCount ........................................................................................................................................................................92
changeMode ...................................................................................................................................................................92
close....................................................................................................................................................................................92
convertProfile..................................................................................................................................................................92
crop.....................................................................................................................................................................................92
duplicate ...........................................................................................................................................................................92
exportDocument ...........................................................................................................................................................93
flatten.................................................................................................................................................................................93
flipCanvas .........................................................................................................................................................................93
importAnnotations .......................................................................................................................................................93
mergeVisibleLayers.......................................................................................................................................................93
paste ...................................................................................................................................................................................93
print ....................................................................................................................................................................................93
printOneCopy .................................................................................................................................................................93
rasterizeAllLayers...........................................................................................................................................................93
recordMeasurements...................................................................................................................................................93
resizeCanvas ....................................................................................................................................................................93

Adobe Photoshop CS4
JavaScript Scripting Reference

13

resizeImage......................................................................................................................................................................93
revealAll.............................................................................................................................................................................94
rotateCanvas ...................................................................................................................................................................94
save .....................................................................................................................................................................................94
saveAs ................................................................................................................................................................................94
splitChannels...................................................................................................................................................................94
suspendHistory...............................................................................................................................................................94
trap......................................................................................................................................................................................94
trim......................................................................................................................................................................................94
DocumentPrintSettings .............................................................................................................................................................97
Properties..................................................................................................................................................................................97
backgroundColor...........................................................................................................................................................97
bleedWidth ......................................................................................................................................................................97
caption...............................................................................................................................................................................97
centerCropMarks ...........................................................................................................................................................97
colorBars ...........................................................................................................................................................................97
copies.................................................................................................................................................................................97
cornerCropMarks ...........................................................................................................................................................97
colorHandling .................................................................................................................................................................97
activePrinter ....................................................................................................................................................................97
flip........................................................................................................................................................................................97
hardProof..........................................................................................................................................................................97
interpolate........................................................................................................................................................................97
labels ..................................................................................................................................................................................97
mapBlack ..........................................................................................................................................................................97
negative ............................................................................................................................................................................97
renderIntent ....................................................................................................................................................................97
posX....................................................................................................................................................................................97
posY ....................................................................................................................................................................................97
printBorder.......................................................................................................................................................................97
printSelected...................................................................................................................................................................97
printSpace ........................................................................................................................................................................97
registrationMarks...........................................................................................................................................................98
scale ....................................................................................................................................................................................98
vectorData........................................................................................................................................................................98
Methods ....................................................................................................................................................................................99
setPagePosition..............................................................................................................................................................99
DocumentInfo ............................................................................................................................................................................ 100
Properties............................................................................................................................................................................... 100
author ............................................................................................................................................................................. 100
authorPosition ............................................................................................................................................................. 100
caption............................................................................................................................................................................ 100
captionWriter ............................................................................................................................................................... 100
category ......................................................................................................................................................................... 100
city.................................................................................................................................................................................... 100
copyrighted .................................................................................................................................................................. 100
copyrightNotice .......................................................................................................................................................... 100
country ........................................................................................................................................................................... 100
creationDate................................................................................................................................................................. 100
credit ............................................................................................................................................................................... 100
exif.................................................................................................................................................................................... 100

Adobe Photoshop CS4
JavaScript Scripting Reference

14

headline ......................................................................................................................................................................... 100
instructions ................................................................................................................................................................... 100
jobName ........................................................................................................................................................................ 100
keywords........................................................................................................................................................................ 100
ownerUrl ........................................................................................................................................................................ 100
parent.............................................................................................................................................................................. 101
provinceState............................................................................................................................................................... 101
source.............................................................................................................................................................................. 101
supplementalCategories.......................................................................................................................................... 101
title ................................................................................................................................................................................... 101
transmissionReference ............................................................................................................................................. 101
typename ...................................................................................................................................................................... 101
urgency .......................................................................................................................................................................... 101
Documents .................................................................................................................................................................................. 103
Properties............................................................................................................................................................................... 103
length.............................................................................................................................................................................. 103
parent.............................................................................................................................................................................. 103
typename ...................................................................................................................................................................... 103
Methods ................................................................................................................................................................................. 103
add ................................................................................................................................................................................... 103
getByName ................................................................................................................................................................... 103
EPSOpenOptions ....................................................................................................................................................................... 104
Properties............................................................................................................................................................................... 104
antiAlias.......................................................................................................................................................................... 104
constrainProportions ................................................................................................................................................ 104
height.............................................................................................................................................................................. 104
mode ............................................................................................................................................................................... 104
resolution....................................................................................................................................................................... 104
typename ...................................................................................................................................................................... 104
width ............................................................................................................................................................................... 104
EPSSaveOptions......................................................................................................................................................................... 105
Properties............................................................................................................................................................................... 105
embedColorProfile..................................................................................................................................................... 105
encoding........................................................................................................................................................................ 105
halftoneScreen ............................................................................................................................................................ 105
interpolation................................................................................................................................................................. 105
preview........................................................................................................................................................................... 105
psColorManagement ................................................................................................................................................ 105
transferFunction.......................................................................................................................................................... 105
transparentWhites...................................................................................................................................................... 105
typename ...................................................................................................................................................................... 105
vectorData..................................................................................................................................................................... 105
ExportOptionsIllustrator ......................................................................................................................................................... 106
Properties............................................................................................................................................................................... 106
path.................................................................................................................................................................................. 106
pathName...................................................................................................................................................................... 106
typename ...................................................................................................................................................................... 106
ExportOptionsSaveForWeb ................................................................................................................................................... 107
Properties............................................................................................................................................................................... 107
blur................................................................................................................................................................................... 107
colorReduction ............................................................................................................................................................ 107

Adobe Photoshop CS4
JavaScript Scripting Reference

15

colors............................................................................................................................................................................... 107
dither............................................................................................................................................................................... 107
ditherAmount .............................................................................................................................................................. 107
format ............................................................................................................................................................................. 107
includeProfile ............................................................................................................................................................... 107
interlaced....................................................................................................................................................................... 107
lossy ................................................................................................................................................................................. 107
matteColor .................................................................................................................................................................... 107
optimized ...................................................................................................................................................................... 107
PNG8................................................................................................................................................................................ 107
quality ............................................................................................................................................................................. 108
transparency................................................................................................................................................................. 108
transparencyAmount ................................................................................................................................................ 108
transparencyDither .................................................................................................................................................... 108
typename ...................................................................................................................................................................... 108
webSnap ........................................................................................................................................................................ 108
File................................................................................................................................................................................................... 109
Folder............................................................................................................................................................................................. 109
GalleryBannerOptions ............................................................................................................................................................. 110
Properties............................................................................................................................................................................... 110
contactInfo.................................................................................................................................................................... 110
date.................................................................................................................................................................................. 110
font................................................................................................................................................................................... 110
fontSize........................................................................................................................................................................... 110
photographer............................................................................................................................................................... 110
siteName ........................................................................................................................................................................ 110
typename ...................................................................................................................................................................... 110
GalleryCustomColorOptions ................................................................................................................................................. 111
Properties............................................................................................................................................................................... 111
activeLinkColor............................................................................................................................................................ 111
backgroundColor........................................................................................................................................................ 111
bannerColor.................................................................................................................................................................. 111
linkColor......................................................................................................................................................................... 111
textColor ........................................................................................................................................................................ 111
typename ...................................................................................................................................................................... 111
visitedLinkColor........................................................................................................................................................... 111
GalleryImagesOptions ............................................................................................................................................................. 112
Properties............................................................................................................................................................................... 112
border ............................................................................................................................................................................. 112
caption............................................................................................................................................................................ 112
dimension...................................................................................................................................................................... 112
font................................................................................................................................................................................... 112
fontSize........................................................................................................................................................................... 112
imageQuality................................................................................................................................................................ 112
includeCopyright........................................................................................................................................................ 112
includeCredits.............................................................................................................................................................. 112
includeFilename.......................................................................................................................................................... 112
includeTitle ................................................................................................................................................................... 112
numericLinks ................................................................................................................................................................ 112
resizeConstraint .......................................................................................................................................................... 113
resizeImages................................................................................................................................................................. 113

Adobe Photoshop CS4
JavaScript Scripting Reference

16

typename ...................................................................................................................................................................... 113
GalleryOptions............................................................................................................................................................................ 114
Properties............................................................................................................................................................................... 114
addSizeAttributes ....................................................................................................................................................... 114
bannerOptions ............................................................................................................................................................ 114
customColorOptions ................................................................................................................................................. 114
emailAddress................................................................................................................................................................ 114
imagesOptions ............................................................................................................................................................ 114
includeSubFolders ..................................................................................................................................................... 114
layoutStyle .................................................................................................................................................................... 114
preserveAllMetadata ................................................................................................................................................. 114
securityOptions ........................................................................................................................................................... 114
thumbnailOptions...................................................................................................................................................... 114
typename ...................................................................................................................................................................... 114
useShortExtension ..................................................................................................................................................... 114
useUTF8Encoding ...................................................................................................................................................... 114
GallerySecurityOptions ........................................................................................................................................................... 115
Properties............................................................................................................................................................................... 115
content ........................................................................................................................................................................... 115
font................................................................................................................................................................................... 115
fontSize........................................................................................................................................................................... 115
opacity ............................................................................................................................................................................ 115
text ................................................................................................................................................................................... 115
textColor ........................................................................................................................................................................ 115
textPosition................................................................................................................................................................... 115
textRotate...................................................................................................................................................................... 115
typename ...................................................................................................................................................................... 115
GalleryThumbnailOptions...................................................................................................................................................... 116
Properties............................................................................................................................................................................... 116
border ............................................................................................................................................................................. 116
caption............................................................................................................................................................................ 116
columnCount ............................................................................................................................................................... 116
dimension...................................................................................................................................................................... 116
font................................................................................................................................................................................... 116
fontSize........................................................................................................................................................................... 116
includeCopyright........................................................................................................................................................ 116
includeCredits.............................................................................................................................................................. 116
includeFilename.......................................................................................................................................................... 116
includeTitle ................................................................................................................................................................... 116
rowCount....................................................................................................................................................................... 116
size ................................................................................................................................................................................... 116
typename ...................................................................................................................................................................... 116
GIFSaveOptions.......................................................................................................................................................................... 117
Properties............................................................................................................................................................................... 117
colors............................................................................................................................................................................... 117
dither............................................................................................................................................................................... 117
ditherAmount .............................................................................................................................................................. 117
forced .............................................................................................................................................................................. 117
interlaced....................................................................................................................................................................... 117
matte ............................................................................................................................................................................... 117
palette............................................................................................................................................................................. 117

Adobe Photoshop CS4
JavaScript Scripting Reference

17

preserveExactColors .................................................................................................................................................. 117
transparency................................................................................................................................................................. 117
typename ...................................................................................................................................................................... 117
GrayColor...................................................................................................................................................................................... 118
Properties............................................................................................................................................................................... 118
gray .................................................................................................................................................................................. 118
typename ...................................................................................................................................................................... 118
HistoryState ................................................................................................................................................................................. 119
Properties............................................................................................................................................................................... 119
name................................................................................................................................................................................ 119
parent.............................................................................................................................................................................. 119
snapshot ........................................................................................................................................................................ 119
typename ...................................................................................................................................................................... 119
HistoryStates ............................................................................................................................................................................... 120
Properties............................................................................................................................................................................... 120
length.............................................................................................................................................................................. 120
parent.............................................................................................................................................................................. 120
typename ...................................................................................................................................................................... 120
Methods ................................................................................................................................................................................. 120
getByName ................................................................................................................................................................... 120
HSBColor....................................................................................................................................................................................... 121
Properties............................................................................................................................................................................... 121
brightness...................................................................................................................................................................... 121
hue ................................................................................................................................................................................... 121
saturation ...................................................................................................................................................................... 121
typename ...................................................................................................................................................................... 121
IndexedConversionOptions .................................................................................................................................................. 122
Properties............................................................................................................................................................................... 122
colors............................................................................................................................................................................... 122
dither............................................................................................................................................................................... 122
ditherAmount .............................................................................................................................................................. 122
forced .............................................................................................................................................................................. 122
matte ............................................................................................................................................................................... 122
palette............................................................................................................................................................................. 122
preserveExactColors .................................................................................................................................................. 122
transparency................................................................................................................................................................. 122
typename ...................................................................................................................................................................... 122
JPEGSaveOptions ...................................................................................................................................................................... 123
Properties............................................................................................................................................................................... 123
embedColorProfile..................................................................................................................................................... 123
formatOptions ............................................................................................................................................................. 123
matte ............................................................................................................................................................................... 123
quality ............................................................................................................................................................................. 123
scans................................................................................................................................................................................ 123
typename ...................................................................................................................................................................... 123
LabColor ....................................................................................................................................................................................... 124
Properties............................................................................................................................................................................... 124
a......................................................................................................................................................................................... 124
b ........................................................................................................................................................................................ 124
l.......................................................................................................................................................................................... 124
typename ...................................................................................................................................................................... 124

Adobe Photoshop CS4
JavaScript Scripting Reference

18

LayerComp................................................................................................................................................................................... 125
Properties............................................................................................................................................................................... 125
appearance ................................................................................................................................................................... 125
comment ....................................................................................................................................................................... 125
name................................................................................................................................................................................ 125
parent.............................................................................................................................................................................. 125
position .......................................................................................................................................................................... 125
selected .......................................................................................................................................................................... 125
typename ...................................................................................................................................................................... 125
visibility .......................................................................................................................................................................... 125
Methods ................................................................................................................................................................................. 125
apply................................................................................................................................................................................ 125
recapture ....................................................................................................................................................................... 125
remove............................................................................................................................................................................ 125
resetfromComp ........................................................................................................................................................... 125
LayerComps................................................................................................................................................................................. 126
Properties............................................................................................................................................................................... 126
length.............................................................................................................................................................................. 126
parent.............................................................................................................................................................................. 126
typename ...................................................................................................................................................................... 126
Methods ................................................................................................................................................................................. 126
add ................................................................................................................................................................................... 126
getByName ................................................................................................................................................................... 126
removeAll ...................................................................................................................................................................... 126
Layers............................................................................................................................................................................................. 127
Properties............................................................................................................................................................................... 127
length.............................................................................................................................................................................. 127
parent.............................................................................................................................................................................. 127
typename ...................................................................................................................................................................... 127
Methods ................................................................................................................................................................................. 127
getByName ................................................................................................................................................................... 127
removeAll ...................................................................................................................................................................... 127
LayerSet ........................................................................................................................................................................................ 128
Properties............................................................................................................................................................................... 128
allLocked........................................................................................................................................................................ 128
artLayers......................................................................................................................................................................... 128
blendMode.................................................................................................................................................................... 128
bounds............................................................................................................................................................................ 128
enabledChannels........................................................................................................................................................ 128
layers ............................................................................................................................................................................... 128
layerSets......................................................................................................................................................................... 128
linkedLayers.................................................................................................................................................................. 128
name................................................................................................................................................................................ 128
opacity ............................................................................................................................................................................ 128
parent.............................................................................................................................................................................. 128
typename ...................................................................................................................................................................... 128
visible .............................................................................................................................................................................. 128
Methods ................................................................................................................................................................................. 129
duplicate ........................................................................................................................................................................ 129
link.................................................................................................................................................................................... 129
merge.............................................................................................................................................................................. 129

Adobe Photoshop CS4
JavaScript Scripting Reference

19

move................................................................................................................................................................................ 129
remove............................................................................................................................................................................ 129
resize ............................................................................................................................................................................... 129
rotate............................................................................................................................................................................... 129
translate ......................................................................................................................................................................... 129
unlink .............................................................................................................................................................................. 129
LayerSets ...................................................................................................................................................................................... 130
Properties............................................................................................................................................................................... 130
length.............................................................................................................................................................................. 130
parent.............................................................................................................................................................................. 130
typename ...................................................................................................................................................................... 130
Methods ................................................................................................................................................................................. 130
add ................................................................................................................................................................................... 130
getByName ................................................................................................................................................................... 130
removeAll ...................................................................................................................................................................... 130
MeasurementLog ...................................................................................................................................................................... 132
Methods ................................................................................................................................................................................. 132
exportMeasurements................................................................................................................................................ 132
deleteMeasurements ................................................................................................................................................ 132
MeasurementScale ................................................................................................................................................................... 133
Properties............................................................................................................................................................................... 133
pixelLength................................................................................................................................................................... 133
logicalLength ............................................................................................................................................................... 133
logicalUnits ................................................................................................................................................................... 133
NoColor ......................................................................................................................................................................................... 134
Properties............................................................................................................................................................................... 134
typename ...................................................................................................................................................................... 134
Notifier........................................................................................................................................................................................... 135
Properties............................................................................................................................................................................... 135
event................................................................................................................................................................................ 135
eventClass ..................................................................................................................................................................... 135
eventFile ........................................................................................................................................................................ 135
parent.............................................................................................................................................................................. 135
typename ...................................................................................................................................................................... 135
Methods ................................................................................................................................................................................. 135
remove............................................................................................................................................................................ 135
Notifiers......................................................................................................................................................................................... 136
Properties............................................................................................................................................................................... 136
length.............................................................................................................................................................................. 136
parent.............................................................................................................................................................................. 136
typename ...................................................................................................................................................................... 136
Methods ................................................................................................................................................................................. 136
add ................................................................................................................................................................................... 136
removeAll ...................................................................................................................................................................... 136
PathItem ....................................................................................................................................................................................... 137
Properties............................................................................................................................................................................... 137
kind .................................................................................................................................................................................. 137
name................................................................................................................................................................................ 137
parent.............................................................................................................................................................................. 137
subPathItems ............................................................................................................................................................... 137
typename ...................................................................................................................................................................... 137

Adobe Photoshop CS4
JavaScript Scripting Reference

20

Methods ................................................................................................................................................................................. 137
deselect .......................................................................................................................................................................... 137
duplicate ........................................................................................................................................................................ 137
fillPath ............................................................................................................................................................................. 137
makeClippingPath...................................................................................................................................................... 138
makeSelection ............................................................................................................................................................. 138
remove............................................................................................................................................................................ 138
select ............................................................................................................................................................................... 138
strokePath ..................................................................................................................................................................... 138
PathItems ..................................................................................................................................................................................... 141
Properties............................................................................................................................................................................... 141
length.............................................................................................................................................................................. 141
parent.............................................................................................................................................................................. 141
typename ...................................................................................................................................................................... 141
Methods ................................................................................................................................................................................. 141
add ................................................................................................................................................................................... 141
getByName ................................................................................................................................................................... 141
removeAll ...................................................................................................................................................................... 141
PathPoint...................................................................................................................................................................................... 142
Properties............................................................................................................................................................................... 142
anchor............................................................................................................................................................................. 142
kind .................................................................................................................................................................................. 142
leftDirection.................................................................................................................................................................. 142
parent.............................................................................................................................................................................. 142
rightDirection............................................................................................................................................................... 142
typename ...................................................................................................................................................................... 142
PathPointInfo.............................................................................................................................................................................. 143
Properties............................................................................................................................................................................... 143
anchor............................................................................................................................................................................. 143
kind .................................................................................................................................................................................. 143
leftDirection.................................................................................................................................................................. 143
rightDirection............................................................................................................................................................... 143
typename ...................................................................................................................................................................... 143
PathPoints.................................................................................................................................................................................... 145
Properties............................................................................................................................................................................... 145
length.............................................................................................................................................................................. 145
parent.............................................................................................................................................................................. 145
typename ...................................................................................................................................................................... 145
PDFOpenOptions ...................................................................................................................................................................... 146
Properties............................................................................................................................................................................... 146
antiAlias.......................................................................................................................................................................... 146
bitsPerChannel ............................................................................................................................................................ 146
constrainProportions ................................................................................................................................................ 146
cropPage........................................................................................................................................................................ 146
height.............................................................................................................................................................................. 146
mode ............................................................................................................................................................................... 146
name................................................................................................................................................................................ 146
page................................................................................................................................................................................. 146
resolution....................................................................................................................................................................... 146
suppressWarnings...................................................................................................................................................... 146
typename ...................................................................................................................................................................... 146

Adobe Photoshop CS4
JavaScript Scripting Reference

21

usePageNumber ......................................................................................................................................................... 146
width ............................................................................................................................................................................... 146
PDFSaveOptions ........................................................................................................................................................................ 147
Properties............................................................................................................................................................................... 147
alphaChannels ............................................................................................................................................................. 147
annotations................................................................................................................................................................... 147
colorConversion.......................................................................................................................................................... 147
convertToEightBit....................................................................................................................................................... 147
description .................................................................................................................................................................... 147
destinationProfile ....................................................................................................................................................... 147
downgradeColorProfile............................................................................................................................................ 147
downSample ................................................................................................................................................................ 147
downSampleSize ........................................................................................................................................................ 147
downSampleSizeLimit .............................................................................................................................................. 147
embedColorProfile..................................................................................................................................................... 147
embedFonts ................................................................................................................................................................. 147
embedThumbnail....................................................................................................................................................... 147
encoding........................................................................................................................................................................ 147
interpolation................................................................................................................................................................. 147
jpegQuality ................................................................................................................................................................... 148
layers ............................................................................................................................................................................... 148
optimizeForWeb ......................................................................................................................................................... 148
outputCondition ......................................................................................................................................................... 148
outputConditionID..................................................................................................................................................... 148
PDFCompatibility........................................................................................................................................................ 148
PDFStandard ................................................................................................................................................................ 148
preserveEditing ........................................................................................................................................................... 148
presetFile ....................................................................................................................................................................... 148
profileInclusionPolicy................................................................................................................................................ 148
registryName................................................................................................................................................................ 148
spotColors ..................................................................................................................................................................... 148
tileSize............................................................................................................................................................................. 148
transparency................................................................................................................................................................. 148
typename ...................................................................................................................................................................... 148
useOutlines ................................................................................................................................................................... 148
vectorData..................................................................................................................................................................... 149
view.................................................................................................................................................................................. 149
PhotoCDOpenOptions ............................................................................................................................................................ 150
Properties............................................................................................................................................................................... 150
colorProfileName........................................................................................................................................................ 150
colorSpace..................................................................................................................................................................... 150
orientation..................................................................................................................................................................... 150
pixelSize ......................................................................................................................................................................... 150
resolution....................................................................................................................................................................... 150
typename ...................................................................................................................................................................... 150
PhotoshopSaveOptions .......................................................................................................................................................... 151
Properties............................................................................................................................................................................... 151
alphaChannels ............................................................................................................................................................. 151
annotations................................................................................................................................................................... 151
embedColorProfile..................................................................................................................................................... 151
layers ............................................................................................................................................................................... 151

Adobe Photoshop CS4
JavaScript Scripting Reference

22

spotColors ..................................................................................................................................................................... 151
typename ...................................................................................................................................................................... 151
PICTFileSaveOptions ................................................................................................................................................................ 152
Properties............................................................................................................................................................................... 152
alphaChannels ............................................................................................................................................................. 152
compression ................................................................................................................................................................. 152
embedColorProfile..................................................................................................................................................... 152
resolution....................................................................................................................................................................... 152
typename ...................................................................................................................................................................... 152
PICTResourceSaveOptions..................................................................................................................................................... 153
Properties............................................................................................................................................................................... 153
alphaChannels ............................................................................................................................................................. 153
compression ................................................................................................................................................................. 153
embedColorProfile..................................................................................................................................................... 153
name................................................................................................................................................................................ 153
resolution....................................................................................................................................................................... 153
resourceID ..................................................................................................................................................................... 153
typename ...................................................................................................................................................................... 153
PicturePackageOptions........................................................................................................................................................... 154
Properties............................................................................................................................................................................... 154
content ........................................................................................................................................................................... 154
flatten.............................................................................................................................................................................. 154
font................................................................................................................................................................................... 154
fontSize........................................................................................................................................................................... 154
layout .............................................................................................................................................................................. 154
mode ............................................................................................................................................................................... 154
opacity ............................................................................................................................................................................ 154
resolution....................................................................................................................................................................... 154
text ................................................................................................................................................................................... 154
textColor ........................................................................................................................................................................ 154
textPosition................................................................................................................................................................... 154
textRotate...................................................................................................................................................................... 154
typename ...................................................................................................................................................................... 154
PixarSaveOptions ...................................................................................................................................................................... 155
Properties............................................................................................................................................................................... 155
alphaChannels ............................................................................................................................................................. 155
typename ...................................................................................................................................................................... 155
PNGSaveOptions ....................................................................................................................................................................... 156
Properties............................................................................................................................................................................... 156
interlaced....................................................................................................................................................................... 156
typename ...................................................................................................................................................................... 156
Preferences .................................................................................................................................................................................. 157
Properties............................................................................................................................................................................... 157
additionalPluginFolder............................................................................................................................................. 157
appendExtension........................................................................................................................................................ 157
askBeforeSavingLayeredTIFF.................................................................................................................................. 157
autoUpdateOpenDocuments ................................................................................................................................ 157
beepWhenDone.......................................................................................................................................................... 157
colorChannelsInColor ............................................................................................................................................... 157
colorPicker..................................................................................................................................................................... 157
columnGutter............................................................................................................................................................... 157

Adobe Photoshop CS4
JavaScript Scripting Reference

23

columnWidth ............................................................................................................................................................... 157
createFirstSnapshot................................................................................................................................................... 157
dynamicColorSliders.................................................................................................................................................. 157
editLogItems ................................................................................................................................................................ 157
exportClipboard.......................................................................................................................................................... 158
fontPreviewSize........................................................................................................................................................... 158
fullSizePreview............................................................................................................................................................. 158
gamutWarningOpacity............................................................................................................................................. 158
gridSize........................................................................................................................................................................... 158
gridStyle ......................................................................................................................................................................... 158
gridSubDivisions......................................................................................................................................................... 158
guideStyle...................................................................................................................................................................... 158
iconPreview .................................................................................................................................................................. 158
imageCacheLevels ..................................................................................................................................................... 158
imagePreviews ............................................................................................................................................................ 158
interpolation................................................................................................................................................................. 158
keyboardZoomResizesWindows........................................................................................................................... 158
macOSThumbnail....................................................................................................................................................... 158
maximizeCompatibility ............................................................................................................................................ 158
maxRAMuse.................................................................................................................................................................. 158
nonLinearHistory ........................................................................................................................................................ 158
numberofHistoryStates ............................................................................................................................................ 159
otherCursors................................................................................................................................................................. 159
paintingCursors........................................................................................................................................................... 159
parent.............................................................................................................................................................................. 159
pixelDoubling .............................................................................................................................................................. 159
pointSize ........................................................................................................................................................................ 159
recentFileListLength.................................................................................................................................................. 159
rulerUnits ....................................................................................................................................................................... 159
saveLogItems ............................................................................................................................................................... 159
saveLogItemsFile ........................................................................................................................................................ 159
savePaletteLocations ................................................................................................................................................ 159
showAsianTextOptions ............................................................................................................................................ 159
showEnglishFontNames .......................................................................................................................................... 159
showSliceNumber ...................................................................................................................................................... 159
showToolTips ............................................................................................................................................................... 159
smartQuotes................................................................................................................................................................. 159
typename ...................................................................................................................................................................... 159
typeUnits ....................................................................................................................................................................... 159
useAdditionalPluginFolder ..................................................................................................................................... 160
useHistoryLog .............................................................................................................................................................. 160
useLowerCaseExtension .......................................................................................................................................... 160
useShiftKeyForToolSwitch....................................................................................................................................... 160
useVideoAlpha ............................................................................................................................................................ 160
windowsThumbnail ................................................................................................................................................... 160
PresentationOptions ................................................................................................................................................................ 161
Properties............................................................................................................................................................................... 161
autoAdvance ............................................................................................................................................................... 161
includeFilename.......................................................................................................................................................... 161
interval............................................................................................................................................................................ 161
loop.................................................................................................................................................................................. 161

Adobe Photoshop CS4
JavaScript Scripting Reference

24

magnification ............................................................................................................................................................... 161
PDFFileOptions............................................................................................................................................................ 161
presentation ................................................................................................................................................................ 161
transition........................................................................................................................................................................ 161
typename ...................................................................................................................................................................... 161
RawFormatOpenOptions ....................................................................................................................................................... 162
Properties............................................................................................................................................................................... 162
bitsPerChannel ............................................................................................................................................................ 162
byteOrder ...................................................................................................................................................................... 162
channelNumber .......................................................................................................................................................... 162
headerSize..................................................................................................................................................................... 162
height.............................................................................................................................................................................. 162
interleaveChannels .................................................................................................................................................... 162
retainHeader................................................................................................................................................................. 162
typename ...................................................................................................................................................................... 162
width ............................................................................................................................................................................... 162
RawSaveOptions........................................................................................................................................................................ 163
Properties............................................................................................................................................................................... 163
alphaChannels ............................................................................................................................................................. 163
spotColors ..................................................................................................................................................................... 163
typename ...................................................................................................................................................................... 163
RGBColor....................................................................................................................................................................................... 164
Properties............................................................................................................................................................................... 164
blue .................................................................................................................................................................................. 164
green ............................................................................................................................................................................... 164
hexValue ........................................................................................................................................................................ 164
red .................................................................................................................................................................................... 164
typename ...................................................................................................................................................................... 164
Selection ....................................................................................................................................................................................... 165
Properties............................................................................................................................................................................... 165
bounds............................................................................................................................................................................ 165
parent.............................................................................................................................................................................. 165
solid ................................................................................................................................................................................. 165
typename ...................................................................................................................................................................... 165
Methods ................................................................................................................................................................................. 165
clear ................................................................................................................................................................................. 165
contract .......................................................................................................................................................................... 165
copy ................................................................................................................................................................................. 165
cut..................................................................................................................................................................................... 165
deselect .......................................................................................................................................................................... 165
expand............................................................................................................................................................................ 165
feather............................................................................................................................................................................. 165
fill ...................................................................................................................................................................................... 166
grow ................................................................................................................................................................................ 166
invert ............................................................................................................................................................................... 166
load .................................................................................................................................................................................. 166
makeWorkPath ............................................................................................................................................................ 166
resize ............................................................................................................................................................................... 166
resizeBoundary............................................................................................................................................................ 166
rotate............................................................................................................................................................................... 166
rotateBoundary ........................................................................................................................................................... 166

Adobe Photoshop CS4
JavaScript Scripting Reference

25

select ............................................................................................................................................................................... 166
selectAll .......................................................................................................................................................................... 166
fill ...................................................................................................................................................................................... 167
grow ................................................................................................................................................................................ 167
invert ............................................................................................................................................................................... 167
load .................................................................................................................................................................................. 167
makeWorkPath ............................................................................................................................................................ 167
resize ............................................................................................................................................................................... 167
resizeBoundary............................................................................................................................................................ 167
rotate............................................................................................................................................................................... 167
rotateBoundary ........................................................................................................................................................... 167
select ............................................................................................................................................................................... 167
selectAll .......................................................................................................................................................................... 167
fill ...................................................................................................................................................................................... 168
grow ................................................................................................................................................................................ 168
invert ............................................................................................................................................................................... 168
load .................................................................................................................................................................................. 168
makeWorkPath ............................................................................................................................................................ 168
resize ............................................................................................................................................................................... 168
resizeBoundary............................................................................................................................................................ 168
rotate............................................................................................................................................................................... 168
rotateBoundary ........................................................................................................................................................... 168
select ............................................................................................................................................................................... 168
selectAll .......................................................................................................................................................................... 168
selectBorder.................................................................................................................................................................. 169
similar.............................................................................................................................................................................. 169
smooth ........................................................................................................................................................................... 169
store................................................................................................................................................................................. 169
stroke............................................................................................................................................................................... 169
translate ......................................................................................................................................................................... 169
translateBoundary...................................................................................................................................................... 169
SGIRGBSaveOptions ................................................................................................................................................................. 172
Properties............................................................................................................................................................................... 172
alphaChannels ............................................................................................................................................................. 172
spotColors ..................................................................................................................................................................... 172
typename ...................................................................................................................................................................... 172
SolidColor..................................................................................................................................................................................... 173
Properties............................................................................................................................................................................... 173
cmyk ................................................................................................................................................................................ 173
gray .................................................................................................................................................................................. 173
hsb.................................................................................................................................................................................... 173
lab..................................................................................................................................................................................... 173
model .............................................................................................................................................................................. 173
nearestWebColor ........................................................................................................................................................ 173
rgb.................................................................................................................................................................................... 173
typename ...................................................................................................................................................................... 173
Methods ................................................................................................................................................................................. 173
isEqual............................................................................................................................................................................. 173
SubPathInfo................................................................................................................................................................................. 174
Properties............................................................................................................................................................................... 174
closed.............................................................................................................................................................................. 174

Adobe Photoshop CS4
JavaScript Scripting Reference

26

entireSubPath .............................................................................................................................................................. 174
operation ....................................................................................................................................................................... 174
typename ...................................................................................................................................................................... 174
SubPathItem................................................................................................................................................................................ 175
Properties............................................................................................................................................................................... 175
closed.............................................................................................................................................................................. 175
operation ....................................................................................................................................................................... 175
parent.............................................................................................................................................................................. 175
pathPoints ..................................................................................................................................................................... 175
typename ...................................................................................................................................................................... 175
SubPathItems.............................................................................................................................................................................. 176
Properties............................................................................................................................................................................... 176
length.............................................................................................................................................................................. 176
parent.............................................................................................................................................................................. 176
typename ...................................................................................................................................................................... 176
TargaSaveOptions..................................................................................................................................................................... 177
Properties............................................................................................................................................................................... 177
alphaChannels ............................................................................................................................................................. 177
resolution....................................................................................................................................................................... 177
rleCompression ........................................................................................................................................................... 177
typename ...................................................................................................................................................................... 177
TextFont........................................................................................................................................................................................ 178
Properties............................................................................................................................................................................... 178
family............................................................................................................................................................................... 178
name................................................................................................................................................................................ 178
parent.............................................................................................................................................................................. 178
postScriptName ......................................................................................................................................................... 178
style.................................................................................................................................................................................. 178
typename ...................................................................................................................................................................... 178
TextFonts...................................................................................................................................................................................... 179
Properties............................................................................................................................................................................... 179
length.............................................................................................................................................................................. 179
parent.............................................................................................................................................................................. 179
typename ...................................................................................................................................................................... 179
Methods ................................................................................................................................................................................. 179
getByName ................................................................................................................................................................... 179
TextItem........................................................................................................................................................................................ 180
Properties............................................................................................................................................................................... 180
alternateLigatures ...................................................................................................................................................... 180
antiAliasMethod.......................................................................................................................................................... 180
autoKerning.................................................................................................................................................................. 180
autoLeadingAmount................................................................................................................................................. 180
baselineShift................................................................................................................................................................. 180
capitalization................................................................................................................................................................ 180
color................................................................................................................................................................................. 180
contents ......................................................................................................................................................................... 180
desiredGlyphScaling.................................................................................................................................................. 180
desiredLetterScaling.................................................................................................................................................. 181
desiredWordScaling .................................................................................................................................................. 181
direction......................................................................................................................................................................... 181
fauxBold ......................................................................................................................................................................... 181

Adobe Photoshop CS4
JavaScript Scripting Reference

27

fauxItalic......................................................................................................................................................................... 181
firstLineIndent.............................................................................................................................................................. 181
font................................................................................................................................................................................... 181
hangingPunctuation ................................................................................................................................................. 181
height.............................................................................................................................................................................. 181
horizontalScale ............................................................................................................................................................ 181
hyphenateAfterFirst................................................................................................................................................... 182
hyphenateBeforeLast................................................................................................................................................ 182
hyphenateCapitalWords .......................................................................................................................................... 182
hyphenateWordsLongerThan................................................................................................................................ 182
hyphenation ................................................................................................................................................................. 182
hyphenationZone....................................................................................................................................................... 182
hyphenLimit ................................................................................................................................................................. 182
justification ................................................................................................................................................................... 182
kind .................................................................................................................................................................................. 182
language ........................................................................................................................................................................ 182
leading............................................................................................................................................................................ 182
leftIndent ....................................................................................................................................................................... 182
ligatures ......................................................................................................................................................................... 182
maximumGlyphScaling ............................................................................................................................................ 182
maximumLetterScaling ............................................................................................................................................ 183
maximumWordScaling............................................................................................................................................. 183
minimumGlyphScaling............................................................................................................................................. 183
minimumLetterScaling............................................................................................................................................. 184
minimumWordScaling.............................................................................................................................................. 184
noBreak .......................................................................................................................................................................... 184
oldStyle........................................................................................................................................................................... 184
parent.............................................................................................................................................................................. 184
position .......................................................................................................................................................................... 184
rightIndent .................................................................................................................................................................... 184
size ................................................................................................................................................................................... 184
spaceAfter ..................................................................................................................................................................... 184
spaceBefore .................................................................................................................................................................. 185
strikeThru....................................................................................................................................................................... 185
textComposer .............................................................................................................................................................. 185
tracking........................................................................................................................................................................... 185
typename ...................................................................................................................................................................... 185
underline........................................................................................................................................................................ 185
useAutoLeading.......................................................................................................................................................... 185
verticalScale.................................................................................................................................................................. 185
warpBend ...................................................................................................................................................................... 185
warpDirection .............................................................................................................................................................. 185
warpHorizontalDistortion........................................................................................................................................ 185
warpStyle ....................................................................................................................................................................... 185
warpVerticalDistortion.............................................................................................................................................. 185
width ............................................................................................................................................................................... 185
Methods ................................................................................................................................................................................. 186
convertToShape.......................................................................................................................................................... 186
createPath ..................................................................................................................................................................... 186
TiffSaveOptions.......................................................................................................................................................................... 187
Properties............................................................................................................................................................................... 187

Adobe Photoshop CS4
JavaScript Scripting Reference

28

alphaChannels ............................................................................................................................................................. 187
annotations................................................................................................................................................................... 187
byteOrder ...................................................................................................................................................................... 187
embedColorProfile..................................................................................................................................................... 187
imageCompression.................................................................................................................................................... 187
interleaveChannels .................................................................................................................................................... 187
jpegQuality ................................................................................................................................................................... 187
layerCompression....................................................................................................................................................... 187
layers ............................................................................................................................................................................... 187
saveImagePyramid..................................................................................................................................................... 187
spotColors ..................................................................................................................................................................... 187
transparency................................................................................................................................................................. 187
typename ...................................................................................................................................................................... 187
UnitValue...................................................................................................................................................................................... 188
xmpMetadata ............................................................................................................................................................................. 189
Properties............................................................................................................................................................................... 189
parent.............................................................................................................................................................................. 189
rawData .......................................................................................................................................................................... 189
typename ...................................................................................................................................................................... 189

3

JavaScript Resource.................................................................................................................190
JavaScript resource syntax..................................................................................................................................................... 190
Basic JavaScript resource example ............................................................................................................................... 191
Enable-info grammar ............................................................................................................................................................... 191
Undefined values in enable-info evaluation ............................................................................................................. 193
Using the "in" function ...................................................................................................................................................... 194
Action Manager automation" ............................................................................................................................................... 194
Terminology dictionary .................................................................................................................................................... 194
Value type defintions .................................................................................................................................................. 195
Uniqueness rules for terminology entries.................................................................................................................. 196
Terminology definition example................................................................................................................................... 196

4

Scripting Constants .................................................................................................................198
AdjustmentReference ............................................................................................................................................... 198
AnchorPosition............................................................................................................................................................ 198
AntiAlias ......................................................................................................................................................................... 198
AutoKernType.............................................................................................................................................................. 198
BatchDestinationType .............................................................................................................................................. 198
BitmapConversionType............................................................................................................................................ 199
BitmapHalfToneType ................................................................................................................................................ 199
BitsPerChannelType................................................................................................................................................... 199
BlendMode.................................................................................................................................................................... 199
BMPDepthType ........................................................................................................................................................... 199
ByteOrder ...................................................................................................................................................................... 199
CameraRAWSettingsType........................................................................................................................................ 200
CameraRAWSize.......................................................................................................................................................... 200
ChangeMode................................................................................................................................................................ 200
ChannelType ................................................................................................................................................................ 200
ColorBlendMode......................................................................................................................................................... 201
ColorModel ................................................................................................................................................................... 201
ColorPicker .................................................................................................................................................................... 201
ColorProfileType ......................................................................................................................................................... 201

Adobe Photoshop CS4
JavaScript Scripting Reference

29

ColorReductionType.................................................................................................................................................. 201
ColorSpaceType .......................................................................................................................................................... 201
CopyrightedType........................................................................................................................................................ 201
CreateFields .................................................................................................................................................................. 202
CropToType .................................................................................................................................................................. 202
DCSType......................................................................................................................................................................... 202
DepthMapSource ....................................................................................................................................................... 202
DescValueType ............................................................................................................................................................ 202
DialogModes ................................................................................................................................................................ 202
Direction ........................................................................................................................................................................ 202
DisplacementMapType ............................................................................................................................................ 202
Dither .............................................................................................................................................................................. 203
DocPositionStyle......................................................................................................................................................... 203
DocumentFill................................................................................................................................................................ 203
DocumentMode.......................................................................................................................................................... 203
EditLogItemsType....................................................................................................................................................... 203
ElementPlacement..................................................................................................................................................... 203
EliminateFields ............................................................................................................................................................ 203
ExportType.................................................................................................................................................................... 203
Extension ....................................................................................................................................................................... 203
FileNamingType .......................................................................................................................................................... 204
FontPreviewType........................................................................................................................................................ 204
ForcedColors ................................................................................................................................................................ 204
FormatOptions ............................................................................................................................................................ 204
GalleryConstrainType................................................................................................................................................ 204
GalleryFontType.......................................................................................................................................................... 205
GallerySecurityTextColorType ............................................................................................................................... 205
GallerySecurityTextPositionType.......................................................................................................................... 205
GallerySecurityTextRotateType ............................................................................................................................. 205
GallerySecurityType................................................................................................................................................... 205
GalleryThumbSizeType............................................................................................................................................. 205
Geometry....................................................................................................................................................................... 205
GridLineStyle ................................................................................................................................................................ 205
GridSize .......................................................................................................................................................................... 205
GuideLineStyle............................................................................................................................................................. 206
IllustratorPathType..................................................................................................................................................... 206
Intent............................................................................................................................................................................... 206
Justification................................................................................................................................................................... 206
Language....................................................................................................................................................................... 206
LayerCompression...................................................................................................................................................... 206
LayerKind....................................................................................................................................................................... 207
LensType........................................................................................................................................................................ 207
MagnificationType ..................................................................................................................................................... 207
MatteType ..................................................................................................................................................................... 207
MeasurementRange .................................................................................................................................................. 207
MeasurementSource ................................................................................................................................................. 207
NewDocumentMode................................................................................................................................................. 207
NoiseDistribution........................................................................................................................................................ 208
OffsetUndefinedAreas .............................................................................................................................................. 208
OpenDocumentMode............................................................................................................................................... 208
OpenDocumentType................................................................................................................................................. 208

Adobe Photoshop CS4
JavaScript Scripting Reference

30

OperatingSystem........................................................................................................................................................ 208
Orientation.................................................................................................................................................................... 208
OtherPaintingCursors ............................................................................................................................................... 209
PaintingCursors ........................................................................................................................................................... 209
PaletteType ................................................................................................................................................................... 209
PathKind......................................................................................................................................................................... 209
PDFCompatibility........................................................................................................................................................ 209
PDFEncoding................................................................................................................................................................ 209
PDFResample ............................................................................................................................................................... 210
PDFStandard ................................................................................................................................................................ 210
PhotoCDColorSpace.................................................................................................................................................. 210
PhotoCDSize................................................................................................................................................................. 210
PICTBitsPerPixels......................................................................................................................................................... 210
PICTCompression........................................................................................................................................................ 210
PicturePackageTextType.......................................................................................................................................... 210
PointKind ....................................................................................................................................................................... 211
PointType ...................................................................................................................................................................... 211
PolarConversionType ................................................................................................................................................ 211
Preview ........................................................................................................................................................................... 211
PrintColorHandling .................................................................................................................................................... 211
PrintEncoding .............................................................................................................................................................. 211
PurgeTarget .................................................................................................................................................................. 211
QueryStateType........................................................................................................................................................... 211
RadialBlurMethod....................................................................................................................................................... 211
RadialBlurQuality ........................................................................................................................................................ 211
RasterizeType ............................................................................................................................................................... 211
ReferenceFormType .................................................................................................................................................. 212
ResampleMethod ....................................................................................................................................................... 212
RippleSize ...................................................................................................................................................................... 212
SaveBehavior................................................................................................................................................................ 212
SaveDocumentType .................................................................................................................................................. 212
SaveEncoding .............................................................................................................................................................. 212
SaveLogItemsType..................................................................................................................................................... 212
SaveOptionsType........................................................................................................................................................ 212
SelectionType............................................................................................................................................................... 213
ShapeOperation.......................................................................................................................................................... 213
SmartBlurMode ........................................................................................................................................................... 213
SmartBlurQuality......................................................................................................................................................... 213
SourceSpaceType ....................................................................................................................................................... 213
SpherizeMode.............................................................................................................................................................. 213
StrikeThruType ............................................................................................................................................................ 213
StrokeLocation............................................................................................................................................................. 213
TargaBitsPerPixels ...................................................................................................................................................... 213
TextCase......................................................................................................................................................................... 214
TextComposer.............................................................................................................................................................. 214
TextType ........................................................................................................................................................................ 214
TextureType.................................................................................................................................................................. 214
TIFFEncoding................................................................................................................................................................ 214
ToolType ........................................................................................................................................................................ 214
TransitionType ............................................................................................................................................................. 214
TrimType ........................................................................................................................................................................ 215

Adobe Photoshop CS4
JavaScript Scripting Reference

31

TypeUnits....................................................................................................................................................................... 215
UndefinedAreas .......................................................................................................................................................... 215
UnderlineType ............................................................................................................................................................. 215
Units................................................................................................................................................................................. 215
Urgency .......................................................................................................................................................................... 215
WarpStyle ...................................................................................................................................................................... 215
WaveType ...................................................................................................................................................................... 216
WhiteBalanceType...................................................................................................................................................... 216
ZigZagType................................................................................................................................................................... 216

Appendix A: Event ID Codes ...................................................................................................217
Index .........................................................................................................................................225

Adobe Photoshop CS4
JavaScript Scripting Reference

32

1

Introduction
This reference describes the objects and methods in the Adobe® Photoshop® CS4® JavaScriptTM type
library. A companion document, Photoshop CS4 Scripting Guide, describes basic scripting concepts and the
Photoshop object model. This document provides reference details of the Photoshop object model, and
additional information on JavaScript-specific features.
Adobe Photoshop CS4 uses ExtendScript, Adobe’s extended implementation of JavaScript. See JavaScript
support in Adobe Photoshop CS4 for additional information.
This book contains the following sections:
●

This introduction, which describes scripting support in Adobe Photoshop CS4, and lists changes to the
JavaScript interface since the previous release.

●

JavaScript Object Reference, which provides a complete reference for all Photoshop DOM objects and
commands.

●

Scripting Constants, which lists all enumerations used in the Photoshop type library.

JavaScript support in Adobe Photoshop CS4
For a JavaScript file to be recognized by Photoshop as a valid script file, it must use either a .js or a .jsx
extension.
On the Mac OS, there is no difference in the way scripts with the two extensions function. On Windows, if
the script files is opened from inside Photoshop, there is no difference between using the .js and .jsx
extension. However, if the script is launched by double-clicking on it, a script with the .js extension is
interpreted with the Microsoft JScript engine, and it cannot launch Adobe Photoshop CS4. For Windows,
using the .jsx extension is preferrable, since it interprets the script with the ExtendScript engine.
All of the Adobe Creative Suite 4 applications, including Adobe Photoshop CS4, use ExtendScript, Adobe’s
extended implementation of JavaScript. ExtendScript files are distinguished by the .jsx extension.
ExtendScript offers all standard JavaScript features, plus additional features and utilities, such as:
●

A debugging environment (the ExtendScript Toolkit)

●

A localization utility

●

Tools that allow you to combine scripts and direct them to particular applications

●

Platform-independent file and folder representation

Many of the JavaScript objects and methods use objects defined in ExtendScript, such as the File object,
the Folder object, and the UnitValue object. For that reason, using the .jsx extension for your script
files is preferable.
For details of these and additional features, see the JavaScript Tools Guide CS4. This document is installed
with Creative Suite 4 applications at these locations:
●

In Windows:
C:\Program Files\Adobe\Adobe Utilities\ExtendScript Toolkit CS4\SDK

33

Adobe Photoshop CS4
JavaScript Scripting Reference

●

Introduction

34

In Mac OS:
Applications/Utilities/Adobe Utilities/ExtendScript Toolkit CS4/SDK

The latest versions of this document and of the ExtendScript Tookit, can also be downloaded from Adobe
Developer Center, http://www.adobe.com/devnet/.

Executing scripts
The Adobe Photoshop CS4 interface includes a Scripts menu (File > Scripts) which provides quick and
easy access to your JavaScripts. Scripts can be listed directly as menu items that run when you select them,
or you can navigate to and run any JavaScript in your file system.
If Adobe Photoshop CS4 encounters an error during script execution, it displays the error message.

Installing scripts
To install a JavaScript in the Scripts menu, place it in the Scripts folder (Photoshop CS4/Presets/Scripts).
The names of the scripts in the Scripts folder, without the file name extension, will be displayed in the
Scripts menu. Any number of scripts may be installed in the Scripts menu.
Scripts added to the Scripts folder while Adobe Photoshop CS4 is running will not appear in the Scripts
menu until the next time you launch the application.
All scripts found in the Scripts folder and sub-folders are displayed at the top level of the File > Scripts
menu. The addition of sub-folders does not add a hierarchical organization to the Scripts menu.

Executing other scripts
The Browse item at the end of the Scripts menu (File > Scripts > Browse) allows you to execute scripts
which are not installed in the Scripts folder. You can also use Browse to select scripts installed in the Scripts
folder after the application was last launched.
Selecting Browse displays a file browser dialog which allows you to select a script file for execution. Only
.js or .jsx files are displayed in the browse dialog. When you select a script file, it is executed the same

way as an installed script.

Startup scripts
On startup, Adobe Photoshop CS4 executes all .jsx files that it finds in the startup folders.
●

On Windows, the startup folder for user-defined scripts is:
C:\Program Files\Common Files\Adobe\Startup Scripts CS4\Adobe Photoshop

●

On Mac OS, the startup folder for user-defined scripts is:
~/Library/Application Support/Adobe/Startup Scripts CS4/Adobe Photoshop

If a script is meant to be executed only by Adobe Photoshop CS4, it must include code such as the
following:
if( BridgeTalk.appName == "photoshop" ) {
//continue executing script
}

For additional details, see the JavaScript Tools Guide CS4.

Adobe Photoshop CS4
JavaScript Scripting Reference

Introduction

35

Object model usage and naming
The JavaScript API follows JavaScript naming conventions in that all classes (object types) begin with
uppercase letters and have mixed case. Typically, in JavaScript, you instantiate classes using the new
operator:
new ClassName();

However, in the Photoshop Object Model, it is often not necessary to do this. Major object types are
collected into collection classes; for example, a list of Document objects is contained in a Documents
collection object. You then access the collection object through a corresponding collection property in its
container in the object hierarchy.
For example, the collection of all open documents is contained in the top-level Application object. You
can access this through the global variable app, or simply reference its properties directly at the top level:
app.documents[0] // get the first loaded documented
documents[0] // this is the same

A collection property has the same name as the collection object, but begins with lowercase. For example,
a Document contains a collection of LayerSets, and a LayerSet contains a collection of ArtLayers. To
access one ArtLayer object in a set:
var myLayer = activeDocument.layerSets[0].artLayers[0];

The collections, as in this example, can be treated as arrays, which is useful for iteration. They also provide
methods to create their contained objects, and to access them by name:
var newLayer = activeDocument.artLayers.add(); // Create a new ArtLayer object
newLayer.name = "My Layer"; // name it for later reference
...
var layerRef = activeDocument.artLayers.getByName("My Layer");

Some objects, such as the Font objects contained in the app.fonts collection, are created by the
application, and never by your scripts.
Your scripts do use the JavaScript new operator to create helper objects, such as those that encapsulate a
set of options for opening or saving a document in a particular format:
var opts = new PDFOpenOptions();
opts.page = 10;
app.open(myPDFFile, opts);

Changes since earlier versions - CS4 changes
The following changes have been made to the JavaScript object model and language support in Adobe
Photoshop CS4:
●

New methods and properties:
●

PrintSettings of type DocumentPrintSettings has been added to the Document object.

●

togglePalettes method has been added to the Application object.

●

runMenuItem method has been added to the Application object.

●

printOneCopy method has been added to the Document object.

●

build property has been added to the Application object.

●

systemInformation property has been added to the Application object.

Adobe Photoshop CS4
JavaScript Scripting Reference

●

●

●

layerMaskDensity property has been added to the ArtLayer object.

●

layerMaskFeather property has been added to the ArtLayer object.

●

vectorMaskDensity property has been added to the ArtLayer object.

●

vectorMaskFeather property has been added to the ArtLayer object.

●

filterMaskDensity property has been added to the ArtLayer object.

●

filterMaskFeather property has been added to the ArtLayer object.

●

xmpMetadata property has been added to the Layer object.

New enumerations:
●

DocPositionStyle has been added for the DocumentPrintSettings object.

●

PrintColorHandling has been added for the DocumentPrintSettings object.

●

PDFX42008 has been added for the PDFStandard object.

●

PDF17 has been added for the PDFCompatibility object.

Modified enumerations:
●

LIGHTERCOLOR and DARKERCOLOR has been added to the BlendMode enumeration.

●

BLACKANDWHITE and VIBRANCE has been added to the LayerKind enumeration.

Bug fixes
●

size for the font is now of type UnitValue.

Introduction

36

2

JavaScript Object Reference
The Photoshop objects (the JavaScript type library for Adobe® Photoshop® CS4) are presented
alphabetically and in tabular format in this chapter. Sample code for several object model classes is given
to help illustrate the syntax as well as usage of the object class.

Object descriptions
Object properties and methods are described in separate tables for each object. The following sections
describe the conventions used in these descriptions.

Properties notation
The Properties table for an object lists the following:
●

The properties defined in each object.

●

The value type for each property.
When the value type is a constant or another object, the value is a hypertext link to the listing for that
constant or object.

●

The property’s input status: read-only or read-write.

●

A description that explains what the property does.

Property

Value type

displayDialogs DialogModes

What it is
Read-write. The dialog mode for the application, which controls
what types of dialogs should be displayed when running
scripts.

For constants, like DialogModes in the sample, click the link to go to the table that shows allowed values.
Constants are represented by objects, and allowed values are properties of those objects. Specify a
constant value in the form ConstantName.VALUE. For example:
app.displayDialogs = DialogModes.ERROR;

Methods notation
The Methods table for an object lists the following:
●

The method name.

●

The parameters list.

●

The parameter value types, on lines corresponding to each parameter.

●

Return value type

●

A description of what the method does, and further descriptions of parameters, if needed.

37

Adobe Photoshop CS4
JavaScript Scripting Reference

Method

JavaScript Object Reference

Parameter type

Returns

crop
(bounds
[, angle]
[, width]
[, height])

array of 4
UnitValue
number
UnitValue
UnitValue

38

What it does
Crops the document. The
bounds parameter is an array of
four coordinates for the region
remaining after cropping, [left,
top, right, bottom].

When a parameter type or return value is a constant or another object, the value is a hypertext link to the
listing for that constant or object.
Parameters can be required or optional. Optional parameters are indicated in the table by square brackets
([]). In the example, the first parameters, bounds, is required. The remaining parameters are all optional.
You must pass a value for each required parameter. You can leave out optional parameters if there are no
remaining values to pass; however, if you wish to use the default value for any optional parameter that is
not the last one specified, pass undefined as a placeholder. You must enter the values in the order they are
listed, so that the JavaScript compiler knows which value you are entering.
For example, the following passes only the required parameter (using a previously-defined variable for the
bounding region):
app.activeDocument.crop( myRegion );

The following skips the angle parameter, specifies the width value, and omits the final height value:
var myWidth = new UnitValue( "500 pixels" );
app.executeAction( myRegion,undefined,myWidth );

Adobe Photoshop CS4
JavaScript Scripting Reference

JavaScript Object Reference

39

ActionDescriptor
This object provides a dictionary-style mechanism for storing data as key-value pairs. It can be used for
low-level access into Photoshop. See an example of this usage in ‘Selection sample script’ on page 169.
Many configuration files use serialized action descriptors to represent their data. It is used, for example, to
encapsulate playback options in Application.playbackParameters, and is returned by
Application.getCustomOptions().

Properties
Property

Value type

What it is

count

number

Read-only. The number of keys contained in the descriptor.

typename

string

Read-only. The class name of the referenced
actionDescriptor object.

Methods
Method

Parameter type

Returns

What it does
Clears the descriptor.

clear
()

Erases a key from the descriptor.

erase
(key)

number

Creates a descriptor from a stream
of bytes; for reading from disk.

fromStream
(value)

string

getBoolean
(key)

getClass
(key)

number

Gets the value of a key of type
double.

number

Gets the enumeration type of a
key.

number

Gets the enumeration value of a
key.

number

Gets the value of a key of type
integer.

number

Gets the ID of the Nth key,
provided by index.

number

getKey
(index)

Gets raw byte data as a string
value.

number

getInteger
(key)

string

number

getEnumerationValue
(key)

Gets the value of a key of type
class.

number

getEnumerationType
(key)

number

number

getDouble
(key)

Gets the value of a key of type
boolean.

number

getData
(key)

boolean
number

number

Adobe Photoshop CS4
JavaScript Scripting Reference

Method

JavaScript Object Reference

Parameter type

getList
(key)

ActionDescriptor

number
boolean

putClass
(key,
value)

number
number

putData
(key,
value)

number
string

putDouble
(key,
value)

number
number

putEnumerated
(key,
enumType,
value)

number
number number

putInteger
(key,
value)

Gets the value of a key of type
ActionReference.

string

Gets the value of a key of type
string.

DescValueType

Gets the type of a key.

number

Gets the unit type of a key of type
UnitDouble.

number

Gets the value of a key of type
UnitDouble.

boolean

Checks whether the descriptor
contains the provided key.

boolean

Determines whether the
descriptor is the same as another
descriptor.

number

putBoolean
(key,
value)

ActionReference

number

isEqual
(otherDesc)

Gets the value of a key of type
File.

number

hasKey
(key)

File

number

getUnitDoubleValue
(key)

object.

number

getUnitDoubleType
(key)

Gets the class ID of an object in a
key of type object.

number

getType
(key)

number

number

getString
(key)

Gets the value of a key of type list.

ActionDescriptor Gets the value of a key of type

getReference
(key)

ActionList

number

getPath
(key)

What it does (Continued)

number

getObjectValue
(key)

Returns

number

getObjectType
(key)

40

number
number

Sets the value for a key whose type
is boolean.
Sets the value for a key whose type
is class.
Puts raw byte data as a string
value.
Sets the value for a key whose type
is double.
Sets the enumeration type and
value for a key.

Sets the value for a key whose type
is integer.

Adobe Photoshop CS4
JavaScript Scripting Reference

Method

JavaScript Object Reference

Parameter type

Returns

number
ActionList

Sets the value for a key whose type
is an object, represented by an
Action Descriptor.

putObject
(key,
classID,
value)

number
number
ActionDescriptor

Sets the value for a key whose type
is path.

putPath
(key,
value)

number
File

Sets the value for a key whose type
is an object reference.

putReference
(key,
value)

number
ActionReference

Sets the value for a key whose type
is string.

putString
(key,
value)

number
string

Sets the value for a key whose type
is a unit value formatted as a
double.

putUnitDouble
(key,
unitID,
value)

toStream
()

What it does (Continued)
Sets the value for a key whose type
is an ActionList object.

putList
(key,
value)

41

number
number
number
string

Gets the entire descriptor as a
stream of bytes, for writing to disk.

Adobe Photoshop CS4
JavaScript Scripting Reference

JavaScript Object Reference

42

ActionList
This object provides an array-style mechanism for storing data. It can be used for low-level access into
Photoshop.
This object is ideal when storing data of the same type. All items in the list must be of the same type.
You can use the "put" methods, such as putBoolean(), to append new elements, and can clear the entire
list using clear(), but cannot otherwise modify the list.
Note: The ActionList object is part of the Action Manager functionality. For details on using the Action
Manager, see the Photoshop CS4 Scripting Guide.

Properties
Property

Value type

What it is

count

number

Read-only. The number of commands that comprise the
action.

typename

string

Read-only. The class name of the referenced
ActionList object.

Methods
With the exception of the clear() method, you use the methods of this object to either get the value of a
specific type of data in the list or set (put) the value type.
Method

Parameter type

Returns

What it does
Clears the list.

clear
()

getBoolean
(index)

getClass
(index)

Gets raw byte data as a string
value.

number

Gets the value of a list element of
type double.

number

Gets the enumeration type of a list
element.

number

Gets the enumeration value of a
list element.

number

Gets the value of a list element of
type integer.

number

getInteger
(index)

string

number

getEnumerationValue
(index)

Gets the value of a list element of
type class.

number

getEnumerationType
(index)

number

number

getDouble
(index)

Gets the value of a list element of
type boolean.

number

getData
(index)

boolean
number

number

Adobe Photoshop CS4
JavaScript Scripting Reference

Method

JavaScript Object Reference

Parameter type

Returns

What it does (Continued)

ActionList

Gets the value of a list element of
type list.

number

Gets the class ID of a list element
of type object.

ActionDescriptor

Gets the value of a list element of
type object.

File

Gets the value of a list element of
type File.

ActionReference

Gets the value of a list element of
type ActionReference.

string

Gets the value of a list element of
type string.

DescValueType

Gets the type of a list element.

number

Gets the unit value type of a list
element of type Double.

number
number

Gets the unit value of a list
element of type double.

boolean

Appends a new value, true or
false.

number

Appends a new value, a class or
data type.

string

Appends a new value, a string
containing raw byte data.

getList
(index)

number

getObjectType
(index)

number

getObjectValue
(index)

number

getPath
(index)

number

getReference
(index)

number

getString
(index)

number

getType
(index)

number

getUnitDoubleType
(index)

number

getUnitDoubleValue
(index)

putBoolean
(value)

putClass
(value)

putData
(value)

Appends a new value, a double.

putDouble
(value)

number

putEnumerated
(enumType,
value)

number
number

number

putList
(value)

ActionList

number
ActionDescriptor

Appends a new value, a path.

putPath
(value)

File

putReference
(value)

Appends a new value, a nested
action list.
Appends a new value, an object.

putObject
(classID,
value)

Appends a new value, an
enumerated (constant) value.
Appends a new value, an integer.

putInteger
(value)

43

ActionReference

Appends a new value, a reference
to an object created in the script.

Adobe Photoshop CS4
JavaScript Scripting Reference

Method

JavaScript Object Reference

Parameter type
string

putUnitDouble
(classID,
value)

What it does (Continued)
Appends a new value, a string.

putString
(value)

Returns

44

number
number

Appends a new value, a unit/value
pair.

Adobe Photoshop CS4
JavaScript Scripting Reference

JavaScript Object Reference

45

ActionReference
This object provides information about what the action is refering to. For example, when referring to the
name of something you might use keyName. The reference would also need to know what name you are
referring to. In this case you could use classDocument for the name of the document or classLayer for the
name of the layer. It can be used for low-level access into Photoshop.Contains data associated with an
ActionDescriptor.

Properties
Property

Value type

What it does

typename

string

Read-only. The class name of the referenced Action
object.

Methods
Method
getContainer

Parameter type

Returns

What it does

ActionReference

Gets a reference contained in this
reference.

()

Container references provide
additional pieces to the reference.
This looks like another reference,
but it is actually part of the same
reference.
getDesiredClass

number

Gets a number representing the
class of the object.

number

Gets the enumeration type.

number

Gets the enumeration value.

()

getEnumeratedType
()

getEnumeratedValue
()

getForm

ReferenceFormType Gets the form of this action

reference.

()

getIdentifier

number

Gets the identifier value for a
reference whose form is identifier.

number

Gets the index value for a
reference in a list or array.

string

Gets the name of a reference.

number

Gets the offset of the object’s
index value.

number

Gets the property ID value.

()

getIndex
()

getName
()

getOffset
()

getProperty
()

Adobe Photoshop CS4
JavaScript Scripting Reference

Method

JavaScript Object Reference

Parameter type

Puts a new class form and class
type into the reference.

number
number
number

Puts an enumeration type and ID
into a reference along with the
desired class for the reference.

putEnumerated
(desiredClass,
enumType,
value)

putIdentifier
(desiredClass,
value)

number
number

putIndex
(desiredClass,
value)

number
number

putName
(desiredClass,
value)

number
string

putOffset
(desiredClass,
value)

number
number

putProperty
(desiredClass,
value)

What it does (Continued)

number

putClass
(desiredClass)

Returns

number
number

46

Puts a new identifier and value into
the reference.
Puts a new index and value into
the reference.
Puts a new name and value into
the reference.
Puts a new offset and value into
the reference.
Puts a new property and value into
the reference.

Adobe Photoshop CS4
JavaScript Scripting Reference

JavaScript Object Reference

47

Application
The Adobe Adobe Photoshop CS4 application object, which is the root of the object model and provides
access to all other objects. This object provides application-wide information, such as application defaults
and available fonts. It provides many important methods , such as those for opening files and loading
documents.
To access the properties and methods, you can use the pre-defined global variable app. For example:
var docRef = app.documents.add(800, 600, 72, "docRef", NewDocumentMode.RGB);

The properties and methods of the Application object are also available at the top level; you can omit
references to the Application object altogether. For example:
var docRef = documents.add(800, 600, 72, "docRef", NewDocumentMode.RGB);

This usage can be somewhat ambiguous; for clarity, it is recommended that you use an explicit reference
to app.

Properties
Property

Value type

What it is

activeDocument

Document

Read-write. The frontmost document.
Setting this property is equivalent to clicking an
open document in the Adobe Photoshop CS4
application to bring it to the front of the screen.
Tip: If there is no open document, accessing this
property throws an exception.

backgroundColor

SolidColor

Read-write. The default background color and color
style for documents.

build

string

Read-only. Information about the application.

colorSettings

string

Read-write. The name of the current color settings,
as selected with Edit > Color Settings.

displayDialogs

DialogModes

Read-write. The dialog mode for the application,
which controls what types of dialogs should be
displayed when running scripts.

documents

Documents

Read-only. The collection of open documents.
This is the primary point of access for documents
that are currently open in the application. The array
allows you to access any open document, or to
iterate through all open documents.

fonts

TextFonts

Read-only. The fonts installed on this system.

foregroundColor

SolidColor

Read-write. The default foreground color (used to
paint, fill, and stroke selections).

freeMemory

number

Read-only. The amount of unused memory
available to Adobe Photoshop CS4.

Adobe Photoshop CS4
JavaScript Scripting Reference

JavaScript Object Reference

Property

Value type

What it is (Continued)

locale

string

Read-only. The language location of the
application.

48

An Adobe locale code consists of a 2-letter ISO-639
language code and an optional 2-letter ISO 3166
country code separated by an underscore. Case is
significant. For example, en_US, en_UK, ja_JP, de_DE,
fr_FR.
macintoshFileTypes

array of string

Read-only. A list of file image types Adobe
Photoshop CS4 can open.

measurementLog

MeasurementLog

The log of measurements taken.

name

string

Read-only. The application's name.

notifiers

Notifiers

Read-only. The collection of notifiers currently
configured (in the Scripts Events Manager menu in
the Adobe Photoshop CS4 application).

notifiersEnabled

boolean

Read-write. True if all notifiers are enabled.

path

File

Read-only. The full path to the location of the
Adobe Photoshop CS4 application.

playbackDisplayDialogs

DialogModes

Read-write. The dialog mode for playback mode,
which controls what types of dialog to display
when playing back a recorded action with the
Actions palette.

playbackParameters

ActionDescriptor

Read-write. Stores and retrieves parameters used as
part of a recorded action. Can be used, for example,
to control playback speed.

preferences

Preferences

Read-only. The application preference settings
(equivalent to selecting Edit > Preferences in the
Adobe Photoshop CS4 application in Windows or
Photoshop > Preferences in Mac OS).

preferencesFolder

File

Read-only. The full path to the Preferences folder.

recentFiles

array of File

Read-only. Files in the Recent Files list.

scriptingBuildDate

string

Read-only. The build date of the Scripting interface.

scriptingVersion

string

Read-only. The version of the Scripting interface.

systemInformation

string

Read-only. Runtime details of the application and
system.

typename

string

Read-only. The class name of the referenced app
object.

Adobe Photoshop CS4
JavaScript Scripting Reference

JavaScript Object Reference

Property

Value type

What it is (Continued)

version

string

Read-only. The version of Adobe Photoshop
application you are running.

windowsFileTypes

array of string

Read-only. A list of file image extensions Adobe
Photoshop CS4 can open.

49

Methods
Method

Parameter type

batch
(inputFiles,
action,
from
[, options])

Returns

What it does

string

Runs the batch automation routine
(similar to the File > Automate >
Batch command).

array of File
string
string
BatchOptions

The inputFiles parameter specifies
the sources for the files to be
manipulated by the batch command.
Causes a "beep" sound.

beep
()

Makes Adobe Photoshop CS4 the
active (front-most) application.

bringToFront
()
number

charIDToTypeID
(charID)

string

Plays an action from the Actions
palette. The action parameter is the
name of the action, the from
parameter is the name of the action
set.

doAction
(action,
from)

string
string

Erases the user object with specified
ID value from the Photoshop registry.

eraseCustomOptions
(key)

Converts from a four character code
(character ID) to a runtime ID.

string

ActionDescriptor Plays an Action Manager event.

executeAction
number
(eventID
ActionDescriptor
[, descriptor]
[, displayDialogs]) DialogModes

ActionDescriptor Obtains information about a

executeActionGet
(reference)

ActionReference
boolean

featureEnabled
(name)

predefined or recorded action.

string

Determines whether the feature
specified by name is enabled.
The following features are supported
as values for name:
"photoshop/extended"
"photoshop/standard"
"photoshop/trial"

Adobe Photoshop CS4
JavaScript Scripting Reference

Method

JavaScript Object Reference

Parameter type
string

Photoshop registry for the ID with
value key.
Loads a support file (as opposed to a
Photoshop image document) from
the specified location.

load
(document)

File

makeContactSheet
(inputFiles
[, options])

string

Creates an Adobe PDF presentation
file from the specified input files.
The return string contains the path to
the PDF file.

string

Creates a web photo gallery from the
files in the specified input folder.

string

DEPRECATED for Adobe Photoshop CS4.
Use provided script:

File
File
GalleryOptions

makePhotomerge
(inputFiles)

Creates a contact sheet from the
specified files.

array of File
File
PresentationOptions

makePhotoGallery
(inputFolder,
outputFolder
[, options])

string
array of File
ContactSheetOptions

makePDFPresentation
(inputFiles,
outputFiles
[, options])

What it does (Continued)

ActionDescriptor Retreives user objects in the

getCustomOptions
(key)

Returns

50

array of File

runphotomergeFromScript = true;
$.evalFile( app.path +
"Presets/Scripts/Photomerge.jsx")
photomerge.createPanorama(
fileList, displayDialog );

Merges multiple files into one, with
user interaction required.
string

makePicturePackage
(inputFiles
[, options])

array of File
PicturePackageOptions

Creates a picture package from the
specified input files.

Adobe Photoshop CS4
JavaScript Scripting Reference

Method

JavaScript Object Reference

Parameter type

open
(document
[, as]
[, asSmartObject])

Returns

What it does (Continued)

Document

Opens the specified document.

File
object or OpenDocumentType
boolean

51

Use the optional as parameter to
specify the file format using the
constants in OpenDocumentType; or,
you can specify a file format together
with its open options using these
objects:
CameraRAWOpenOptions
DICOMOpenOptions
EPSOpenOptions
PDFOpenOptions
PhotoCDOpenOptions
RawFormatOpenOptions

Use the optional parameter
asSmartObject (default: false) to
create a smart object around the
opened document.
See the Application sample scripts for
an example of using the File object
in the open method.
array of File

openDialog
()

Invokes the Photoshop Open dialog
box for the user to select files.
Returns an array of File objects for
the files selected in the dialog.
Purges one or more caches.

purge
(target)

PurgeTarget

Saves a customized settings object in
the Photoshop registry.

putCustomOptions
(key,
customObject
[, persistent])

string
ActionDescriptor
boolean

key is the unique identifier for your

custom settings.
customObject is the object to save in

the registry.
persistent indicates whether the

object should persist once the script
has finished.
Pauses the script while the
application refreshes. Use to slow
down execution and show the results
to the user as the script runs. Use
carefully; your script runs much more
slowly when using this method.

refresh
()

runMenuItem

Run a menu item given the menu ID.

number

(menuID)
number

stringIDToTypeID
(stringID)

string

Converts from a string ID to a runtime
ID.

Adobe Photoshop CS4
JavaScript Scripting Reference

Method

JavaScript Object Reference

Parameter type

Returns

52

What it does (Continued)
Toggle palette visibility.

togglePalettes
()

typeIDToCharID
(typeID)

typeIDToStringID
(typeID)

string

Converts from a runtime ID to a
character ID.

string

Converts from a runtime ID to a string
ID.

number

number

Application sample scripts
Application.jsx
This script invokes an alert box to display Properties important to an application such as version number,
the path to the application, the amount of memory available, and the number of documents open.
When a user presses the OK button on the alert box, a second dialog opens, which asks users whether they
would like the foreground and background colors set for the document presently open. If no document is
open, the script opens a new document for the user.
The script (with no document open) produces a progression of three dialogs.
//Create a Welcome message
// Use the name and version properties of the application object to
// Append the application’s name and version to the Welcome message
// use "\r" to insert a carriage return
// use the combination operator += to append info to the message
var message = "Welcome to " + app.name
message += " version " + app.version + "\r\r"
// find out where Adobe Photoshop CS4 is installed
// and add the path to the message
// add the optional parameter fsName to the path property
// to display the file system name in the most common format
message += "I’m installed in " + app.path.fsName + "\r\r"
// see how much memory Adobe Photoshop CS4 has to play with
message += "You have this much memory available for Adobe Photoshop CS4: " +
app.freeMemory + "\r\r"
// use the length property of the documents object to
// see how many documents are open
var documentsOpen = app.documents.length
message += "You currently have " + documentsOpen + " document(s) open.\r\r"
// display the message to the user
alert(message)
// answer will be true for a "Yes" answer and false for a "No" answer
var answer = confirm("Set the foreground and background to my favorite colors?")
// set the colors
if (answer) {
// I don’t have a favorite color. Why did I ask you may wonder?
app.foregroundColor.rgb.red = Math.random() * 255
app.foregroundColor.rgb.green = Math.random() * 255

Adobe Photoshop CS4
JavaScript Scripting Reference

JavaScript Object Reference

app.foregroundColor.rgb.blue = Math.random() * 255
app.backgroundColor.rgb.red = Math.random() * 255
app.backgroundColor.rgb.green = Math.random() * 255
app.backgroundColor.rgb.blue = Math.random() * 255
}
// Open a document
if (app.documents.length == 0) {
// use the application’s path and the offset to the samples folder
var sampleDocToOpen = File(app.path + "/Samples/Fish.psd")
// compose a message with the name of the file
message = "Would you like me to open a sample for you? ("
message += sampleDocToOpen.fsName
message += ")"
// ask the user another question
answer = confirm(message)
// open the document accordingly
if (answer) {
open(sampleDocToOpen)
}
}

PDFPresentation.jsx
This script presents a progression of images as an Adobe PDF slide show.
// use all the files in the Samples folder
var inputFolder = new Folder(app.path + "/Samples/")
// see if we have something interesting
if (inputFolder != null) {
// get all the files found in this folder that are Adobe Photoshop CS4 (.psd
format)
var inputFiles = inputFolder.getFiles("*.psd")
// output to the desktop
var outputFile = File("~/Desktop/JavaScriptPresentation.pdf")
// there are defaults but I like to set the options myself
var options = new PresentationOptions
options.presentation = true
options.view = true
options.autoAdvance = true
options.interval = 5
options.loop = true
options.transition = TransitionType.RANDOM
// create the presentation
makePDFPresentation(inputFiles, outputFile, options)
alert("Presentation file saved to: " + outputFile.fsName)
}

53

Adobe Photoshop CS4
JavaScript Scripting Reference

JavaScript Object Reference

54

ArtLayer
An object within a document that contains the visual elements of the image (equivalent to a layer in the
Adobe Photoshop CS4 application).
Access an art layer in a document through the Document.artLayers collection. You can access a layer by
name; for example:
var layerRef = app.activeDocument.artLayers.getByName("my layer");
layerRef.allLocked = true;

Access the art layers in a layer set through the LayerSet.artLayers collection in the parent set.

Properties
Property

Value type

What it is

allLocked

boolean

Read-write. True to completely lock the contents and
settings of this layer.

blendMode

BlendMode

Read-write. The blending mode.

bounds

array of
UnitValue

Read-only. An array of coordinates that describes the
bounding rectangle of the layer.

fillOpacity

number [0.0..100] Read-write. The interior opacity of the layer, a

percentage value.
filterMaskDensity

double

Read-write. The density of the filter mask (between
0.0 and 250.0)

filterMaskFeather

double

Read-write. The feather of the filter mask (between 0.0
and 250.0)

grouped

boolean

Read-write. True if this layer is grouped with the layer
beneath it.

isBackgroundLayer

boolean

Read-write. True if this is the background layer of the
document. A document can have only one
background layer. If there is no background layer,
setting this to true causes this to become the
background layer.

kind

LayerKind

Read-write. Sets the type (such as 'text layer') for an
empty layer.
Valid only when the layer is empty and when
isBackgroundLayer is false. See
isBackgroundLayer.
You can use the kind property to make a background
layer a normal layer; however, to make a layer a
background layer, you must set isBackgroundLayer
to true.

layerMaskDensity

double

Read-write. The density of the layer mask (between
0.0 and 100.0)

Adobe Photoshop CS4
JavaScript Scripting Reference

JavaScript Object Reference

Property

Value type

What it is (Continued)

layerMaskFeather

double

Read-write. The feather of the layer mask (between
0.0 and 250.0)

linkedLayers

array of ArtLayer Read-only. The layers linked to this layer. See
or LayerSet

55

ArtLayer.link.

Read-write. The name.

name

string

opacity

number [0.0..100.0]. Read-write. The master opacity of the layer, a

percentage value.
parent

Document

Read-only. The object's container.

pixelsLocked

boolean

Read-write. True if the pixels in the layer’s image
cannot be edited using the paintbrush tool.

positionLocked

boolean

Read-write. True if the pixels in the layer’s image
cannot be moved within the layer.

textItem

TextItem

Read-only. The text item that is associated with the
layer.
Valid only when kind = LayerKind.TEXT.

transparentPixelsLocked boolean

Read-write. True if editing is confined to the opaque
portions of the layer.

typename

string

Read-only. The class name of the referenced
artLayer object.

vectorMaskDensity

double

Read-write. The density of the vector mask (between
0.0 and 250.0)

vectorMaskFeather

double

Read-write. The feather of the vector mask (between
0.0 and 250.0)

visible

boolean

Read-write. True if the layer is visible.

xmpMetadata

xmpMetadata

Read-write. Metadata for the layer.

Adobe Photoshop CS4
JavaScript Scripting Reference

JavaScript Object Reference

56

Methods
Method

Parameter type
number
number

adjustColorBalance
([shadows]
[, midtones]
[, highlights]
[, preserveLuminosity]

What it does
Adjusts the brightness in the
range [-100..100] and contrast
[-100..100].

adjustBrightnessContrast
(brightness,
contrast)

Returns

array of number
array of number
array of number
boolean

Adjusts the color balance of the
layer’s component channels. For
shadows, midtones, and
highlights, the array must
include three values in the
range [-100..100], which
represent cyan or red, magenta
or green, and yellow or blue,
when the document mode is
CMYK or RGB.
See Document.mode.

adjustCurves
(curveShape)

array of array of number

Adjusts the tonal range of the
selected channel using up to
fourteen points.
Each value in the curveShape
array is a point pair, an array of
an x and y integer value.

adjustLevels
(inputRangeStart,
inputRangeEnd,
inputRangeGamma,
outputRangeStart,
outputRangeEnd)

number
number
number
number
number

[0..253]
[(start + 2)..255]
[0.10..9.99]
[0..253]
[(start + 2)..255]

applyAddNoise
(amount,
distribution,
monochromatic)

number [0.1..400]
NoiseDistribution
boolean

Adjusts the levels of the
selected channels

Applies the Add Noise filter
amount is a percentage value.

Applies the Average filter.

applyAverage
()

Applies the Blur filter.

applyBlur
()

Applies the Blur More filter.

applyBlurMore
()

Applies the Clouds filter.

applyClouds
()

Applies a custom filter.

applyCustomFilter
(characteristics,
scale,
offset)

array of number
number
number

The characteristics array has
25 members.
See Adobe Photoshop CS4 Help
for specific instructions.

Adobe Photoshop CS4
JavaScript Scripting Reference

Method

JavaScript Object Reference

Parameter type

What it does (Continued)
Applies the De-Interlace filter.

applyDeInterlace
(eliminateFields,
createFields)

Returns

57

EliminateFields
CreateFields

Applies the Despeckle filter.

applyDespeckle
()

Applies the Difference Clouds
filter.

applyDifferenceClouds
()

Applies the Diffuse Glow filter.

applyDiffuseGlow
(graininess,
glowAmount,
clearAmount)

number [0..10]
number [0..20]
number [0..20]

applyDisplace
(horizontalScale,
verticalScale,
displacement,
undefinedareas,
displacementMapFiles)

number [-999..999]
number [-999..999]
DisplacementMapType
UndefinedAreas
File

applyDustAndScratches
(radius,
threshold)

number [1..100]
number [0..255]

applyGaussianBlur
(radius)

number

[0.1..250.0]

number [0..20]
number [1..15]
number [50..200]
boolean
TextureType
File

applyHighPass
(radius)

Applies the Dust & Scratches
filter.
Applies the Gaussian Blur filter
within the specified radius (in
pixels)
Applies the Glass filter.

applyGlassEffect
(distortion,
smoothness,
scaling
[, invert]
[, texture]
[, textureFile])

Applies the Displace filter using
the specified horizontal and
vertical scale, mapping type,
treatment of undistorted areas,
and path to the distortion
image map.

number [0.1..250.0]

scaling is a percentage value.

Applies the High Pass filter
within the specified radius.

Adobe Photoshop CS4
JavaScript Scripting Reference

Method

JavaScript Object Reference

Parameter type

What it does (Continued)
Applies the Lens Blur filter.

applyLensBlur
([source]
[, focalDistance]
[, invertDepthMap]
[, shape]
[, radius]
[, bladeCurvature]
[, rotation]
[, brightness]
[, threshold]
[, amount]
[, distribution]
[, monochromatic]
)

Returns

58

DepthMapSource
number
boolean
Geometry
number
number
number
number
number
number
NoiseDistribution
boolean

source: The source for the

depth map (default:
DepthMapSource.NONE)
focalDistance : The blur focal

distance for the depth map
(default: 0).
invertDepthMask : True if the

depth map is inverted (default:
false).
shape: The shape of the iris
(default: Geometry.HEXAGON)
radius: The radius of the iris
(default: 15).
bladeCurvature: The blade
curvature of the iris (default: 0).
rotation: The rotation of the
iris (default: 0)
brightness: The brightness for

the specular highlights (default:
0).
threshold: The threshold for
the specular highlights (default:
0).
amount: The amount of noise
(default: 0)
distribution: The distribution

value for the noise (default:
NoiseDistribution.UNIFORM).
monochromatic: True if the

noise is monochromatic
(default: false).
applyLensFlare
(brightness,
flareCenter,
lensType)

number
array(UnitValue)
LensType

number [1..100]

Applies the Maximum filter
within the specified radius (in
pixels).

number [1..100]

Applies the Median Noise filter
within the specified radius (in
pixels).

applyMaximum
(radius)

applyMedianNoise
(radius)

Applies the Lens Flare filter with
the specified brightness (0 - 300,
as a percentage), the x and y
coordinates (unit value) of the
flare center, and the lens type.

Adobe Photoshop CS4
JavaScript Scripting Reference

Method

JavaScript Object Reference

Parameter type

applyMinimum
(radius)

number [1..100]

What it does (Continued)
Applies the Minimum filter
within the specified radius (in
pixels) (1 - 100).
Applies the Motion Blur filter.

applyMotionBlur
(angle,
radius)

Returns

59

number [-360..360]
number [1..999]

Applies the NTSC colors filter.

applyNTSC
()

Applies the Ocean Ripple filter.

applyOceanRipple
(size,
magnitude)

number [1..15]
number [0..20]

applyOffset
(horizontal,
vertical,
undefinedAreas)

UnitValue
UnitValue
OffsetUndefinedAreas

Applies the Pinch filter.

applyPinch
(amount)

number [-100..100]

Applies the Polar Coordinates
filter.

number [1..100]
RadialBlurMethod
RadialBlurQuality

Applies the Radial Blur filter in
the specified amount, using
either a spin or zoom effect and
the specified quality.

number [-999..999]
RippleSize

Applies the Ripple filter in the
specified amount, throughout
the image and in the specified
size.

applyRadialBlur
(amount,
blurMethod,
blurQuality)

applyRipple
(amount,
size)

amount is a percentage value.

PolarConversionType

applyPolarCoordinates
(conversion)

Moves the layer the specified
amount horizontally and
vertically (min/max amounts
depend on layer size), leaving
an undefined area at the layer’s
original location.

Applies the Sharpen filter.

applySharpen
()

Applies the Sharpen Edges filter.

applySharpenEdges
()

Applies the Sharpen More filter.

applySharpenMore
()

applyShear
(curve,
undefinedAreas)

array of array of number
UndefinedAreas

Applies the Shear filter. The
curve defines a curve with
[2..255] points.
Each value in the curve array is a
point pair, an array of an x and y
integer value.

Adobe Photoshop CS4
JavaScript Scripting Reference

Method

JavaScript Object Reference

Parameter type
number [0.1..100.0]
number [0.1..100.0]
SmartBlurQuality
SmartBlurMode

Applies the Spherize filter.

applySpherize
(amount,
mode)

number [-100..100]
SpherizeMode

applyStyle
(styleName)

string

Applies the Twirl filter.
number [-999..999]

applyUnSharpMask
(amount,
radius,
threshold)

number [1..500]
number [0.1..250.0]
number [0..255]

number [1..999]
number [1..998]
number [2..min+1]
number[1..998]
number [2..min+1]
number [1..100]
number [1..100]
WaveType
UndefinedAreas
number

autoContrast
()

autoLevels
()

clear
()

Scale factors are percentage
values.

Applies the Zigzag filter.

applyZigZag
(amount,
ridges,
style)

Applies the Unsharp Mask filter.
(amount is a percentage value.

Applies the Wave filter.

applyWave
(generatorNumber,
minimumWavelength,
maximumWavelength,
minimumAmplitude,
maximumAmplitude,
horizontalScale,
verticalScale,
waveType,
undefinedAreas,
randomSeed)

Applies the specified style to the
layer. You must use a style from
the Styles list in the Layer Styles
Palette.

File

applyTwirl
(angle)

amount is a percentage value.

Applies the Texture Fill filter.

applyTextureFill
(textureFile)

What it does (Continued)
Applies the Smart Blur filter.

applySmartBlur
(radius,
threshold,
blurQuality,
mode)

Returns

60

number [-100..100]
number [0..20]
ZigZagType

Adjusts the contrast of the
selected channels automatically.
Adjusts the levels of the
selected channels using the
auto levels option.
Cuts the layer without moving it
to the clipboard.

Adobe Photoshop CS4
JavaScript Scripting Reference

Method

JavaScript Object Reference

Parameter type

copy
([merge])

boolean

Returns

61

What it does (Continued)
Copies the layer to the
clipboard. When the optional
argument is set to true, a
merged copy is performed (that
is, all visible layers are copied to
the clipboard).
Cuts the layer to the clipboard.

cut
()

Converts a color image to a
grayscale image in the current
color mode by assigning equal
values of each component color
to each pixel.

desaturate
()

duplicate
([relativeObject]
[, insertionLocation])

ArtLayer or LayerSet
ElementPlacement

Redistributes the brightness
values of pixels in an image to
more evenly represent the
entire range of brightness levels
within the image.

equalize
()

Inverts the colors in the layer by
converting the brightness value
of each pixel in the channels to
the inverse value on the
256-step color-values scale.

invert
()

link
(with)

merge
()

ArtLayer Creates a duplicate of the object
or
LayerSet on the screen.

ArtLayer or LayerSet

Links the layer with the
specified layer.
ArtLayer Merges the layer down,

removing the layer from the
document; returns a reference
to the art layer that this layer is
merged into.

Adobe Photoshop CS4
JavaScript Scripting Reference

Method

JavaScript Object Reference

Parameter type

mixChannels
(outputChannels
[, monochrome])

array of array of number
boolean

Returns

62

What it does (Continued)
Modifies a targeted (output)
color channel using a mix of the
existing color channels in the
image.
The outputChannels
parameter is an array of channel
specifications. For each
component channel, specify a
list of adjustment values in the
range [-200..200] followed by a
'constant' value [-200..200].)
When monochrome = true, the
maximum number of channel
value specifications is 1.
Valid only when docRef.mode =
DocumentMode.RGB or CMYK.
RGB arrays must include four
values. CMYK arrays must
include five values.

move
(relativeObject,
insertionLocation)

ArtLayer or LayerSet
ElementPlacement

Moves the layer relative to the
object specified in parameters.
For art layers, only the constant
values ElementPlacement.
PLACEBEFORE and PLACEAFTER
are valid.
For layer sets, only the constant
values ElementPlacement.
PLACEBEFORE and INSIDE are
valid.

photoFilter
([fillColor]
[, density]
[, preserveLuminosity])

SolidColor
number [1..100]
boolean

Adjust the layer’s color balance
and temperature as if a color
filter had been applied.
density is a percentage value.

posterize
(levels)

number [2..225]

rasterize
(target)

remove
()

RasterizeType

Specifies the number of tonal
levels for each channel and then
maps pixels to the closest
matching level.
Converts the targeted contents
in the layer into a flat, raster
image.
Deletes the object.

Adobe Photoshop CS4
JavaScript Scripting Reference

Method

JavaScript Object Reference

Parameter type

Resizes the layer to the specified
dimensions (as a percentage of
its current size) and places it in
the specified position.

number
AnchorPosition

Rotates rotates the layer around
the specified anchor point
(default: MIDDLECENTER).

rotate
(angle
[, anchor])

selectiveColor
(selectionMethod
[, reds]
[, yellows]
[, greens]
[, cyans]
[, blues]
[, magentas]
[, whites]
[, neutrals]
[, blacks])

AdjustmentReference
array of number
array of number
array of number
array of number
array of number
array of number
array of number
array of number
array of number

shadowHighlight
([shadowAmount]
[, shadowWidth]
[, shadowRadius]
[, highlightAmount]
[, highlightWidth]
[, highlightRadius]
[, colorCorrection]
[, midtoneContrast]
[, blackClip]
[, whiteClip])

number
number
number
number
number
number
number
number
number
number

[0..100]
[0.100]
[0..2500]
[0..100]
[0..100]
[0..2500]
[-100..100]
[-100..100]
[0.000..50.000]
[0.000..50.000]

threshold
(level)

number [1..255]

translate
([deltaX]
[, deltaY])

unlink

What it does (Continued)

number
number
AnchorPosition

resize
([horizontal]
[, vertical]
[, anchor])

Returns

UnitValue
UnitValue

Modifies the amount of a
process color in a specified
primary color without affecting
the other primary colors.
Each color array must have four
values.

Adjusts the range of tones in the
image’s shadows and highlights.
Amounts and widths are
percentage values. Radius
values are in pixels.

Converts grayscale or color
images to high-contrast, B/W
images by converting pixels
lighter than the specified
threshold to white and pixels
darker than the threshold to
black.
Moves the layer the specified
amount (in the given unit)
relative to its current position.
Unlinks the layer.

()

ArtLayer sample Script
The following script opens all the files in the samples folder, creating one multi-layered document. Each
layer is pasted into one of four quadrants and given 50% transparency. Finally the layers are sorted by
name.

ArtLayer.jsx

63

Adobe Photoshop CS4
JavaScript Scripting Reference

JavaScript Object Reference

// Save the current preferences
var startRulerUnits = app.preferences.rulerUnits
var startTypeUnits = app.preferences.typeUnits
var startDisplayDialogs = app.displayDialogs
// Set Adobe Photoshop CS4 to use pixels and display no dialogs
app.preferences.rulerUnits = Units.PIXELS
app.preferences.typeUnits = TypeUnits.PIXELS
app.displayDialogs = DialogModes.NO
//Close all the open documents
while (app.documents.length) {
app.activeDocument.close()
}
// Create a new document to merge all the samples into
var mergedDoc = app.documents.add(1000, 1000, 72, "Merged Samples",
NewDocumentMode.RGB, DocumentFill.TRANSPARENT, 1)
// Use the path to the application and append the samples folder
var samplesFolder = Folder(app.path + "/Samples/")
//Get all the files in the folder
var fileList = samplesFolder.getFiles()
// open each file
for (var i = 0; i < fileList.length; i++) {
// The fileList is folders and files so open only files
if (fileList[i] instanceof File) {
open(fileList[i])
// use the document name for the layer name in the merged document
var docName = app.activeDocument.name
// flatten the document so we get everything and then copy
app.activeDocument.flatten()
app.activeDocument.selection.selectAll()
app.activeDocument.selection.copy()
// don’t save anything we did
app.activeDocument.close(SaveOptions.DONOTSAVECHANGES)
// make a random selection on the document to paste into
// by dividing the document up in 4 quadrants and pasting
// into one of them by selecting that area
var topLeftH = Math.floor(Math.random() * 2)
var topLeftV = Math.floor(Math.random() * 2)
var docH = app.activeDocument.width.value / 2
var docV = app.activeDocument.height.value / 2
var selRegion = Array(Array(topLeftH * docH, topLeftV * docV),
Array(topLeftH * docH + docH, topLeftV * docV),
Array(topLeftH * docH + docH, topLeftV * docV + docV),
Array(topLeftH * docH, topLeftV * docV + docV),
Array(topLeftH * docH, topLeftV * docV))
app.activeDocument.selection.select(selRegion)
app.activeDocument.paste()
// change the layer name and opacity
app.activeDocument.activeLayer.name = docName
app.activeDocument.activeLayer.fillOpacity = 50

64

Adobe Photoshop CS4
JavaScript Scripting Reference

JavaScript Object Reference

}
}
// sort the layers by name
for (var x = 0; x < app.activeDocument.layers.length; x++) {
for (var y = 0; y < app.activeDocument.layers.length - 1 - x; y++) {
// Compare in a non-case sensitive way
var doc1 = app.activeDocument.layers[y].name
var doc2 = app.activeDocument.layers[y + 1].name
if (doc1.toUpperCase() > doc2.toUpperCase()) {
app.activeDocument.layers[y].move(app.activeDocument.layers[y+1],
ElementPlacement.PLACEAFTER)
}
}
}
// Reset the application preferences
app.preferences.rulerUnits = startRulerUnits
app.preferences.typeUnits = startTypeUnits
app.displayDialogs = startDisplayDialogs

65

Adobe Photoshop CS4
JavaScript Scripting Reference

JavaScript Object Reference

66

ArtLayers
The collection of ArtLayer objects in a document or layer set.
Access through the Document.artLayers or LayerSet.artLayers collection. For example:
var layerRef = docRef.artLayers.add()

Properties
Property

Value type

What it is

length

number

Read-only. The number of elements in the artLayers
collection.

parent

Document

Read-only. The object's container.

typename

string

Read-only. The class name of the referenced
artLayers object.

Methods
Method

Parameter type

add

Returns

What it does

ArtLayer

Creates a new art layer in the
document and adds the new object to
this collection.

ArtLayer

Get the first element in the artLayers
collection with the provided name.

()

getByName
(name)

removeAll
()

string

Removes all elements from the
artLayers collection.

Adobe Photoshop CS4
JavaScript Scripting Reference

JavaScript Object Reference

67

BatchOptions
Options for running a batch operation using the Application.batch() method.
JavaScript only supports folders as sources for batch commands. Specify the batch source folder as the
inputFiles parameter of the Application.batch() method.

Properties
Property

Value type

What it is

destination

BatchDestinationType Read-write. The type of destination for the

processed files (default:
BatchDestinationType.NODESTINATION).

destinationFolder

Folder

Read-write. The folder location for the processed
files.
Valid only when destination =
BatchDestinationType.FOLDER.

errorFile

File

Read-write. The file in which to log errors
encountered.
To display errors on the screen (and stop batch
processing when errors occur) leave blank.

fileNaming

array of
FileNamingType

Read-write. A list of file naming options
(maximum: 6).
Valid only when destination =
BatchDestinationType.FOLDER.

macintoshCompatible

boolean

Read-write. True to make the final file names
Macintosh compatible (default: true).
Valid only when destination =
BatchDestinationType.FOLDER.

overrideOpen

boolean

Read-write. True to override action open
commands (default: false).

overrideSave

boolean

Read-write. True to override save as action steps
with the specified destination (default: false).
Valid only when destination =
BatchDestinationType.FOLDER or
SAVEANDCLOSE.

startingSerial

number

Read-write. The starting serial number to use in
naming files (default: 1).
Valid only when destination =
BatchDestinationType.FOLDER.

suppressOpen

boolean

Read-write. True to suppress the file open options
dialogs (default: false).

Adobe Photoshop CS4
JavaScript Scripting Reference

JavaScript Object Reference

68

Property

Value type

What it is (Continued)

suppressProfile

boolean

Read-write. True to suppress the color profile
warnings (default: false).

typename

string

Read-only. The class name of the referenced
batchOptions object.

unixCompatible

boolean

Read-write. True to make the final file name Unix
compatible (default: true).
Valid only when destination =
BatchDestinationType.FOLDER.

windowsCompatible

boolean

Read-write. True to make the final file names
Windows compatible (default: true).
Valid only when destination =
BatchDestinationType.FOLDER.

Adobe Photoshop CS4
JavaScript Scripting Reference

JavaScript Object Reference

69

BitmapConversionOptions
Options for converting an image to bitmap mode, using Document.changeMode() with
ChangeMode.Bitmap.

Convert color images to grayscale before converting the image to bitmap mode. See the
ArtLayer.desaturate() method.

Properties
Property

Value type

What it is

angle

number [-180..180]

Read-write. The angle (in degrees) at which to
orient individual dots. See shape.
Valid only when method =
BitmapConversionType.HALFTONESCREEN.

frequency

number [1.0..999.99]

Read-write. The number of printer dots (per inch) to
use.
Valid only when method =
BitmapConversionType.HALFTONESCREEN.

method

BitmapConversionType Read-write. The conversion method to use (default:
BitmapConversionType.DIFFUSIONDITHER).

patternName

string

Read-write. The name of the pattern to use.
For information about pre-installed valid patterns,
see Adobe Photoshop CS4 Help on the bitmap
conversion command, or view the options availabe
in the Custom Color drop down box after choosing
the bitmap conversion command.
Valid only when method =
BitmapConversionType.CUSTOMPATTERN.

resolution

number

Read-write. The output resolution in pixels per inch
(default: 72.0).

shape

BitmapHalfToneType

Read-write. The dot shape to use.
Valid only when method =
BitmapConversionType.HALFTONESCREEN.

typename

string

Read-only. The class name of the referenced
bitmapConversionOptions object.

Adobe Photoshop CS4
JavaScript Scripting Reference

JavaScript Object Reference

70

BMPSaveOptions
Options for saving a document in BMP format using the Document.saveAs() method.

Properties
Property

Value type

What it is

alphaChannels

boolean

Read-write. True to save the alpha channels.

depth

BMPDepthType

Read-write. The number of bits per channel.

flipRowOrder

boolean

Read-write. True to write the image from top
to bottom (default: false).
Available only when osType =
OperatingSystem.WINDOWS.

osType

OperatingSystem

Read-write. The target OS.
(default: OperatingSystem.WINDOWS).

rleCompression

boolean

Read-write. True to use RLE compression.
Available only when osType =
OperatingSystem.WINDOWS.

typename

string

Read-only. The class name of the referenced
BMPSaveOptions object.

Adobe Photoshop CS4
JavaScript Scripting Reference

JavaScript Object Reference

71

CameraRAWOpenOptions
Options for opening a document in Camera RAW format using the Application.open() method.

Properties
Property

Value type

What it is

bitsPerChannel

BitsPerChannelType

Read-write. The number of bits per channel.

blueHue

number [-100..100]

Read-write. The blue hue of the shot.

blueSaturation

number [-100..100]

Read-write. The blue saturation of the shot.

brightness

number [0..150]

Read-write. The brightness of the shot.

chromaticAberrationBY

number [-100..100]

Read-write. The chromatic aberration B/Y of the
shot.

chromaticAberrationRC

number [-100..100]

Read-write. The chromatic aberration R/C of the
shot

colorNoiseReduction

number [0..100]

Read-write. The color noise reduction of the
shot.

colorSpace

ColorSpaceType

Read-write. The colorspace for the image.

contrast

number [-50..100]

Read-write. The contrast of the shot.

exposure

number [-4.0..4.0]

Read-write. The exposure of the shot.

greenHue

number [-100..100]

Read-write. The green hue of the shot.

greenSaturation

number [-100..100]

Read-write. The green saturation of the shot.

luminanceSmoothing

number [0..100]

Read-write. The luminance smoothing of the
shot.

redHue

number [-100..100]

Read-write. The red hue of the shot.

redSaturation

number [-100..100]

Read-write. The red saturation of the shot.

resolution

number [1..999]

Read-write. The resolution of the document in
pixels per inch.

saturation

number [-100..100]

Read-write. The saturation of the shot.

settings

CameraRAWSettingsType Read-write. The global settings for all Camera

RAW options. Default:
CameraRAWSettingsType.CAMERA.

shadows

number [0..100]

Read-write. The shadows of the shot.

shadowTint

number [-100..100]

Read-write. The shadow tint of the shot.

sharpness

number [0..100]

Read-write. The sharpness of the shot.

size

CameraRAWSize

Read-write. The size of the new document.

temperature

number [2000..50000]

Read-write. The temperature of the shot.

Adobe Photoshop CS4
JavaScript Scripting Reference

JavaScript Object Reference

72

Property

Value type

What it is (Continued)

tint

number [-150..150]

Read-write. The tint of the shot.

typename

string

Read-only. The class name of the referenced
cameraRAWOpenOptions object.

vignettingAmount

number [-100..100]

Read-write. The vignetting amount of the shot.

vignettingMidpoint

number [-100..100]

Read-write. The vignetting mid point of the
shot.

whiteBalance

WhiteBalanceType

Read-write. The white balance options for the
image. These are lighting conditions that affect
color balance.

Adobe Photoshop CS4
JavaScript Scripting Reference

JavaScript Object Reference

73

Channel
Information about a color element in the image.
Access through the Document.channels collection. You can access an individual channel object in this list
by index or by name. For example, this accesses a channel object in the active document by name and
assigns an opacity value:
var channelRef = app.activeDocument.channels.getByName("my channel");
channelRef.opacity = 22;

A channel is analogous to a plate in the printing process that applies a single color. The document’s color
mode determines the number of default channels; for example, an RGB document has three channels, red,
green, and blue. A color can also have an alpha channel, which stores selections as masks, or a spot
channel, which stores spot colors.

Properties
Property

Value type

What it is

color

SolidColor

Read-write. The color of the channel.
Not valid when kind = ChannelType.COMPONENT.

histogram

array of number

Read-only. A histogram of the color of the channel. The
array contains 256 members.
Not valid when kind = ChannelType.COMPONENT. For
component channel histogram values, use the histogram
property of the Document object instead.

kind

ChannelType

Read-write. The type of the channel.

name

string

Read-write. The name of the channel.

opacity

number [0..100]

Read-write. The opacity to use for alpha channels or the
solidity to use for spot channels.
Valid only when kind = ChannelType.MASKEDAREA or
SELECTEDAREA.

parent

Document

Read-only. The containing document.

typename

string

Read-only. The class name of the referenced channel
object.

visible

boolean

Read-write. True if the channel is visible.

Methods
Method

Parameter type

duplicate
([targetDocument])

Document

Returns

What it does

Channel

Duplicates the channel.

Adobe Photoshop CS4
JavaScript Scripting Reference

Method
merge
()

remove
()

JavaScript Object Reference

Parameter type

Returns

What it does
Merges a spot channel into the
component channels.
Deletes the channel.

74

Adobe Photoshop CS4
JavaScript Scripting Reference

JavaScript Object Reference

75

Channels
The collection of Channel objects in a document.
Access through the Document.channels collection property. For example:
var channelRef = app.activeDocument.channels.add()

Properties
Property

Value type

What it is

length

number

Read-only. The number of elements in the channels
collection.

parent

Document

Read-only. The containing document.

typename

string

Read-only. The class name of the referenced channels
object.

Parameter type

Returns

What it does

Channel

Creates a new channel object and
adds it to this collection.

Channel

Get the first element in the channels
collection with the provided name.

Methods
Method
add
()

getByName
string

(name)

Removes all alpha channel objects
from the channels collection.

removeAll
()

Channels sample script
The following script opens a file if one is not already open, and then writes a histogram report
(histogram.log) for the channels in the active document.
Note: This script contains a switch construction that uses a break statement. The break statement
requires an ending semicolon (;), as in the following sample:
break;

Histogram.jsx
// Function to activate all the channels according to the documents mode
// Takes a document reference for input
function TurnOnDocumentHistogramChannels(inDocument) {
// see how many channels we need to activate
var visibleChannelCount = 0
// based on the mode of the document
switch (inDocument.mode) {
case DocumentMode.BITMAP:

Adobe Photoshop CS4
JavaScript Scripting Reference

JavaScript Object Reference

case DocumentMode.GRAYSCALE:
case DocumentMode.INDEXEDCOLOR:
visibleChannelCount = 1
break;
case DocumentMode.DUOTONE:
visibleChannelCount = 2
break;
case DocumentMode.RGB:
case DocumentMode.LAB:
visibleChannelCount = 3
break;
case DocumentMode.CMYK:
visibleChannelCount = 4
break;
case DocumentMode.MULTICHANNEL:
default:
visibleChannelCount = inDocument.channels.length + 1
break;
}
// now get the channels to activate into a local array
var aChannelArray = new Array()
// index for the active channels array
var aChannelIndex = 0
for(var channelIndex = 0; channelIndex < inDocument.channels.length;
channelIndex++) {
if (channelIndex < visibleChannelCount) {
aChannelArray[aChannelIndex++] = inDocument.channels[channelIndex]
}
}
// now activate them
inDocument.activeChannels = aChannelArray
}
// Save the current preferences
var startRulerUnits = app.preferences.rulerUnits
var startTypeUnits = app.preferences.typeUnits
var startDisplayDialogs = app.displayDialogs
// Set Adobe Photoshop CS4 to use pixels and display no dialogs
app.preferences.rulerUnits = Units.PIXELS
app.preferences.typeUnits = TypeUnits.PIXELS
app.displayDialogs = DialogModes.NO
// if there are no documents open then try to open a sample file
if (app.documents.length == 0) {
open(File(app.path + "/Samples/Fish.psd"))
}
// get a reference to the working document
var docRef = app.activeDocument

76

Adobe Photoshop CS4
JavaScript Scripting Reference

JavaScript Object Reference

// create the output file
// first figure out which kind of line feeds we need
if ($.os.search(/windows/i) != -1) {
fileLineFeed = "Windows"
} else {
fileLineFeed = "Macintosh"
}
// create the output file accordingly
fileOut = new File("~/Desktop/Histogram.log")
fileOut.lineFeed = fileLineFeed
fileOut.open("w", "TEXT", "????")
// write out a header
fileOut.write("Histogram report for " + docRef.name)
// find out how many pixels I have
var totalCount = docRef.width.value * docRef.height.value
// more info to the out file
fileOut.write(" with a total pixel count of " + totalCount + "\n")
// channel indexer
var channelIndex = 0
// remember which channels are currently active
var myActiveChannels = app.activeDocument.activeChannels
// document histogram only works in these modes
if (docRef.mode == DocumentMode.RGB ||
docRef.mode == DocumentMode.INDEXEDCOLOR ||
docRef.mode == DocumentMode.CMYK) {
// activate the main channels so we can get the documents histogram
TurnOnDocumentHistogramChannels(docRef)
// Output the documents histogram
OutputHistogram(docRef.histogram, "Luminosity", fileOut)
}
// local reference to work from
var myChannels = docRef.channels
// loop through each channel and output the histogram
for (var channelIndex = 0; channelIndex < myChannels.length; channelIndex++) {
// the channel has to be visible to get a histogram
myChannels[channelIndex].visible= true
// turn off all the other channels
for (var secondaryIndex = 0; secondaryIndex < myChannels.length;
secondaryIndex++) {
if (channelIndex != secondaryIndex) {
myChannels[secondaryIndex].visible= false
}
}
// Use the function to dump the histogram
OutputHistogram(myChannels[channelIndex].histogram,
myChannels[channelIndex].name, fileOut)

77

Adobe Photoshop CS4
JavaScript Scripting Reference

JavaScript Object Reference

}
// close down the output file
fileOut.close()
alert("Histogram file saved to: " + fileOut.fsName)
// reset the active channels
docRef.activeChannels = myActiveChannels
// Reset the application preferences
app.preferences.rulerUnits = startRulerUnits
app.preferences.typeUnits = startTypeUnits
app.displayDialogs = startDisplayDialogs

// Utility function that takes a histogram and name
// and dumps to the output file
function OutputHistogram(inHistogram, inHistogramName, inOutFile) {
// find ouch which count has the largest number
// I scale everything to this number for the output
var largestCount = 0
// a simple indexer I can reuse
var histogramIndex = 0
// see how many samples we have total
var histogramCount = 0
// search through all and find the largest single item
for (histogramIndex = 0; histogramIndex < inHistogram.length;
histogramIndex++) {
histogramCount += inHistogram[histogramIndex]
if (inHistogram[histogramIndex] > largestCount)
largestCount = inHistogram[histogramIndex]
}
// These should match
if (histogramCount != totalCount) {
alert("Something bad is happening!")
}
// see how much each "X" is going to count as
var pixelsPerX = largestCount / 100
// output this data to the file
inOutFile.write("One X = " + pixelsPerX + " pixels.\n")
// output the name of this histogram
inOutFile.write(inHistogramName + "\n")
// loop through all the items and output in the following format
// 001
// 002
for (histogramIndex = 0; histogramIndex < inHistogram.length;
histogramIndex++) {
// I need an extra "0" for this line item to keep everything in line
if (histogramIndex < 10)
inOutFile.write("0")

78

Adobe Photoshop CS4
JavaScript Scripting Reference

JavaScript Object Reference

// I need an extra "0" for this line item to keep everything in line
if (histogramIndex < 100)
inOutFile.write("0")
// output the index to file
inOutFile.write(histogramIndex)
// some spacing to make it look nice
inOutFile.write(" ")
// figure out how many X’s I need
var outputX = inHistogram[histogramIndex] / largestCount * 100
// output the X’s
for (var a = 0; a < outputX; a++)
inOutFile.write("X")
inOutFile.write("\n")
}
inOutFile.write("\n")
}

79

Adobe Photoshop CS4
JavaScript Scripting Reference

JavaScript Object Reference

CMYKColor
Defines a CMYK color, used in the SolidColor object.
See also GrayColor, HSBColor, LabColor, NoColor, RGBColor

Properties
Property

Value type

What it is

black

number [0.0..100.00]

Read-write. The black color value (as percent).

cyan

number [0.0..100.00]

Read-write. The cyan color value (as percent).

magenta

number [0.0..100.00]

Read-write. The magenta color value (as percent).

typename

string

Read-only. The class name of the referenced CMYKColor
object.

yellow

number [0.0..100.00]

Read-write. The yellow color value (as percent).

80

Adobe Photoshop CS4
JavaScript Scripting Reference

JavaScript Object Reference

81

ColorSampler
A color sampler for a document. Access through the Document.colorSamplers collection. For example:
var colorSamplerRef = app.activeDocument.colorSamplers[0];
var currentColor = colorSamplerRef.color;

Note: For additional information about color samplers, see Adobe Photoshop CS4 help on the Color
SamplerTool.

Properties
Property

Value type

What it is

color

SolidColor

Read-only. The color of the color sampler.

position

array of
UnitValue

Read-only. The position of the color sampler in the
document. The array (x,y) represents the horizontal and
vertical location of the count item.

parent

Document

Read-only. The containing document.

typename

string

Read-only. The class name of the referenced ColorSampler
object.

Parameter type

Returns

Methods
Method
move
(position)

array of
UnitValue

What it does
Moves the color sampler to a new location
in the document.
The position parameter (x,y) represents
the new horizontal and vertical locations
of the moved color sampler.

remove
()

Deletes the ColorSampler object.

Adobe Photoshop CS4
JavaScript Scripting Reference

JavaScript Object Reference

ColorSamplers
The collection of ColorSampler objects in a document. Access through the Document.colorSamplers
collection property. For example:
app.activeDocument.colorSamplers.removeAll()

Properties
Property

Value type

What it is

length

number

Read-only. The number of elements in the
ColorSamplers collection.

parent

Document

Read-only. The containing document.

typename

string

Read-only. The class name of the referenced
ColorSamplers object.

Parameter type

Returns

What it does

ColorSampler

Creates a new color sampler object
and adds it to this collection.

Methods
Method
add
(position)

array of UnitValue

The position parameter (x,y)
represents the new horizontal and
vertical locations of the moved color
sampler.
removeAll
()

Removes all ColorSampler objects
from the ColorSamplers collection.

82

Adobe Photoshop CS4
JavaScript Scripting Reference

JavaScript Object Reference

83

ContactSheetOptions
Options for creating a contact sheet with the Application.makeContactSheet() method.

Properties
Property

Value type

What it is

acrossFirst

boolean

Read-write. True to place the images horizontally
(left to right, then top to bottom) first (default: true).

bestFit

boolean

Read-write. True to rotate images for the best fit
(default: false).

caption

boolean

Read-write. True to use the filename as a caption for
the image (default: true).

columnCount

number[1..100]

Read-write. The number of columns to include
(default: 5).

flatten

boolean

Read-write. True to flatten all layers in the final
document (default: true).

font

GalleryFontType

Read-write. The font used for the caption (default:
GalleryFontType.ARIAL).

fontSize

number

Read-write. The font size to use for the caption
(default: 12).

height

number [0..29000]

Read-write. The height (in pixels) of the resulting
document (default: 720).

horizontal

number

Read-write. The horizontal spacing (in pixels)
between images (default: 1).

mode

NewDocumentMode

Read-write. The document color mode (default:
NewDocumentMode.RGB).

resolution

number [35..1200]

Read-write. The resolution of the document in pixels
per inch (default: 72.0).

rowCount

number [1..100]

Read-write. The number of rows to use (default: 6).

typename

string

Read-only. The class name of the referenced
contactSheetOptions object.

useAutoSpacing

boolean

Read-write. True to auto space the images (default:
true).

vertical

number [0..29000]

Read-write. The vertical spacing (in pixels) between
images (default: 1).
Valid only when useAutoSpacing = false.

width

number [100..29000] Read-write. The width (in pixels) of the resulting
document (default: 576).

Adobe Photoshop CS4
JavaScript Scripting Reference

JavaScript Object Reference

84

CountItem
A counted item in a document. Access through the Document.countItems collection. See the
Document.autoCount() method.
Note: This feature is available in the Extended Version only.
For additional information about count items, see Adobe Photoshop CS4 help on the Count Tool.

Properties
Property

Value type

What it is

position

array of
UnitValue

Read-only. The position of the count item in the document.

parent

Document

Read-only. The containing document.

typename

string

Read-only. The class name of the referenced CountItem
object.

Parameter type

Returns

Methods
Method
remove
()

What it does
Deletes the CountItem object.

Adobe Photoshop CS4
JavaScript Scripting Reference

JavaScript Object Reference

85

CountItems
The collection of CountItem objects in the document.
Access through the Document.countItems collection property. For example:
app.activeDocument.countItems.removeAll()

Note: This feature is available in the Extended Version only.

Properties
Property

Value type

What it is

length

number

Read-only. The number of elements in the CountItems
collection.

parent

Document

Read-only. The containing document.

typename

string

Read-only. The class name of the referenced CountItems
object.

Parameter type

Returns

What it does

CountItem

Creates a new count item object and
adds it to this collection.

Methods
Method
add
(position)

array of UnitValue

Parameter position (x,y) represents
the horizontal and vertical positions,
respectively, of the CountItem object.
CountItem

getByName
(name)

removeAll
()

string

Get the first element in the
CountItems collection with the
provided name.
Removes all CountItem objects from
the CountItems collection.

Adobe Photoshop CS4
JavaScript Scripting Reference

JavaScript Object Reference

DCS1_SaveOptions
Options for saving a CMYK document in DCS1 format using the Document.saveAs() method.

Properties
Property

Value type

What it is

dCS

DCSType

Read-write. (default: DCSType.COLORCOMPOSITE).

embedColorProfile

boolean

Read-write. True to embed the color profile in the
document

encoding

SaveEncoding

Read-write. The type of encoding to use for document
(default: SaveEncoding.BINARY ).

halftoneScreen

boolean

Read-write. True to include halftone screen (default:
false).

interpolation

boolean

Read-write. True to use image interpolation (default:
false)

preview

Preview

Read-write. The type of preview (default:
Preview.MACOSEIGHTBIT ).

transferFunction

boolean

Read-write. True to include the Transfer functions to
compensate for dot gain between the image and film
(default: false).

typename

string

Read-only. The class name of the referenced
DCS1_SaveOptions object.

vectorData

boolean

Read-write. True to include vector data.
Valid only if the document includes vector data
(unrasterized text).

86

Adobe Photoshop CS4
JavaScript Scripting Reference

JavaScript Object Reference

87

DCS2_SaveOptions
Options for saving a CMYK document in DCS2 format using the Document.saveAs() method.

Properties
Property

Value type

What it is

dCS

DCSType

Read-write. The type of composite file to create
(default: DCSType.NOCOMPOSITE).

embedColorProfile

boolean

Read-write. True to embed the color profile in the
document.

encoding

SaveEncoding

Read-write. The type of encoding to use (default:
SaveEncoding.BINARY ).

halftoneScreen

boolean

Read-write. True to include the halftone screen
(default: false).

interpolation

boolean

Read-write. True to use image interpolation (default:
false).

multiFileDCS

boolean

Read-write. True to save color channels as multiple
files or a single file (default: false).

preview

Preview

Read-write. The preview type (default:
Preview.MACOSEIGHTBIT ).

spotColors

boolean

Read-write. True to save spot colors.

transferFunction

boolean

Read-write. True to include the Transfer functions to
compensate for dot gain between the image and film
(default: false).

typename

string

Read-only. The class name of the referenced
DCS2_SaveOptions object.

vectorData

boolean

Read-write. True to include vector data.
Valid only if the document includes vector data
(unrasterized text).

Adobe Photoshop CS4
JavaScript Scripting Reference

JavaScript Object Reference

DICOMOpenOptions
Options for opening a document in DICOM format using the Application.open() method.
Note: This feature is available in the Extended Version only.

Properties
Property

Value type

What it is

anonymize

boolean

Read-write. True to make the patient
information anonymous.

columns

number

Read-write. Number of columns in n-up
configuration.

reverse

boolean

Read-write. True to reverse (invert) the image.

rows

number

Read-write. The number of rows in n-up
configuration.

showOverlays

boolean

Read-write. True to show overlays.

typename

string

Read-only. The class name of the referenced
DICOMOpenOptions object.

windowLevel

number

Read-write. The contrast of the image in
Houndsfield units.

windowWidth

number

Read-write. The brightness of the image in
Houndsfield units.

88

Adobe Photoshop CS4
JavaScript Scripting Reference

JavaScript Object Reference

89

Document
The active containment object for layers and all other objects in the script; the basic canvas for the file.
●

Access the object for the currently active document through Application.activeDocument.

●

You can access other documents, or iterate through all open documents using the list in the
Application.documents collection. You can access individual documents in the list by index, or use
Documents.getByName() to retrieve them by name.

●

Create documents programmatically using the Documents.add() method.

See Document sample script and the Documents collection object for examples.
Note: In Adobe Photoshop CS4, a document can also be referred to as an image or a canvas.
●

The term image refers to the entire document and its contents. You can trim or crop an image.
You resize an image using the resizeImage() method.

●

The term canvas refers to the space in which the document sits on the screen. You can rotate or
flip the canvas. You resize the canvas using the resizeCanvas() method.

Properties
Property

Value type

What it is

activeChannels

array of Channel

Read-write. The selected channels.

activeHistoryBrushSource HistoryState

Read-write. The history state to use with the
history brush.

activeHistoryState

HistoryState

Read-write. The selected HistoryState object.

activeLayer

ArtLayer or
LayerSet

Read-write. The selected layer.

artLayers

ArtLayers

Read-only. The art layers collection.

backgroundLayer

ArtLayer

Read-only. The background layer of the
document.

bitsPerChannel

BitsPerChannelType

Read-write. The number of bits per channel.

channels

Channels

Read-only. The channels collection.

colorProfileName

string

Read-write. The name of the color profile.
Valid only when colorProfileType =
ColorProfile.CUSTOM or WORKING.

colorProfileType

ColorProfileType

Read-write. Whether the document uses the
working color profile, a custom profile, or no
profile.

colorSamplers

ColorSamplers

Read-only. The current color samplers
associated with this document.

componentChannels

array of Channel

Read-only. The color channels that make up
the document; for instance, the Red, Green,
and Blue channels for an RGB document.

Adobe Photoshop CS4
JavaScript Scripting Reference

JavaScript Object Reference

Property

Value type

What it is (Continued)

countItems

CountItems

Read-only. The current count items.

90

Note: For additional information about count
items, see Adobe Photoshop CS4 help
on the Count Tool.
fullName

File

Read-only. The full path name of the
document.

height

UnitValue

Read-only. The height of the document (unit
value).

histogram

array of number

Read-only. A histogram showing the number
of pixels at each color intensity level for the
composite channel. The array c ontains 256
members.
Valid only when mode = DocumentMode.RGB,
CMYK; or INDEXEDCOLOR.

historyStates

HistoryStates

Read-only. The history states collection.

info

DocumentInfo

Read-only. Metadata about the document.

layerComps

LayerComps

Read-only. The layer compositions collection.

layers

Layers

Read-only. The layers collection.

layerSets

LayerSets

Read-only. The layer set collection.

managed

boolean

Read-only. True if the document a is workgroup
document.

measurementScale

MeasurementScale

Read-only. The measurement scale for the
document.
Note: The measurement scale feature is
available in the Extended version only.

mode

DocumentMode

Read-only. The color profile.

name

string

Read-only. The document's name.

parent

Application

Read-only. The application object that contains
this document.

path

File

Read-only. The path to the document.

pathItems

PathItems

Read-only. The path items collection.

pixelAspectRatio

number
[0.100..10.000]

Read-write. The (custom) pixel aspect ratio to
use.

printSettings

DocumentPrintSettin Read-only. The print settings for the document.
gs

quickMaskMode

boolean

Read-write. True if the document is in Quick
Mask mode.

Adobe Photoshop CS4
JavaScript Scripting Reference

JavaScript Object Reference

91

Property

Value type

What it is (Continued)

resolution

number

Read-only. The document’s resolution (in pixels
per inch).

saved

boolean

Read-only. True if the document has been
saved since the last change.

selection

Selection

Read-only. The selected area of the document.

typename

string

Read-only. The class name of the Document
object.

width

UnitValue

Read-only. The width of the document (unit
value).

xmpMetadata

xmpMetadata

Read-only. XMP metadata for the document.
Camera RAW settings for the image are stored
here for example.

Adobe Photoshop CS4
JavaScript Scripting Reference

JavaScript Object Reference

92

Methods
Method

Parameter type

Returns

Counts the number of objects in a
document. Available in the Extended
Version only.

autoCount
(channel,
threshold)

What it does

Channel
number

Creates a CountItem object for each
object counted.
For additional information about how to
set up objects to count, see the Count Tool
in the Adobe Photoshop CS4 Help
Changes the color profile of the
document.

changeMode
(destinationMode
[, options])

ChangeMode
BitmapConversionOptions
or
IndexedConversionOptions

Closes the document. If any changes have
been made, the script presents an alert
with three options: save, do not save,
prompt to save. The optional parameter
specifies a selection in the alert box
(default: SaveOptionsType.
PROMPTTOSAVECHANGES).

close
([saving])

SaveOptionsType

Changes the color profile.

convertProfile
(destinationProfile,
intent
[, blackPointCompensation]
[, dither])

string
Intent
boolean
boolean

The destinationProfile parameter must
be either a string that names the color
mode or Working RGB, Working CMYK,
Working Gray, Lab Color (meaning one
of the working color spaces or Lab color).
Crops the document. The bounds
parameter is an array of four coordinates
for the region remaining after cropping,
[left, top, right, bottom].

crop
(bounds
[, angle]
[, width]
[, height])

array of 4 UnitValue
number
UnitValue
UnitValue
Document

duplicate
([name ]
[, mergeLayersOnly]
)

string
boolean

Creates a duplicate of the document
object.
The optional parameter name provides the
name for the duplicated document.
The optional parameter
mergeLayersOnly indicates whether to
only duplicate merged layers.

Adobe Photoshop CS4
JavaScript Scripting Reference

Method

JavaScript Object Reference

Parameter type

Returns

What it does (Continued)
Exports the paths in the document to an
Illustrator file, or exports the document to
a file with Web or device viewing
optimizations.

exportDocument
(exportIn
[, exportAs]
[, options])

93

File
ExportType
ExportOptionsIllustrator
—or—
ExportOptionsSaveForWeb

This is equivalent to choosing File >
Export > Paths To Illustrator, or File >
Save For Web and Devices.
Flattens all layers in the document.

flatten
()

Flips the image within the canvas in the
specified direction.

flipCanvas
(direction)

Direction

Imports annotations into the document.

importAnnotations
(file)

File

Flattens all visible layers in the document.

mergeVisibleLayers
()
ArtLayer

paste
([intoSelection])

boolean

Prints the document.

print
([postScriptEncoding]
[, sourceSpace]
[, printSpace]
[, intent]
[blackPointCompensation])

Pastes the contents of the clipboard into
the document. If the optional argument is
set to true and a selection is active, the
contents are pasted into the selection.

PrintEncoding
SourceSpaceType
string
Intent
boolean

printSpace specifies the color space for
the printer. Valid values are nothing (that
is, the same as the source); or Working
RGB, Working CMYK, Working Gray, Lab
Color (meaning one of the working color

spaces or Lab color); or a string specifying
a specific colorspace (default: nothing).
Print one copy of the document.

printOneCopy
()

Rasterizes all layers.

rasterizeAllLayers
()

Record measurements of document.

recordMeasurements
([source]
[, dataPoints])

MeasurementSource
array of string

resizeCanvas
([width]
[, height]
[, anchor])

UnitValue
UnitValue
AnchorPosition

Changes the size of the image.

resizeImage
([width]
[, height]
[, resolution]
[, resampleMethod])

Changes the size of the canvas to display
more or less of the image but does not
change the image size. See resizeImage.

UnitValue
UnitValue
number
ResampleMethod

Adobe Photoshop CS4
JavaScript Scripting Reference

Method

JavaScript Object Reference

Parameter type

Returns

What it does (Continued)
Expands the document to show clipped
sections.

revealAll
()

Rotates the canvas (including the image)
in clockwise direction.

rotateCanvas
(angle)

94

number

Saves the document.

save
()

Saves the document in a specific format.

saveAs
(saveIn
[, options]
[, asCopy]
[, extensionType])

File
object (see description)
boolean
Extension

Specify the save options appropriate to
the format by passing one of these
objects:
BMPSaveOptions
DCS1_SaveOptions
DCS2_SaveOptions
EPSSaveOptions
GIFSaveOptions
JPEGSaveOptions
PDFSaveOptions
PhotoshopSaveOptions
PICTFileSaveOptions
PICTResourceSaveOptions
PixarSaveOptions
PNGSaveOptions
RawSaveOptions
SGIRGBSaveOptions
TargaSaveOptions
TiffSaveOptions
array of
Document

splitChannels
()

suspendHistory
(historyString
javaScriptString)

string
string

Splits the document channels into
separate images.
Provides a single entry in history states for
the entire script provided by
javaScriptString. Allows a single undo
for all actions taken in the script.
The historyString parameter provides
the string to use for the history state.
The javaScriptString parameter
provides a string of JavaScript code to
excute while history is suspended.
Applies trapping to a CMYK document.

trap
(width)

number

trim
([type]
[, top]
[, left]
[, bottom]
[, right])

TrimType
boolean
boolean
boolean
boolean

Valid only when docRef.mode =
DocumentMode.CMYK.
Trims the transparent area around the
image on the specified sides of the canvas.
Default is true for all Boolean parameters.

Adobe Photoshop CS4
JavaScript Scripting Reference

JavaScript Object Reference

95

Document sample script
The following script creates a document that contains two images (a sunflower and a duck) obtained from
the Adobe Photoshop CS4 Samples folder and employs the following steps:
●

Determines which image is larger.

●

Resizes the smaller image to match the larger image.

●

Creates a merged document twice as high as either image in order to hold both images.

●

Selects part of the document and pastes the sunflower into the selection.

●

Inverts the selection and pastes the duck into the lower part of the document.

●

Positions the sunflower over the duck.

Document.jsx
// Save the current preferences
var startRulerUnits = app.preferences.rulerUnits
var startTypeUnits = app.preferences.typeUnits
var startDisplayDialogs = app.displayDialogs
// Set Adobe Photoshop CS4 to use pixels and display no dialogs
app.preferences.rulerUnits = Units.PIXELS
app.preferences.typeUnits = TypeUnits.PIXELS
app.displayDialogs = DialogModes.NO
// first close all the open documents
while (app.documents.length) {
app.activeDocument.close()
}
// Open the sunflower and duck files from the samples folder
var flowerDoc = open(File(app.path + "/Samples/Sunflower.psd"))
var duckDoc = open(File(app.path + "/Samples/Ducky.tif"))
//
//
//
if

Find out which document is larger
Resize the smaller document the to the larger document’s size
The resize requires the document be the active/front document
((flowerDoc.width.value * flowerDoc.height.value) >
(duckDoc.width.value * duckDoc.height.value)) {
app.activeDocument = duckDoc
duckDoc.resize(flowerDoc.width, flowerDoc.height)
}
else {
app.activeDocument = flowerDoc
flowerDoc.resizeImage(duckDoc.width, duckDoc.height)
}
// Create a new document twice as high as two files
var mergedDoc = app.documents.add(duckDoc.width, duckDoc.height * 2,
duckDoc.resolution, "FlowerOverDuck")
// Copy the flower to the top; make it the active document so we can manipulate it
app.activeDocument = flowerDoc
flowerDoc.activeLayer.copy()
//Paste the flower to the merged document, making the merged document active
app.activeDocument = mergedDoc
// Select a square area at the top of the new document

Adobe Photoshop CS4
JavaScript Scripting Reference

JavaScript Object Reference

var selRegion = Array(Array(0, 0),
Array(mergedDoc.width.value, 0),
Array(mergedDoc.width.value, mergedDoc.height.value / 2),
Array(0, mergedDoc.height.value / 2),
Array(0, 0))
// Create the selection
mergedDoc.selection.select(selRegion)
//Paste in the flower
mergedDoc.paste(TRUE)
// do the same thing for the duck
app.activeDocument = duckDoc
duckDoc.activeLayer.copy()
app.activeDocument = mergedDoc
mergedDoc.selection.select(selRegion)
// Inverting the selection so the bottom of the document is now selected
mergedDoc.selection.invert()
// Paste the duck
mergedDoc.paste(TRUE)
// get rid of our originals without modifying them
duckDoc.close(SaveOptions.DONOTSAVECHANGES)
flowerDoc.close(SaveOptions.DONOTSAVECHANGES)
// Reset the application preferences
app.preferences.rulerUnits = startRulerUnits
app.preferences.typeUnits = startTypeUnits
app.displayDialogs = startDisplayDialogs

96

Adobe Photoshop CS4
JavaScript Scripting Reference

JavaScript Object Reference

97

DocumentPrintSettings
The print settings for a document. New for Photoshop CS4.

Properties
Property

Value type

What it is

backgroundColor

SolidColor

Read-write. Background color of page.

bleedWidth

UnitValue

Read-write. Bleed width

caption

boolean

Read-write. Print the caption found in FileInfo.

centerCropMarks

boolean

Read-write. Print center crop marks.

colorBars

boolean

Read-write. Print color calibration bars.

copies

number

Read-write. Number of copies to print.

cornerCropMarks

boolean

Read-write. Print corner crop marks.

colorHandling

PrintColorHandling

Read-only. Color handling.

activePrinter

string

Read-write. The currently active printer.

flip

boolean

Read-write. Flip the image horizontally.

hardProof

boolean

Read-write. Print a hard proof.

interpolate

boolean

Read-write.

labels

boolean

Read-write. Prints the document title.

mapBlack

boolean

Read-write. Map blacks.

negative

boolean

Read-write. Invert the image colors.

renderIntent

Intent

Read-write. Color conversion intent when print
space is different from the source space.

posX

UnitValue

Read-only. The x position of the image on
page.

posY

UnitValue

Read-only. The y position of the image on
page.

printBorder

UnitValue

Read-write. The width of the print border.

printSelected

boolean

Read-write. Print the selected area of the
document.

printSpace

string

Read-write. color space for printer. Can be
nothing (meaning same as source); 'Working
RGB', 'Working CMYK', 'Working Gray', 'Lab
Color' (meaning one of the working spaces or
Lab color); or a string specifying a specific
colorspace (default is same as source)

Adobe Photoshop CS4
JavaScript Scripting Reference

JavaScript Object Reference

Property

Value type

What it is (Continued)

registrationMarks

boolean

Read-write. Print registration marks.

scale

number

Read-only. Scale of image on page.

vectorData

boolean

Read-write. Include vector data.

98

Adobe Photoshop CS4
JavaScript Scripting Reference

JavaScript Object Reference

99

Methods
Method

Parameter type

What it does
Set the position of the image on the page.

setPagePosition
(docPosition,
posX,
posY,
scale)

Returns

DocPositionStyle
UnitValue
UnitValue
number

Adobe Photoshop CS4
JavaScript Scripting Reference

JavaScript Object Reference

100

DocumentInfo
Metadata about a document object.
Access through the Document.info property. For example, the following sets the author, caption, and
copyrighted properties:
var docRef = open(fileList[i])
// set the file info
docRef.info.author = "Mr. Adobe programmer"
docRef.info.caption = "Adobe Photo shoot"
docRef.info.copyrighted = CopyrightedType.COPYRIGHTEDWORK

These values can be set interactively by choosing File > File Info.

Properties
Property

Value type

What it is

author

string

Read-write.

authorPosition

string

Read-write.

caption

string

Read-write.

captionWriter

string

Read-write.

category

string

Read-write.

city

string

Read-write.

copyrighted

CopyrightedType

Read-write. The copyrighted status.

copyrightNotice

string

Read-write.

country

string

Read-write.

creationDate

string

Read-write.

credit

string

Read-write.

exif

array of array [tag data]

Read-only. Camera data that includes
camera settings used when the image
was taken.
Each array member is a tag pair, an array
of [tag, tag_data]; for example, [
"camera" "Cannon"].

headline

string

Read-write.

instructions

string

Read-write.

jobName

string

Read-write.

keywords

array of string

Read-write. A list of keywords that can
identify the document or its contents.

ownerUrl

string

Read-write.

Adobe Photoshop CS4
JavaScript Scripting Reference

JavaScript Object Reference

101

Property

Value type

What it is (Continued)

parent

Document

Read-only. The info object's container.

provinceState

string

Read-write.

source

string

Read-write.

supplementalCategories

array of string

Read-write.

title

string

Read-write.

transmissionReference

string

Read-write.

typename

string

Read-only. The class name of the
referenced info object.

urgency

Urgency

Read-write.

DocumentInfo sample Script
The following script sets document info (metadata) for all of the files in a specified folder and then saves
the modified files as low-quality JPEG images in a new folder without changing the originals.
●

Ask the user to specify the folder that contains the original files and the output folder for the JPEG
images, and then check that the folders exist.

●

Open each file and use the documentInfo object properties to tag it with the following metadata:

●

●

author: Adobe programmer

●

caption: Adobe Photo shoot

●

captionWriter: Adobe programmer

●

city: San Jose

●

copyrightNotice: Copyright (c) Adobe programmer Photography

●

copyrighted status: Copyrighted Work

●

country: USA

●

state: CA

Save the new documents in JPEG format with a low quality setting.

DocumentInfo.jsx
// Save the current preferences
var startDisplayDialogs = app.displayDialogs
// Set Adobe Photoshop CS4 to use pixels and display no dialogs
app.displayDialogs = DialogModes.NO
// ask the user for the input and output folders
var inputFolder = Folder.selectDialog("Select a folder to tag")
var outputFolder = Folder.selectDialog("Select a folder for the output files")
// see if we got something interesting from the dialog
if (inputFolder != null && outputFolder != null) {
// get all the files found in this folder
var fileList = inputFolder.getFiles()

Adobe Photoshop CS4
JavaScript Scripting Reference

JavaScript Object Reference

102

// save the outputs in JPEG
var jpegOptions = new JPEGSaveOptions()
// set the jpeg quality really low so the files are small
jpegOptions.quality = 1
// open each one in turn
for (var i = 0; i < fileList.length; i++) {
// The fileList includes both folders and files so open only files
if (fileList[i] instanceof File && fileList[i].hidden == false) {
// get a reference to the new document
var docRef = open(fileList[i])
// tag all of the documents with photo shoot information
docRef.info.author = "Adobe programmer"
docRef.info.caption = "Adobe Photo shoot"
docRef.info.captionWriter = "Adobe programmer"
docRef.info.city = "San Jose"
docRef.info.copyrightNotice = "Copyright (c) Adobe programmer
Photography"
docRef.info.copyrighted = CopyrightedType.COPYRIGHTEDWORK
docRef.info.country = "USA"
docRef.info.provinceState = "CA"
// change the date to a Adobe Photoshop CS4 date format
// "YYYYMMDD"
var theDate = new Date()
// the year is from 1900 ????
var theYear = (theDate.getYear() + 1900).toString()
// convert the month from 0..12 to 00..12
var theMonth = theDate.getMonth().toString()
if (theDate.getMonth() < 10) {
theMonth = "0" + theMonth
}
// convert the day from 0..31 to 00.31
var theDay = theDate.getDate().toString()
if (theDate.getDate() < 10) {
theDay = "0" + theDay
}
// stick them all together
docRef.info.creationDate = theYear + theMonth + theDay
// flatten because we are saving to JPEG
docRef.flatten()
// go to 8 bit because we are saving to JPEG
docRef.bitsPerChannel = BitsPerChannelType.EIGHT
// save and close
docRef.saveAs(new File(outputFolder + "/Output" + i + ".jpg"), jpegOptions)
// don’t modify the original
docRef.close(SaveOptions.DONOTSAVECHANGES)
}
}
}
// Reset the application preferences
app.displayDialogs = startDisplayDialogs

Adobe Photoshop CS4
JavaScript Scripting Reference

JavaScript Object Reference

103

Documents
The collection of open Document objects.
Access this list through the Application.documents collection property, which is available through the app
global variable, or directly at the top level. For example, the following adds a new document to the
collection:
app.documents.add(800, 500, 72, "myDocument", NewDocumentMode.RGB)

—or—
documents.add(800, 500, 72, "myDocument", NewDocumentMode.RGB)

Properties
Property

Value type

What it is

length

number

Read-only. The number of elements in the documents
collection.

parent

Application

Read-only. The containing application.

typename

string

Read-only. The class name of the referenced documents
object.

Methods
Method

Parameter type

add
([width]
[, height]
[, resolution]
[, name]
[, mode]
[, initialFill]
[,pixelAspectRatio]
[, bitsPerChannel]

Returns

What it does

Document

Creates a new document object and
adds it to this collection.

UnitValue
UnitValue
number
string
NewDocumentMode
DocumentFill
number [0.1..10.00]
BitsPerChannelType
string

pixelAspectRatio: Default is 1.0, a

square aspect ratio.
bitsPerChannelType: Default is
BitsPerChannelType.EIGHT.

[,colorProfileName])

getByName
(name)

string

Document

Gets the first element in the
documents collection with the
provided name

Adobe Photoshop CS4
JavaScript Scripting Reference

JavaScript Object Reference

104

EPSOpenOptions
Options for opening a document in EPS format using the Application.open() method.

Properties
Property

Value type

What it is

antiAlias

boolean

Read-write. True to use antialias.

constrainProportions

boolean

Read-write. True to constrain the proportions of
the image.

height

UnitValue

Read-write. The height of the image (unit
value).

mode

OpenDocumentMode

Read-write. The color profile to use as the
document mode.

resolution

number

Read-write. The resolution of the document in
pixels per inch.

typename

string

Read-only. The class name of the referenced
EPSOpenOptions object.

width

UnitValue

Read-write. The width of the image (unit value).

Adobe Photoshop CS4
JavaScript Scripting Reference

JavaScript Object Reference

105

EPSSaveOptions
Options for saving a document in EPS format using the Document.saveAs() method.

Properties
Property

Value type

What it is

embedColorProfile

boolean

Read-write. True to embed the color profile in this
document.

encoding

SaveEncoding

Read-write. The type of encoding to use (default:
SaveEncoding.BINARY ).

halftoneScreen

boolean

Read-write. True to include the halftone screen
(default: false).

interpolation

boolean

Read-write. True to use image interpolation (default:
false).

preview

Preview

Read-write. The preview type.

psColorManagement

boolean

Read-write. True to use Postscript color management
(default: false).

transferFunction

boolean

Read-write. True to include the Transfer functions to
compensate for dot gain between the image and film
(default: false).

transparentWhites

boolean

Read-write. True to display white areas as
transparent.
Valid only when document.mode =
DocumentMode.BITMAP. See also changeMode().

typename

string

Read-only. The class name of the referenced
EPSSaveOptions object.

vectorData

boolean

Read-write. True to include vector data.
Valid only if the document includes vector data (text).

Adobe Photoshop CS4
JavaScript Scripting Reference

JavaScript Object Reference

106

ExportOptionsIllustrator
Options for exporting PathItem objects to an Adobe Illustrator® file using using the
Document.exportDocument() method. These options are the options that you can provide when you
choose File > Export > Paths To Illustrator.

Properties
Property

Value type

What it is

path

IllustratorPathType

Read-write. The type of path to export
(default:
IllustratorPathType.DOCUMENTBOUNDS).

pathName

string

Read-write. The name of the path to export.
Valid only when path =
IllustratorPathType.NAMEDPATH.

typename

string

Read-only. The class name of the referenced
exportOptionsIllustrator object.

Adobe Photoshop CS4
JavaScript Scripting Reference

JavaScript Object Reference

107

ExportOptionsSaveForWeb
Options for optimizing a document for the web or devices using the Document.exportDocument()
method. These are the options that you can provide when you choose File > Save For Web and Devices.

Properties
Property

Value type

What it is

blur

number

Read-write. Applies blur to the image to reduce
artifacts (default: 0.0).

colorReduction

ColorReductionType Read-write. The color reduction algorithm (default:
ColorReductionType.SELECTIVE).

colors

number

Read-write. The number of colors in the palette
(default: 256).

dither

Dither

Read-write. The type of dither (default:
Dither.DIFFUSION).

ditherAmount

number

Read-write. The amount of dither (default: 100).
Valid only when
dither = Dither.DIFFUSION.

format

SaveDocumentType

Read-write. The file format to use (default:
SaveDocumentType.COMPUSERVEGIF).
Note: For this property, only COMPUSERVEGIF,
JPEG, PNG-8, PNG-24, and BMP are
supported.

includeProfile

boolean

Read-write. True to include the document’s
embedded color profile (default: false).

interlaced

boolean

Read-write. True to download in multiple passes;
progressive (default: false).

lossy

number

Read-write. The amount of lossiness allowed
(default: 0).

matteColor

RGBColor

Read-write. The colors to blend transparent pixels
against.

optimized

boolean

Read-write. True to create smaller but less
compatible files (default: true).
Valid only when
format = SaveDocumentType.JPEG.

PNG8

boolean

Read-write. Indicates the number of bits; true = 8,
false = 24 (default: true).
Valid only when
format = SaveDocumentType.PNG.

Adobe Photoshop CS4
JavaScript Scripting Reference

JavaScript Object Reference

108

Property

Value type

What it is (Continued)

quality

number [0..100]

Read-write. The quality of the produced image as a
percentage; default: 60.

transparency

boolean

Read-write. Indication of transparent areas of the
image should be included in the saved
image(default: true).

transparencyAmount

number

Read-write. The amont of transparency dither
(default: 100).
Valid only if transparency = true.

transparencyDither

Dither

Read-write. The transparency dither algorithm
(default: transparencyDither = Dither.NONE).

typename

string

Read-only. The class name of the referenced
ExportOptionsSaveForWeb object.

webSnap

number

Read-write. The tolerance amount within which to
snap close colors to web palette colors (default: 0).

Adobe Photoshop CS4
JavaScript Scripting Reference

JavaScript Object Reference

File
Folder
ExtendScript defines the JavaScript classes File and Folder to encapsulate file-system references in a
platform-independent manner; see ‘JavaScript support in Adobe Photoshop CS4’ on page 33. For
references details of these classes, see the JavaScript Tools Guide.

109

Adobe Photoshop CS4
JavaScript Scripting Reference

JavaScript Object Reference

110

GalleryBannerOptions
Options for the bannerOptions property of the GalleryOptions object.
Tip: You can preserve default values for many of these properties by setting the GalleryOptions property
preserveAllMetadata to true; this is the same as choosing File > Automate > Web Photo Gallery, and
then choosing Preserve all metadata in the Options area of the Web Photo Gallery dialog.

Properties
Property

Value type

What it is

contactInfo

string

Read-write. The web photo gallery
contact info.

date

string

Read-write. The web photo gallery date
(default: current date).

font

GalleryFontType

Read-write. The font setting for the
banner text (default:
GalleryFontType.ARIAL).

fontSize

number [1..7]

Read-write. The font size for the banner
text (default: 3).

photographer

string

Read-write. The web photo gallery
photographer.

siteName

string

Read-write. The web photo gallery site
name (default:
Adobe Web Photo Gallery).

typename

string

Read-only. The class name of the
referenced galleryBannerOptions
object.

Adobe Photoshop CS4
JavaScript Scripting Reference

JavaScript Object Reference

111

GalleryCustomColorOptions
Options for the customColorOptions property of the GalleryOptions object.
Tip: You can preserve default values for many of these properties by setting the GalleryOptions property
preserveAllMetadata to true; this is the same as choosing File > Automate > Web Photo Gallery, and
then choosing Preserve all metadata in the Options area of the Web Photo Gallery dialog.

Properties
Property

Value type

What it is

activeLinkColor

RGBColor

Read-write. The color to use to indicate
an active link.

backgroundColor

RGBColor

Read-write. The background color.

bannerColor

RGBColor

Read-write. The banner color.

linkColor

RGBColor

Read-write. The color to use to indicate a
link.

textColor

RGBColor

Read-write. The text color.

typename

string

Read-only. The class name of the
referenced
galleryCustomColorOptions object.

visitedLinkColor

RGBColor

Read-write. The color to use to indicate a
visited link.

Adobe Photoshop CS4
JavaScript Scripting Reference

JavaScript Object Reference

112

GalleryImagesOptions
Options for the imagesOptions property of the GalleryOptions object.
Tip: You can preserve default values for many of these properties by setting the GalleryOptions property
preserveAllMetadata to true; this is the same as choosing File > Automate > Web Photo Gallery, and
then choosing Preserve all metadata in the Options area of the Web Photo Gallery dialog.

Properties
Property

Value type

What it is

border

number [0..99]

Read-write. The size (in pixels) of the border
that separates images (default: 0).

caption

boolean

Read-write. True to generate image captions
(default: false).

dimension

number

Read-write. The resized image dimensions in
pixels (default: 350).
Valid only when resizeImages = true.

font

GalleryFontType

Read-write. The font to use for image
captions (default: GalleryFontType.ARIAL).

fontSize

number [1..7]

Read-write. The font size for image captions
(default: 3).
Valid only when caption = true.

imageQuality

number [0..12]

Read-write. The quality setting for a JPEG
image (default: 5).

includeCopyright

boolean

Read-write. True to include copyright
information in captions (default: false).
Valid only when caption = true.

includeCredits

boolean

Read-write. True to include the credits in
image captions (default: false).
Valid only when caption = true.

includeFilename

boolean

Read-write. True to include the file name in
image captions (default: true).
Valid only when caption = true.

includeTitle

boolean

Read-write. True to include the title in image
captions (default: false).
Valid only when caption = true.

numericLinks

boolean

Read-write. True to add numeric links
(default: true).

Adobe Photoshop CS4
JavaScript Scripting Reference

JavaScript Object Reference

Property

Value type

What it is (Continued)

resizeConstraint

GalleryConstrainType

Read-write. The image dimensions to
constrain in the gallery image (default:

113

GalleryConstrainType.CONSTRAINBOTH).

Valid only when resizeImages = true.
resizeImages

boolean

Read-write. True to automatically resize
images for placement on the gallery pages
(default: true).

typename

string

Read-only. The class name of the referenced
galleryImagesOptions object.

Adobe Photoshop CS4
JavaScript Scripting Reference

JavaScript Object Reference

114

GalleryOptions
Options for a Web photo gallery, created with Application.makePhotoGallery().
Tip: You can preserve default values for many of these properties by choosing File > Automate > Web
Photo Gallery, and then choosing Preserve all metadata in the Options area of the Web Photo
Gallery dialog.

Properties
Property

Value type

What it is

addSizeAttributes

boolean

Read-write. True to add width and
height attributes for images (default:
true).

bannerOptions

GalleryBannerOptions

Read-write. The options related to
banner settings.

customColorOptions

GalleryCustomColorOptions Read-write. The options related to

custom color settings.
emailAddress

string

Read-write. The email address to show
on the web page.

imagesOptions

GalleryImagesOptions

Read-write. The options related to
images settings.

includeSubFolders

boolean

Read-write. True to include all files
found in sub folders of the input
folder (default: true).

layoutStyle

string

Read-write. The style to use for laying
out the web page (default: Centered
Frame 1 - Basic).

preserveAllMetadata

boolean

Read-write. True to save metadata
(default: false).

securityOptions

GallerySecurityOptions

Read-write. The options related to
security settings.

thumbnailOptions

GalleryThumbnailOptions

Read-write. The options related to
thumbnail image settings.

typename

string

Read-only. The class name of the
referenced galleryOptions object.

useShortExtension

boolean

Read-write. True to use the short web
page extension .htm. If false, use the
web page extension .html (default:
true).

useUTF8Encoding

boolean

Read-write. True to use UTF-8
encoding for the web page (default:
false).

Adobe Photoshop CS4
JavaScript Scripting Reference

JavaScript Object Reference

115

GallerySecurityOptions
Options for the securityOptions property of the GalleryOptions object.
Tip: You can preserve default values for many of these properties by setting the GalleryOptions property
preserveAllMetadata to true; this is the same as choosing File > Automate > Web Photo Gallery, and
then choosing Preserve all metadata in the Options area of the Web Photo Gallery dialog.

Properties
Property

Value type

What it is

content

GallerySecurityType

Read-write. The web photo gallery
security content (default:
GallerySecurityType.NONE).

font

GalleryFontType

Read-write. The web photo gallery
security font (default:
GalleryFontType.ARIAL).

fontSize

number [1..72]

Read-write. The web photo gallery
security font size (default: 3).

opacity

number

Read-write. The web page security
opacity as a percent (default: 100).

text

string

Read-write. The web photo gallery
security custom text.

textColor

GallerySecurityTextColorType

Read-write. The web page security text
color.

textPosition

GallerySecurityTextPositionType

Read-write. The web photo gallery
security text position (default:
GallerySecurityTextPositionType.
CENTERED).

textRotate

GallerySecurityTextRotateType

Read-write. The web photo gallery
security text orientation to use (default:
GallerySecurityTextRotateType.
ZERO).

typename

string

Read-only. The class name of the
referenced gallerySecurityOptions
object.

Adobe Photoshop CS4
JavaScript Scripting Reference

JavaScript Object Reference

116

GalleryThumbnailOptions
Options for the thumbnailOptions property of the GalleryOptions object.
Tip: You can preserve default values for many of these properties by setting the GalleryOptions property
preserveAllMetadata to true; this is the same as choosing File > Automate > Web Photo Gallery, and
then choosing Preserve all metadata in the Options area of the Web Photo Gallery dialog.

Properties
Property

Value type

What it is

border

number [0..99]

Read-write. The amount of border pixels you
want around your thumbnail images (default:
0).

caption

boolean

Read-write. True if there is a caption (default:
false).

columnCount

number

Read-write. The number of columns on the
page (default: 5).

dimension

number

Read-write. The web photo gallery thumbnail
dimension in pixels (default: 75).

font

GalleryFontType

Read-write. The web photo gallery font
(default: GalleryFontType.ARIAL).

fontSize

number [1..7]

Read-write. The font size for thumbnail
images text (default: 3).

includeCopyright

boolean

Read-write. True to include copyright
information for thumbnails (default: false).

includeCredits

boolean

Read-write. True to include credits for
thumbnails (default: false).

includeFilename

boolean

Read-write. True to include file names for
thumbnails (default: false).

includeTitle

boolean

Read-write. True to include titles for
thumbnails (default: false).

rowCount

number

Read-write. The number of rows on the page
(default: 3).

size

GalleryThumbSizeType

Read-write. The thumbnail image size
(default: GalleryThumbSizeType.MEDIUM).

typename

string

Read-only. The class name of the referenced
GalleryThumbnailOptions object.

Adobe Photoshop CS4
JavaScript Scripting Reference

JavaScript Object Reference

117

GIFSaveOptions
Options for saving a document in GIF format using the Document.saveAs() method.

Properties
Property

Value type

What it is

colors

number

Read-write. The number of palette colors.
Valid only when palette =
Palette.LOCALADAPTIVE, LOCALPERCEPTUAL,
LOCALSELECTIVE, MACOSPALETTE, UNIFORM,
WEBPALETTE; or WINDOWSPALETTE .

dither

Dither

Read-write. The dither type.

ditherAmount

number [1..100]

Read-write. The amount of dither (default: 75).
Valid only when dither = Dither.DIFFUSION.

forced

ForcedColors

Read-write. The type of colors to force into the
color palette.

interlaced

boolean

Read-write. True if rows should be interlaced
(default: false).

matte

MatteType

Read-write. The color to use to fill anti-aliased
edges adjacent to transparent areas of the image
(default: MatteType.WHITE).
When transparency = false, the matte color is
applied to transparent areas.

palette

PaletteType

Read-write. The type of palette to use (default:
Palette.LOCALSELECTIVE).

preserveExactColors

boolean

Read-write. True to protect colors in the image
that contain entries in the color table from being
dithered.
Valid only when dither = Dither.DIFFUSION.

transparency

boolean

Read-write. True to preserve transparent areas of
the image during conversion to GIF format.

typename

string

Read-only. The class name of the referenced
GIFSaveOptions object.

Adobe Photoshop CS4
JavaScript Scripting Reference

JavaScript Object Reference

118

GrayColor
Defines a gray color, used in the SolidColor object.
See also CMYKColor, HSBColor, LabColor, NoColor, RGBColor

Properties
Property

Value type

What it is

gray

number [0.0..100.0] Read-write. The gray value (default: 0.0).

typename

string

Read-only. The class name of the referenced grayColor
object.

Adobe Photoshop CS4
JavaScript Scripting Reference

JavaScript Object Reference

119

HistoryState
A version of the document stored automatically (and added to the HistoryStates collection), which
preserves the document’s state, each time the document is changed.
Access through Document.historyStates collection. You can access a state in the list by name. For example,
this assigns a property value in the state object named "AddLayerMask":
var stateRef = app.activeDocument.historyState.getByName("AddLayerMask");
stateRef.snapshot = true;

Properties
Property

Value type

What it is

name

string

Read-only. The HistoryState object's name.

parent

Document

Read-only. The containing document.

snapshot

boolean

Read-only. True if the history state is a snapshot.

typename

string

Read-only. The class name of the referenced HistoryState
object.

Adobe Photoshop CS4
JavaScript Scripting Reference

JavaScript Object Reference

120

HistoryStates
The collection of HistoryState objects in the document.
Access through Document.historyStates collection property. For example, this accesses one of the states in
the collection by index:
myState = app.activeDocument.historyStates[7];

Properties
Property

Value type

What it is

length

number

Read-only. The number of elements in the HistoryStates
collection.

parent

Document

Read-only. The containing document.

typename

string

Read-only. The class name of the referenced
HistoryStates object.

Parameter type

Returns

What it does

HistoryState

Get the first element in the
HistoryStates collection with the
provided name.

Methods
Method
getByName
(name)

string

Adobe Photoshop CS4
JavaScript Scripting Reference

JavaScript Object Reference

HSBColor
Defines an HSB color, used in the SolidColor object.
See also CMYKColor, GrayColor, LabColor, NoColor, RGBColor

Properties
Property

Value type

What it is

brightness

number[0.0..100.0]

Read-write. The brightness value.

hue

number [0.0..360.0] Read-write. The hue value.

saturation

number [0.0..100.0] Read-write. The saturation value.

typename

string

Read-only. The class name of the referenced HSBColor
object.

121

Adobe Photoshop CS4
JavaScript Scripting Reference

JavaScript Object Reference

122

IndexedConversionOptions
Options for converting an RGB image to an indexed color model using Document.changeMode().

Properties
Property

Value type

What it is

colors

number

Read-write. The number of palette colors.
Valid only when palette =
Palette.LOCALADAPTIVE, LOCALPERCEPTUAL,
LOCALSELECTIVE, MACOSPALETTE, UNIFORM,
WEBPALETTE, or WINDOWSPALETTE.

dither

Dither

Read-write. The dither type.

ditherAmount

number [1..100]

Read-write. The amount of dither.
Valid only when dither = Dither.diffusion.

forced

ForcedColors

Read-write. The type of colors to force into the
color palette.

matte

MatteType

Read-write. The color to use to fill anti-aliased
edges adjacent to transparent areas of the image
(default: MatteType.WHITE).
When transparency = false, the matte color is
applied to transparent areas.

palette

PaletteType

Read-write. The palette type (default:
Palette.EXACT ).

preserveExactColors

boolean

Read-write. True to protect colors in the image
that contain entries in the color table from being
dithered.
Valid only when dither = Dither.DIFFUSION.

transparency

boolean

Read-write. True to preserve transparent areas of
the image during conversion to GIF format.

typename

string

Read-only. The class name of the referenced
IndexedConversionOptions object.

Adobe Photoshop CS4
JavaScript Scripting Reference

JavaScript Object Reference

123

JPEGSaveOptions
Options for saving a document in JPEG format using the Document.saveAs() method.

Properties
Property

Value type

What it is

embedColorProfile

boolean

Read-write. True to embed the color profile in the
document.

formatOptions

FormatOptions

Read-write.The download format to use (default:
FormatOptions.STANDARDBASELINE).

matte

MatteType

Read-write. The color to use to fill anti-aliased edges
adjacent to transparent areas of the image (default:
MatteType.WHITE).
When transparency is turned off for an image, the
matte color is applied to transparent areas.

quality

number [0..12]

Read-write. The image quality setting to use; affects
file size and compression (default: 3).

scans

number [3..5]

Read-write. The number of scans to make to
incrementally display the image on the page
(default: 3).
Valid only for when formatOptions =
FormatOptions.PROGRESSIVE.

typename

string

Read-only. The class name of the referenced
JPEGSaveOptions object.

Adobe Photoshop CS4
JavaScript Scripting Reference

JavaScript Object Reference

LabColor
Defines an LAB color, used in the SolidColor object.
See also CMYKColor, GrayColor, HSBColor, NoColor, RGBColor

Properties
Property

Value type

What it is

a

number [-128.0..127.0]

Read-write. The a-value.

b

number [-128.0..127.0]

Read-write. The b-value.

l

number [0.0..100.0]

Read-write. The L-value.

typename

string

Read-only. The class name of the referenced
LabColor object.

124

Adobe Photoshop CS4
JavaScript Scripting Reference

JavaScript Object Reference

125

LayerComp
A snapshot of a state of the layers in a document, which can be used to view different page layouts or
compositions.
Access through Document.layerComps collection. You can access a layer comp by its name. For example,
this sets the comment property value for a LayerComp object named myLayerComp:
var layercompRef = app.activeDocument.layerComps.getByName("myLayerComp");
layercompRef.comment = "View from shoreline";

Properties
Property

Value type

What it is

appearance

boolean

Read-write. True to use layer appearance (layer styles) settings.

comment

string

Read-write. A description of the layer comp.

name

string

Read-write. The name of the layer comp.

parent

Document

Read-write. The containing document.

position

boolean

Read-write. True to use layer position.

selected

boolean

Read-only. True if the layer comp is currently selected.

typename

string

Read-only. The class name of the referenced layerComp object.

visibility

boolean

Read-write. True to use layer visibility settings .

Methods
Method
apply

Parameter type

Returns

What it does
Applies the layer comp to the document.

()

recapture
()

remove

Recaptures the current layer state(s) for
this layer comp.
Deletes the layerComp object.

()

resetfromComp
()

Resets the layer comp state to the
document state.

Adobe Photoshop CS4
JavaScript Scripting Reference

JavaScript Object Reference

126

LayerComps
The collection of LayerComp objects in the document.
Access through the Document.layerComps collection property. For example:
app.activeDocument.layerComps.add("myLayerComp", "View from Shoreline",
true, true, true);

Properties
Property

Value type

What it is

length

number

Read-only. The number of elements in the layerComps
collection.

parent

Document

Read-only. The containing document.

typename

string

Read-only. The class name of the referenced
layerComps object.

Parameter type

Returns

What it does

LayerComp

Creates a new layer composition
object and adds it to this collection.

LayerComp

Gets the first element in the
collection with the provided name.

Methods
Method
add
(name,
comment,
appearance,
position,
visibility)

string
string
boolean
boolean
boolean

getByName
(name)

removeAll
()

string

Removes all member objects from
the layerComps collection.

Adobe Photoshop CS4
JavaScript Scripting Reference

JavaScript Object Reference

127

Layers
The collection of layer objects, including ArtLayer and LayerSet objects, in the document. Access through
Document.layers, or the LayerSet.layers collections properties.
For example, this uses the length property to count the number of layer objects in the active document,
then displays the number on the screen:
var layerNum = app.activeDocument.layers.length
alert(layerNum)

Properties
Property

Value type

What it is

length

number

Read-only. The number of elements in the layers
collection.

parent

Document or
LayerSet

Read-only. The containing document or layer set.

typename

string

Read-only. The class name of the referenced layers object.

Parameter type

Returns

What it does

Layer

Gets the first element in the layers
collection with the provided name.

Methods
Method
getByName
(name)

removeAll
()

string

Removes all layers from the collection.

Adobe Photoshop CS4
JavaScript Scripting Reference

JavaScript Object Reference

128

LayerSet
A group of layer objects, which can include ArtLayer objects and other (nested) LayerSet objects. A single
command can manipulate all layers in the set.
Access top-level layers sets in a document through the Document.layerSets collection. You can access a
layer set by name. For example, the following sets the allLocked value for "myLayerSet":
var layerSetRef = app.activeDocument.layerSets.getByName("myLayerSet");
layerSetRef.allLocked = true

Access nested layer sets through the LayerSet.layerSets collection in the parent set. For example:
app.activeDocument.layerSets[0].layerSets[0];

Properties
Property

Value type

What it is

allLocked

boolean

Read-write. True if the contents in the layers in this set
are not editable.

artLayers

ArtLayers

Read-only. The art layers in this layer set.

blendMode

BlendMode

Read-write. The blend mode to use for the layer set.

bounds

array of UnitValue Read-only. The bounding rectangle of the layer set.

enabledChannels

array of Channel

Read-write. The channels enabled for the layer set; must
be a list of component channels. See Channel.kind.

layers

Layers

Read-only. The layers in this layer set.

layerSets

LayerSets

Read-only. Nested layer sets contained within this layer
set.

linkedLayers

array of ArtLayer
and/or LayerSet

Read-only. The layers linked to this layerSet object.

name

string

Read-write. The name of this layer set.

opacity

number [0.0..100.0] Read-write. The master opacity of the set.

parent

Document or
LayerSet

Read-only. The containing document or layer set.

typename

string

Read-only. The class name of the referenced LayerSet
object.

visible

boolean

Read-write. True if the set is visible.

Adobe Photoshop CS4
JavaScript Scripting Reference

JavaScript Object Reference

129

Methods
Method

Parameter type

LayerSet

duplicate
([relativeObject]
[, insertionLocation])

Returns

ArtLayer
LayerSet

Links the layer set with another
layer.

or
ArtLayer

merge
()

insertionLocation)

Merges the layerset; returns a
reference to the art layer created
by this method.
Moves the object.

move
(relativeObject,

Creates a duplicate of the object.

ArtLayer or
LayerSet
ElementPlacement

link
(with)

What it does

ArtLayer or
LayerSet
ElementPlacement

Deletes the object.

remove
()

resize
([horizontal]
[, vertical]
[, anchor])

number
number
AnchorPosition

rotate
(angle
[, anchor])

number
AnchorPosition

translate
([deltaX]
[, deltaY])

unlink
()

UnitValue
UnitValue

Resizes all layers in the layer set to
to the specified dimensions (as a
percentage of its current size) and
places the layer set in the
specified position.
Rotates all layers in the layer set
around the specified anchor point
(default:
AnchorPosition.MIDDLECENTER)
Moves the position relative to its
current position.
Unlinks the layer set.

Adobe Photoshop CS4
JavaScript Scripting Reference

JavaScript Object Reference

130

LayerSets
The collection of LayerSet objects in the document.
Access the top-level layer sets in a document through the Document.layerSets collection property. For
example:
var layerSetRef = app.activeDocument.layerSets.add()

Access the nested layer sets through the LayerSet.layerSets collection property in the parent set. For
example:
var layerSetRef = app.activeDocument.layerSets.getByName("myParentSet");
var childSet = layerSetRef.layerSets.getByName("myChildSet");

Properties
Property

Value type

What it is

length

number

Read-only. The number of elements in the LayerSets
collection.

parent

Document or
LayerSet

Read-only. The containing document or layer set.

typename

string

Read-only. The class name of the referenced layerSets
object.

Parameter type

Returns

What it does

LayerSet

Creates a new layer set object and adds it to
the collection.

LayerSet

Gets the first element in the collection with
the provided name.

Methods
Method
add
()

getByName
(name)

string

removeAll
()

Removes all member layer sets, and any
layers or layer sets they contain, from the
document.

LayerSets sample script
The following script creates three layer sets, then nests a second layer set in each layer set, and then
creates a text layer in each nested set that that displays the text "Layer in n Set Inside n Set", where n
represents the ordinal number of the set (first, second, or third).
Note: This script uses the ExtendScript $ debugging object. For further details, see the JavaScript Tools
Guide.

LayerSets.jsx
$.level = 1
//close all open documents
while (app.documents.length) {

Adobe Photoshop CS4
JavaScript Scripting Reference

JavaScript Object Reference

app.activeDocument.close()
}
// create a working document
var docRef = app.documents.add()
// create an array to hold the layer sets
var myLayerSets = new Array()
// Create an array to hold the text
var textArray = Array("First", "Second", "Third")
//Create an indexer variable
var i = 0
// Create three layer sets at the top level
for (i = 0; i < 3; i++) {
myLayerSets[i] = new Array()
myLayerSets[i][0] = docRef.layerSets.add()
}
// Rearrange the layer sets with the first one on top, second next, etc.
myLayerSets[1][0].moveAfter(myLayerSets[0][0])
myLayerSets[2][0].moveAfter(myLayerSets[1][0])
// Create a layer set inside each layer set
for (i = 0; i < 3; i++) {
myLayerSets[i][0].name = textArray[i] + " Set"
myLayerSets[i][1] = myLayerSets[i][0].layerSets.add()
myLayerSets[i][1].name = "Inside " + textArray[i] + " Set"
}
// Create an array to hold the layers
var myLayers = new Array()
// Create a text layer with a description inside each layer set
for (i = 0; i < 3; i++) {
myLayers[i] = myLayerSets[i][1].artLayers.add()
myLayers[i].kind = LayerKind.TEXT
myLayers[i].textItem.contents = "Layer in " + textArray[i] + " Set Inside "
+ textArray[i] + " Set"
myLayers[i].textItem.position = Array(app.activeDocument.width * i * 0.33,
app.activeDocument.height * (i + 1) * 0.25)
myLayers[i].textItem.size = 12
}

131

Adobe Photoshop CS4
JavaScript Scripting Reference

JavaScript Object Reference

MeasurementLog
The measurement log for the application. Access through the Application.measurementLog property.
Note: This feature is available in the Extended Version only.

Methods
Method

Parameter type
File
MeasurementRange
array of string

deleteMeasurements
([range])

What it does
Export measurement to a file.

exportMeasurements
([file]
[, range])
[, dataPoints])

Returns

MeasurementRange

Delete measurements from
the log.

132

Adobe Photoshop CS4
JavaScript Scripting Reference

JavaScript Object Reference

133

MeasurementScale
The measurement scale for the document. Access through the Document.measurementScale property.
For example:
app.activeDocument.measurementScale.pixelLength = 25

Note: This feature is available in the Extended Version only.

Properties
Property

Value type

What it is

pixelLength

number

Read-write. The length in pixels this scale equates to.

logicalLength

number

Read-write. The logical length this scale equates to.

logicalUnits

string

Read-write. The logical units for this scale.

Adobe Photoshop CS4
JavaScript Scripting Reference

JavaScript Object Reference

NoColor
Represents a missing color object, used in the SolidColor object.
See also CMYKColor, GrayColor, HSBColor, LabColor, RGBColor

Properties
Property

Value type

What it is

typename

string

Read-only. The class name of the referenced noColor
object.

134

Adobe Photoshop CS4
JavaScript Scripting Reference

JavaScript Object Reference

135

Notifier
An event-handler object that tells a script to execute specified code when a specified event occurs.
Notifiers must be enabled using the Application.notifiersEnabled property.
Access through the Application.notifiers collection.
Note: Events that occur within scripts do not generally trigger notifiers, because they occur inside a "play
script" event.

Properties
Property

Value type

What it is

event

string

Read-only. The event identifier, a four-character code or a
unique string.
For a list of four-character codes, see Appendix A: Event ID
Codes.

eventClass

string

Read-only. The class identifier, a four-character code or a
unique string.
When an event applies to multiple types of objects, use this
propery to distinguish which object this notifier applies to.
For example, the Make event ("Mk ") can apply to
documents ("Dcmn"), channels ("Chnl") and other objects.

eventFile

File

Read-only. The path to the file to execute when the event
occurs and activates the notifier.

parent

Application

Read-only. The containing application.

typename

string

Read-only. The class name of the referenced object.

Parameter type

Returns

Methods
Method
remove
()

What it does
Deletes this object.
You can also remove a Notifier object
from the Script Events Manager
drop-down list by deleting the file named
Script Events Manager.xml from the
Photoshop preferences folder. See Adobe
Photoshop CS4 help for more information.

Adobe Photoshop CS4
JavaScript Scripting Reference

JavaScript Object Reference

136

Notifiers
The collection of Notifier objects in the document. Access through the Application.notifiers collection
property. For example:
var notRef = app.notifiers.add("OnClickGoButton", eventFile)

Notifiers must be enabled using the Application.notifiersEnabled property.

Properties
Property

Value type

What it is

length

number

Read-only. The number of elements in the notifiers
collection.

parent

Application

Read-only. The notifiers object’s container

typename

string

Read-only. The class name of the referenced notifiers object.

Methods
Method

Parameter type Returns
Notifier

add
(event,
eventFile
[, eventClass])

string
File
string

What it does
Creates a notifier object and adds it to this
collection.
event defines the class ID of the event: use a

4-characters code or a unique string. See
Appendix A: Event ID Codes.
eventFile defines the script file that
executes when the event occurs.

When an event applies to multiple types of
objects, use the eventClass (a 4-character ID
or unique string) to distinguish which object
this Notifier applies to. For example, the
Make event ("Mk ") applies to documents
("Dcmn"), channels ("Chnl") and other
objects.
Tip: When specifying an event or event calss
wtih a 4-character ID code, omit the
single quotes in your code.
removeAll
()

Removes all member objects from the
notifiers collection.
You can also remove a notifier object from
the Script Events Manager drop-down list by
deleting the file named Script Events
Manager.xml from the Photoshop
preferences folder. See Adobe
Photoshop CS4 help for more information.

Adobe Photoshop CS4
JavaScript Scripting Reference

JavaScript Object Reference

137

PathItem
A path or drawing object, such as the outline of a shape or a straight or curved line, which contains sub
paths that define its geometry.
Access through the collection in the Document.pathItems property. For example, this selects a named
path item:
var currentPathItem = app.activeDocument.pathItems.getByName("myPath");
currentPathItem.select()

Create these objects by passing a set of SubPathInfo objects to the PathItems.add() method. This method
creates a SubPathItem object for each SubPathInfo object, and creates and returns a new PathItem object
for the path represented by all of the subpaths.

Properties
Property

Value type

What it is

kind

PathKind

Read-write. The type.

name

string

Read-write. The name.

parent

Document

Read-only. The containing document.

subPathItems

SubPathItems

Read-only. The contained sub-path objects.

typename

string

Read-only. The class name of the referenced
pathItem object.

Methods
Method

Parameter type

()

duplicate
string

fillPath
([fillColor]
[, mode]
[, opacity]
[, preserveTransparency]
[, feather]
[, wholePath]
[, antiAlias])

What it does
Deselects this pathItem
object.

deselect

(name)

Returns

SolidColor
ColorBlendMode
number [0..100]
boolean
number [0.0..250.0]
boolean
boolean

Duplicates this
pathItem object with
the new name.
Fills the area enclosed by
this path.
opacity is a percentage.
feather is in pixels.

If wholePath is true, all
subpaths are used when
doing the fill (default:
true).

Adobe Photoshop CS4
JavaScript Scripting Reference

Method

JavaScript Object Reference

Parameter type

Returns

makeClippingPath
([flatness])

number [0.2..100]

makeSelection
([feather]
[, antiAlias]
[, operation])

number [0.0..250.0]
boolean
SelectionType

138

What it does
Makes this the clipping
path for this document.
flatness tells the
PostScript printer how to
approximate curves in
the path.
Makes a Selection object
whose border is this
path.
feather is in pixels.

Deletes this object.

remove
()

Makes this the active or
selected PathItem
object.

select
()

strokePath
([tool]
[, simulatePressure])

ToolType
boolean

Strokes the path with
the specified tool.

PathItem sample script
The following creates a path in three segments: two diagonal lines that form a V, and a curved line above
the V that makes it look like a 2D ice cream cone.

Paths.jsx
// Save the current preferences
var startRulerUnits = app.preferences.rulerUnits
var startTypeUnits = app.preferences.typeUnits
var startDisplayDialogs = app.displayDialogs
// Set Adobe Photoshop CS4 to use pixels and display no dialogs
app.preferences.rulerUnits = Units.PIXELS
app.preferences.typeUnits = TypeUnits.PIXELS
app.displayDialogs = DialogModes.NO
// first close all the open documents
while (app.documents.length) {
app.activeDocument.close()
}
// create a document to work with
var docRef = app.documents.add(5000, 7000, 72, "Simple Line")
//line 1--it’s a straight line so the coordinates for anchor, left, and right
//for each point have the same coordinates
var lineArray = new Array()
lineArray[0] = new PathPointInfo
lineArray[0].kind = PointKind.CORNERPOINT
lineArray[0].anchor = Array(100, 100)

Adobe Photoshop CS4
JavaScript Scripting Reference

JavaScript Object Reference

lineArray[0].leftDirection = lineArray[0].anchor
lineArray[0].rightDirection = lineArray[0].anchor
lineArray[1] = new PathPointInfo
lineArray[1].kind = PointKind.CORNERPOINT
lineArray[1].anchor = Array(150, 200)
lineArray[1].leftDirection = lineArray[1].anchor
lineArray[1].rightDirection = lineArray[1].anchor
var lineSubPathArray = new Array()
lineSubPathArray[0] = new SubPathInfo()
lineSubPathArray[0].operation = ShapeOperation.SHAPEXOR
lineSubPathArray[0].closed = false
lineSubPathArray[0].entireSubPath = lineArray
// line 2
var lineArray2 = new Array()
lineArray2[0] = new PathPointInfo
lineArray2[0].kind = PointKind.CORNERPOINT
lineArray2[0].anchor = Array(150, 200)
lineArray2[0].leftDirection = lineArray2[0].anchor
lineArray2[0].rightDirection = lineArray2[0].anchor
lineArray2[1] = new PathPointInfo
lineArray2[1].kind = PointKind.CORNERPOINT
lineArray2[1].anchor = Array(200, 100)
lineArray2[1].leftDirection = lineArray2[1].anchor
lineArray2[1].rightDirection = lineArray2[1].anchor
lineSubPathArray[1] = new SubPathInfo()
lineSubPathArray[1].operation = ShapeOperation.SHAPEXOR
lineSubPathArray[1].closed = false
lineSubPathArray[1].entireSubPath = lineArray2
//ice cream curve
//it’s a curved line, so there are 3 points, not 2
//coordinates for the middle point (lineArray3[1]) are different.
//The left direction is positioned "above" the anchor on the screen.
//The right direction is positioned "below" the anchor
//You can change the coordinates for these points to see
//how the curve works...
var lineArray3 = new Array()
lineArray3[0] = new PathPointInfo
lineArray3[0].kind = PointKind.CORNERPOINT
lineArray3[0].anchor = Array(200, 100)
lineArray3[0].leftDirection = lineArray3[0].anchor
lineArray3[0].rightDirection = lineArray3[0].anchor
lineArray3[1] = new PathPointInfo
lineArray3[1].kind = PointKind.CORNERPOINT
lineArray3[1].anchor = Array(150, 50)
lineArray3[1].leftDirection = Array(100, 50)
lineArray3[1].rightDirection = Array(200, 50)
lineArray3[2] = new PathPointInfo
lineArray3[2].kind = PointKind.CORNERPOINT
lineArray3[2].anchor = Array(100, 100)
lineArray3[2].leftDirection = lineArray3[2].anchor
lineArray3[2].rightDirection = lineArray3[2].anchor

139

Adobe Photoshop CS4
JavaScript Scripting Reference

JavaScript Object Reference

lineSubPathArray[2] = new SubPathInfo()
lineSubPathArray[2].operation = ShapeOperation.SHAPEXOR
lineSubPathArray[2].closed = false
lineSubPathArray[2].entireSubPath = lineArray3
//create the path item
var myPathItem = docRef.pathItems.add("A Line", lineSubPathArray)
// stroke it so we can see something
myPathItem.strokePath(ToolType.BRUSH)
// Reset the application preferences
preferences.rulerUnits = startRulerUnits
preferences.typeUnits = startTypeUnits
displayDialogs = startDisplayDialogs

140

Adobe Photoshop CS4
JavaScript Scripting Reference

JavaScript Object Reference

141

PathItems
The collection of PathItem objects in a document.
Access through the Document.pathItems collection property. For example, this creates a new path item
using a previously-defined set of subpaths:
app.activeDocument.pathItems.add("myPath", lineSubPathInfoArray);

Properties
Property

Value type

What it is

length

number

Read-only. The number of pathItem objects in the
pathItems collection.

parent

Document

Read-only. The pathItems object's container.

typename

string

Read-only. The class name of the referenced pathItems
object.

Methods
Method

Parameter type
string
array of SubPathInfo

removeAll
()

to this collection.
A new SubPathItem object is created for
each SubPathInfo object provided in
entirePath, and those SubPathItem
objects are added to the subPathItems
collection of the returned PathItem.
PathItem Get the first element in the pathItems

getByName
(name)

What it does

PathItem Creates a new path item object and adds it

add
(name,
entirePath)

Returns

string

collection with the provided name.
Removes all pathItem objects from the
pathItems collection.

Adobe Photoshop CS4
JavaScript Scripting Reference

JavaScript Object Reference

142

PathPoint
Represents the anchor and control-handle endpoints for a path segment. Each point (the anchor point,
left-direction point, and right-direction point) is an array containing X and Y position coordinates.
●

Use the PathPoint object to retrieve information about the points that describe existing path
segments. The properties are read-only. Access PathPoint objects through the SubPathItem.pathPoints
property.

●

Use PathPointInfo with PathItems.add() to create path points. The properties are writeable.

For paths that are straight segments (not curved), the coordinates of all three points are the same. For
curved segements, the the coordinates are different. The difference between the anchor point and the left
or right direction points determines the arc of the curve. You use the left direction point to bend the curve
"outward" or make it convex; you use the right direction point to bend the curve "inward" or make it
concave.

Properties
Property

Value type

What it is

anchor

array of
UnitValue

Read-only. The X and Y coordinates of the anchor point of the
curve.

kind

PointKind

Read-only. The role (corner or smooth) this point plays in the
containing path segment.

leftDirection

array of
UnitValue

Read-only. The location of the left-direction endpoint (’in’
position).

parent

SubPathItem

Read-only. The containing subpath object.

rightDirection

array of
UnitValue

Read-only. The location of the right-direction endpoint (’out’
position).

typename

string

Read-only. The class name of the referenced PathPoint
object.

Adobe Photoshop CS4
JavaScript Scripting Reference

JavaScript Object Reference

143

PathPointInfo
Used to create a PathPoint, which represents the anchor and control-handle endpoints for a path segment.
Each point (the anchor point, left-direction point, and right-direction point) is an array containing X and Y
position coordinates.
●

Use the JavaScript new operator to create these objects, and store them in the
SubPathInfo.entireSubPath property before using that object to create a path item with
PathItems.add().
See the PathPointInfo sample script below.

●

The resulting SubPathItem objects contain the resulting PathPoint objects. Use the PathPoint object to
retrieve information about the points that describe existing path segments. The properties are
read-only.

For paths that are straight segments (not curved), the coordinates of all three points are the same. For
curved segements, the the coordinates are different. The difference between the anchor point and the left
or right direction points determines the arc of the curve. You use the left direction point to bend the curve
"outward" or make it convex; you use the right direction point to bend the curve "inward" or make it
concave.

Properties
Property

Value type

What it is

anchor

array of
UnitValue

Read-write. The X and Y coordinates of the anchor point of
the curve.

kind

PointKind

Read-write. The role (corner or smooth) this point plays in the
containing path segment.

leftDirection

array of
UnitValue

Read-write. The location of the left-direction endpoint (’in’
position).

rightDirection

array of
UnitValue

Read-write. The location of the right-direction endpoint (’out’
position).

typename

string

Read-only. The class name of the referenced PathPointInfo
object.

PathPointInfo sample script
function drawLine(doc, start, stop) {
var startPoint = new PathPointInfo();
startPoint.anchor = start;
startPoint.leftDirection = start;
startPoint.rightDirection = start;
startPoint.kind = PointKind.CORNERPOINT;
var stopPoint = new PathPointInfo();
stopPoint.anchor = stop;
stopPoint.leftDirection = stop;
stopPoint.rightDirection = stop;
stopPoint.kind = PointKind.CORNERPOINT;

Adobe Photoshop CS4
JavaScript Scripting Reference

var spi = new SubPathInfo();
spi.closed = false;
spi.operation = ShapeOperation.SHAPEXOR;
spi.entireSubPath = [startPoint, stopPoint];
var line = doc.pathItems.add("Line", [spi]);
line.strokePath(ToolType.PENCIL);
line.remove();
};
drawLine(app.activeDocument, [100,100], [200,200]);

JavaScript Object Reference

144

Adobe Photoshop CS4
JavaScript Scripting Reference

JavaScript Object Reference

145

PathPoints
A collection of PathPoint objects that define a subpath, kept in the SubPathItem.pathPoints property.

Properties
Property

Value type

What it is

length

number

Read-only. The number of elements in the collection.

parent

SubPathItem

Read-only. The containing subpath object.

typename

string

Read-only. The class name of the referenced PathPoints
object.

Adobe Photoshop CS4
JavaScript Scripting Reference

JavaScript Object Reference

146

PDFOpenOptions
Options for opening a document in generic Adobe PDF format using the Application.open() method.

Properties
Property

Value type

What it is

antiAlias

boolean

Read-write. True to use antialias.

bitsPerChannel

BitsPerChannelType Read-write. The number of bits per channel.

constrainProportions

boolean

DEPRECATED for Adobe Photoshop CS4.

cropPage

CropToType

Read-write. The method of cropping to use.

height

UnitValue

DEPRECATED for Adobe Photoshop CS4.

mode

OpenDocumentMode

Read-write. The color model to use.

name

string

Read-write. The name of the object.

page

number

Read-write. The page or image to which to open
the document, depending on the value of
usePageNumber.

resolution

number

Read-write. The resolution of the document (in
pixels per inch).

suppressWarnings

boolean

Read-write. True to suppress warnings when
opening the document.

typename

string

Read-only. The class name of the referenced
PDFOpenOptions object.

usePageNumber

boolean

Read-write. When true, the page property refers
to a page number; when false, it refers to an
image number.

width

UnitValue

DEPRECATED for Adobe Photoshop CS4.

Adobe Photoshop CS4
JavaScript Scripting Reference

JavaScript Object Reference

147

PDFSaveOptions
Options for saving a document in Adobe PDF format using the Document.saveAs() method.

Properties
Property

Value type

What it is

alphaChannels

boolean

Read-write. True to save the alpha channels
with the file.

annotations

boolean

Read-write. True to save comments with the
file.

colorConversion

boolean

Read-write. True to convert the color profile
to a destination profile.

convertToEightBit

boolean

Read-write. True to convert a 16-bit image
to 8-bit for better compatibility with other
applications.

description

string

Read-write. Description of the save options
to use.

destinationProfile

string

Read-write. Description of the final RGB or
CMYK output device, such as a monitor or a
press standard.

downgradeColorProfile

boolean

DEPRECATED for Adobe Photoshop CS4.

downSample

PDFResample

Read-write. The down sample method to
use.

downSampleSize

number

Read-write. The size to downsample images
if they exceed the limit in pixels per inch.

downSampleSizeLimit

number

Read-write. Limits downsampling or
subsampling to images that exceed this
value in pixels per inch.

embedColorProfile

boolean

Read-write. True to embed the color profile
in the document.

embedFonts

boolean

DEPRECATED for Adobe Photoshop CS4.

embedThumbnail

boolean

Read-write. True to include a small preview
image in Adobe PDF files.

encoding

PDFEncoding

Read-write. The type of compression to use
(default: PDFEncoding.PDFZIP).

interpolation

boolean

DEPRECATED for Adobe Photoshop CS4.

Adobe Photoshop CS4
JavaScript Scripting Reference

JavaScript Object Reference

148

Property

Value type

What it is (Continued)

jpegQuality

number [0..12]

Read-write. The quality of the produced
image, which is inversely proportionate to
the compression amount.
Valid only when encoding =
PDFEncoding.JPEG .

layers

boolean

Read-write. True to save the document’s
layers.

optimizeForWeb

boolean

Read-write. True to improve performance of
PDF files on Web servers.

outputCondition

string

Read-write. An optional comment field for
inserting descriptions of the output
condition. The text is stored in the PDF/X
file.

outputConditionID

string

Read-write. Indentifier for the output
condition.

PDFCompatibility

PDFCompatibility

Read-write. The PDF version to make the
document compatible with.

PDFStandard

PDFStandard

Read-write. The PDF standard to make the
document compatible with.

preserveEditing

boolean

Read-write. True to reopen the PDF in
Adobe Photoshop CS4 with native
Photoshop data intact.

presetFile

string

Read-write. The preset file to use for
settings.
Note: This option overrides other settings.

profileInclusionPolicy

boolean

Read-write. True to show which profiles to
include.

registryName

string

Read-write. URL where the output condition
is registered.

spotColors

boolean

Read-write. True to save spot colors.

tileSize

nunber

Read-write. Compression option.
Valid only when encoding =
PDFEncoding.JPEG2000.

transparency

boolean

DEPRECATED for Adobe Photoshop CS4.

typename

string

Read-only. The class name of the referenced
PDFSaveOptions object.

useOutlines

boolean

DEPRECATED for Adobe Photoshop CS4.

Adobe Photoshop CS4
JavaScript Scripting Reference

JavaScript Object Reference

149

Property

Value type

What it is (Continued)

vectorData

boolean

DEPRECATED for Adobe Photoshop CS4.

view

boolean

Read-write. True to open the saved PDF in
Adobe Acrobat.

Adobe Photoshop CS4
JavaScript Scripting Reference

JavaScript Object Reference

150

PhotoCDOpenOptions
DEPRECATED in Adobe Photoshop CS4. Kodak PhotoCD is now found in the Goodies folder on the Adobe
Photoshop CS4 Install DVD.
Options for opening a document in Kodak Photo CD (PCD) format (including high-resolution files from Pro
Photo CD discs) using the Application.open() method.

Properties
Property

Value type

What it is

colorProfileName

string

Read-write. The profile to use when reading the
image.

colorSpace

PhotoCDColorSpace

Read-write. The colorspace for the image.

orientation

Orientation

Read-write. The image orientation.

pixelSize

PhotoCDSize

Read-write. The image dimensions.

resolution

number

Read-write. The image resolution (in pixels per
inch).

typename

string

Read-only. The class name of the referenced
photoCDOpenOptions object.

Adobe Photoshop CS4
JavaScript Scripting Reference

JavaScript Object Reference

151

PhotoshopSaveOptions
Options for saving a document in PSD format using the Document.saveAs() method.

Properties
Property

Value type

What it is

alphaChannels

boolean

Read-write. True to save the alpha channels.

annotations

boolean

Read-write. True to save the annotations.

embedColorProfile

boolean

Read-write. True to embed the color profile in the
document.

layers

boolean

Read-write. True to preserve the layers.

spotColors

boolean

Read-write. True to save the spot colors.

typename

string

Read-only. The class name of the referenced
photoshopSaveOptions object.

Adobe Photoshop CS4
JavaScript Scripting Reference

JavaScript Object Reference

152

PICTFileSaveOptions
Options for saving a document in PICT format using the Document.saveAs() method.

Properties
Property

Value type

What it is

alphaChannels

boolean

Read-write. True to save the alpha channels.

compression

PICTCompression

Read-write. The type of compression to use
(default: PICTCompression.NONE).

embedColorProfile

boolean

Read-write. True to embed the color profile in the
document.

resolution

PICTBitsPerPixels

Read-write. The number of bits per pixel.

typename

string

Read-only. The class name of the referenced
PICTFileSaveOptions object.

Adobe Photoshop CS4
JavaScript Scripting Reference

JavaScript Object Reference

153

PICTResourceSaveOptions
Options for saving a document as a PICT Resource file using the Document.saveAs() method.

Properties
Property

Value type

What it is

alphaChannels

boolean

Read-write. True to save the alpha channels.

compression

PICTCompression

Read-write. The type of compression to use (default:
PICTCompression.NONE).

embedColorProfile

boolean

Read-write. True to embed the color profile in the
document.

name

string

Read-write. The name of the PICT resource.

resolution

PICTBitsPerPixels

Read-write. The number of bits per pixel.

resourceID

number

Read-write. The ID of the PICT resource (default:
128).

typename

string

Read-only. The class name of the referenced
PICTResourceSaveOptions object.

Adobe Photoshop CS4
JavaScript Scripting Reference

JavaScript Object Reference

154

PicturePackageOptions
Options for a picture package created with Application.makePicturePackage().

Properties
Property

Value type

What it is

content

PicturePackageTextType

Read-write. The content information (default:
PicturePackageTextType.NONE).

flatten

boolean

Read-write. True if all layers in the final
document are flattened (default: true).

font

GalleryFontType

Read-write. The font used for security text
(default: GalleryFontType.ARIAL).

fontSize

number

Read-write. The font size used for security
text (default: 12).

layout

string

Read-write. The layout to use to generate the
picture package (default: "(2)5x7").

mode

NewDocumentMode

Read-write. Read-write. The color profile to
use as the document mode (default:
NewDocumentMode.RGB).

opacity

number

Read-write. The web page security opacity as
a percent (default: 100).

resolution

number

Read-write. The resolution of the document
in pixels per inch (default: 72.0).

text

string

Read-write. The picture package custom text.
Valid only when content =
PicturePackageType.USER.

textColor

RGBColor

Read-write. The color to use for security text.

textPosition

GallerySecurityTextPositionType

Read-write. The security text position
(default:
GallerySecurityTextPositionType.
CENTERED).

textRotate

GallerySecurityTextRotateType

Read-write. The orientation to use for
security text (default:
GallerySecurityTextRotateType.ZERO).

typename

string

Read-only. The class name of the referenced
PicturePackageOptions object.

Adobe Photoshop CS4
JavaScript Scripting Reference

JavaScript Object Reference

PixarSaveOptions
Options for saving a document in Pixar format using the Document.saveAs() method.

Properties
Property

Value type

What it is

alphaChannels

boolean

Read-write. True to save the alpha
channels.

typename

string

Read-only. The class name of the
referenced PixarSaveOptions
object.

155

Adobe Photoshop CS4
JavaScript Scripting Reference

JavaScript Object Reference

PNGSaveOptions
Options for saving a document in PNG format using the Document.saveAs() method.

Properties
Property

Value type

What it is

interlaced

boolean

Read-write. True to interlace rows (default: false).

typename

string

Read-only. The class name of the referenced
PNGSaveOptions object.

156

Adobe Photoshop CS4
JavaScript Scripting Reference

JavaScript Object Reference

157

Preferences
Represents application preferences for Photoshop. Access this object through the Application.preferences
property. For example:
app.preferences.rulerUnits = Units.PIXELS
app.preferences.typeUnits = TypeUnits.PIXELS

Setting values in this object is equivalent to selecting Edit > Preferences (in Windows) or Photoshop >
Preferences (in Mac OS) in the Adobe Photoshop CS4 application. For explanations of individual settings,
see Adobe Photoshop CS4 Help.

Properties
Property

Value type

What it is

additionalPluginFolder

File

Read-write. The path to an additional
plug-in folder.
Valid only when
useAdditionalPluginFolder = true.

appendExtension

SaveBehavior

Read-write. The preferred policy for
writing file extensions in Windows.

askBeforeSavingLayeredTIFF

boolean

Read-write. True to ask the user to verify
layer preservation options when saving a
file in TIFF format.

autoUpdateOpenDocuments

boolean

Read-write. True to automatically update
open documents.

beepWhenDone

boolean

Read-write. True to beep when a process
finishes.

colorChannelsInColor

boolean

Read-write. True to display component
channels in the Channels palette in color.

colorPicker

ColorPicker

Read-write. The preferred color selection
tool.

columnGutter

number [0.1..600.0]

Read-write. The width of the column
gutters (in points).

columnWidth

number [0.1..600.0]

Read-write. Column width (in points)

createFirstSnapshot

boolean

Read-write. True to automatically make
the first snapshot when a new document
is created.

dynamicColorSliders

boolean

Read-write. True if dynamic color sliders
appear in the Color palette.

editLogItems

EditLogItemsType

Read-write. The preferred level of detail
in the history log. Valid only when
useHistoryLog = true.

Adobe Photoshop CS4
JavaScript Scripting Reference

JavaScript Object Reference

158

Property

Value type

What it is (Continued)

exportClipboard

boolean

Read-write. True to retain Adobe
Photoshop CS4 contents on the
clipboard after you exit the application.

fontPreviewSize

FontPreviewType

Read-write. The preferred type size to use
for font previews in the type tool font
menus.

fullSizePreview

boolean

Read-write. True to show image preview
as a full size image, false to show
thumbnail (in Mac OS only).

gamutWarningOpacity

number [0..100]

Read-write. Opacity value as a
percentage.

gridSize

GridSize

Read-write. The preferred size to use for
squares in the grid.

gridStyle

GridLineStyle

Read-write. The preferred formatting
style for non-printing grid lines.

gridSubDivisions

number [1..100]

Read-write. Number of grid subdivisions.

guideStyle

GuideLineStyle

Read-write. The preferred formatting
style for non-printing guide lines.

iconPreview

boolean

Read-write. True to use icon previews (in
Mac OS only).

imageCacheLevels

number [1..8]

Read-write. The number of images to
hold in the cache.

imagePreviews

SaveBehavior

Read-write. The preferred policy for
writing image previews in Windows.

interpolation

ResampleMethod

Read-write. The method to use to assign
color values to any new pixels created
when an image is resampled or resized.

keyboardZoomResizesWindows

boolean

Read-write. True to automatically resize
the window when zooming in or out
using keyboard shortcuts.

macOSThumbnail

boolean

Read-write. True to create a thumbnail
when saving the image (in Mac OS only).

maximizeCompatibility

QueryStateType

Read-write. The preferred policy for
checking whether to maximize
compatibility when opening PSD files.

maxRAMuse

number [5..100]

Read-write. The maximum percentage of
available RAM used by Adobe
Photoshop CS4 (5 - 100).

nonLinearHistory

boolean

Read-write. True to allow non-linear
history.

Adobe Photoshop CS4
JavaScript Scripting Reference

JavaScript Object Reference

159

Property

Value type

What it is (Continued)

numberofHistoryStates

number

Read-write. The number of history states
to preserve.

otherCursors

OtherPaintingCursors Read-write. The preferred type of pointer

to use with certain tools.
paintingCursors

PaintingCursors

Read-write. The preferred type of pointer
to use with certain tools.

parent

Application

Read-write. The containing application.

pixelDoubling

boolean

Read-write. True to halve the resolution
(double the size of pixels) to make
previews display more quickly.

pointSize

PointType

Read-write. The point/pica size.

recentFileListLength

number [0..30]

Read-write. The number of items in the
recent file list.

rulerUnits

Units

Read-write. The unit the scripting system
will use when receiving and returning
values.

saveLogItems

SaveLogItemsType

Read-write. Thepreferred location of
history log data when saving the history
items.

saveLogItemsFile

File

Read-write. The path to the history log
file, when the preferred location is a file.

savePaletteLocations

boolean

Read-write. True to make new palette
locations the default location.

showAsianTextOptions

boolean

Read-write. True to display Asian text
options in the Paragraph palette.

showEnglishFontNames

boolean

Read-write. True to list Asian font names
in English.

showSliceNumber

boolean

Read-write. True to display slice numbers
in the document window when using the
Slice tool.

showToolTips

boolean

Read-write. True to show pop up
definitions on mouse over.

smartQuotes

boolean

Read-write. True to use curly, false to use
straight quote marks.

typename

string

Read-only. The class name of the
referenced preferences object.

typeUnits

TypeUnits

Read-write. The preferred unit for text
character measurements.

Adobe Photoshop CS4
JavaScript Scripting Reference

JavaScript Object Reference

160

Property

Value type

What it is (Continued)

useAdditionalPluginFolder

boolean

Read-write. True to use an additional
folder for compatible plug-ins stored
with a different application.

useHistoryLog

boolean

Read-write. True to create a log file for
history states.

useLowerCaseExtension

boolean

Read-write. True to use lowercase for file
extensions.

useShiftKeyForToolSwitch

boolean

Read-write. True to enable cycling
through a set of hidden tools.

useVideoAlpha

boolean

Read-write. True to enable Adobe
Photoshop CS4 to send transparency
information to your computer’s video
board. (Requires hardware support.)

windowsThumbnail

boolean

Read-write. True to create a thumbnail
when saving the image in Windows.
(Requires hardware support.)

Adobe Photoshop CS4
JavaScript Scripting Reference

JavaScript Object Reference

161

PresentationOptions
Options for Adobe PDF presentations created using Application.makePDFPresentation().

Properties
Property

Value type

What it is

autoAdvance

boolean

Read-write. True to auto advance images when when
viewing the presentation (default: true).
Valid only when presentation = true.

includeFilename

boolean

Read-write. True to include the file name for the image
(default: false).

interval

number [1..60]

Read-write. The time in seconds before the view is auto
advanced (default: 5).
Valid only when autoAdvance = true.

loop

boolean

Read-write. True to begin the presentation again after
the last page (default: false).
Valid only when autoAdvance = true.

magnification

MagnificationType Read-write. The magnification type to use when viewing

the image.
PDFFileOptions

PDFSaveOptions

Read-write. Options to use when creating the PDF file.

presentation

boolean

Read-write. True if the output will be a presentation
(default: false); when false, the output is a Multi-Page
document.

transition

TransitionType

Read-write. The method for transition from one image to
the next (default: TransitionType.NONE).
Valid only when autoAdvance = true. .

typename

string

Read-only. The class name of the referenced
PresentationOptions object.

Adobe Photoshop CS4
JavaScript Scripting Reference

JavaScript Object Reference

162

RawFormatOpenOptions
Options for opening a document in RAW format using the Application.open() method.

Properties
Property

Value type

What it is

bitsPerChannel

number

Read-write. The number of bits for each channel.
The only valid values are BitsPerChannelType.EIGHT
or BitsPerChannelType.SIXTEEN.

byteOrder

ByteOrder

Read-write. The order in which multibyte values are
read.
Valid only when bitsPerChannel =
BitsPerChannelType.SIXTEEN.

channelNumber

number [1..56]

Read-write. The number of channels in the image. The
value of cannot exceed the number of channels in the
image.
When bitsPerChannel =
BitsPerChannelType.SIXTEEN, the only valid values

are 1, 3, or 4.
headerSize

number
[0..1919999]

Read-write. The number of bytes of information that
will appear in the file before actual image information
begins; that is, the number of zeroes inserted at the
beginning of the file as placeholders.

height

number

Read-write. The height of the image (in pixels).

interleaveChannels

boolean

Read-write. True to store color values sequentially.

retainHeader

boolean

Read-write. True to retain the header when saving.
Valid only when headerSize is 1 or greater.

typename

string

Read-only. The class name of the referenced
RawFormatOpenOptions object.

width

number

Read-write. The image width in pixels.

Adobe Photoshop CS4
JavaScript Scripting Reference

JavaScript Object Reference

RawSaveOptions
Options for saving a document in RAW format using the Document.saveAs() method.

Properties
Property

Value type

What it is

alphaChannels

boolean

Read-write. True if alpha channels should be saved.

spotColors

boolean

Read-write. True if the spot colors should be saved.

typename

string

Read-only. The class name of the referenced RawSaveOptions
object.

163

Adobe Photoshop CS4
JavaScript Scripting Reference

JavaScript Object Reference

164

RGBColor
Defines an RGB color, used in the SolidColor object.
See also CMYKColor, GrayColor, HSBColor, LabColor, NoColor.

Properties
Property

Value type

What it is

blue

number [0..255]

Read-write. The blue color value (default: 255).

green

number [0..255]

Read-write. The green color value (default: 255)

hexValue

string

Read-write. The hexadecimal representation of the color.

red

number [0..255]

Read-write. The red color value (default: 255)

typename

string

Read-only. The class name of the referenced RGBColor object.

Adobe Photoshop CS4
JavaScript Scripting Reference

JavaScript Object Reference

165

Selection
The selected area of a document or layer. Access through the Document.selection property. For example:
app.activeDocument.selection.fill(app.foregroundColor)

Many of the properties and methods use the UnitValue type, which combines measurement values with
the measurement unit. For information about this type, see the JavaScript Tools Guide.

Properties
Property

Value type

What it is

bounds

array of UnitValue

Read-only. The bounding rectangle of the entire selection.

parent

Document

Read-only. The object's container.

solid

boolean

Read-only. True if the bounding rectangle is a solid.

typename

string

Read-only. The class name of the referenced selection
object.

Methods
Method

Parameter type

()

contract
UnitValue

copy
([merge])

boolean

()

Copies the selection to the
clipboard. When the
optional argument is used
and set to true, a merged
copy is performed (all visible
layers in the selection are
copied).

Deselects the current
selection.

deselect
()

UnitValue

Expands the selection by the
specified amount.

UnitValue

Feathers the edges of the
selection by the specified
amount.

expand

feather
(by)

Contracts (reduces) the
selection by the specified
amount.

Clears the current selection
and copies it to the
clipboard.

cut

(by)

What it does
Clears the selection and
does not copy it to the
clipboard.

clear

(by)

Returns

Adobe Photoshop CS4
JavaScript Scripting Reference

Method

JavaScript Object Reference

Parameter type
SolidColor
ColorBlendMode
number [1..100]
boolean

grow
(tolerance,
antiAlias)

What it does (Continued)
Fills the selection.

fill
(filltype
[, mode]
[, opacity]
[, preserveTransparency])

Returns

166

number
boolean

opacity is a percentage

value.
Grows the selection to
include all adjacent pixels
falling within the specified
tolerance range.
Inverts the selection
(deselects the selection and
selects the rest of the layer
or document).

invert
()

Tip: To flip the selection
shape, see rotate.
load
(from
[, combination]
[, inverting])

makeWorkPath

Channel
SelectionType
boolean
number

([tolerance])

resize
([horizontal]
[, vertical]
[, anchor])

number
number
AnchorPosition

number
AnchorPosition

Rotates the selection by the
specified amount around
the specified anchor point.

number
AnchorPosition

Rotates the boundary of the
selection around the
specified anchor.

rotateBoundary
(angle
[, anchor])

Selects the specified region.

select
(region
[, type]
[, feather]
[, antiAlias])

selectAll
()

Resizes the selected area to
the specified dimensions
and anchor position.
Changes the size of the
selection to the specified
dimensions around the
specified anchor.

rotate
(angle
[, anchor])

Makes this selection item
the work path for this
document.

number
number
AnchorPosition

resizeBoundary
([horizontal]
[, vertical]
[, anchor])

Loads the selection from the
specified channel.

array of number
SelectionType
number
boolean

The region parameter is an
array of four coordinates,
[left, top, right, bottom].
Selects the entire layer.

Adobe Photoshop CS4
JavaScript Scripting Reference

Method

JavaScript Object Reference

Parameter type
SolidColor
ColorBlendMode
number [1..100]
boolean

grow
(tolerance,
antiAlias)

What it does (Continued)
Fills the selection.

fill
(filltype
[, mode]
[, opacity]
[, preserveTransparency])

Returns

167

number
boolean

opacity is a percentage

value.
Grows the selection to
include all adjacent pixels
falling within the specified
tolerance range.
Inverts the selection
(deselects the selection and
selects the rest of the layer
or document).

invert
()

Tip: To flip the selection
shape, see rotate.
load
(from
[, combination]
[, inverting])

makeWorkPath

Channel
SelectionType
boolean
number

([tolerance])

resize
([horizontal]
[, vertical]
[, anchor])

number
number
AnchorPosition

number
AnchorPosition

Rotates the selection by the
specified amount around
the specified anchor point.

number
AnchorPosition

Rotates the boundary of the
selection around the
specified anchor.

rotateBoundary
(angle
[, anchor])

Selects the specified region.

select
(region
[, type]
[, feather]
[, antiAlias])

selectAll
()

Resizes the selected area to
the specified dimensions
and anchor position.
Changes the size of the
selection to the specified
dimensions around the
specified anchor.

rotate
(angle
[, anchor])

Makes this selection item
the work path for this
document.

number
number
AnchorPosition

resizeBoundary
([horizontal]
[, vertical]
[, anchor])

Loads the selection from the
specified channel.

array of number
SelectionType
number
boolean

The region parameter is an
array of four coordinates,
[left, top, right, bottom].
Selects the entire layer.

Adobe Photoshop CS4
JavaScript Scripting Reference

Method

JavaScript Object Reference

Parameter type
SolidColor
ColorBlendMode
number [1..100]
boolean

grow
(tolerance,
antiAlias)

What it does (Continued)
Fills the selection.

fill
(filltype
[, mode]
[, opacity]
[, preserveTransparency])

Returns

168

number
boolean

opacity is a percentage

value.
Grows the selection to
include all adjacent pixels
falling within the specified
tolerance range.
Inverts the selection
(deselects the selection and
selects the rest of the layer
or document).

invert
()

Tip: To flip the selection
shape, see rotate.
load
(from
[, combination]
[, inverting])

makeWorkPath

Channel
SelectionType
boolean
number

([tolerance])

resize
([horizontal]
[, vertical]
[, anchor])

number
number
AnchorPosition

number
AnchorPosition

Rotates the selection by the
specified amount around
the specified anchor point.

number
AnchorPosition

Rotates the boundary of the
selection around the
specified anchor.

rotateBoundary
(angle
[, anchor])

Selects the specified region.

select
(region
[, type]
[, feather]
[, antiAlias])

selectAll
()

Resizes the selected area to
the specified dimensions
and anchor position.
Changes the size of the
selection to the specified
dimensions around the
specified anchor.

rotate
(angle
[, anchor])

Makes this selection item
the work path for this
document.

number
number
AnchorPosition

resizeBoundary
([horizontal]
[, vertical]
[, anchor])

Loads the selection from the
specified channel.

array of number
SelectionType
number
boolean

The region parameter is an
array of four coordinates,
[left, top, right, bottom].
Selects the entire layer.

Adobe Photoshop CS4
JavaScript Scripting Reference

Method

JavaScript Object Reference

Parameter type

Returns

selectBorder
(width)

UnitValue

similar
(tolerance,
antiAlias)

number
boolean

smooth
(radius)

number

store
(into
[, combination])

Channel
SelectionType

stroke
(strokeColor,
width
[, location]
[, mode]
[, opacity]
[, preserveTransparency])

SolidColor
number
StrokeLocation
ColorBlendMode
number [1..100]
boolean

translate
([deltaX]
[, deltaY])

UnitValue
UnitValue

translateBoundary
([deltaX]
[, deltaY])

UnitValue
UnitValue

169

What it does (Continued)
Selects the selection border
only (in the specified width);
subsequent actions do not
affect the selected area
within the borders.
Grows the selection to
include pixels throughout
the image falling within the
tolerance range.
Cleans up stray pixels left
inside or outside a
color-based selection
(within the radius specified
in pixels).
Saves the selection as a
channel.
Strokes the selection border.
opacity is a percentage
value.

Moves the entire selection
relative to its current
position.
Moves the selection relative
to its current position.

Selection sample script
The following script creates a checkerboard using the following steps:
●

Create an 800 x 800 pixel document.

●

Divide the entire document into 100 x 100 pixel squares.

●

Select every other square in the first row, then shift the selection criteria to select the alternate squares
in the following row. Repeat until every other square in the document is selected.

●

Fill the selected squares with the foreground color from the palette.

●

Invert the selection and fill the newly selected squares with the background color from the palette.

●

Deselect the squares to remove the selection outlines (the "marching ants").

Selection.jsx
// Save the current preferences
var startRulerUnits = app.preferences.rulerUnits

Adobe Photoshop CS4
JavaScript Scripting Reference

JavaScript Object Reference

170

var startTypeUnits = app.preferences.typeUnits
var startDisplayDialogs = app.displayDialogs
// Set Adobe Photoshop CS4 to use pixels and display no dialogs
app.preferences.rulerUnits = Units.PIXELS
app.preferences.typeUnits = TypeUnits.PIXELS
app.displayDialogs = DialogModes.NO
//Close all the open documents
while (app.documents.length) {
app.activeDocument.close()
}
//Create variables for the 800 pixel board divided in even 100 x 100 squares
var docSize = 800
var cells = 8
var cellSize = docSize / cells
// create a new document
var checkersDoc = app.documents.add(docSize, docSize, 72, "Checkers")
// Create a variable to use for selecting the checker board
// That allows me to shift the selection one square to the right
//on every other row, and then shift back for the rows in between.
var shiftIt = true
// loop through vertically to create the first row
for (var v = 0; v < docSize; v += cellSize) {
// Switch the shift for a new row
shiftIt = !shiftIt
// loop through horizontally
for (var h = 0; h < docSize; h += (cellSize * 2)) {
// push over the cellSize to start with only
if (shiftIt && h == 0) {
h += cellSize
}
// Select a square
selRegion = Array(Array(h, v),
Array(h + cellSize, v),
Array(h + cellSize, v + cellSize),
Array(h, v + cellSize),
Array(h, v))
// In the first ineration of the loop, start the selection
//In subsequent iterations, use the EXTEND constant value
//of the select() method to add to the selection (in the loop’s else clause)
if (h == 0 && v == 0) {
checkersDoc.selection.select(selRegion)
} else {
checkersDoc.selection.select(selRegion, SelectionType.EXTEND)
}
// turn this off for faster execution
// turn this on for debugging
WaitForRedraw()
}

Adobe Photoshop CS4
JavaScript Scripting Reference

JavaScript Object Reference

}
// Fill the current selection with the foreground color
checkersDoc.selection.fill(app.foregroundColor)
//Invert the selection
checkersDoc.selection.invert()
// Fill the new selection with the background color
checkersDoc.selection.fill(app.backgroundColor)
// Clear the selection to get rid of the non-printing borders
checkersDoc.selection.deselect()
// Reset the application preferences
app.preferences.rulerUnits = startRulerUnits
app.preferences.typeUnits = startTypeUnits
app.displayDialogs = startDisplayDialogs
// A helper function for debugging
// It also helps the user see what is going on
// if you turn it off for this example you
// get a flashing cursor for a number time
function WaitForRedraw()
{
var eventWait = charIDToTypeID("Wait")
var enumRedrawComplete = charIDToTypeID("RdCm")
var typeState = charIDToTypeID("Stte")
var keyState = charIDToTypeID("Stte")
var desc = new ActionDescriptor()
desc.putEnumerated(keyState, typeState, enumRedrawComplete)
executeAction(eventWait, desc, DialogModes.NO)
}

171

Adobe Photoshop CS4
JavaScript Scripting Reference

JavaScript Object Reference

SGIRGBSaveOptions
Options for saving a document in SGIRGB format using the Document.saveAs() method.
Note: The SGIRGB format is not installed automatically with Adobe Photoshop CS4.

Properties
Property

Value type

What it is

alphaChannels

boolean

Read-write. True to save the alpha
channels.

spotColors

boolean

Read-write. True to save the spot
colors.

typename

string

Read-only. The class name of the
referenced SGIRGBSaveOptions
object.

172

Adobe Photoshop CS4
JavaScript Scripting Reference

JavaScript Object Reference

SolidColor
A color definition used in the document. Maps a color to equivalents in all available color models.
●

Used in Application.backgroundColor and foregroundColor properties, in Channel.color, in
ColorSampler.color, and in TextItem.color

●

Passed to PathItem.fillPath(), Selection.fill(), and Selection.stroke().

Properties
Property

Value type

What it is

cmyk

CMYKColor

Read-write. The CMYK color mode.

gray

GrayColor

Read-write. The Grayscale color mode.

hsb

HSBColor

Read-write. The HSB color mode.

lab

LabColor

Read-write. The LAB color mode.

model

ColorModel

Read-write. The color model.

nearestWebColor

RGBColor

Read-only. The nearest web color to the current color.

rgb

RGBColor

Read-write. The RGB color mode.

typename

string

Read-only. The class name of the referenced SolidColor
object.

Parameter type

Returns

What it does

boolean

True if the SolidColor object is visually
equal to the specified color.

Methods
Method
isEqual
(color)

SolidColor

173

Adobe Photoshop CS4
JavaScript Scripting Reference

JavaScript Object Reference

174

SubPathInfo
An array of PathPoint objects that describes a straight or curved segment of a path, used to create a
SubPathItem.
Pass an array of these objects to the PathItems.add() method. This method creates a SubPathItem object
for each SubPathInfo object, and creates and returns a new PathItem object for the path represented by
all of the subpaths.
●

Use SubPathInfo to create subpaths; the properties are writeable.

●

Use the SubPathItem object to retrieve information about existing subpaths. The properties are
read-only.

Properties
Property

Value type

What it is

closed

boolean

Read-write. True if the path describes an enclosed area.

entireSubPath

array of PathPoint Read-write.

operation

ShapeOperation

Read-write. The subpath’s operation on other
subpaths. Specifies how to combine the shapes if the
destination path already has a selection.

typename

string

Read-only. The class name of the referenced
SubPathInfo object.

Adobe Photoshop CS4
JavaScript Scripting Reference

JavaScript Object Reference

175

SubPathItem
Represents a subpath; a collection of subpaths make up a PathItem.
Create these objects by passing SubPathInfo objects to the PathItems.add() method. This method creates
a SubPathItem object for each SubPathInfo object, and creates and returns a new PathItem object for the
path represented by all of the subpaths. Access these objects in the PathItem.subPathItems collection.
●

Use the SubPathItem object to retrieve information about existing subpaths. The properties are
read-only.

●

Use SubPathInfo to create subpaths; the properties are writeable.

Properties
Property

Value type

What it is

closed

boolean

Read-only. True if the path is closed.

operation

ShapeOperation

Read-only. How this object behaves when it intersects
another SubPathItem object. Specifies how to combine the
shapes if the destination path already has a selection.

parent

PathItem

Read-only. The object's container.

pathPoints

PathPoints

Read-only. The PathPoints collection.

typename

string

Read-only. The class name of the referenced SubPathItem
object.

Adobe Photoshop CS4
JavaScript Scripting Reference

JavaScript Object Reference

SubPathItems
A collection of SubPathItem objects that make up a PathItem. Access this object in the
PathItem.subPathItems collection property.
●

Use SubPathInfo to create subpaths; the properties are writeable.

●

Use the SubPathItem object to retrieve information about existing subpaths. The properties are
read-only.

Properties
Property

Value type

What it is

length

number

Read-only. The number of elements in the collection.

parent

PathItem

Read-only. The containing path item.

typename

string

Read-only. The class name of the referenced SubPathItems
object.

176

Adobe Photoshop CS4
JavaScript Scripting Reference

JavaScript Object Reference

177

TargaSaveOptions
Options for saving a document in TGA (Targa) format using the Document.saveAs() method.

Properties
Property

Value type

What it is

alphaChannels

boolean

Read-write. True to save the alpha channels.

resolution

TargaBitsPerPixels Read-write. The number of bits per pixel (default:
TargaBitsPerPixels.TWENTYFOUR).

rleCompression

boolean

Read-write. True to use RLE compression (default: true).

typename

string

Read-only. The class name of the referenced
TargaSaveOptions object.

Adobe Photoshop CS4
JavaScript Scripting Reference

JavaScript Object Reference

178

TextFont
Describes a font that is available to the application. Access this object in the Application.fonts collection.
For example:
var myFont = app.fonts.getByName("ArialMT");

Properties
Property

Value type

What it is

family

string

Read-only. The font family.

name

string

Read-only. The name of the font.

parent

Application

Read-only. The containing application.

postScriptName

string

Read-only. The PostScript name of the font.

style

string

Read-only. The font style.

typename

string

Read-only. The class name of the referenced TextFont
object.

Adobe Photoshop CS4
JavaScript Scripting Reference

JavaScript Object Reference

179

TextFonts
The collection of fonts available on your computer. Fonts are represented by TextFont objects. Access this
object in the Application.fonts collection property. For example, this displays the number of available
fonts:
alert(app.fonts.length);

Properties
Property

Value type

What it is

length

number

Read-only. The number of elements in the collection.

parent

Application

Read-only. The containing application.

typename

string

Read-only. The class name of the referenced TextFonts object.

Parameter type

Returns

What it does

TextFont

Gets the first element in the TextFonts
collection with the provided name.

Methods
Method
getByName
(name)

string

Adobe Photoshop CS4
JavaScript Scripting Reference

JavaScript Object Reference

180

TextItem
The text in an ArtLayer object whose kind property is LayerKind.TEXT. Access this object in the
ArtLayer.textItem property. For example:
myLayers[i].textItem.contents = "Layer in " + textArray[i] + " Set Inside "

Many of the properties use the UnitValue type, which combines a measurement value with a
measurement unit. For information about this type, see the JavaScript Tools Guide.

Properties
Property

Value type

What it is

alternateLigatures

boolean

Read-write. True to use alternate ligatures.
Note: Alternate ligatures are the same as
Discretionary Ligatures. See Adobe
Photoshop CS4 Help for more information.

antiAliasMethod

AntiAlias

Read-write. The method of anti aliasing to use.

autoKerning

AutoKernType

Read-write. The auto kerning option to use.

autoLeadingAmount

number
[0.01..5000.00]

Read-write. The percentage to use for auto (default)
leading (in points).
Valid only when useAutoLeading = true.

baselineShift

UnitValue

Read-write. The unit value to use in the baseline
offset of text.

capitalization

TextCase

Read-write. The text case.

color

SolidColor

Read-write. The text color.

contents

string

Read-write. The actual text in the layer.

desiredGlyphScaling

number [50..200] Read-write. The desired amount by which to scale the

horizontal size of the text letters. A percentage value;
at 100, the width of characters is not scaled.
Valid only when justification =
Justification.CENTERJUSTIFIED,
FULLYJUSTIFIED, LEFTJUSTIFIED, or
Justification.RIGHTJUSTIFIED.
When used, the minimumGlyphScaling and
maximumGlyphScaling values are also required.

Adobe Photoshop CS4
JavaScript Scripting Reference

JavaScript Object Reference

181

Property

Value type

What it is (Continued)

desiredLetterScaling

number
[100..500]

Read-write. The amount of space between letters (at
0, no space is added between letters).
Equivalent to Letter Spacing in the Justification
dialog (Select Justification on the Paragraphs
palette menu).
Valid only when justification =
Justification.CENTERJUSTIFIED,
FULLYJUSTIFIED, LEFTJUSTIFIED, or
Justification.RIGHTJUSTIFIED.
When used, the minimumLetterScaling and
maximumLetterScaling values are also required.

desiredWordScaling

number [0..1000] Read-write. The amount (percentage) of space

between words (at 100, no additional space is added
between words).
Equivalent to Word Spacing in the Justification
dialog (Select Justification on the Paragraphs
palette menu).
Valid only when justification =
Justification.CENTERJUSTIFIED,
FULLYJUSTIFIED, LEFTJUSTIFIED, or
Justification.RIGHTJUSTIFIED.
When used, the minimumWordScaling and
maximumWordScaling values are also required.
direction

Direction

Read-write. The text orientation.

fauxBold

boolean

Read-write. True to use faux bold (default: false).
Setting this to true is equivalent to selecting text and
clicking Faux Bold in the Character palette.

fauxItalic

boolean

Read-write. True to use faux italic (default: false).
Setting this to true is equivalent to selecting text and
clicking Faux Italic in the Character palette.

firstLineIndent

UnitValue
[-1296..1296]
points

Read-write. The amount (unit value) to indent the
first line of paragraphs.

font

string

Read-write. The text face of the character. Use the
PostScript Name of the font. See TextFont and use
the postScriptName property.

hangingPunctuation

boolean

Read-write. True to use Roman hanging punctuation.

height

UnitValueX

Read-write. The height of the bounding box (unit
value) for paragraph text.
Valid only when kind = TextType.PARAGRAPHTEXT.

horizontalScale

number [0..1000] Read-write. Character scaling (horizontal) in

proportion to verticalScale (a percentage value).

Adobe Photoshop CS4
JavaScript Scripting Reference

JavaScript Object Reference

182

Property

Value type

What it is (Continued)

hyphenateAfterFirst

number [1..15]

Read-write. The number of letters after which
hyphenation in word wrap is allowed.

hyphenateBeforeLast

number [1..15]

Read-write. The number of letters before which
hyphenation in word wrap is allowed.

hyphenateCapitalWords

boolean

Read-write. True to allow hyphenation in word wrap
of capitalized words.

hyphenateWordsLongerThan number [2..25]

Read-write. The minimum number of letters a word
must have in order for hyphenation in word wrap to
be allowed.

hyphenation

boolean

Read-write. True to use hyphenation in word wrap.

hyphenationZone

UnitValue
[0..720] pica

Read-write. The distance at the end of a line that will
cause a word to break in unjustified type.

hyphenLimit

number

Read-write. The maximum number of consecutive
lines that can end with a hyphenated word.

justification

Justification

Read-write. The paragraph justification.

kind

TextType

Read-write. The text-wrap type.

language

Language

Read-write. The language to use.

leading

UnitValue

Read-write. The leading amount.

leftIndent

UnitValue
[-1296..1296]
points

Read-write. The amoun of space to indent text from
the left.

ligatures

boolean

Read-write. True to use ligatures.

maximumGlyphScaling

number [50..200] Read-write. The maximum amount to scale the

horizontal size of the text letters (a percentage value;
at 100, the width of characters is not scaled).
Valid only when justification =
Justification.CENTERJUSTIFIED,
FULLYJUSTIFIED, LEFTJUSTIFIED, or
Justification.RIGHTJUSTIFIED.

When used, the minimumGlyphScaling and
desiredGlyphScaling values are also required.

Adobe Photoshop CS4
JavaScript Scripting Reference

JavaScript Object Reference

183

Property

Value type

What it is (Continued)

maximumLetterScaling

number
[100..500]

Read-write. The maximum amount of space to allow
between letters (at 0, no space is added between
letters).
Equivalent to Letter Spacing in the Justification
dialog (Select Justification on the Paragraphs
palette menu).
Valid only when justification =
Justification.CENTERJUSTIFIED,
FULLYJUSTIFIED, LEFTJUSTIFIED, or
Justification.RIGHTJUSTIFIED.
When used, the minimumLetterScaling and
desiredLetterScaling values are also required.

maximumWordScaling

number [0..1000] Read-write. The maximum amount of space to allow

between words (a percentage value; at 100, no
additional space is added between words).
Equivalent to Word Spacing in the Justification
dialog (Select Justification on the Paragraphs
palette menu).
Valid only when justification =
Justification.CENTERJUSTIFIED,
FULLYJUSTIFIED, LEFTJUSTIFIED, or
Justification.RIGHTJUSTIFIED.
When used, the minimumWordScaling and
desiredWordScaling values are also required.
minimumGlyphScaling

number [50..200] Read-write. The minimum amount to scale the

horizontal size of the text letters (a percentage value;
at 100, the width of characters is not scaled).
Valid only when justification =
Justification.CENTERJUSTIFIED,
FULLYJUSTIFIED, LEFTJUSTIFIED, or
Justification.RIGHTJUSTIFIED.
When used, the maximumGlyphScaling and
desiredGlyphScaling values are also required.

Adobe Photoshop CS4
JavaScript Scripting Reference

JavaScript Object Reference

184

Property

Value type

What it is (Continued)

minimumLetterScaling

number
[100..500]

Read-write. The minimum amount of space to allow
between letters (a percentage value; at 0, no space is
removed between letters).
Equivalent to Letter Spacing in the Justification
dialog (Select Justification on the Paragraphs
palette menu).
Valid only when justification =
Justification.CENTERJUSTIFIED,
FULLYJUSTIFIED, LEFTJUSTIFIED, or
Justification.RIGHTJUSTIFIED.
When used, the maximumLetterScaling and
desiredLetterScaling values are also required.

minimumWordScaling

number [0..1000] Read-write. The minimum amount of space to allow

between words (a percentage value; at 100, no
additional space is removed between words).
Equivalent to Word Spacing in the Justification
dialog (Select Justification on the Paragraphs
palette menu).
Valid only when justification =
Justification.CENTERJUSTIFIED,
FULLYJUSTIFIED, LEFTJUSTIFIED, or
Justification.RIGHTJUSTIFIED.
When used, the maximumWordScaling and
desiredWordScaling values are also required.
noBreak

boolean

Read-write. True to disallow line breaks in this text.
Tip: When true for many consecutive characters, can
prevent word wrap and thus may prevent some
text from appearing on the screen.

oldStyle

boolean

Read-write. True to use old style type.

parent

ArtLayer

Read-write. The containing layer.

position

array of
UnitValue

Read-write. The position of origin for the text. The
array members specify the X and Y coordinates.
Equivalent to clicking the text tool at a point in the
document to create the point of origin for text.

rightIndent

UnitValue
[-1296..1296]
points

Read-write. The amount of space to indent text from
the right.

size

UnitValue

Read-write. The font size in UnitValue . NOTE: Type
was points for CS3 and older..

spaceAfter

UnitValue
[-1296..1296]
points

Read-write. The amount of space to use after each
paragraph.

Adobe Photoshop CS4
JavaScript Scripting Reference

JavaScript Object Reference

185

Property

Value type

What it is (Continued)

spaceBefore

UnitValue
[-1296..1296]
points

Read-write. The amount of space to use before each
paragraph.

strikeThru

StrikeThruType

Read-write. The text strike-through option to use.

textComposer

TextComposer

Read-write. The composition method to use to
evaluate line breaks and optimize the specified
hyphenation and justification options.
Valid only when kind = TextType.PARAGRAPHTEXT.

tracking

number
[-1000..10000]

Read-write. The amount of uniform spacing between
multiple characters.
Tracking units are 1/1000 of an em space. The width
of an em space is relative to the current type size. In a
1-point font, 1 em equals 1 point; in a 10-point font, 1
em equals 10 points. So, for example, 100 units in a
10-point font are equivalent to 1 point.

typename

string

Read-only. The class name of the referenced
textItem object.

underline

UnderlineType

Read-write. The text underlining options.

useAutoLeading

boolean

Read-write. True to use a font's built-in leading
information.

verticalScale

number [0-1000]

Read-write. Vertical character scaling in proportion to
horizontalScale (a percentage value).

warpBend

number
[-100..100]

Read-write. The warp bend percentage.

warpDirection

Direction

Read-write. The warp direction.

[-100..100]

Read-write. The horizontal distortion of the warp (a
percentage value).

warpStyle

WarpStyle

Read-write. The style of warp to use.

warpVerticalDistortion

number
[-100..100]

Read-write. The vertical distortion of the warp (a
percentage value).

width

UnitValue

Read-write. The width of the bounding box for
paragraph text.

warpHorizontalDistortion number

Valid only when kind = TextType.PARAGRAPHTEXT.

Adobe Photoshop CS4
JavaScript Scripting Reference

JavaScript Object Reference

186

Methods
Method
convertToShape
()

createPath
()

Parameter type

Returns

What it does
Converts the text item and its containing layer to
a fill layer with the text changed to a clipping
path.
Creates a clipping path from the outlines of the
actual text items (such as letters or words).

Adobe Photoshop CS4
JavaScript Scripting Reference

JavaScript Object Reference

187

TiffSaveOptions
Options for saving a document in TIFF format using the Document.saveAs() method.

Properties
Property

Value type

What it is

alphaChannels

boolean

Read-write. True to save the alpha channels.

annotations

boolean

Read-write. True to save the annotations.

byteOrder

ByteOrder

Read-write. The order in which the document’s
multibyte values are read (default:
ByteOrder.MACOS in Mac OS, ByteOrder.IBM
in Windows).

embedColorProfile

boolean

Read-write. True to embed the color profile in
the document.

imageCompression

TIFFEncoding

Read-write. The compression type (default:
TIFFEncoding.NONE).

interleaveChannels

boolean

Read-write. True if the channels in the image
will be interleaved.

jpegQuality

number [0..12]

Read-write. The quality of the produced
image, which is inversely proportionate to the
amount of JPEG compression.
Valid only when imageCompression =
TIFFEncoding.JPEG.

layerCompression

LayerCompression

Read-write. The method of compression to use
when saving layers (as opposed to saving
composite data).
Valid only when layers = true.

layers

boolean

Read-write. True to save the layers.

saveImagePyramid

boolean

Read-write. True to preserve multi-resolution
information (default: false).

spotColors

boolean

Read-write. True to save the spot colors.

transparency

boolean

Read-write. True to save the transparency as
an additional alpha channel when the file is
opened in another application.

typename

string

Read-only. The class name of the referenced
TiffSaveOptions object.

Adobe Photoshop CS4
JavaScript Scripting Reference

JavaScript Object Reference

188

UnitValue
ExtendScript defines the JavaScript class UnitValue to represent measurement values together with their
measurement units; see ‘JavaScript support in Adobe Photoshop CS4’ on page 33. For references details of
these classes, see the JavaScript Tools Guide.

Adobe Photoshop CS4
JavaScript Scripting Reference

JavaScript Object Reference

189

xmpMetadata
Camera RAW image XMP metadata.
For camera RAW image files, the XMP metadata is stored in a sidecar file, which is a file in the same folder as
the RAW file with the same base name and an XMP extension.

Properties
Property

Value type

What it is

parent

Document

Read-only. The containing document.

rawData

string

Read-write. A string containing the XMP metadata in
XML (RDF) format. See the XMP Specification for
details of this format.

typename

string

Read-only. The class name of the referenced
xmpMetadata object.

3

JavaScript Resource
This section describes the JavaScript resource that enables your JavaScripts to behave like a plug-in. This
includes:
●

the ability to specify a menu the script appears in as a command,

●

a terminology resource so the script can function with the Action Manager, which allows your script to
record and be automated by scripting parameters,

●

a category to enable ordering and grouping of commands within menus, and

●

an enable string that indicates whether the command is enabled or disabled given a set of conditions.

●

The strings must be valid XML syntax. The "&" character will not work for example. Use the &&
for example to get logical ‘&&’ in the enableinfo block.

JavaScript resource syntax
The JavaScript Resource has an HTML-style syntax, with each  matched by a closing . This
resource needs to appear within comments ( /* ... */) and should be defined at the top of your script
file (within the first 10,240 characters of the file.)
Tag

Description



The resource definition tag.



The command name that appears in the Photoshop menu.
If this tag is not provided in the resource, the name of the command in the
menu defaults to the name of the script.



The menu the command appears in. If this tag is not provided, the
command appears in the File > Scripts menu.
Note: Currently the only supported values for  are automate,
filter and help. automate puts the script in the File >
Automate menu for example.



A string that appears in an About box, which the user can select from the
Help > About Plug-in menu.



A boolean expression that indicates whether the command is enabled in
the menu. See Enable-info grammar.
Note: If you provide this tag, the menu item is enabled if and only if there
is at least one document open, and the boolean expression
evaluates to true. If you always want the menu item enabled, do not
use this tag.



A unique string that identifies the event. Using a UUID will ensure that your
script wont share this identifier with another script.

190

Adobe Photoshop CS4
JavaScript Scripting Reference

JavaScript Resource

Tag

Description



The category the command appears within in the menu. Used to group
and order commands in the menu. Commands are placed in the menu
alphabetically based on the string in . If two commands use
the same category, they are grouped together.



The terminology dictionary for the script to function with the Action
Manager. See the Terminology dictionary.

191

Basic JavaScript resource example
This example shows a very basic . With this resource, the script can be executed
by selecting the command Add a Document, which appears in the Automate menu. This command is
enabled in the menu, provided at least one document is already open. If the user requests information
about the script from the About Plug-in menu, the string contained in the  tag is displayed in a
dialog box.
/*

Add a Document
automate
A short string providing information about the script.
true

*/
app.documents.add();

Enable-info grammar
The  tag provides a boolean expression that, when evaluated, indicates whether the
command is enabled in the menu. You can use this expression to enable or disable the menu item based
on various characteristics of the document. The Enable Info grammar is as follows:
 :=

 { "||"  }

 :=

 {"&&"  }

 :=

 {}

 :=

 {}

 :=

 {}

 :=

 {}

 :=

 |  |  |
"("  | "-"  | "!" 

 :=

digit {digit}

 :=

 |  | 

 :=

( "min" | "max") "("  ","
 { ","  } ")"

 :=

"dim" "("  ","  ")"

Adobe Photoshop CS4
JavaScript Scripting Reference

JavaScript Resource

 :=

(alpha | "_") {alpha | digit | "_" }

 :=

"*" | "/"

 :=

"+" | "-"

 :=

"==" | "!="

 :=

"<" | "<=" | ">=" | ">"

 :=

"in" "("  {","  } ")"

Operator precedence is shown in the following table. Operators are listed with the highest order of
precedence at the top of the table
Operator

Description

||

Or

&&

And

+ -

Addition or subtraction

* /

Multiply or divide

< <= >= >

Less than, less than or equal, greater than or equal, greater than

== !=

Equals, or does not equal.

(..) in() max() min()
unary + - !

Functions
Unary operators: increment, decrement, not

The grammar provides variables and constants that you can use in the  expression. The
following table provides a list of the constants that are available.
Constant Name

Description

true

Boolean true

false

Boolean false

BitmapMode

Bitmap mode.

GrayScaleMode

Grayscale mode, 8 bit depth.

IndexedMode

Indexed color mode.

RGBMode

RGB color mode.

CMYKMode

CMYK color mode.

HSLMode

HSL color mode.

HSBMode

HSB color mode

MultiChannelMode

Multichannel mode.

DuotoneMode

Duotone mode.

LabMode

Lab color mode.

192

Adobe Photoshop CS4
JavaScript Scripting Reference

JavaScript Resource

Constant Name

Description

Gray16Mode

Grayscale mode, 16 bits per channel

RGB48Mode

RGB color mode, 16 bits per channel.

Lab48Mode

LAB mode, 16 bits per channel.

CMYK64Mode

CMYK mode, 16 bits per channel.

DeepMultichannelMode

Deep multichannel mode.

Duotone16Mode

Duotone mode, 16 bit depth.

RGB96Mode

RGB color mode, 32 bits per channel.

Gray32Mode

Grayscale mode, 32 bit depth.

193

The following table show the set of variables you can use in the  expression. The value of
these variables is set based on the properties of the active document.
Variable Name

Description

PSHOP_ImageMode

Image mode of the active document.

PSHOP_ImageDepth

Depth of the active document.

PSHOP_HasLayerMask

Boolean indicating presence of layer mask.

PSHOP_HasSelectionMask

Boolean indicating presence of selection mask.

PSHOP_HasTransparencyMask

Boolean indicating presence of transparency mask.

PSHOP_NumTargetChannels

Number of target channels.

PSHOP_NumTrueChannels

Numer of image channels.

PSHOP_IsAdjustorSheet

Boolean

PSHOP_IsTargetComposite

Boolean indicating whether channels are flattened.

PSHOP_IsTargetSection

Boolean.

PSHOP_IsTargetVisible

Boolean.

PSHOP_ImageWidth

Width of the image.

PSHOP_ImageHeight

Height of the image.

PSHOP_TargetProtectFlags.

Undefined values in enable-info evaluation
If any arithmetic or relation operation contains an operand whose value is undefined, or a variable that is
undefined, the result of that evaluation is false.
Boolean values are treated as in C/C++, where non-zero values are true, and zero is false, with the
exception that an undefined value is also false.

Adobe Photoshop CS4
JavaScript Scripting Reference

JavaScript Resource

194

Using the "in" function
The in function (see ) returns true is the first parameter is equal to at least one of the
subsequent parameters. A typical use might be to see if the image mode of the active document is one of
a set of image modes. For example:
in(PSHOP_ImageMode, RGBMode, CMYKMode, LabMode)

Action Manager automation"
For your script to be able to record scripting parameters and be automated by them, it requires the
addition of two basic mechanisms:
●

A terminology dictionary that maps your script’s user interface to human readable text, providing text
and type information for each parameter the script uses.

●

Code to read parameter information when it comes from the Action Manager, rather than from the
user-interface, and code to write parameter information to the Action Manger. This code uses the
Action Manager classes ActionDescriptor, ActionList, and ActionReference.

See Conditional Mode Change.jsx for an example of a script that can record and be automated by
scripting parameters.

Terminology dictionary
The JavaScript resource provides a  tag that allows you to provide the terminology
dictionary for your script. The first step in creating a terminology dictionary is to review your script’s user
interface, and create human-readable strings for each element in your user interface.
For example, in the Conditional Mode Change command, the user interface requests a source mode and a
target mode. Both source mode and target mode have several options. All of these elements of the user
interface need to have entries in the terminology dictionary.
The terminology dictionary is created in a PDF dictionary format, with the following entries, and must have
the following format in the :
>
/Classes <>
/Enumerations <>
>>> ]]>

Note: The information in the terminology tag needs to be wrapped in a CDATA block so the xml parser will
ignore "/" and other tags that appear in the terminology.
The defintions for events, classes and enumerations dictionaries are provided below.

Adobe Photoshop CS4
JavaScript Scripting Reference

JavaScript Resource

The /Events dictionary contains an entry for each event:
/eventName [
(String event name)
/direct parameter type
<<
/parameterName [
(String name)
/parameter type
]
...
>>
]

//
//
//
//
//
//
//

Name used in string-based API
required
optional; if omitted, no parameter
optional parameter dictionary
Name used in string-based API
required
required

// other parameters

The /Classes dictionary contains and entry for each class:
/className [
(ZString class name)
<<
/propertyName [
(String name)
/property type
]
...
>>
]

//
//
//
//
//
//

Name used in string-based API
required
property dictionary
Name used in string-based API
required
required

// other properties

The /Enumerations dictionary contains an entry for each enumerated type:
/enumTypeName
<<
/enumValue (String name)
...
>>

// Name used in string-based API
// required

Value type defintions
For /parameter type and /property type definitons, you can use the Class and Enumeration type
declarations you make in your own terminology dictionary, you can use declarations provided by
Photoshop or you can use basic value types.

Basic Value Types
The basic value types are shown in the following table:
Name

Code

Description

typeInteger

'long'

int32

typeFloat

'doub'

IEEE 64 bit double

typeBoolean

'bool'

TRUE or FALSE.

typeText

'TEXT'

Block of any number of readable characters.

typeAlias

'alis'

Macintosh file system path.

195

Adobe Photoshop CS4
JavaScript Scripting Reference

JavaScript Resource

Name

Code

Description

typePaths

'Pth '

Windows file system path.

typePlatformFilePath 'alis' or'Pth

196

typeAlias for Mac OS, typePath for Windows.

Predefined Class Types
Photoshop provides a number of predefined classes that are available for use in the terminology
dictionary. A useful subset of those classes is shown in the table below. Use these classes when they are
appropriate, but you can define new classes in the terminology resource, if necessary.
Name

Code

Description

classColor

'Clr '

Class for color classes.

classRGBColor

'RGBC'

keyRed, keyGreen, keyBlue

classCMYKColor

'CMYC'

keyCyan, keyMagenta, keyYellow, keyBlack.

classUnspecifiedColo 'UnsC'
r

Unspecified.

classGrayscale

'Grsc'

keyGray

classBookColor

'BkCl '

Book color

classLabColor

'LbCl'

keyLuminance, keyA, keyB.

Uniqueness rules for terminology entries
Generally, the names for terminology entries must be unique within a particular category and scope. It is
best to not make names unique unnecessarily; generic terms are prefereable, and if a name already exists
for something, go ahead and use it. Case matters in considering uniqueness of terminology entries.
The uniqueness rules for terminology entries are:
●

All event names must be different from all other event names.

●

All class names must be different from all other names.

●

All enumeration type names must be different from all other enumeration type names.

●

All keys must be different from all other keys used in the same class or event.

●

All enumeration values must be different from all other enumeration values in the same enumeration
type.

●

A class, event, enumeration type, key, and enumeration value can all have the same name.

Terminology definition example
This example demonstrates the terminology definition for a new event; the example uses ZStrings. The
event is called newAnnot, and it takes three parameters:
●

annotType, an enumeration (annotType)

●

at, a class (point), and

●

size, a class (annotSizeClass).

Adobe Photoshop CS4
JavaScript Scripting Reference

JavaScript Resource

197

The annotSizeClass has two properties: width, and height, both of type floatType. The enumeration
annotType has three values: annotUnknown, annotText, and annotSound.
>]
/Classes
/annotSizeClass [(Size) <<
/width [(Width) /floatType]
/height [(Height) /floatType]
>>]
/Enumerations
/annotType <<
/annotUnknown (Unknown)
/annotText (Text)
/annotSound (Sound)
>>> ]]>

4

Scripting Constants
This section lists and describes the enumerations defined for use with Adobe Photoshop CS4 JavaScript
properties and methods.
Constant type

Values

What it means

AdjustmentReference

ABSOLUTE
RELATIVE

Method to use for interpreting
selective color adjustment
specifications:
ABSOLUTE = % of the whole.
RELATIVE = % of the existing color

amount.
Pass to ArtLayer.selectiveColor().
AnchorPosition

BOTTOMCENTER
BOTTOMLEFT
BOTTOMRIGHT
MIDDLECENTER
MIDDLELEFT
MIDDLERIGHT
TOPCENTER
TOPLEFT
TOPRIGHT

The point around which to transform
an object. This is the point that does
not move when an object is rotated or
resized using methods in ArtLayer,
LayerSet, and Selection, or when the
entire canvas is resized with
Document.resizeCanvas().

AntiAlias

CRISP
NONE
SHARP
SMOOTH
STRONG

Method to use to smooth edges by
softening the color transition between
edge pixels and background pixels.
Used in a TextItem.antiAliasMethod.

AutoKernType

MANUAL
METRICS
OPTICAL

The type of kerning to use for
characters. Used in
TextItem.autoKerning.

BatchDestinationType

FOLDER
NODESTINATION
SAVEANDCLOSE

The destination, if any, for
batch-processed files, specified in the
BatchOptions used with the
Application.batch() method:
FOLDER: Save modified versions of the

files to a new location (leaving the
originals unchanged).
NODESTINATIONTYPE: Leave all files

open.
SAVEANDCLOSE: Save changes and

close the files.

198

Adobe Photoshop CS4
JavaScript Scripting Reference

Scripting Constants

199

Constant type

Values

What it means

BitmapConversionType

CUSTOMPATTERN
DIFFUSIONDITHER
HALFTHRESHOLD
HALFTONESCREEN
PATTERNDITHER

Specifies the quality of an image you
are converting to bitmap mode. Used
in BitmapConversionOptions.

BitmapHalfToneType

CROSS
DIAMOND
ELLIPSE
LINE
ROUND
SQUARE

Specifies the shape of the dots (ink
deposits) in the halftone screen. Used
in BitmapConversionOptions.

BitsPerChannelType

EIGHT
ONE
SIXTEEN
THIRTYTWO

The number of bits per color channel.
Value of Document.bitsPerChannel;
pass to Documents.add(). Also used in
PDFOpenOptions and
CameraRAWOpenOptions.

BlendMode

COLORBLEND
COLORBURN
COLORDODGE
DARKEN
DIFFERENCE
DISSOLVE
EXCLUSION
HARDLIGHT
HARDMIX
HUE
LIGHTEN
LINEARBURN
LINEARDODGE
LINEARLIGHT
LUMINOSITY
MULTIPLY
NORMAL
OVERLAY
PASSTHROUGH
PINLIGHT
SATURATION
SCREEN
SOFTLIGHT
VIVIDLIGHT

Controls how pixels in an image are
blended when a filter is applied. The
value of ArtLayer.blendMode and
LayerSet.blendMode.

BMPDepthType

BMP_A1R5G5B5
BMP_A4R4G4B4
BMP_A8R8G8B8
BMP_R5G6B5
BMP_R8G8B8
BMP_X1R5G5B5
BMP_X4R4G4B4
BMP_X8R8G8B8
EIGHT
FOUR
ONE
SIXTEEN
THIRTYTWO
TWENTYFOUR

The number of bits per channel (also
called pixel depth or color depth). The
number selected indicates the
exponent of 2. For example, a pixel
with a bit-depth of EIGHT has 28, or
256, possible color values.

IBM
MACOS

The platform-specific order in which
multibyte values are read.

ByteOrder

Used in BMPSaveOptions.

Adobe Photoshop CS4
JavaScript Scripting Reference

Scripting Constants

200

Constant type

Values

What it means

CameraRAWSettingsType

CAMERA
CUSTOM
SELECTEDIMAGE

The default CameraRaw settings to
use: the camera settings, custom
settings, or the settings of the selected
image. Set in
CameraRAWOpenOptions.

CameraRAWSize

EXTRALARGE
LARGE
MAXIMUM
MEDIUM
MINIMUM
SMALL

The camera RAW size type options:.
EXTRALARGE=5120 x 4096
LARGE=4096 x 2731
MAXIMUM=6144 X 4096
MEDIUM=3072 x 2048
MINIMUM=1536 x 1024
SMALL=2048 x 1365

Set in CameraRAWOpenOptions.
ChangeMode

ChannelType

BITMAP
CMYK
GRAYSCALE
INDEXEDCOLOR
LAB
MULTICHANNEL
RGB

COMPONENT
MASKEDAREA
SELECTEDAREA
SPOTCOLOR

The new color profile or mode for a
document, specified in
Document.changeMode().
Note: Color images must be changed
to GRAYSCALE mode before you
can change them to BITMAP
mode.
The type of a color channel:
COMPONENT: related to document color

mode.
MASKEDAREA: Alpha channel where

color indicates masked area.
SELECTEDAREA: Alpha channel where

color indicates selected are.
SPOTCOLOR: Alpha channel to store a

spot color.

Adobe Photoshop CS4
JavaScript Scripting Reference

Scripting Constants

201

Constant type

Values

What it means

ColorBlendMode

BEHIND
CLEAR
COLOR
COLORBURN
COLORDODGE
DARKEN
DARKERCOLOR
DIFFERENCE
DISSOLVE
EXCLUSION
HARDLIGHT
HARDMIXBLEND
HUE
LIGHTEN
LIGHTERCOLOR
LINEARBURN
LINEARDODGE
LINEARLIGHT
LUMINOSITY
MULTIPLY
NORMAL
OVERLAY
PINLIGHT
SATURATION
SCREEN
SOFTLIGHT
VIVIDLIGHT

The way color should be blended in a
fill or stroke operation. Pass to
PathItem.fillPath(), Selection.fill(),
Selection.stroke()

ColorModel

CMYK
GRAYSCALE
HSB
LAB
NONE
RGB

The color model to use for a
SolidColor.

ColorPicker

ADOBE
APPLE
PLUGIN
WINDOWS

The preferred color-selection tool, set
in Preferences.

ColorProfileType

CUSTOM
NONE
WORKING

The type of color profile used to
manage this document, set in
Document.colorProfileType.

ColorReductionType

ADAPTIVE
BLACKWHITE
CUSTOM
GRAYSCALE
MACINTOSH
PERCEPTUAL
RESTRICTIVE
SELECTIVE
WINDOWS

The color reduction algorithm option
for ExportOptionsSaveForWeb.

ColorSpaceType

ADOBERGB
COLORMATCHRGB
PROPHOTORGB
SRGB

The type of color space to use in
CameraRAWOpenOptions.

CopyrightedType

COPYRIGHTEDWORK
PUBLICDOMAIN
UNMARKED

The copyright status of a document.
Used in
DocumentPrintSettings.copyrighted.

Adobe Photoshop CS4
JavaScript Scripting Reference

Scripting Constants

202

Constant type

Values

What it means

CreateFields

DUPLICATION
INTERPOLATION

The method to use for creating fields.
Pass to ArtLayer.applyDeInterlace().

CropToType

ARTBOX
BLEEDBOX
BOUNDINGBOX
CROPBOX
MEDIABOX
TRIMBOX

The style to use when cropping a page
in a PDF document. Set in
PDFOpenOptions.cropPage.

DCSType

COLORCOMPOSITE
GRAYSCALECOMPOSITE
NOCOMPOSITE

The type of composite DCS file to
create with DCS1_SaveOptions or
DCS2_SaveOptions:
COLORCOMPOSITE: Creates a color
composite file in addition to DCS files.
GRAYSCALECOMPOSITE: Creates a
grayscale composite file in addition to
DCS files.
NOCOMPOSITE: Does not create a
composite file.

DepthMapSource

IMAGEHIGHLIGHT
LAYERMASK
NONE
TRANSPARENCYCHANNEL

The source to use for the depth map.
Pass to ArtLayer.applyLensBlur().

DescValueType

ALIASTYPE
BOOLEANTYPE
CLASSTYPE
DOUBLETYPE
ENUMERATEDTYPE
INTEGERTYPE
LISTTYPE
OBJECTTYPE
RAWTYPE
REFERENCETYPE
STRINGTYPE
UNITDOUBLE

The value type of an action key,
returned by
ActionDescriptor.getType() and
ActionList.getType().

DialogModes

ALL
ERROR
NO

Controls the type of dialogs
Photoshop displays when running
scripts.

Direction

HORIZONTAL
VERTICAL

●

The direction in which to flip the
document canvas, passed to
Document.flipCanvas().

●

The orientation of text in
TextItem.direction.

●

The direction of text warping in
TextItem.warpDirection.

DisplacementMapType

STRETCHTOFIT
TILE

Describes how the displacement map
fits the image if the image is not the
same size as the map. Pass to
ArtLayer.applyDisplace().

Adobe Photoshop CS4
JavaScript Scripting Reference

Scripting Constants

203

Constant type

Values

What it means

Dither

DIFFUSION
NOISE
NONE
PATTERN

The type of dithering to use in
GIFSaveOptions,
IndexedConversionOptions and
ExportOptionsSaveForWeb.

DocPositionStyle

PRINTCENTERED
USERDEFINED

The type of positioning to use in
DocPosition

DocumentFill

BACKGROUNDCOLOR
TRANSPARENT
WHITE

The fill type of a new document,
passed to Documents.add().

DocumentMode

BITMAP
CMYK
DUOTONE
GRAYSCALE
INDEXEDCOLOR
LAB
MULTICHANNEL
RGB

The color mode of a open document,
Document.mode. See also
Document.changeMode().

EditLogItemsType

CONCISE
DETAILED
SESSIONONLY

The preferred level of detail in th
history log, set in Preferences:
CONCISE: Save a concise history log.
DETAILED: Save a detailed history log.
SESSIONONLY: Save history log only for

the session.
INSIDE
PLACEATBEGINNING
PLACEATEND
PLACEBEFORE
PLACEAFTER

The object’s position in the Layers
palette.

EliminateFields

EVENFIELDS
ODDFIELDS

The type of fields to eliminate. Pass to
ArtLayer.applyDeInterlace().

ExportType

ILLUSTRATORPATHS
SAVEFORWEB

The type of export for
Document.exportDocument().

ElementPlacement

Note: Not all values are valid for all
object types. See the specific
object description to make sure
you are using a valid value.

This is equivalent to choosing File >
Export > Paths To Illustrator, or File
> Save For Web and Devices.
Extension

LOWERCASE
NONE
UPPERCASE

The policy and format for appending
an extension to the filename when
saving with Document.saveAs().

Adobe Photoshop CS4
JavaScript Scripting Reference

Scripting Constants

204

Constant type

Values

What it means

FileNamingType

DDMM
DDMMYY
DOCUMENTNAMELOWER
DOCUMENTNAMEMIXED
DOCUMENTNAMEUPPER
EXTENSIONLOWER
EXTENSIONUPPER
MMDD
MMDDYY
SERIALLETTERLOWER
SERIALLETTERUPPER
SERIALNUMBER1
SERIALNUMBER2
SERIALNUMBER3
SERIALNUMBER4
YYDDMM
YYMMDD
YYYYMMDD

File naming options for the
BatchOptions used with the
Application.batch() method.

FontPreviewType

LARGE
MEDIUM
NONE
SMALL

The preferred type size to use for font
previews in the type tool font menus ,
set in Preferences.

ForcedColors

BLACKWHITE
NONE
PRIMARIES
WEB

The type of colors to be included the
color table regardless of their usage.
Used in GIFSaveOptions and
IndexedConversionOptions.
BLACKWHITE: Pure black and pure

white.
NONE: None
PRIMARIES: Red, green, blue, cyan,
magenta, yellow, black, and white.
WEB: the 216 web-safe colors.

FormatOptions

OPTIMIZEDBASELINE
PROGRESSIVE
STANDARDBASELINE

The option with which to save a JPEG
file, in JPEGSaveOptions.
OPTIMIZEDBASELINE: Optimized color

and a slightly reduced file size.
PROGRESSIVE: Displays a series of

increasingly detailed scans as the
image downloads.
STANDARDBASELINE: Format
recognized by most web browsers.

GalleryConstrainType

CONSTRAINBOTH
CONSTRAINHEIGHT
CONSTRAINWIDTH

The type of proportions to constrain
for images. Used in
GalleryImagesOptions.

Adobe Photoshop CS4
JavaScript Scripting Reference

Scripting Constants

205

Constant type

Values

What it means

GalleryFontType

ARIAL
COURIERNEW
HELVETICA
TIMESNEWROMAN

The fonts to use for the Web photo
gallery captions and other text. Used
in GalleryBannerOptions,
GalleryImagesOptions, and
GalleryThumbnailOptions.
Also used in PicturePackageOptions.

GallerySecurityTextColorType

BLACK
CUSTOM
WHITE

GallerySecurityTextPositionType CENTERED
LOWERLEFT
LOWERRIGHT
UPPERLEFT
UPPERRIGHT

The color to use for text displayed over
gallery images as an antitheft
deterrent. Used in
GallerySecurityOptions.
The position of the text displayed over
gallery images as an antitheft
deterrent. Used in
GallerySecurityOptions.
Also used in PicturePackageOptions.

GallerySecurityTextRotateType

CLOCKWISE45
CLOCKWISE90
COUNTERCLOCKWISE45
COUNTERCLOCKWISE90
ZERO

The orientation of the text displayed
over gallery images as an antitheft
deterrent. Used in
GallerySecurityOptions.
Also used in PicturePackageOptions.

GallerySecurityType

CAPTION
COPYRIGHT
CREDIT
CUSTOMTEXT
FILENAME
NONE
TITLE

The content to use for text displayed
over gallery images as an antitheft
deterrent. Used in
GallerySecurityOptions.
Note: All types draw from the image’s
file information except
CUSTOMTEXT.

GalleryThumbSizeType

CUSTOM
LARGE
MEDIUM
SMALL

The size of thumbnail images in the
web photo gallery. Used in
GalleryThumbnailOptions.

Geometry

HEPTAGON
HEXAGON
OCTAGON
PENTAGON
SQUARE
TRIANGLE

Geometric options for shapes, such as
the iris shape in the Lens Blur Filter.

GridLineStyle

DASHED
DOTTED
SOLID

The preferred line style for the
nonprinting grid displayed over
images, set in Preferences.

GridSize

LARGE
MEDIUM
NONE
SMALL

The preferred size of grid line spacing,
set in Preferences.

Pass to ArtLayer.applyLensBlur().

Adobe Photoshop CS4
JavaScript Scripting Reference

Scripting Constants

206

Constant type

Values

What it means

GuideLineStyle

DASHED
SOLID

The preferred line style for
nonprinting guides displayed over
images, set in Preferences.

IllustratorPathType

ALLPATHS
DOCUMENTBOUNDS
NAMEDPATH

The paths to export to an Illustrator
file using
Document.exportDocument().

Intent

ABSOLUTECOLORIMETRIC
PERCEPTUAL
RELATIVECOLORIMETRIC
SATURATION

The rendering intent to use when
converting from one color space to
another with
Document.convertProfile() or
Document.print()

Justification

CENTER
CENTERJUSTIFIED
FULLYJUSTIFIED
LEFT
LEFTJUSTIFIED
RIGHT
RIGHTJUSTIFIED

The placement of paragraph text
within the bounding box. Used in
TextItem.justification.

Language

BRAZILLIANPORTUGUESE
CANADIANFRENCH
DANISH
DUTCH
ENGLISHUK
ENGLISHUSA
FINNISH
FRENCH
GERMAN
ITALIAN
NORWEGIAN
NYNORSKNORWEGIAN
OLDGERMAN
PORTUGUESE
SPANISH
SWEDISH
SWISSGERMAN

The language to use for text. Used in
TextItem.language.

LayerCompression

RLE
ZIP

Compression methods for data for
pixels in layers, when saving to TIFF
format. Used in TiffSaveOptions.

Adobe Photoshop CS4
JavaScript Scripting Reference

Scripting Constants

207

Constant type

Values

What it means

LayerKind

BLACKANDWHITE
BRIGHTNESSCONTRAST
CHANNELMIXER
COLORBALANCE
CURVES
EXPOSURE
GRADIENTFILL
GRADIENTMAP
HUESATURATION
INVERSION
LEVELS
NORMAL
PATTERNFILL
PHOTOFILTER
POSTERIZE
SELECTIVECOLOR
SMARTOBJECT
SOLIDFILL
TEXT
THRESHOLD
LAYER3D
VIBRANCE
VIDEO

The type of a layer object, in
ArtLayer.kind.

LensType

MOVIEPRIME
PRIME105
PRIME35
ZOOMLENS

The type of lens to use. Pass to
ArtLayer.applyLensFlare().

MagnificationType

ACTUALSIZE
FITPAGE

The type of magnification to use when
viewing an image. Used in
PresentationOptions.

MatteType

BACKGROUND
BLACK
FOREGROUND
NETSCAPE
NONE
SEMIGRAY
WHITE

The color to use to fill anti-aliased
edges adjacent to transparent areas of
the image. When transparency is
turned off for an image, the matte
color is applied to transparent areas.

Note: You can create a text layer only
from an empty art layer.

Used in GIFSaveOptions,
IndexedConversionOptions, and
JPEGSaveOptions.

MeasurementRange

ALLMEASUREMENTS
ACTIVEMEASUREMENTS

The measurement to act upon. Pass to
MeasurementLog methods.

MeasurementSource

MEASURESELECTION
MEASURECOUNTTOOL
MEASURERULERTOOL

The source for recording
measurements. Pass to
Document.recordMeasurements().

NewDocumentMode

BITMAP
CMYK
GRAYSCALE
LAB
RGB

The color profile to use for a new
document.
Pass to Documents.add().
Also used in ContactSheetOptions and
PicturePackageOptions.

Adobe Photoshop CS4
JavaScript Scripting Reference

Scripting Constants

208

Constant type

Values

What it means

NoiseDistribution

GAUSSIAN
UNIFORM

Distribution method to use when
applying an Add Noise filter. Pass to
ArtLayer.applyAddNoise().

OffsetUndefinedAreas

REPEATEDGEPIXELS
SETTOBACKGROUND
WRAPAROUND

Method to use to fill the empty space
left by offsetting a an image or
selection. Pass to
ArtLayer.applyOffset().

OpenDocumentMode

CMYK
GRAYSCALE
LAB
RGB

The color profile to use when opening
an EPS or PDF document. Pass to
app.open() in EPSOpenOptions or
PDFOpenOptions.

OpenDocumentType

ALIASPIX
BMP
CAMERARAW
COMPUSERVEGIF
DICOM
ELECTRICIMAGE
EPS
EPSPICTPREVIEW
EPSTIFFPREVIEW
FILMSTRIP
JPEG
PCX
PDF
PHOTOCD
PHOTOSHOP
PHOTOSHOPDCS_1
PHOTOSHOPDCS_2
PHOTOSHOPEPS
PHOTOSHOPPDF
PICTFILEFORMAT
PICTRESOURCEFORMAT
PIXAR
PNG
PORTABLEBITMAP
RAW
SCITEXCT
SGIRGB
SOFTIMAGE
TARGA
TIFF
WAVEFRONTRLA
WIRELESSBITMAP

The format in which to open the
document, using app.open().
Note: PHOTOCD is deprecated. Kodak
PhotoCD is now found in the
Goodies folder on the Adobe
Photoshop CS4 Install DVD.
Note: The DICOM option is for the
Extended version only.

OperatingSystem

OS2
WINDOWS

The target operating system in
BMPSaveOptions.

Orientation

LANDSCAPE
PORTRAIT

Page orientation for
PhotoCDOpenOptions, deprecated in
Photoshop CS3.
Note: Kodak PhotoCD is now found in
the Goodies folder on the
Adobe Photoshop CS4 Install
DVD.

Adobe Photoshop CS4
JavaScript Scripting Reference

Scripting Constants

209

Constant type

Values

What it means

OtherPaintingCursors

PRECISEOTHER
STANDARDOTHER

The preferred pointer for the following
tools: Eraser, Pencil, Paintbrush,
Healing Brush, Rubber Stamp, Pattern
Stamp, Smudge, Blur, Sharpen, Dodge,
Burn, Sponge.
Set in Preferences.

PaintingCursors

BRUSHSIZE
PRECISE
STANDARD

The preferred pointer for the following
tools: Marquee, Lasso, Polygonal
Lasso, Magic Wand, Crop, Slice, Patch
Eyedropper, Pen, Gradient, Line, Paint
Bucket, Magnetic Lasso, Magnetic Pen,
Freeform Pen, Measure, Color Sampler.
Set in Preferences.

PaletteType

EXACT
LOCALADAPTIVE
LOCALPERCEPTUAL
LOCALSELECTIVE
MACOSPALETTE
MASTERADAPTIVE
MASTERPERCEPTUAL
MASTERSELECTIVE
PREVIOUSPALETTE
UNIFORM
WEBPALETTE
WINDOWSPALETTE

The palette type to use in
GIFSaveOptions and
IndexedConversionOptions.

PathKind

CLIPPINGPATH
NORMALPATH
TEXTMASK
VECTORMASK
WORKPATH

The type of a PathItem.

PDFCompatibility

PDF13
PDF14
PDF15
PDF16
PDF17

The PDF version to make the
document compatible with. Used in
PDFSaveOptions.

PDFEncoding

JPEG
JPEG2000HIGH
JPEG2000LOSSLESS
JPEG2000LOW
JPEG2000MED
JPEG2000MEDHIGH
JPEG2000MEDLOW
JPEGHIGH
JPEGLOW
JPEGMED
JPEGMEDHIGH
JPEGMEDLOW
NONE
PDFZIP
PDFZIP4BIT

The type of compression to use when
saving a document in PDF format.
Used in PDFSaveOptions.

Adobe Photoshop CS4
JavaScript Scripting Reference

Scripting Constants

210

Constant type

Values

What it means

PDFResample

NONE
PDFAVERAGE
PDFBICUBIC
PDFSUBSAMPLE

The down sample method to use.
Used in PDFSaveOptions.

PDFStandard

NONE
PDFX1A2001
PDFX1A2003
PDFX32002
PDFX32003
PDFX42008

The PDF standard to make the
document compatible with. Used in
PDFSaveOptions.

PhotoCDColorSpace

LAB16
LAB8
RGB16
RGB8

The color space for
PhotoCDOpenOptions, deprecated in
Photoshop CS3.
Note: Kodak PhotoCD is now found in
the Goodies folder on the
Adobe Photoshop CS4 Install
DVD.

PhotoCDSize

EXTRALARGE
LARGE
MAXIMUM
MEDIUM
MINIMUM
SMALL

The pixel dimensions of the image in
PhotoCDOpenOptions, deprecated in
Photoshop CS3.
EXTRALARGE = 1024x1536
LARGE = 512x768
MAXIMUM = 2048x3072
MEDIUM = 256x384
MINIMUM = 64x96
SMALL = 128x192

Note: Kodak PhotoCD is now found in
the Goodies folder on the
Adobe Photoshop CS4 Install
DVD.
PICTBitsPerPixels

EIGHT
FOUR
SIXTEEN
THIRTYTWO
TWO

The number of bits per pixel to use
when compression a PICT file. Used in
PICTFileSaveOptions and
PICTResourceSaveOptions.
Note: Use 16 or 32 for RGB images;
use 2, 4, or 8 for bitmap and
grayscale images.

PICTCompression

JPEGHIGHPICT
JPEGLOWPICT
JPEGMAXIMUMPICT
JPEGMEDIUMPICT
NONE

The type of compression to use when
saving an image as a PICT file. Used in
PICTFileSaveOptions and
PICTResourceSaveOptions.

PicturePackageTextType

CAPTION
COPYRIGHT
CREDIT
FILENAME
NONE
ORIGIN
USER

The function or meaning of text in a
Picture Package. Used in
PicturePackageOptions.

Adobe Photoshop CS4
JavaScript Scripting Reference

Scripting Constants

211

Constant type

Values

What it means

PointKind

CORNERPOINT
SMOOTHPOINT

The role a PathPoint plays in a
PathItem.

PointType

POSTSCRIPT
TRADITIONAL

The preferred measurement to use for
type points, set in
Preferences.pointSize:
POSTSCRIPT = 72 points/inch.
TRADITIONAL = 72.27 points/inch.

PolarConversionType

POLARTORECTANGULAR
RECTANGULARTOPOLAR

The method of polar distortion to use.
Pass to
ArtLayer.applyPolarCoordinates().

Preview

EIGHTBITTIFF
MACOSEIGHTBIT
MACOSJPEG
MACOSMONOCHROME
MONOCHROMETIFF
NONE

The type of image to use as a
low-resolution preview in the
destination application.
Used in DCS1_SaveOptions,
DCS2_SaveOptions, and
EPSSaveOptions.

PrintColorHandling

PRINTERMANAGED
PHOTOSHOPMANAGED
SEPARATIONS
NOTMANAGED

The type of color handling to use for
ColorHandling

PrintEncoding

ASCII
BINARY
JPEG

The type of encoding to use for
printing to PostScript with
Document.print().

PurgeTarget

ALLCACHES
CLIPBOARDCACHE
HISTORYCACHES
UNDOCACHES

Cache to be targeted in an
Application.purge() operation.

QueryStateType

ALWAYS
ASK
NEVER

The preferred policy for checking
whether to maximize compatibility
when opening PSD files, set in
Preferences.maximizeCompatibility.

RadialBlurMethod

SPIN
ZOOM

The blur method to use. Pass to
ArtLayer.applyRadialBlur().

RadialBlurQuality

BEST
DRAFT
GOOD

The smoothness or graininess of the
blurred image. Pass to
ArtLayer.applyRadialBlur().

RasterizeType

ENTIRELAYER
FILLCONTENT
LAYERCLIPPINGPATH
LINKEDLAYERS
SHAPE
TEXTCONTENTS

The layer element to rasterize, using
ArtLayer.rasterize().

Adobe Photoshop CS4
JavaScript Scripting Reference

Scripting Constants

212

Constant type

Values

What it means

ReferenceFormType

CLASSTYPE
ENUMERATED
IDENTIFIER
INDEX
NAME
OFFSET
PROPERTY

The type of an ActionReference
object, returned by getForm().

ResampleMethod

BICUBIC
BICUBICSHARPER
BICUBICSMOOTHER
BILINEAR
NEARESTNEIGHBOR
NONE

The method to use for image
interpolation. Passed to
Document.resizeImage(), and used as
the value of Preferences.interpolation.

RippleSize

LARGE
MEDIUM
SMALL

The size of undulations to use. Pass to
ArtLayer.applyRipple().

SaveBehavior

ALWAYSSAVE
ASKWHENSAVING
NEVERSAVE

The application’s preferred behavior
when saving a document. See
Preferences.appendExtension and
imagePreviews

SaveDocumentType

ALIASPIX
BMP
COMPUSERVEGIF
ELECTRICIMAGE
JPEG
PCX
PHOTOSHOP
PHOTOSHOPDCS_1
PHOTOSHOPDCS_2
PHOTOSHOPEPS
PHOTOSHOPPDF
PICTFileFORMAT
PICTRESOURCEFORMAT
PIXAR
PNG
PORTABLEBITMAP
RAW
SCITEXCT
SGIRGB
SOFTIMAGE
TARGA
TIFF
WAVEFRONTRLA
WIRELESSBITMAP

The format in which to save a
document when exporting with
Document.exportDocument(). Pass in
ExportOptionsSaveForWeb.format, to
to specify the type of file to write. Only
the following are supported for
export: COMPUSERVEGIF, JPEG, PNG-8,
PNG-24, and BMP.

SaveEncoding

ASCII
BINARY
JPEGHIGH
JPEGLOW
JPEGMAXIMUM
JPEGMEDIUM

The type of encoding to use when
saving a file to DCS or EPS with
Document.saveAs().

SaveLogItemsType

LOGFILE
LOGFILEANDMETADATA
METADATA

The preferred location of history log
data, set in Preferences.saveLogItems.

SaveOptionsType

DONOTSAVECHANGES
PROMPTTOSAVECHANGES
SAVECHANGES

The policy for closing a document
with Document.close().

Adobe Photoshop CS4
JavaScript Scripting Reference

Scripting Constants

Constant type

Values

What it means

SelectionType

DIMINISH
EXTEND
INTERSECT
REPLACE

The selection behavior when a
selection already exists:

213

DIMINISH: Remove the selection from

the already selected area.
EXTEND: Add the selection to an

already selected area.
INTERSECT: Make the selection only
the area where the new selection
intersects the already selected area.
REPLACE: Replace the selected area.

Used in PathItem.makeSelection(),
Selection.load(), Selection.select(), and
Selection.store().
ShapeOperation

SHAPEADD
SHAPEINTERSECT
SHAPESUBTRACT
SHAPEXOR

How to combine the shapes if the
destination path already has a
selection.
Set for SubPathInfo.operation, stored
in the resulting SubPathItem.

SmartBlurMode

EDGEONLY
NORMAL
OVERLAYEDGE

The method to use for smart blurring:
EDGEONLY, OVERLAYEDGES: Apply blur
only to edges of color transitions.
NORMAL: Apply blur to entire image.

Pass to ArtLayer.applySmartBlur().
SmartBlurQuality

HIGH
LOW
MEDIUM

The blur quality to use. Pass to
ArtLayer.applySmartBlur().

SourceSpaceType

DOCUMENT
PROOF

The color space for source when
printing with Document.print().

SpherizeMode

HORIZONTAL
NORMAL
VERTICAL

The curve (or stretch shape) to use for
the distortion. Pass to
ArtLayer.applySpherize().

StrikeThruType

STRIKEBOX
STRIKEHEIGHT
STRIKEOFF

The style of strikethrough to use in
text. Used in TextItem.strikeThru.

StrokeLocation

CENTER
INSIDE
OUTSIDE

The placement of path or selection
boundary strokes. Pass to
Selection.stroke().

TargaBitsPerPixels

SIXTEEN
THIRTYTWO
TWENTYFOUR

The resolution to use when saving an
image in Targa format. Used in
TargaSaveOptions.

Adobe Photoshop CS4
JavaScript Scripting Reference

Scripting Constants

214

Constant type

Values

What it means

TextCase

ALLCAPS
NORMAL
SMALLCAPS

The capitalization style to use in text.
Used in TextItem.capitalization.

TextComposer

ADOBEEVERYLINE
ADOBESINGLELINE

The composition method to use to
optimize the specified hyphenation
and justification options. Used in
TextItem.textComposer.

TextType

PARAGRAPHTEXT
POINTTEXT

The type of text, used in TextItem.kind.
PARAGRAPHTEXT: Text that wraps
within a bounding box.
POINTTEXT: Text that does not wrap.

TextureType

BLOCKS
CANVAS
FILE
FROSTED
TINYLENS

The type of texture or glass surface
image to load for a texturizer or glass
filter. Pass to
ArtLayer.applyGlassEffect().

TIFFEncoding

JPEG
NONE
TIFFLZW
TIFFZIP

The type of compression to use for
TIFF files. Used in TiffSaveOptions.

ToolType

ARTHISTORYBRUSH
BACKGROUNDERASER
BLUR
BRUSH
BURN
CLONESTAMP
COLORREPLACEMENTTOOL
DODGE
ERASER
HEALINGBRUSH
HISTORYBRUSH
PATTERNSTAMP
PENCIL
SHARPEN
SMUDGE
SPONGE

The tool to use with
PathItem.strokePath().

TransitionType

BLINDSHORIZONTAL
BLINDSVERTICAL
BOXIN
BOXOUT
DISSOLVE
GLITTERDOWN
GLITTERRIGHT
GLITTERRIGHTDOWN
NONE
RANDOM
SPLITHORIZONTALIN
SPLITHORIZONTALOUT
SPLITVERTICALIN
SPLITVERTICALOUT
WIPEDOWN
WIPELEFT
WIPERIGHT
WIPEUP

The method to use for transition from
one image to the next in a PDF
presentation. Used in
PresentationOptions.

Adobe Photoshop CS4
JavaScript Scripting Reference

Scripting Constants

Constant type

Values

What it means

TrimType

BOTTOMRIGHT
TOPLEFT
TRANSPARENT

Type of pixels to trim around an
image, passed to Document.trim().:

215

BOTTOMRIGHT = bottom right pixel

color.
TOPLEFT = top left pixel color.

TypeUnits

MM
PIXELS
POINTS

The preferred unit for text character
measurements, set in Preferences.

UndefinedAreas

REPEATEDGEPIXELS
WRAPAROUND

The method to use to treat
undistorted areas or areas left blank in
an image to which the a filter in the
Distort category has been applied.
Pass to ArtLayer.applyDisplace(),
applyShear(), applyWave().

UnderlineType

UNDERLINELEFT
UNDERLINEOFF
UNDERLINERIGHT

The placement of text underlining.
Used in TextItem.underline.
Note: UNDERLINELEFT and
UNDELINERIGHT are valid only when
direction = Direction.VERTICAL.

Units

CM
INCHES
MM
PERCENT
PICAS
PIXELS
POINTS

The preferred measurement unit for
type and ruler increments, set in
Preferences.rulerUnits.

Urgency

FOUR
HIGH
LOW
NONE
NORMAL
SEVEN
SIX
THREE
TWO

The editorial urgency status of a
document, set in
DocumentPrintSettings.urgency.

WarpStyle

ARC
ARCH
ARCLOWER
ARCUPPER
BULGE
FISH
FISHEYE
FLAG
INFLATE
NONE
RISE
SHELLLOWER
SHELLUPPER
SQUEEZE
TWIST
WAVE

The warp style to use for text. Used in
TextItem.warpStyle.

Adobe Photoshop CS4
JavaScript Scripting Reference

Scripting Constants

216

Constant type

Values

What it means

WaveType

SINE
SQUARE
TRIANGULAR

The type of wave to use. Pass to
ArtLayer.applyWave().

WhiteBalanceType

ASSHOT
AUTO
CLOUDY
CUSTOM
DAYLIGHT
FLASH
FLUORESCENT
SHADE
TUNGSTEN

Lighting conditions that affect color
balance. Set in
CameraRAWOpenOptions.

ZigZagType

AROUNDCENTER
OUTFROMCENTER
PONDRIPPLES

The method of zigzagging to use. Pass
to ArtLayer.applyZigZag().

Appendix A: Event ID Codes
The following table lists events and their four-character ID codes or string identifiers for use with the
notifier object.
Note: Do not include single quotes ( ' ) with four-character IDs in your code. The single quotes are
used in this table to illustrate the placement of required spaces in codes that do not contain four
letters. However, string identifiers, which are longer than four characters, require double quotes in
the code.
Tip: If you can’t find the event you want to use for notification in this table, you can use ScriptListener to
determine the event ID code. See the ScriptListener documentation in the Action Manager chapter of
the Photoshop CS4 Scripting Guide.
Event

4-char ID or String

3DTransform

'TdT '

Average

'Avrg'

ApplyStyle

'ASty'

Assert

'Asrt'

AccentedEdges

'AccE'

Add

'Add '

AddNoise

'AdNs'

AddTo

'AddT'

Align

'Algn'

All

'All '

AngledStrokes

'AngS'

ApplyImage

'AppI'

BasRelief

'BsRl'

Batch

'Btch'

BatchFromDroplet

'BtcF'

Blur

'Blr '

BlurMore

'BlrM'

Border

'Brdr'

Brightness

'BrgC'

CanvasSize

'CnvS'

ChalkCharcoal

'ChlC'

ChannelMixer

'ChnM'

217

Adobe Photoshop CS4

JavaScript Scripting Reference

Appendix A: Event ID Codes

218

Event

4-char ID or String

Charcoal

'Chrc'

Chrome

'Chrm'

Clear

'Cler'

Close

'Cls '

Clouds

'Clds'

ColorBalance

'ClrB'

ColorHalftone

'ClrH'

ColorRange

'ClrR'

ColoredPencil

'ClrP'

ContactSheet

"0B71D221-F8CE-11d2-B21B-0008C75B322C"

ConteCrayon

'CntC'

Contract

'Cntc'

ConvertMode

'CnvM'

Copy

'copy'

CopyEffects

'CpFX'

CopyMerged

'CpyM'

CopyToLayer

'CpTL'

Craquelure

'Crql'

CreateDroplet

'CrtD'

Crop

'Crop'

Crosshatch

'Crsh'

Crystallize

'Crst'

Curves

'Crvs'

Custom

'Cstm'

Cut

'cut '

CutToLayer

'CtTL'

Cutout

'Ct

DarkStrokes

'DrkS'

DeInterlace

'Dntr'

DefinePattern

'DfnP'

Defringe

'Dfrg'

Delete

'Dlt '

Desaturate

'Dstt'

'

Adobe Photoshop CS4

JavaScript Scripting Reference

Appendix A: Event ID Codes

219

Event

4-char ID or String

Deselect

'Dslc'

Despeckle

'Dspc'

DifferenceClouds

'DrfC'

Diffuse

'Dfs '

DiffuseGlow

'DfsG'

DisableLayerFX

'dlfx'

Displace

'Dspl'

Distribute

'Dstr'

Draw

'Draw'

DryBrush

'DryB'

Duplicate

'Dplc'

DustAndScratches

'DstS'

Emboss

'Embs'

Equalize

'Eqlz'

Exchange

'Exch'

Expand

'Expn'

Export

'Expr'

Jumpto

'Jpto'

ExportTransparentImage

"02879e00-cb66-11d1-bc43-0060b0a13dc4"

Extrude

'Extr'

Facet

'Fct '

Fade

'Fade'

Feather

'Fthr'

Fibers

'Fbrs'

Fill

'Fl

FilmGrain

'FlmG'

Filter

'Fltr'

FindEdges

'FndE'

FitImage

"3caa3434-cb67-11d1-bc43-0060b0a13dc4"

FlattenImage

'FltI'

Flip

'Flip'

Fragment

'Frgm'

Fresco

'Frsc'

'

Adobe Photoshop CS4

JavaScript Scripting Reference

Appendix A: Event ID Codes

Event

4-char ID or String

GaussianBlur

'GsnB'

Get

'getd'

Glass

'Gls '

GlowingEdges

'GlwE'

Gradient

'Grdn'

GradientMap

'GrMp'

Grain

'Grn '

GraphicPen

'GraP'

Group

'GrpL'

Grow

'Grow'

HalftoneScreen

'HlfS'

Hide

'Hd

HighPass

'HghP'

HSBHSL

'HsbP'

HueSaturation

'HStr'

ImageSize

'ImgS'

Import

'Impr'

InkOutlines

'InkO'

Intersect

'Intr'

IntersectWith

'IntW'

Inverse

'Invs'

Invert

'Invr'

LensFlare

'LnsF'

Levels

'Lvls'

LightingEffects

'LghE'

Link

'Lnk '

Make

'Mk

Maximum

'Mxm '

Median

'Mdn '

MergeLayers

'Mrg2'

MergeLayersOld

'MrgL'

MergeSpotChannel

'MSpt'

MergeVisible

'MrgV'

'

'

220

Adobe Photoshop CS4

JavaScript Scripting Reference

Appendix A: Event ID Codes

221

Event

4-char ID or String

Mezzotint

'Mztn'

Minimum

'Mnm '

ModeChange

"8cba8cd6-cb66-11d1-bc43-0060b0a13dc4"

Mosaic

'Msc '

Mosaic_PLUGIN

'MscT'

MotionBlur

'MtnB'

Move

'move'

NTSCColors

'NTSC'

NeonGlow

'NGlw'

Next

'Nxt '

NotePaper

'NtPr'

Notify

'Ntfy'

Null

typeNull

OceanRipple

'OcnR'

Offset

'Ofst'

Open

'Opn '

Paint

'Pnt '

PaintDaubs

'PntD'

PaletteKnife

'PltK'

Paste

'past'

PasteEffects

'PaFX'

PasteInto

'PstI'

PasteOutside

'PstO'

Patchwork

'Ptch'

Photocopy

'Phtc'

PicturePackage

"4C1ABF40-DD82-11d2-B20F-0008C75B322C"

Pinch

'Pnch'

Place

'Plc '

Plaster

'Plst'

PlasticWrap

'PlsW'

Play

'Ply '

Pointillize

'Pntl'

Polar

'Plr '

Adobe Photoshop CS4

JavaScript Scripting Reference

Appendix A: Event ID Codes

222

Event

4-char ID or String

PosterEdges

'PstE'

Posterize

'Pstr'

Previous

'Prvs'

Print

'Prnt'

ProfileToProfile

'PrfT'

Purge

'Prge'

Quit

'quit'

RadialBlur

'RdlB'

Rasterize

'Rstr'

RasterizeTypeSheet

'RstT'

RemoveBlackMatte

'RmvB'

RemoveLayerMask

'RmvL'

RemoveWhiteMatte

'RmvW'

Rename

'Rnm '

ReplaceColor

'RplC'

Reset

'Rset'

ResizeImage

"1333cf0c-cb67-11d1-bc43-0060b0a13dc4"

Reticulation

'Rtcl'

Revert

'Rvrt'

Ripple

'Rple'

Rotate

'Rtte'

RoughPastels

'RghP'

Save

'save'

Select

'slct'

SelectiveColor

'SlcC'

Set

'setd'

SharpenEdges

'ShrE'

Sharpen

'Shrp'

SharpenMore

'ShrM'

Shear

'Shr '

Show

'Shw '

Similar

'Smlr'

SmartBlur

'SmrB'

Adobe Photoshop CS4

JavaScript Scripting Reference

Appendix A: Event ID Codes

Event

4-char ID or String

Smooth

'Smth'

SmudgeStick

'SmdS'

Solarize

'Slrz'

Spatter

'Spt '

Spherize

'Sphr'

SplitChannels

'SplC'

Sponge

'Spng'

SprayedStrokes

'SprS'

StainedGlass

'StnG'

Stamp

'Stmp'

Stop

'Stop'

Stroke

'Strk'

Subtract

'Sbtr'

SubtractFrom

'SbtF'

Sumie

'Smie'

TakeMergedSnapshot

'TkMr'

TakeSnapshot

'TkSn'

TextureFill

'TxtF'

Texturizer

'Txtz'

Threshold

'Thrs'

Tiles

'Tls '

TornEdges

'TrnE'

TraceContour

'TrcC'

Transform

'Trnf'

Trap

'Trap'

Twirl

'Twrl'

Underpainting

'Undr'

Undo

'undo'

Ungroup

'Ungr'

Unlink

'Unlk'

UnsharpMask

'UnsM'

Variations

'Vrtn'

Wait

'Wait'

223

Adobe Photoshop CS4

JavaScript Scripting Reference

Appendix A: Event ID Codes

Event

4-char ID or String

WaterPaper

'WtrP'

Watercolor

'Wtrc'

Wave

'Wave'

Wind

'Wnd '

ZigZag

'ZgZg'

BackLight

'BacL'

FillFlash

'FilE'

ColorCast

'ColE'

224

Index
A
Action Manager 194
actions
command lists 42
descriptions 45
descriptors 39
playing 49
active document 47
activePrinter 97
Add Noise filter
adjustments
brightness 56
color 198
color balance 56, 62
contrast 56, 60
curves 56
highlights 63
levels 56, 60
shadows 63
temperature 62
Adobe Illustrator, exporting paths to 106
alpha channels
defined 73
from transparency (TIFF documents) 187
opacity 73
saving
in BMP documents 70
in PDF documents 147
in PICT documents 152
in PICT resources 153
in Pixar documents 155
in PSD documents 151
in RAW documents 163
in SGIRGB documents 172
in Targa documents 177
in TIFF documents 187
anchor points
adding 142
annotations, importing 93
anti aliasing
text 180
application
activating 49
checking if feature enabled 49
defaults 157
location 48
preferences 157
artLayers, See layers
Asian text 159
authors 100
auto kerning 180, 198
auto leading 185
auto spacing, contact sheets 83

available memory 47
Average filter 56

B
background color
application 47
galleries 111
background layers 54
backgroundColor 97
baseline shift 180
batch command 49
batches
destination folder 67, 198
specifying options 67
beeping 157
bitmap documents
converting to 199
depth type 199
halftone type 199
opening 208
saving 70
bitmap images
See bitmap documents
black and white images 63
bleedWidth 97
blending modes
layer sets 128
layers 54
Blur filter 56
blur filters
Average 56
Blur More 56
Gaussian Blur 57
Lens Blur 58
Motion Blur 59
Radial Blur 59
Smart Blur 60
Blur More filter 56
BMP documents
See bitmap documents
brightness 56
adjusting 56
equalizing 61
build 47

C
caches
images 158
purging 51
camera raw documents
opening 71
settings 200
size options 200
225

Adobe Photoshop CS4
JavaScript Scripting Reference
canvas
flipping 93
resizing 93
canvas, defined 89
caption 97
captions
contact sheets 83
documents 100
gallery images 112
gallery thumbnails 116
images 100
centerCropMarks 97
channels
activating 89
adding 75
adjusting 56
alpha See alpha channels
creating 75
deleting 73
displaying in color 157
duplicating 73
making visible 73
merging 73
mixing 62
splitting 94
spot See spot channels
types of 73
clipping paths
from paths 138
from text 186
Clouds filter 56
CMYKColor 80
color balance, adjusting 62
color picker 157
color profiles
changing 92
determining type of 90
naming 89
color profiles, see individual document formats
color samplers
adding 82
creating 82
moving 81
removing 81
colorBars 97
colorHandling 97
colors
active links 111
adjusting 198
balancing 56
channels 73
CMYK 80
custom settings 114
in galleries 111
inverting 61
modifying 63
none 134
preserving (GIF only) 117
reduction 107
settings 47

Index
solid color objects 173
testing if equal 173
visited links 111
comments, layer comps 125
compatibility, maximizing 158
component channels
color balance 56
defined 73
listing 89
See composite channels
composite channels 73
See component channels
Compuserve GIF documents
opening 208
saving 117
contact sheets
captions 83
columns 83
dimensions 83
making 50
rows 83
contrast
adjusting 56
adjusting automatically 60
camera raw settings 71
midtones 63
copies 97
copyrights 100
cornerCropMarks 97
count items
adding 85
creating 85
removing 84
cropping 92
CS4 version changes 35
cursors 159
curves, adjusting 56
Custom filters 56

D
DCS 1 documents, saving 86
De-Interlace filter 57
desaturate 61
Despeckle filter 57
dialogs
displaying 47
Difference Clouds filter 57
Diffuse Glow filter 57
Displace filter 57
distort filters
Diffuse Glow 57
Displace 57
Glass Effect 57
Ocean Ripple 59
Pinch 59
Polar Coordinates 59
Ripple 59
Shear 59
Spherize 60

226

Adobe Photoshop CS4
JavaScript Scripting Reference
Twirl 60
Wave 60
Zigzag 60
document formats, see individual document formats
DocumentPrintSettings 97
documents 89
activating 47
adding 103
closing 91
code sample 95
color profiles 89
color samplers 89
counting items 90
counting objects 92
cropping 38, 92
dimensions 89
duplicating 38, 92
exporting 93
info 100
loading 50
managed 90
measurement scale 90
metadata 90, 100
open with Photoshop dialog 51
opening 51
optimizing for web 107
printing 93
resizing 93
resolution 91
saving 93, 94
suspending history 94
trapping (CMYK) 94
trimming 94
Dust and Scratches filter 57

E
Enable Info
constants 192
grammar 191
operator precendence 192
variables 193
EPSSaveOptions 105
equalize 61
event IDs
using ScriptListener to find 217
Events Manager 48
executing scripts 34
exif 100
exporting
documents 93
paths 106
to Illustrator 106
to Web 107
ExportOptionsIllustrator 106
ExportOptionsSaveForWeb 107

F
file extensions
format 160

Index
including 157
script files 33
file metadata 100
files
merging 50
filetypes
macOS 48
Windows 49
filling
paths 137
selections 166, 167, 168
filter, see individual filter names
flip 97
Folder object 33
fonts
detecting 47
determining family of 178
determining style of 178
formats, see individual document formats

G
galleries 114
background color 111
banners 110
captions 112
color options 111
credits 112
dimensions 112
filenames 112
link colors 111
making 49, 50
metadata 114
photographer 110
security text 115
thumbnail images 116
GalleryBannerOptions 110
GalleryCustomColorOptions 111
GalleryImagesOptions 112, 113
GalleryOptions 114
GallerySecurityOptions 115
GalleryThumbnailOptions 116
Gaussian Blur filter 57
GIF documents
See Compuserve GIF documents
GIFSaveOptions 117
Glass Effect filter 57
glyph scaling 180–183
GrayColor 118
grids 158
grouped layers 54
guides 158

H
halftone screen 69
hanging punctuation 181
hardProof 97
High Pass filter 57
highlights
adjusting 63

227

Adobe Photoshop CS4
JavaScript Scripting Reference
color balance 56
histograms
channels 73
history log 160
history states
activating 89
allowing nonlinear 158
default number of 159
snapshot 119
suspending 94
HSBColor 121
hypenation 182

I
IDs
getting 39
PICT Resource 153
property 45
runtime 49
runtime to string 52
string to runtime 51
string to type 51
type to char 51
Illustrator
See Adobe Illustrator
image
resizing 93
image pyramids 187
images
bitmap 69
black and white 63
caches 158
captions 112
definition of 89
desaturating 61
equalizing 61
filetypes 48
from split channels 94
inverting colors 61
previewing 158
pyramids 187
resizing 93
resizing in galleries 113
thumbnails 116
indexed color model 122
IndexedConversionOptions 122
individual document formats, examples 94
installing scripts 34
Intent 97
interpolate 97
interpolation 158

J
JavaScript
changes in Photoshop CS4 35
supported features 33
JavaScript Resource
Enable Info grammar 191
javascriptresource syntax 190

Index
javascriptresource tag 190
JPEG
quality 123
JPEG documents
quality 123
saving 123
JPEG options
scans 123
JPEGSaveOptions 123
justification 182

K
kerning 180
text
auto kerning 198
keyboard behavior 158

L
LabColor 124
labels 97
languages 182
layer comps 125
adding 126
applying 125
in documents 90
layer sets
adding 130
art layers in 128
duplicating 129
in documents 90
linked layers in 128
linking 129
locking contents 128
moving 129
nesting 128
opacity 128
unlinking 129
layer styles, applying 60
LayerComps 126
layered TIFFdocuments, saving 157
Layers 127
layers
adding 66
applying styles 60
background 54
blending mode 54
bounds 54
clipboard commands 60
comps 125
copying 60
duplicating 61
flattening 93
grouping 54
in documents 90
inverting 61
kind 54
linking 61
locking contents 54–55
making visible 55

228

Adobe Photoshop CS4
JavaScript Scripting Reference
merging 61
merging visible 93
moving 62
rasterizing 93
rasterizing contents 62
removing 66
resizing 63
rotating 63
saving in PDF documents 147
unlinking 63
LayerSet 128
LayerSets 130
layersets
merging 129
leading 182, 185
Lens Blur filter
applying 58
Lens Flare filter 58
letter spacing 181–184
levels
adjusting 56
adjusting automatically 56
ligatures 180–182
linked layers 61
unlinking 63
links
colors 111

M
MacOS
filetypes 48
managed documents 90
mapBlack 97
maximizing compatibility 158
Maximum filter 58
Median Noise filter 58
memory 47
merging
layers 61
visible layers 93
metadata
document 90
document object 100
galleries 114
xmp 91, 189
methods
batch 49
midtones
color balance 56
Minimum filter 59
Motion Blur filter 59

N
negative 97
noise filters
Add Noise
Despeckle 57
Dust and Scratches 57
Median Noise 58

Index
nonlinear history 158
notifications
events within scripts 135
notifiers
adding 136
event IDs 217
removing 135
NTSC filter 59

O
object model
changes in Photoshop CS4 35
Ocean Ripple filter 59
Offset filter 59
old style type 184
opacity
channels 73
gallery security text 115
layer fill 54
layer sets 128
layers 55
picture packages 154
open options
DICOM format 88
EPS format 104
PDF format 146
Photo CD format 150
RAW format 71, 162
optimizing 107
other filters
Custom 56
High Pass 57
Maximum 58
Minimum 59
Offset 59

P
palettes 159
pasting 93
path 48
path items
adding 141
deselecting 137
filling 137
from text 186
making selection 138
path points 175
selecting 138
specifying path kind 137
stroking 138
sub items 137
sub path info 174
sub path items 175
work path from selection 166, 167, 168
path point info
anchor points 143
left direction 143
right direction 143
path points

229

Adobe Photoshop CS4
JavaScript Scripting Reference
anchor points 142
left direction 142
right direction 142
PathItems 141
paths
See path items
PDF documents
opening 146
saving 147
PDF presentations
auto advance 161
making 50
output format 161
transition type 161
Photo CD discs, opening 150
photo filtering 62
photo galleries
See galleries
photomerge 50
Photoshop documents
opening 208
saving 151
Photoshop files, maximizing compatibility 158
PICT documents
opening 208
saving 152
PICT resources
opening 208
saving 153
picture packages
contents 154
flattening 154
making 50
opacity 154
options 154
text properties 154
Pinch filter 59
Pixar documents
opening 208
saving 155
PixarSaveOptions 155
pixels
aspect ratio 90
doubling 159
equalizing 61
interpolation 158
locking 55
unit measures 215
playback options 48
playbackDisplayDialogs 48
plug-in folder
additional plug-in folder 160
PNG 8 documents, saving 107
PNG documents
saving 156
PNGSaveOptions 156
Polar Coordinates filter 59
posterrize 62
postscript encoding 93
PostScript names 178

Index
posX 97
posY 97
Preferences 157
PresentationOptions 161
presentations
making 50
PDF presentations
printBorder 97
printing, documents 93
printOneCopy 93
printSelected 97
printSettings 90
printSpace 97
property
measurementLog 48
PSD documents
opening 208
saving 151
purging 51

Q
quickMaskMode 90
quote style 159

R
Radial Blur filter 59
rasterize 62
rasterizing
document layers 93
RAW documents
opening 162
RawSaveOptions 163
recentFiles 48
registrationMarks 98
render filters
Clouds 56
Difference Clouds 57
Lens Flare 58
renderIntent 97
resolution
bitmap conversions 69
documents 91
RGBColor 164
Ripple filter 59
rotation 63
ruler units 159
runMenuItem 51

S
save as 94
saved 91
saving 93
saving, see individual document formats.
scale 98
scripting interface
build date 48
version 48
scriptingVersion 48

230

Adobe Photoshop CS4
JavaScript Scripting Reference
scripts
automation 190, 194
enabling/disabling in menu 190
executing 34
grouping in menu 190
installing 34
startup 34
terminology dictionary 194
valid file extensions 33
Scripts Events Manager 48
selected areas 91
selections 165
boundaries 165
clearing 165
copying 165
cutting 165
deselecting 165
feathering 165
filling 166, 167, 168
from paths 138
making work path from 166, 167, 168
resizing 165, 166, 167, 168
rotating 166, 167, 168
smoothing 169
stroking 169
selective color 63
SGIRGB documents
saving 172, 212
SGIRGBSaveOptions 172, 198
shadows
adjusting 63
color balance 56
Sharpen Edges filter 59
Sharpen filter 59
sharpen filters
Sharpen 59
Sharpen Edges 59
Sharpen More 59
Unsharp Mask 60
Sharpen More filter 59
Shear filter 59
Smart Blur filter 60
smart quotes 159
Spherize filter 60
spot channels
defined 73
merging into component channels 74
opacity 73
saving
in DCS 2 documents 87
in PDF documents 148
in PSD documents 151
in RAW documents 163
in SGIRGB documents 172
in TIFF documents 187
spotColors 172
startup scripts 34
strike thru 185
stroking
default stroke color 47

Index
path items 138
selections 169
styles, applying 60
sub path items 137
systemInformation 48

T
temperature 62
terminology dictionary
defined 194
syntax 194
text
Asian 159
auto kerning 180
auto leading 185
captions 112
color
composer 185
content 180
creating paths from 186
formatting 185
gallery security 115, 205
hyphenation 182
in picture packages 154
justification 182
languages 182
offset 180
orientation 181
spacing 181–184
tracking 185
wrapping 182
text composer 185
text fonts
See fonts
text items
See text
text layers
adding contents 180
creating 54
Texture Fill filter 60
texture filters, Texture Fill 60
threshold 63
thumbnails 116
Mac OS 158
Windows 160
TIFF documents
layered 157
saving 187
togglePalettes 52
tool tips 159
tracking, text 185
transmission info 100
trapping 94
Twirl filter 60
type units 159

U
underlining 185
units

231

Adobe Photoshop CS4
JavaScript Scripting Reference
ruler 159
type 159
UnitValue object 33, 188
Unsharp Mask filter 60
URLs, document 100
UTF8 Encoding 114

V
vectorData 98
version
application 49
scripting interface 48
video alpha 160
video filters
De-Interlace 57
NTSC 59
visibility
channels 73
layer comps 125
layers 55

Index

W
warp 185
Wave filter 60
Web photo galleries
See galleries.
webSnap 108
width 91
Windows
filetypes 49
word spacing 181–184
work paths
designating 209
from selected area 166, 167, 168
wrapping, text 182

X
XML 189
xmp metadata 91, 189

Z
Zigzag filter 60
zoom 158

232



Source Exif Data:
File Type                       : PDF
File Type Extension             : pdf
MIME Type                       : application/pdf
PDF Version                     : 1.4
Linearized                      : No
Encryption                      : Standard V1.3 (40-bit)
User Access                     : Print, Annotate, Fill forms, Extract, Assemble, Print high-res
Page Mode                       : UseOutlines
XMP Toolkit                     : Adobe XMP Core 4.0-c316 44.253921, Sun Oct 01 2006 17:14:39
Format                          : application/pdf
Creator                         : Adobe Systems Incorporated
Description                     : Scripting Photoshop CS4 using JavaScript
Title                           : Adobe Photoshop CS4 JavaScript Reference
Subject                         : Photoshop, ExtendScript, JavaScript, Scripting, Creative Suite
Create Date                     : 2008:07:16 08:58:48Z
Creator Tool                    : FrameMaker 7.2
Modify Date                     : 2008:07:16 09:09:16-07:00
Metadata Date                   : 2008:07:16 09:09:16-07:00
Producer                        : Acrobat Distiller 8.1.0 (Windows)
Keywords                        : "Photoshop, ExtendScript, JavaScript, Scripting, Creative Suite"
Copyright                       : Adobe Systems, Inc. 2007
Document ID                     : uuid:19c1d407-46ee-4c1c-9595-01fa10c92d33
Instance ID                     : uuid:726937e8-23c8-49ce-a1b0-a24e96414a5c
Page Count                      : 232
Author                          : Adobe Systems Incorporated
EXIF Metadata provided by EXIF.tools

Navigation menu