is now part of!

Downsaving Snippets

I got a question yesterday asking how to save snippets from InDesign CS4 so they could be used in CS3.

After I thought about it for a minute, I felt like a mechanic preparing to tell the owner of a car that he was going to need a new transmission when he was hoping for just an oil change.

The short answer is that CS4 snippets are not backward-compatible.

The longer answer is that CS4 snippets are based on an entirely different file format from CS3 snippets. CS4 snippets are based on IDML (InDesign Mark-up Language). Their file extension is IDMS. CS3 snippets are based on INX (InDesign Interchange format). Their file extension is INDS. While both INX and IDML are part of the family of InDesign documents described in XML, they are very distant cousins.

Here’s a little text described in a CS3 snippet.

More after the jump! Continue reading below
Free and Premium members see fewer ads! Sign up and log-in today.

and the same text in a CS4 snippet.

These are two very different ways of telling InDesign to make some text. Even the content itself is treated differently (note the “c_” that got prefixed onto the text in the INX). It’s no wonder CS3 has no clue what to do with an IDMS file. Try to place one, it’s grayed out.

Try to drag and drop one, and CS3 thinks you’re placing a text file.

Uh. thanks for trying, CS3. But that’s not what I had in mind.

If I had CS4 snippets that absolutely had to be used in CS3, I would do the following:

1. place all the snippets in a fresh CS4 document

2. export that document to INX

3. open the document in CS3

4. re-export the content as snippets from the new CS3 document

You might even be able to script the process.

It’s not elegant or clever, but it will get the job done.

Editor in Chief of CreativePro and InDesign Magazine. Instructor at LinkedIn Learning with courses on InDesign, Illustrator, GIMP, Inkscape, and Affinity Publisher.
  • Nye Hughes says:

    Actually it is possible to save a CS3 compatible snippet from CS4 — but only if you use scripting. Here is an very basic Applescript that will do the job. Note that I have not added any error checking, so please use at your own risk. I’m sure someone would be able to translate this to a Javascript version, with more robust error handling.

    tell application “Adobe InDesign CS4”
    set oldSEF to snippet export format
    set snippet export format to inx traditional format
    set mySelection to selection
    set mypath to (choose file name with prompt “Save Snippet As” default name “Untitled.inds”)
    export mySelection format InDesign snippet to mypath
    set snippet export format to oldSEF
    end tell

  • Nye Hughes says:

    After a bit more testing, it seems that to make the above Applescript create a snippet from more than one item on the page, you have to group them first.

  • Mike Rankin Mike Rankin says:

    Thanks Nye. Very cool. That’s just one more reason why I have to learn scripting!

  • @Nye: That’s very cool! I had no idea the old INX-snippet format was still there, under the hood. Perhaps someone can write up a quick javascript to do the same thing.

    I think Mike’s point is an important one, however, on a more conceptual basis: INX was a way, in XML, to describe how to build an InDesign object or file. It was like writing a script in XML. IDML, however, actually describes the file itself — its contents, geometry, flow, and so on.

    That’s why I think its extremely unlikely that someone could write an XSLT to convert from one to the other. Maybe someone will prove me wrong, but the two formats are really pretty fundamentally different, as Mike pointed out.

  • Harbs says:

    Actually, the setting can be toggled to use the regular Snippet export to export one format or the other.

    Below is a link to download a simple javascript which toggles the setting. (I couldn’t get the code to “stick” in the comment window.) Now, why couldn’t Adobe just include both formats as export options?

  • Nye Hughes says:

    @ Harbs: Brilliant — I had not realised the setting would work with the user interface export.

    Whilst we are on the subject of CS4 to CS3 back saving, this may be a good place to link to another Applescript I wrote that people may find useful.

    Turn Grep Styles to Character Styles.scpt

    This script gets round the problem that the formating of any Grep Styled text disappears when you use INX to backsave it to CS3.

    The script works by searching for any Grep styled text and applying the specified character styles. Once it has been run, the document can then safely be exported to INX CS3 format with the formating preserved. If you are planning to keep using the CS4 version, it may be sensible to run the script on a copy of the document, so you do not end up with lots of extra character styles (although they can easily be removed).

    The usual words of caution apply: the script was written for my personal use, and appears to work without problem on my system, but please use at your own risk.

    Anyone fancy making a Javascript version? (I will get round to learning Javascript one day…)

  • Adi Ravid says:

    @Ney: Here’s the Javascript version you asked for.
    Public InDesign CS4 Scripts

  • Nye Hughes says:

    Many thanks Adi, I hope this proves useful amoungst the Indesign community.

    We are finding that uptake of CS4 is very sluggish, especially amongst the printing firms we deal with. Typically they have to upgrade many machines, but in the current financial climate are watching every penny. Consequently, being able to retain as many CS4 features as possible during a backsave is essential.

    I feel that if Adobe provided more robust backsaving features to Indesign, people would be less reluctant to upgrade — but in the meantime scripts like this are the only answer…

  • >