Question
InDesign Crash While executing this script
Hi,
I have used the script in the SDK source. While executing this script the InDesign Application gets crashed. Please guide me on this.
InterfacePtr<IScriptManager> scriptManager(Utils<IScriptUtils>()->QueryScriptManager(kJavaScriptMgrBoss));
InterfacePtr<IScriptRunner> scriptRunner(scriptManager, UseDefaultIID());
PMString scriptCode;
scriptCode.Append("function IterateDocument(){");
scriptCode.Append("var doc = app.activeDocument;");
scriptCode.Append("doc.viewPreferences.horizontalMeasurementUnits = MeasurementUnits.POINTS;");
scriptCode.Append("doc.viewPreferences.verticalMeasurementUnits = MeasurementUnits.POINTS;");
scriptCode.Append("for (var i = 0; i < doc.pages.length; i++)");
scriptCode.Append("{");
scriptCode.Append("var page = doc.pages[i];");
scriptCode.Append("var pageHeight = page.bounds[2] - page.bounds[0];");
scriptCode.Append("for (var j = 0; j < page.textFrames.length; j++) {");
scriptCode.Append("var frame = page.textFrames[j];");
scriptCode.Append("if (frame.overflows == true && frame && frame.associatedXMLElement && frame.associatedXMLElement.markupTag && frame.associatedXMLElement.markupTag.name == 'products')");
scriptCode.Append("{");
scriptCode.Append("for(var k = frame.tables.length-1; k >= 0; k--) {");
scriptCode.Append("var table = frame.tables[k];");
scriptCode.Append("if (pageHeight < table.height) {");
scriptCode.Append("AddColumnToTable(frame, i, table);");
scriptCode.Append("}");
scriptCode.Append("}");
scriptCode.Append("}");
scriptCode.Append("}");
scriptCode.Append("}");
scriptCode.Append("app.activeDocument.documentPreferences.facingPages = true;");
scriptCode.Append("}");
scriptCode.Append("function AddColumnToTable (mySel,addPageLocation, originalTable)");
scriptCode.Append("{");
scriptCode.Append("app.activeDocument.documentPreferences.facingPages = false;");
scriptCode.Append("var gb = mySel.geometricBounds;");
scriptCode.Append("gb[2] = gb[0] + originalTable.height/2;");
scriptCode.Append("gb= [95.891, 37.5, 640, 540];");
scriptCode.Append("mySel.geometricBounds = gb;");
scriptCode.Append("var newPage = app.activeDocument.pages.add(LocationOptions.AFTER, app.activeDocument.pages[addPageLocation]);");
scriptCode.Append("var textframe = app.activeDocument.pages[addPageLocation+1].textFrames.add({geometricBounds:[95.891, 37.5, 640, 540]});");
scriptCode.Append("mySel.nextTextFrame = textframe;");
scriptCode.Append("textframe.fit(FitOptions.frameToContent);");
scriptCode.Append("if(textframe.overflows == true){");
scriptCode.Append("addPageLocation = addPageLocation +1;");
scriptCode.Append("AddColumnToTable (textframe,addPageLocation,originalTable);");
scriptCode.Append("}");
scriptCode.Append("}");
PMString engineName("myengine");
int32 errorCode = Utils<IExtendScriptUtils>()->RunScriptInEngine(engineName, scriptCode);
Utils<IScriptArgs>()->Clear();
The issue is from the line
scriptCode.Append("app.activeDocument.documentPreferences.facingPages = true;");
