Last active
May 31, 2017 09:26
-
-
Save innermond/d7d5cdf705d0214dab4c9f9f8aaefd56 to your computer and use it in GitHub Desktop.
change text found in text layers of psd files with lorem
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| var dir = new Folder('/c/temp') | |
| var files = dir.getFiles("*.psd"); | |
| for (var i = 0; i < files.length; i++) { | |
| var doc = app.open(files[i]); | |
| mutate(doc) | |
| doc.close(SaveOptions.SAVECHANGES) | |
| } | |
| function mutate(el) | |
| { | |
| var layers = el.layers; | |
| for (var layerIndex = layers.length; layerIndex > 0; layerIndex--) | |
| { | |
| var currentLayer = layers[layerIndex-1]; | |
| if (currentLayer.typename == "LayerSet") { | |
| mutate(currentLayer); | |
| } else { | |
| if ( (currentLayer.visible) && (currentLayer.kind == LayerKind.TEXT) ) | |
| { | |
| currentLayer.textItem.contents = loremize(lyr.textItem.contents); | |
| } | |
| } | |
| } | |
| } | |
| function loremize(c){ | |
| var out = ""; | |
| for(var i=0;i<c.length;i++){ | |
| var ch=c[i]; | |
| var punctuation = (ch.match(/[_\.,!"'*%\[\]\$\\\-]/) != null) | |
| var unlorem = ( punctuation || ch.trim() == "" || ! isNaN(ch) ); | |
| if (unlorem) { | |
| out += ch | |
| continue | |
| } | |
| var uppercased = (ch == ch.toUpperCase()); | |
| out += rnd(uppercased) | |
| } | |
| return out; | |
| } | |
| function rnd(big) { | |
| var RandomCharsToUse = "abcdefghijkmnpqrstuvwxyz"; | |
| if (big) { | |
| RandomCharsToUse = "ABCDEFGHJKLMNPQRSTUVWXYZ"; | |
| } | |
| var MinimumNumberOfCharacters = 1; | |
| var MaximumNumberOfCharacters = 1; | |
| RandomCharsToUse = RandomCharsToUse.replace(/\s/g,""); | |
| MinimumNumberOfCharacters = parseInt(MinimumNumberOfCharacters); | |
| MaximumNumberOfCharacters = parseInt(MaximumNumberOfCharacters); | |
| if( MaximumNumberOfCharacters < MinimumNumberOfCharacters ) { MaximumNumberOfCharacters = MinimumNumberOfCharacters; } | |
| var CharactersLength = RandomCharsToUse.length; | |
| var StringLength = 0; | |
| if( MaximumNumberOfCharacters == MinimumNumberOfCharacters ) { StringLength = MinimumNumberOfCharacters; } | |
| else { StringLength = Math.floor(Math.random()*(MaximumNumberOfCharacters-MinimumNumberOfCharacters+1)) + MinimumNumberOfCharacters; } | |
| var ReturnString = new String(); | |
| while( ReturnString.length < StringLength ) { ReturnString += RandomCharsToUse.charAt(Math.floor(Math.random()*CharactersLength)); } | |
| return ReturnString; | |
| } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment