I asked this question on SuperUser nearly four months ago, but despite several edits to bump it to the top and even offering a bounty, it has only received two comments (by the same user) and no answers at all. So now, even though I think it’s a better fit for SuperUser than here, I’m re-asking here in the hopes that someone here knows the answer. It is of course rather tech-heavy; but on the other hand, biggish XML-import jobs in InDesign tend to be something graphic designers deal with a lot, so hopefully it’s not very off-topic here.
The following is a slightly edited version of the SuperUser question:
I work for a small publishing company, and we regularly create catalogues, brochures, etc., where we feature various hand-picked subsets of our available titles.
Based on the titles that are to be included in a catalogue, I create (in PHP, on my localhost, so very flexibly) an XML file with all the metadata of each book, including a link to the cover of the book.
All our cover images, named by the ISBN of the book in question, are located in a folder on a network drive that I log on to via Samba (authenticating with user name and password) and then mount on the desktop of my working machine (a Mac running OS X Yosemite/El Capitan; the mount itself is done through Finder’s Connect to server function, not manually through the Terminal).
I then import the XML file into an InDesign (CS6 or CC) document to layout the actual catalogue.
Everything about this work flow works perfectly and very elegantly—except for the fact that InDesign seemingly refuses to find any image whose
href path leads to somewhere not on the local hard drive.
Various places online, I have found references (like page 6 of this PDF by Cari Jansen) that say that InDesign expects the
href path to be formatted as follows (leaving out the
href= bit and the quoting):
Image is in same folder as XML file:
Image is in a subfolder:
Image on hard drive, absolute path name:
Image is on another volume (server/network drive):
That’s as much description as I can find anywhere, but that does not work. At least not with files on this network drive.
If I give a relative path to a file in the same folder where the XML file is, or a subfolder, then it works fine. If I give an absolute path to a folder on the OS drive (i.e.,
/Users/username/Blablabla/...), it works fine, too.
But if I link to the file on the network drive, in the format
file:///Volumes/NetworkDrive/CoverImages/9781234567890.ext, InDesign does not find the file. It just gives me a “Find file” dialog box where I can then select the image in the file list. Once I select the image and hit “OK”, it works fine: the image shows up. But the same dialog box pops up again for the next image, and the one after that, etc.; and that’s not particularly practical when I need just 60 or 70 out of ~2,500 images in that folder.
The “Find file” dialog box remembers which folder it was last in, so unfortunately it doesn’t tell me anything about what folder InDesign thinks I’m specifying in my path.
I have of course made sure that the file I link to is actually there in the folder—in two ways. First, the path in the XML file is created automatically in PHP based basically on a
glob search in the file list of that folder; and second, using
cp (with the path copied from the XML file) to copy the image file to a folder on my local drive works just fine (so at least the OS X Terminal sees the
/Volumes/NetworkDrive/CoverImages/9781234567890.ext as a completely valid one).
This happens with all files.
Is there no way of getting InDesign to accept image paths on (SMB) network drives?
(I have read and understood this question, but that deals with Data Merge, which—annoyingly—uses a different format for linking to files. And yes, I realise my method would mean the link to the images would break if I open the document while the network drive is not mounted—that’s a calculated drawback I’m willing to live with.)