• Global community
    • Language:
      • Deutsch
      • English
      • Español
      • Français
      • Português
  • 日本語コミュニティ
    Dedicated community for Japanese speakers
  • 한국 커뮤니티
    Dedicated community for Korean speakers
Exit
4

Multiple Record Merge Directory Records Overlapping

Community Beginner ,
Aug 07, 2023 Aug 07, 2023

Copy link to clipboard

Copied

I am working on a 5.5 x 8.5 Class Reunion Directory. There are several lines of data in the merge and a few of them "Family and Friends" and "What have you been up to" can get quite wordy. I used the Auto-size option in Text Frame Options to allow the frames to expand for the data. However, when I do the multiple record preview, they are overlapping each other. I tried playing with text wrap to see if that would bump the text box down but instead it cuts off the "What have you been up to" data after about 2 lines and then that data continues at the bottom of the page, running off the page. 

 

I have never done a merge like this in InDesign before so I am hopefully just missing a step or option. The data should populate wether it's 2 lines or a paragraph and contine onto the next page at my margins, just like a typical book. 

 

I've attached examples with my data blurred for privacy. Hopefully you can see how they are overlapping. Any help is appreciated!

 

multiplerecord_preview.jpgmultiplerecordoptions.jpgmultiplerecordpreview_wtextwrap.jpgTextbox_autosize.jpg

TOPICS
How to , InCopy workflow , Scripting , Type

Views

361

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines

correct answers 2 Correct answers

Community Expert , Aug 07, 2023 Aug 07, 2023

I suspect the problem is that InDesing sees the size of the frames to be merged as the size of your template placeholder frame, and uses that for positiong all the new frames that are generated, but after the merged frames are autosized some become longer and overlap the frames below them.

@Loïc29485901ktl0's suggestion to do a single record per page is how I would do this (in fact that's exactly what I used to do when I had an annual directory project for an antique dealers association with var

...

Votes

Translate

Translate
People's Champ , Aug 08, 2023 Aug 08, 2023

Make your "repeating" frame as large as page margins:

Capture d’écran 2023-08-08 à 10.34.38.png

Then ask for datamerge using unique records.

Capture d’écran 2023-08-08 à 10.34.44.png

You will get a n pages document where all records stand on one page:

Capture d’écran 2023-08-08 à 10.34.56.png

Then you need a script to thread all frames. Here is a short one that will work ONLY if the merged document is made of one textframe per pages with no other layout additions (it will be your base content):

function main(){
    var doc = app.documents.everyItem().getElements();
    var n = doc.length;
    if(!n){
        alert("You nee
...

Votes

Translate

Translate
Explorer ,
Aug 07, 2023 Aug 07, 2023

Copy link to clipboard

Copied

I think your problem is not with "fitting" per se, you are probably expecting that all records nest alltogether whatever their individual lengths. That's not how Datamerge operates.

What you may want to do is preparing your datamerge so that one record is a page. When everything is merged, use a script to thread all frames. All records will then be part of a flow (story) that you can easily arrange.

Or use a commercial plugin such as EasyCatalog that manages those constraints very easily.

Loic

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Beginner ,
Aug 07, 2023 Aug 07, 2023

Copy link to clipboard

Copied

Thank you Loic! I'm not sure I understand. If I preview these as a single page merge, the entire "What have you been up to" data will preview. But if I preview it as a multiple record layout, that is when it only shows the first few lines of the paragraph. 

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
People's Champ ,
Aug 08, 2023 Aug 08, 2023

Copy link to clipboard

Copied

Make your "repeating" frame as large as page margins:

Capture d’écran 2023-08-08 à 10.34.38.png

Then ask for datamerge using unique records.

Capture d’écran 2023-08-08 à 10.34.44.png

You will get a n pages document where all records stand on one page:

Capture d’écran 2023-08-08 à 10.34.56.png

Then you need a script to thread all frames. Here is a short one that will work ONLY if the merged document is made of one textframe per pages with no other layout additions (it will be your base content):

function main(){
    var doc = app.documents.everyItem().getElements();
    var n = doc.length;
    if(!n){
        alert("You need a document");
        return;
    }
    doc = doc[0];
    var tfs = doc.pages.everyItem().textFrames.everyItem().getElements();
    n = tfs.length;
    while(n--){
        if(n==0) break;
        tfs[n].previousTextFrame = tfs[n-1];    
    }
}
var u;
app.doScript("main();", u, u, UndoModes.ENTIRE_SCRIPT, "Merge textframes");

 

You then get all the content as part of a flow:

Capture d’écran 2023-08-08 à 10.43.12.png

Here you are.

 

 

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Beginner ,
Aug 08, 2023 Aug 08, 2023

Copy link to clipboard

Copied

Thank you so much! I appreciate the time you spent to explain this. I was able to make it work this way and the script worked perfectly. THANK YOU!

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
People's Champ ,
Aug 08, 2023 Aug 08, 2023

Copy link to clipboard

Copied

LATEST

Glad I could help.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Aug 07, 2023 Aug 07, 2023

Copy link to clipboard

Copied

... or prepare it in Excel and import as a table... 

 

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Aug 07, 2023 Aug 07, 2023

Copy link to clipboard

Copied

I suspect the problem is that InDesing sees the size of the frames to be merged as the size of your template placeholder frame, and uses that for positiong all the new frames that are generated, but after the merged frames are autosized some become longer and overlap the frames below them.

@Loïc29485901ktl0's suggestion to do a single record per page is how I would do this (in fact that's exactly what I used to do when I had an annual directory project for an antique dealers association with variable length data). As he said, you can then thread all the frames to make a single story, and what I would do from there is select all to copy the text, then create a new file with one large text frame per page and paste the copied text into the first frame. leaving most of the story as overset text when chan then be picked up and auto-flowed into additional pages.

If necessary you can then set some paragraph spacing and Keep Options to separate the entries and be sure they don't split across pages.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Beginner ,
Aug 08, 2023 Aug 08, 2023

Copy link to clipboard

Copied

Thank you so much, this is great feedback!

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines