Created
November 30, 2017 21:34
-
-
Save anonymous/7677d654c1357ee6d3ae1a1dc246c3b6 to your computer and use it in GitHub Desktop.
Export all items in INDESIGN file as individual PNG files
This file contains 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
// Set resolution options | |
var rp = [72,150,300]; | |
// Set EXPORT presets | |
app.pngExportPreferences.exportResolution = 72; | |
app.pngExportPreferences.antiAlias = true; | |
app.pngExportPreferences.pngQuality = PNGQualityEnum.MAXIMUM; | |
app.pngExportPreferences.pngColorSpace = PNGColorSpaceEnum.RGB; | |
app.pngExportPreferences.pngExportRange = PNGExportRangeEnum.EXPORT_RANGE; | |
// Resolution Select Dialog | |
var w; | |
w = new Window('dialog', 'Export Presets'); | |
w.orientation = 'row'; | |
with (w) | |
{ | |
w.sText = add('statictext', undefined, 'Select Export Resolution:'); | |
w.dropdown = add ( 'DropDownList',undefined,undefined,{items:rp}); | |
w.btnOK = add('button', undefined, 'OK'); | |
}; | |
w.dropdown.selection=0; | |
w.show(); | |
// Set resolution | |
var x = 0; | |
x = x + w.dropdown.selection; | |
app.pngExportPreferences.exportResolution = rp[x]; | |
// SElECT Folder locations | |
var myFileAmount = 0; | |
var myFileLocation = Folder.selectDialog("Please select path of InDesign Files"); | |
myFolder = new Folder ([myFileLocation]); | |
myFolderContents = myFolder.getFiles("*.indd"); // array | |
myFileAmount = (myFolderContents.length - 1); | |
// CHECK IF FILES IN FOLDER | |
if (myFileAmount < 0){alert("No Files in selected folder");} | |
else | |
{ | |
var mySaveLocation = Folder.selectDialog("Please select path to Save PNG"); | |
mySaveFolder = new Folder ([mySaveLocation]); | |
// OPEN FILES One at a time | |
for (i = myFileAmount; i >= 0; i--) | |
{ | |
app.open(File (myFolderContents[i])); | |
app.scriptPreferences.userInteractionLevel = UserInteractionLevels.NEVER_INTERACT; | |
// SET Active Document | |
var myDoc = app.activeDocument; | |
// EXPORT | |
//One Page at a time | |
for (var p=0; p < myDoc.pages.length; p++) | |
{//page loop | |
var pname = myDoc.pages.item(p).name; | |
//set all items in file hiden | |
for (var itemnum=0;itemnum < myDoc.pages.item(p).pageItems.length; itemnum++) | |
{ | |
myDoc.pages.item(p).pageItems.item(itemnum).visible = false; | |
} | |
// set page to export | |
app.pngExportPreferences.pageString = pname; | |
//add a 0 in from on less than 10 | |
if (p<9){var pnm=0;}else{var pnm=""} | |
//LOOP Through items Set Visibility, export a PNG, Set Visibility | |
for (var itemexport=0;itemexport < myDoc.pages.item(p).pageItems.length; itemexport++) | |
{ | |
var itm = itemexport+1;//items start at 1 not 0 | |
myDoc.pages.item(p).pageItems.item(itemexport).visible = true; | |
//ACTUALLY EXPORTING | |
app.activeDocument.exportFile( | |
ExportFormat.PNG_FORMAT, | |
File(mySaveFolder.fsName + "/" + app.activeDocument.name.split(".indd")[0] + "_"+ pnm + pname + "_" + itm +".png"), | |
false, | |
); | |
//SET VISIBILITY | |
myDoc.pages.item(p).pageItems.item(itemexport).visible = false; | |
} | |
} | |
app.activeDocument.close(SaveOptions.no); | |
} | |
} | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment