Skip to main content
Participating Frequently
July 11, 2011
Question

Copy layer content between InDesign files

  • July 11, 2011
  • 6 replies
  • 33890 views

Hello,

I'm trying copy layer content between 2 files, the sources file is a Spanish version of a training manual and the target is an English version. Essentially making a single multiple language file out of two single language documents.

I'm not well-versed in scripting.

Thanks

    6 replies

    New Participant
    March 7, 2018

    Hello there,

    Please, i have to import a translate layer in InDesign 2018. I have more than 312 pages to translate. I can't find the script : layer-cloner-1.3.jsxbin, i already tried https://redokun.com/blog/indesign-copy-entire-layer-one-file-another  (but no return)

    I would like to try some script, maybe someone can help me please ?

    Have a good day

    Loïc.

    Steve Werner
    Brainiac
    March 7, 2018

    It's unlikely that the author of that script will read your message in this forum.

    In the forum thread, pause over the script writer's name. In the popup that appears, click "Message" to send a personal message.

    konradk51677603
    New Participant
    January 22, 2017

    Hello As far as I'm concerned there's no direct way to copy layers, mainly because You could have a multiple pages in different documents thus copied layer could contain graphics and text assigned to page that doesn't exist in the new document.

    In my work I use a workaround. I just copy pages between documents --> this copies the elements and layers from the previous document into the new document, and then I can distribute those elements to my choice

    I hope this helps. Cheers.

    agopaul
    Participating Frequently
    October 24, 2016

    We had the exact same problem and we've made a script which we also give to our clients: https://redokun.com/blog/indesign-copy-entire-layer-one-file-another

    The underlying implementation is basically the same as the one suggested by winterm, but we've added a UI so it's not necessary to edit the script every time the layer name changes.

    Edit: Not using that approach anymore. This script has been re-written and now supports threaded TextFrames (which were split with the previous implementation). The updated version is available at the same URL.

    Inspiring
    November 19, 2015

    Hi, some 4 years later i might have the answer =)

    This javascript seems to solve the problem. Save this as a .js file in your script folder:

    var sourceLayer = app.documents[0].layers.itemByName("Layer1");

    var destLayer = app.documents[1].layers[0];

    sourceLayer.pageItems.everyItem().duplicate(destLayer);

    Or download the script here:

    http://http://henriklideberg.se/?attachment_id=225

    Please note, that your source layer need to be named "Layer1".

    Open your source indd-file and your destination indd-file, in your scripts panel, select duplicate_layer.js and run the script.

    Done.

    Participating Frequently
    September 16, 2016

    It doesn't work

    Peter Spier
    Brainiac
    September 16, 2016

    What happens when you try it?

    New Participant
    July 14, 2011

    If your graphics are the same and the layout is the same and you just want there to be different versions of the text, then the conditional text feature is what I would use.

    Steve Werner
    Brainiac
    July 11, 2011

    What version of InDesign? How many pages in the publication?

    It could be scripted, but if there aren't too many pages, you could copy manually. A useful thing to know when copying layered content: From the Layers panel menu, select Paste Remembers Layers. When you do that, selecting all, copying and pasting will retain the layer structure from the original file instead of putting all objects on the current layer.

    SMark59Author
    Participating Frequently
    July 11, 2011

    Hello Steve,

    Thanks for your prompt reply. There are actually quite a few manuals that vary from 24 to 140 pages. Right now they are in two different versions. The files were originally created in CS5 but the translations were mistakenly performed with CS5.5. Either the creation staff has to upgrade to CS5.5 or we have to get the translators to export in IDML so we can open them back up in CS5.

    Right now I can't even open the files that were created in CS5.5 so getting the translators to save in IDML seems like the first step unless a script could do the work without having to open the files. Doesn't seem likely given what little I know of scripting.

    Mark

    Joel Cherney
    Brainiac
    July 11, 2011
    Right now I can't even open the files that were created in CS5.5 so getting the translators to save in IDML seems like the first step unless a script could do the work without having to open the files. Doesn't seem likely given what little I know of scripting.

    Even if you could open all of the files, this workflow (relying on multilingual files with lots of layers with one language per layer) is, in my fifteen-odd years of experience in the translation industry, a horrible idea about 95% of the time.  What I'd do in your shoes:

    1) Download a trial of 5.5

    2) Open up a multilingual file

    3) Delete all the layers but the one you currently want to copy/paste

    4) Save with a new name indicating language content

    5) Place that new ID file into your multi-language master file with all of the layers

    I don't know if this will actually work for you - some translation workflows (indeed, some workflows in general) can't handle the ID-file-placed-in-another-ID-file technique.