Hi @Balaji Murugesan , Also here’s an example that creates a print preset if it doesn’t already exist, and then sets the page range and file path via printPreferences:
var doc = app.activeDocument
//makes a print preset
var pp = makePrintPreset("PSPrint");
//the .ps file path
var sf = File (doc.filePath + "/" + doc.name + ".ps");
//sets the preset’s properties
//https://www.indesignjs.de/extendscriptAPI/indesign-latest/#PrinterPreset.html
pp.properties = {ppd:"Adobe PDF 9.0",
paperSize:"Letter",
colorOutput: ColorOutputModes.COMPOSITE_CMYK,
printer: Printer.POSTSCRIPT_FILE,
flattenerPresetName:"[High Resolution]"};
//set the page range and .ps file path
//https://www.indesignjs.de/extendscriptAPI/indesign-latest/#PrintPreference.html#d1e317722
doc.printPreferences.properties = {printFile: sf, pageRange: PageRange.ALL_PAGES}
doc.print(false, pp)
/**
* Makes a new print preset
* @ param preset name name
* @ return the new preset
*/
function makePrintPreset(n){
if (app.printerPresets.itemByName(n).isValid) {
return app.printerPresets.itemByName(n);
} else {
return app.printerPresets.add({name:n});
}
}