Reply To: Is this even possible?

#93751
Anonymous
Inactive

Wow my answer just disappeared on posting :(

var main = function() {
	var template = getTemplate(),
	files;
	
	if ( !template ) return;
	files = getFiles ();
	if ( !files || !files.length ) return;
	
	makeDocument ( template, files );
}

var getTemplate = function() {
	var mac = $.os[0]=="M",
	macFilter = function(f){
		return (f instanceof Folder) || /\.indt$/i.test(f.name);
	},	
	winFilter = "InDesign templates : *.indt;",
	filter = mac? macFilter : winFilter,
	template = File.openDialog ( "Please choose a template", filter );
	return template;
}

var getFiles = function() {
	var mac = $.os[0]=="M",
	macFilter = function(f){
		return (f instanceof Folder) || /\.(jpe?g|tiff?|png)$/i.test(f.name);
	},	
	winFilter = "Image Files (*.png, *.jpg, *.jpeg, *.tif)",
	filter = mac? macFilter : winFilter,
	files = File.openDialog ( "Please select some files…", filter, true );
	return files
}

var makeDocument = function(template, files) {
	var doc = app.open ( template, false ),
	root = doc.xmlElements[0],
	img,
	n = files.length, i = 0;
	
	while ( i<n ) {
		img = root.xmlElements[i];
		if ( img.isValid )  {
			img.xmlContent.place ( files[i] );
		};
		
		i++;
	}
	
	jpgFile = File ( Folder.desktop+"/"+doc.name+".jpg" );
	doc.exportFile ( ExportFormat.JPG, jpgFile );
	doc.close(SaveOptions.NO);

}


var u;


app.doScript ( "main()",u,u,UndoModes.ENTIRE_SCRIPT, "The Script" );

This article was last modified on April 19, 2017

Comments (0)

Loading comments...