Skip to main content
Inspiring
March 7, 2012
Question

relink images to InDesign file via script only

  • March 7, 2012
  • 1 reply
  • 3480 views

Hello everyone,

I have to re-link image files in an InDesign document to a mounted server volume on my desktop, but the server is actually on the other side of the world from where I'm based. This is kinda slow, but it's required for my work.

My question is, can InDesign links be updated without the server/volume being present using a script that has the address/path to the server volume, or is this impossible?

Many Thanks

Greenrookie

This topic has been closed for replies.

1 reply

Inspiring
March 9, 2012

It looks like link.relink() will refuse to link to a file that doesn't exist. So I think a straight-ahead scripting approach will not work.

You could export to idml, unpackage it, replace the path components in the xml and repackage it, but this requires a few more steps and leaves you with a .idml file rather than a .indd to pass off to whoever has access to the remote server.

Jeff

John Hawkinson
Inspiring
March 9, 2012

Alternatively, you could construct local paths that appear in the same place as the remote server, and mount them in its place, and then link there.

You could also unmoiunt the remote server and try to make use of the funny rules InDesign applies to search for images when a file is opened and the local paths are not present.

Part of the problem here is that InDesign wants to read the linked file and cache previews of the image data.

Inspiring
March 9, 2012

John Hawkinson wrote:

You could also unmoiunt the remote server and try to make use of the funny rules InDesign applies to search for images when a file is opened and the local paths are not present.

There's no documentation of those funny rules that you know of, is there? The first script I wrote was one to relink images after we migrated a bunch of stuff onto a new server; I was a little saddened (and alarmed?) to find out that InDesign found all the images without a problem and my script wasn't needed.