• Global community
    • Language:
      • Deutsch
      • English
      • Español
      • Français
      • Português
  • 日本語コミュニティ
    Dedicated community for Japanese speakers
  • 한국 커뮤니티
    Dedicated community for Korean speakers
Exit
0

Match file name

Contributor ,
Mar 28, 2014 Mar 28, 2014

Copy link to clipboard

Copied

Hi,

   Im matching the images from InDesign to folder and copying that images to another place.  When im doing, Its ("Sample_©_Black.eps") not matching with the image names with the folder.

  The folder contains this image but dono why its not matching. 

Thanks in advance,

Sudha K

TOPICS
Scripting

Views

790

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Mentor ,
Mar 28, 2014 Mar 28, 2014

Copy link to clipboard

Copied

Hi,

paste a code with your matching way

Jarek

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Contributor ,
Mar 28, 2014 Mar 28, 2014

Copy link to clipboard

Copied

Hi,

  Im using the below code.

   imageProcess(myDoc, imageFiles,imageNames);               //     imageNames - File names from folder

function imageProcess(myDoc1, imageFiles1,imageNames1)

{

    var lnkName ="";

    var copyPath = "";

    var copyFolder = ""

     var lnkName = "", lnkName1 = "";

    var docImgsNames = "#";

   

    if(myDoc1.links.length > 0)

    {

        myDoc1Lnks = myDoc1.links;

        allImagesStr = "#"+imageNames1.join("#")+"#";

       

        for(var lCnt = 0; lCnt < myDoc1Lnks.length; lCnt++)

        {

            lnkName = ""           

            try{

                lnkName = myDoc1Lnks[lCnt].name  

                lnkName = decodeURI(lnkName);

                lnkName1 =  replaceStr(lnkName)

             }catch(e){

                lnkName = "";  

            }             

           

            if(lnkName1.length > 0 && allImagesStr.match("#"+lnkName1+"#") != null)

            {               

                var nameIdx = returnIndx(imageNames1, lnkName)

                if(nameIdx != null)

                {

                    var curImgObj = imageFiles1[nameIdx];   

                    if(curImgObj.exists)

                    {  

                        if( File(copyPath).exists == false)

                        {

                            copyFolder = Folder(copyPath);

                            copyFolder.create();

                        }

                   

                        curImgObj.copy(File(copyPath+"/"+lnkName));

                   

                    }else{ //Image Not exists

                    }

               

                }else{   // Image Not found

                }

            }else           // Image Not found

            {

            }

       

            docImgsNames += lnkName +"#";

        }

       

    }   

}

function replaceStr(fndCont)

{

    var newWord = "";

    for(var cCnt = 0; cCnt < fndCont.length; cCnt++)

    {

        var cChar = fndCont[cCnt];

        if(cChar.match(/[^0-9a-zA-Z]/))             

        {

            cChar = "\\"+cChar;

        }

        newWord +=cChar;

    }      

    return newWord;

}

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Mentor ,
Mar 28, 2014 Mar 28, 2014

Copy link to clipboard

Copied

Hi,

In your code - did you check if copyFolder.create() == true?

If your goal is to copy all graphic's linked files into a chosen folder ==>

I suggest another way:

var

    mDoc = app.activeDocument,

    copyPath = mDoc.filePath,

    copyFolder = Folder(copyPath + "/Images"),

    mLinks, curLink, curFile, curName, k;

    if ( copyFolder.create() ) {

        mLinks = mDoc.links.everyItem().getElements();

        for (k = 0; k < mLinks.length; k++) {

            curLink = mLinks;

            curFile = File(curLink.filePath);

            if (curFile.exists) {

                    curName = curFile.displayName;

                    curFile.copy(copyFolder.fullName + "/" + curName);

                }

            else {} // file doesn't exist

            }

        }

    else {} // can not create a folder

copyFolder is a subfolder "Images" of document parent

Jarek

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Contributor ,
Mar 28, 2014 Mar 28, 2014

Copy link to clipboard

Copied

Hi,

   I need to copy the link images from chosen path to indesign file path if the link images are there in chosen folder.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Mentor ,
Mar 29, 2014 Mar 29, 2014

Copy link to clipboard

Copied

Hi,

If we talk about your code:

1. your copyPath is always empty string so, at least in Windows, copyFolder can not be created

2. your replaceStr() function returns - i.e. - "/$" from "$" and I am not sure is it a goal..., unless your idea was to match regEx instead of string...

3. function returnIndx() is missed

If we talk about a goal:

1. Are you going to clean up doc links? I mean graphics are linked to various location and need to be moved to just one? And relink?

2. Are you going to fix links? I mean links are broken and code should compare contents of chosen folder (folders), match filePath, copy file and relink?

Jarek

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Contributor ,
Mar 29, 2014 Mar 29, 2014

Copy link to clipboard

Copied

LATEST

Hi,

 

  I need to copy the link Images from download path to working path (INDD File Image Folder). Im not relink the images just copying from one path to another path by matching Image name.

When matching link image name ("Sample_©_Black.eps") with folder images, its not matching. If its matched, will copy into Images folder. When doing this, the image name ("Sample_©_Black.eps") is not matching. Dono why?? So tat I used replaceStr to replace special characters with "\" and match. 

copyPath -  Image Folder Path

returnIndx - To get index of an array (Image file) based on image name.

function returnIndx(fArr, fVal)

{

    var res = null;

    var fStr = "#"+fArr.join("#")+"#";

   

    try{

        if(fStr.match(fVal) != null)

        {

            var sArr = fStr.split("#"+fVal+"#");       

            var sArr1 = sArr[0].split("#");       

            return sArr1.length-1;       

        }

    }catch(e){return null}

}

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines