Yay!
My first real InDesign script.
//What it does:
1. Export framed images from InDesign into individual JPG images.
2. These images will be named the same file name as the original linked file.
3. JPEG Settings: Progressive, Medium quality, 72 dpi, RGB (You can change these, but not sure about changing RGB - CMYK).
4. Images saved into created folder: "JPG webexport".
//NOTES:
1. The image size will be the same size as the frame of the image.
2. All framed images will be exported.
3. You gotta change the folder; absolute location (two instances).
4. If you know how to change the output folder into same location as the .indd file, PLEASE do tell. I couldn't figure this out.
//If you want to edit it:
1. You may open the file with Notepad (or other).
2. Change stuff.
3. Save it.
4. Make sure extension is .jsx.
DOWNLOAD LINKS (Google Drive):
- Click THIS LINK to download the InDesign script.
- Click THIS LINK to download sample file/s (well, the script is already here also).
// Credit where it's due.
These were my main sources. Thank you very much to the helpful guys and gals of StackExchange/StackOverflow :')
- trying to extract formatted images from indesign into a separate folder
- Indesign CS6 Scripting - Exporting images
- How do I create a folder using ExtendScript?
Now, I'm pretty sure the script can still be cleaned up, but being that this already took up almost two of my work days, I ain't gonna fix what's not broken :')
//
//Script in text below (Select to COPY from BELOW here):
var myDoc = app.activeDocument,
apis = myDoc.allPageItems, rect, fileName;
while ( rect = apis.pop() )
{
if ( !(rect instanceof Rectangle) || !rect.graphics[0].isValid ){ continue; }
fileName = File ( rect.graphics[0].itemLink.filePath ).name;
fileName = fileName.replace( /\.[a-z]{2,4}$/i, '.jpg' );
app.jpegExportPreferences.exportResolution = 72;
app.jpegExportPreferences.jpegQuality = JPEGOptionsQuality.MEDIUM;
//make new folder
var f = new Folder("c:/users/Shadouness/desktop/JPG webexport/");
f.create();
//give it a unique name
var myFile = new File('c:/users/Shadouness/desktop/JPG webexport/' + fileName);
rect.exportFile(ExportFormat.JPG, myFile);
}
apis = myDoc.allPageItems, rect, fileName;
while ( rect = apis.pop() )
{
if ( !(rect instanceof Rectangle) || !rect.graphics[0].isValid ){ continue; }
fileName = File ( rect.graphics[0].itemLink.filePath ).name;
fileName = fileName.replace( /\.[a-z]{2,4}$/i, '.jpg' );
app.jpegExportPreferences.exportResolution = 72;
app.jpegExportPreferences.jpegQuality = JPEGOptionsQuality.MEDIUM;
//make new folder
var f = new Folder("c:/users/Shadouness/desktop/JPG webexport/");
f.create();
//give it a unique name
var myFile = new File('c:/users/Shadouness/desktop/JPG webexport/' + fileName);
rect.exportFile(ExportFormat.JPG, myFile);
}
// (Select to COPY until ABOVE here)
No comments:
Post a Comment