Skip to main content
July 16, 2019
Question

folio script

  • July 16, 2019
  • 1 reply
  • 307 views

hii all i wanted to an end page second time i am not getting end page second time first time i am getting first page and end page but second time end page showing error undefind is not an object i wanted to add folio in footer (p-1-s)for eg

any one please help me

var myDoc=app.documents[0];

//table(myDoc)

pageBreak(myDoc);

emphBreak(myDoc);/////////////////////commented by anupam on 10072019

newFootnote(myDoc)

function newFootnote(myDoc){

    var xPath = "//emph";

    var root = myDoc.xmlElements[0];

    var node = null;

    var count=0;

    var strPage;

    var prefix;

    var id;

    var suffix;

    var suffixseperator;

    var proc = app.xmlRuleProcessors.add([xPath]);

    var match = proc.startProcessingRuleSet(root);

    var strPage = myDoc.pages.item(0);

    var flag=false;

    while (match != undefined)

    {

        node = match.element;

        match = proc.findNextMatch();

        content = node.contents;

        if (node != null)

        {

            var startNode;

            var endNode;

            var startnodeId;

            var prefixseperator

            var stpgItems;

            var endPage;

            var endNodeId;

            var pgno;

            //var startPage=m

            var counter = 0;

           // for(var i=0;i<node.xmlElements.length;i++){

                if(node.xmlAttributes.item("pagenumbersectionStart").isValid)

                {

                    startNode=node

                    try

                    {

                        strPageno=parseInt(startNode.insertionPoints[0].parentTextFrames[0].parentPage.name);

                        strPage=startNode.insertionPoints[0].parentTextFrames[0].parentPage

                        }

                    catch (e)

                    {

                        //app.select(startNode);

                        // strPageno=parseInt(app.activeWindow.activePage.name)

                        }

                    startnodeId=node.id;

                    id=node.xmlAttributes.item("id").value;

                    prefix=node.xmlAttributes.item("prefix").value;

                    prefixseperator=node.xmlAttributes.item("prefixseperator").value;

                    pgno=node.xmlAttributes.item("number").value;

                    suffixseperator=node.xmlAttributes.item("suffixseperator").value;

                    suffix=node.xmlAttributes.item("suffix").value;

                    flag=true;

                    }///////////////if

                if (flag== true && node.xmlAttributes.item("pagenumbersectionEnd").isValid)

                // try{

                 {

                     endNode=node;

                     try{

                    // endPage=endNode.insertionPoints[0].parentTextFrames[0].parentPage;

                    endPage=endNode.texts[0].associatedXMLElements[0].insertionPoints[0].parentTextFrames[0].parentPage.name;

                    endPageno=parseInt(endNode.texts[0].associatedXMLElements[0].insertionPoints[0].parentTextFrames[0].parentPage.name);

                     endNodeId=node.id;

                     }

                    catch(e){

                app.select(endNode);

                endPage=endNode.texts[0].associatedXMLElements[0].insertionPoints[0].parentTextFrames[0].parentPage.name

                endPage=parseInt(app.activeWindow.activePage.name)

                             endNodeId=node.id;

                        }

                 

                   

                    //$.writeln(startnodeId+" "+endNodeId)

                    }////if

                //catch(e){}

                  if(flag==true && startnodeId < endNodeId)

                {

                  $.writeln(startnodeId+" ___  "+endNodeId)

                  for(var i=strPageno+1; i <= endPageno;i++){

                   //while(strPageno <= endPageno){

                        var iPage=myDoc.pages.itemByName((i).toString());

                         //pgno=parseInt(pgno)+1;

                        var masterItems=iPage.masterPageItems;

                        var startPage=iPage.name;

                        //var pgno=

                       // $.writeln(i);

                      //  break;

                     //  }//forstartpgno

                   for(var j=0;j<masterItems.length;j++)

                   {

                       if(masterItems.label=="footer")

                       {

                           footerFrame = masterItems.override(iPage);

                           //break;

                           }///if

                       } //continue//for

                    stpgItems=iPage.allPageItems;

                   for(var st=0; st < stpgItems.length;st++)

                   {

                       if(stpgItems[st].label=="footer")

                       {

                          stpgItems[st].contents=prefix+prefixseperator+pgno+suffixseperator+suffix;

                       

                          pgno=parseInt(pgno)+1;

                           flag=false;

                        

                           }///if

                       }

                   }////for  for stratPageno i for

                 

                 

                 

                 

                 

                      

//~                   $.writeln("papgno -----"+pgno);

//~                 for(var j=0;j<masterItems.length;j++)

//~                 {

//~                     if(masterItems.label=="footer")

//~                     {

//~                         footerFrame = masterItems.override(strPage);

//~                         break;

//~                         }///if

//~                     }/////for

//~                         }//////for

                  

                    }/////if node compare

              

              

                  

                }///nullif

            }/////whileIf

        }//functiom

    ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

    function pageBreak(myDoc){

    var xPath = "//para";

var root = myDoc.xmlElements[0];

var node = null;

try {

        var proc = app.xmlRuleProcessors.add([xPath]);

        var match = proc.startProcessingRuleSet(root);

        while (match != undefined) {

            node = match.element;

            match = proc.findNextMatch();

            content = node.contents;

                if (node != null && node != undefined) {

                    if(node.xmlAttributes.item('pagebreak').isValid)

                    {

                        if(node.xmlAttributes.item('pagebreak').value.toString().toLowerCase()=='yes')

                        {

                           node.insertTextAsContent((SpecialCharacters.PAGE_BREAK), XMLElementPosition.BEFORE_ELEMENT);

                             //node.insertionPoints[0].contents=SpecialCharacters.PAGE_BREAK

                            }

                        }

                    }

                }

            }

        catch (ex) {}

        finally {

            proc.endProcessingRuleSet();

            proc.remove();

            }

        }

//////////////////////////////////////////////////////////////////////////////////////////////////For EmphBreak////////////////////////////////

function emphBreak(myDoc){

    var xPath = "//emph";

    var root = myDoc.xmlElements[0];

    var node = null;

    try {

        var proc = app.xmlRuleProcessors.add([xPath]);

        var match = proc.startProcessingRuleSet(root);

        while (match != undefined) {

            node = match.element;

            match = proc.findNextMatch();

            content = node.contents;

            if (node != null && node != undefined) {

                if(node.xmlAttributes.item('number').isValid)

                {

                    node.insertTextAsContent((SpecialCharacters.PAGE_BREAK), XMLElementPosition.BEFORE_ELEMENT);

                    //node.insertionPoints[0].contents=SpecialCharacters.PAGE_BREAK;

                    }

                }

            }

        }

    catch (ex) {}

    finally {

        proc.endProcessingRuleSet();

        proc.remove();

        }

    }

This topic has been closed for replies.

1 reply

Peter Kahrel
Community Expert
Community Expert
July 16, 2019

To me your question is completely incomprehensible. If you want some response you should explain clearly what you're trying to achieve.

P.