Skip to main content
Participating Frequently
January 16, 2014
Question

How to place an asset from the library to all pages via JavaScript?

  • January 16, 2014
  • 1 reply
  • 2243 views

Hello, I'm newbie in scripting that's why I need a help from one who knows. I need a javascript to place an asset from the library to all pages of my document.

I've tried to do it but all i have :

var myLibPath = (File("C:/Library.indl"));

var myLib = app.open(myLibPath);

var libItem = app.libraries[0].assets[0].placeAsset(app.documents[0]);

this places asset to the selected page only, may be someone can tell me how can it works for all pages.

Thanks!

This topic has been closed for replies.

1 reply

Inspiring
January 17, 2014

HI egikas,

try below code

var myDoc = app.activeDocument;

var myPages = myDoc.pages;

var libraryFilePath=new File("C:\\Library.indl");

app.open(File(libraryFilePath));

myAsset = app.libraries[0].assets.item("test");// change name ase per ur requirement

for (var pg =0; myPages.length>pg; pg++)

{

            var myObj = myAsset.placeAsset(app.documents.item(0))[0]; //first place library in first page

            myObj.move (myPages[pg]);

            myObj.move ( [15, 15] );//change ur x.y coodinate as per ur requirement

}

Mi_D

egikasAuthor
Participating Frequently
January 17, 2014

Thank you, Mi_D. that's what I need! But there's one problem, my document has facing pages, so your script place asset only at right or left pages. And I want it to place on the both sides of facing pages.

May be you have a good idea how to solve it in a simple way:) ? I'd be very appreciated.

Inspiring
January 18, 2014

I post u two mathod

in first check right hand page or left head page

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

var myDoc = app.activeDocument;

var myPages = myDoc.pages;

var libraryFilePath=new File("C:\\Library.indl");

app.open(File(libraryFilePath));

myAsset = app.libraries[0].assets.item("test");// change name ase per ur requirement

for (var pg =0; myPages.length>pg; pg++)

{

if (myPages[pg].side==PageSideOptions.RIGHT_HAND){//check right firstpage

         if (pg ==0){//check right firstpage

            var myObj = myAsset.placeAsset(app.documents.item(0))[0]; //first place library in first page

            myObj.move (myPages[pg]);

            myObj.move ( [12, 15] );//change ur x.y coodinate as per ur requirement

            }

        else{

            var myObj = myAsset.placeAsset(app.documents.item(0))[0]; //first place library in first page

            myObj.move (myPages[pg]);

            myObj.move ( [222, 15] )

            }

    }

if(myPages[pg].side==PageSideOptions.LEFT_HAND){

                var myObj = myAsset.placeAsset(app.documents.item(0))[0]; //first place library in first page

            myObj.move (myPages[pg]);

            myObj.move ( [12, 15] );//change ur x.y coodinate as per ur requirement

    }

}

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

2nd mathod change page preferences spread to page

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

var myDoc = app.activeDocument;

var myPages = myDoc.pages;

myDoc.viewPreferences.rulerOrigin=RulerOrigin.pageOrigin;  

myDoc.viewPreferences.horizontalMeasurementUnits=MeasurementUnits.MILLIMETERS ;

myDoc.viewPreferences.verticalMeasurementUnits=MeasurementUnits.MILLIMETERS;

myDoc.zeroPoint=[0,0];

var libraryFilePath=new File("C:\\Library.indl");

app.open(File(libraryFilePath));

myAsset = app.libraries[0].assets.item("test");// change name ase per ur requirement

for (var pg =0; myPages.length>pg; pg++)

{

            var myObj = myAsset.placeAsset(app.documents.item(0))[0]; //first place library in first page

            myObj.move (myPages[pg]);

            myObj.move ( [15, 15] );//change ur x.y coodinate as per ur requirement

}

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

Mi_D