Copy link to clipboard
Copied
Hello. I want to update in indesign missing links, which are however in many different subfolders. this is not possible. Is there a script or a plugin? Thank you!
if $15 aren't too expensive for you, you might want to give this a shot : Indesign Image Relinker ā Dr Scripto
(never tried it)
Copy link to clipboard
Copied
Hi,
You would need to re-link the designs. You can also re-link the entire folder.
Manage linked or embedded graphics in Adobe InDesign
-Aman
Copy link to clipboard
Copied
Hello and thanks for the quick reply.
This is correct, but I can always only link from one single folder and then indesign automatically gets the additional files contained in it. It really works, but then I have to do this manually in the next. And so on.
But I have to link out from many different subfolders, contained in the mainfolder - this is a big error source if I select a wrong file with a very similar name.
I would like to select only the main source and indesign should search all contained subfolders and link accordingly.
I know a software that makes it possible ... "picture wrangler" from northplains.
But for this I must install xinet on the server ... too expensive ...
- stephan
Copy link to clipboard
Copied
if $15 aren't too expensive for you, you might want to give this a shot : Indesign Image Relinker ā Dr Scripto
(never tried it)
Copy link to clipboard
Copied
wow. thats what i'm looking for !!! thanks a lot!!!
Copy link to clipboard
Copied
You need to start packaging your jobs as part as your workflow. this is the only way maintain all of your files together with the indesign document no matter where things move, share drives or who is working on it. Its a free feature that takes seconds to run. Go to File>> package and run it after you link your files. after you do this. if you need to add graphics to your layout, you can save them in the links folder that is now created with your package files, or re-package and replace.
You will have a better organization and make your life easier if you start packaging your files.
Copy link to clipboard
Copied
hi ā¦
my customer ist working with his own lowresfiles ⦠he will prepare the document and we have to relink the highresfiles ā¦
Copy link to clipboard
Copied
The client should still be using a project folder with all of the links in one subfolder, and as said above, packaging the file for you will take care of it. If you use the same names for low-res and high-res files, you can just copy the high-res files to the project folder and replace the low res files and update links. Worse case, copy all the high-res files to one folder to take advantage of re-linking an entire folder.
Copy link to clipboard
Copied
hi ⦠we have hundreds of different graphics organized in subfolders ⦠according to material, perpectives, ICC, etc.
normally they have to use an 1:1 HD-copy from our database ⦠but it doesn't work ā¦
Copy link to clipboard
Copied
You have only two choices here, I am sorry to report.
There is some good advice about organizaton on this thread, and I do hope that it will help you in the future!
Best wishes,
Jane
Copy link to clipboard
Copied
Hello jane, thanks for the reply.
In principle you are right
OUR structure is definitely well organized ...
I am concerned about this particular case.
The customer creates the chaos by not sticking to the structures
And we get a document with many missing links, which are arranged in a certain hierarchy on our servers.
Since it does not comply with the specifications, we have to search again with our data again and link ... with many subfolders (indesign does not have this function) ... that is all.
The note of vinny38 is perfect for it and the script solves the problem very well.
Thanks all for the response, Stephan
Copy link to clipboard
Copied
I think the misunderstanding here is that keeping many files in subfolders IS an organized way of working, and much less labor-intensive than having to constantly rename files to fit some sort of naming hierarchy in one folder, if one deals with hundreds of images. Frankly this seems to be one more way (among so many) that InDesign is inconvenient to use, but people who use it a lot have just adapted. I guess that's what we must do, but ideally InDeisign would be more flexible.
Copy link to clipboard
Copied
For anyone that needs it, I've written this script. This script will search for any missing image files in the specified parent directory and all its subdirectories, and if it finds any it will attempt to re-link them.
Simply replace "path/to/parent/directory" with your desired parent directory (keep the quotes), save the file as a .jsx file in the scripts directory and run it. for more info on how to do this, go here: https://helpx.adobe.com/indesign/using/scripting.html
// Replace "path/to/parent/directory" with the actual path to the parent directory
var parentDirectory = new Folder("path/to/parent/directory");
// Get the current document
var doc = app.activeDocument;
// Iterate through all the links in the document
for (var i = 0; i < doc.links.length; i++) {
var link = doc.links[i];
// Check if the link is missing
if (link.status == LinkStatus.LINK_MISSING) {
// Search all subdirectories within the parent directory for the missing file
var missingFile = searchForFile(parentDirectory, link.name);
// If the file is found, re-link it to the document
if (missingFile) {
link.relink(missingFile);
link.update();
}
}
}
// Save the document
doc.save();
/**
* Recursively searches for a file with the specified name within the specified directory and all its subdirectories.
* @Param {Folder} directory - The directory to search in.
* @Param {string} fileName - The name of the file to search for.
* @Returns {File} The file if found, or null if not found.
*/
function searchForFile(directory, fileName) {
// Get a list of all files within the directory
var files = directory.getFiles();
// Iterate through each file
for (var i = 0; i < files.length; i++) {
var file = files[i];
// If the file is a directory, search within it recursively
if (file instanceof Folder) {
var result = searchForFile(file, fileName);
if (result) {
return result;
}
}
// If the file is the one we're looking for, return it
else if (file.name == fileName) {
return file;
}
}
// If the file was not found, return null
return null;
}