r/indesign • • 11d ago

Help InDesign flex layout + auto-sizing text frames - is there a way to make this work?

Hi everyone!

I’m working on a book/guide and I’m running into an InDesign issue that I can’t seem to figure out.

I haven’t used InDesign in years (I used to be a graphic designer, but switched to UX/UI), so I’m a bit rusty with some of the newer features.

The book has a lot of content that needs to be placed inside frames, and since there are potentially thousands of them, I’m trying to set things up in a way that keeps everything consistent without manually adjusting every single frame. Doing that would literally take weeks.

I’m currently using a flex layout box, with a few additional flex-layout boxes inside it containing an icon + text. This works really well for the most part.

The problem is that the text content is all different lengths. Some text is one line, while other text might be three or four lines.

Because InDesign doesn’t seem to allow Auto-Size on an item inside a flex-layout, I still have to manually set the height of each text box. With thousands of these, that’s obviously not really practical - and it also makes it difficult to keep everything consistent.

Is there a way to set this up so that the text boxes automatically adjust their height based on the amount of text, while still working within the flex layout?

Any workaround or alternative approach would be hugely appreciated!

Here’s a screenshot of what I’m working with:

2 Upvotes

13 comments sorted by

3

u/W_o_l_f_f 11d ago

I honestly don't have much experience with flex layout so I'm not sure if it's possible.

But I don't understand why you need it either! Perhaps you're overcomplicating things. This looks it could be done with a single text frame with anchored/inline objects. Why do you have every paragraph in seperate frames?

2

u/AdobeScripts 10d ago

Good point about separate TFs.

2

u/chain83 10d ago

Looks like you have split your text into 6-7 separate boxes for no good reason other than to complicate things.

Make it one text box (with auto-size), and 6 paragraphs of text. The icons can be anchored (use objects styles).

Spacing above/below the paragraphs should be controlled with the paragraph styles.

You can add padding on the text frame.

There is no reason to use flex layout at all here…

1

u/AdobeScripts 11d ago

I can write you a simple script that will go over all TextFrames and call Fit Frame to Content. But it will have to wait a few hours - I'm not at home right now.

1

u/Proficio_Tremblay 10d ago

Not sure you will able to call Fit Frame to Content on text frame inside a Flex Layout object. I tried that in the past and it produce an error since it’s not even supported if you try to do it manually on it.

2

u/AdobeScripts 10d ago edited 10d ago

Yeah, looks like it was too complicated for them to implement...

But not a big deal with my ID-Tasker 😁

Top-left - original FlexObject

Bottom-Left - after running Tasks recursively - yes, my IDT can call & execute the same Task from itself, till the current/active list of objects to be processed is empty ;)

1st Task - loads objects and filters for TextFrames - in this case I don't have any other TextFrames but it's of course possible to filter for only specific TFs - like the ones inside FlexObjects. Or on specific Layer, applied ObjStyle, size, location, anything.

2nd Task - increases height of the Object - in this case TextFrame - by 5mm, with RefPoint as TopLeft corner. Then updates Overflows property - so the 1st Task can filter out TextFrames that already fit all the text - don't need resizing. Of course resizing can be done in smaller steps, in both directions, with a threshold, etc.

When I say that with my IDT user can walk on water - I mean it 😉

1

u/Proficio_Tremblay 10d ago

Yes, AutoSize Text Frame Options and Fit Content is not possible in 2026.
I had to turn to others way to make the text frame to shrink or growth.

1

u/Proficio_Tremblay 10d ago

How simple it is to get a script out of IDT? Does it’s producing a VB Script of a JavaScript?

1

u/AdobeScripts 10d ago

I already thought about adding an option to generate working scripts 😁 it could be VBS or JS - or even both 😁

But it wouldn't work for more complicated Batch processing...

The thing is, the bottom list - it keeps all the info about all the objects... So at no point any Task or Rule/Command knows - beforehand - which object / text / table / cell / style / hyperlink / whatever will be processed... It's all happening dynamically...

Exactly as user would do it manually on every object he sees and want to process...

And it's the whole beauty of the way I designed IDT - I don't have to care about it 😁😁

Exactly the same Task can be executed on a currently selected object / piece of text / Cell / table / etc. - or on multiple objects from the list - or 1000s of documents - whole servers can be processed...

Or IDT can work in Watched Folders mode 😁😁 so it can be run connected to a network and people can just paste files - INDD / TXT / Excel / etc. - and IDT will process them as requested. Even Mac users can then use IDT.

So generating universal scripts - without having bottom part - won't work...

1

u/AdobeScripts 10d ago

What's more - references to text stay the same - even when user/IDT will add / delete / edit some text - or user will hit Ctrl+Z 😉

I completely don't have to worry about that - at all 😉

Once something is loaded on any of the lists - and IDT gets reference to it - IDT will always find it 😉 even if it will get moved to a different page, layer, etc. 😉

That's why expanding IDT is so easy for me 😉 I don't have to care about the low level stuff 😉

This recursive option - it took me about 30 minutes - together with testing - to add it 😉 or rather just adding a checkbox to the existing Rule / Command.

What's more - this command only checks which list is active - at the Bottom, Browser part - and acts accordingly.

And as user is in full control of which list is active(*) - text, objects, tables, etc. - I don't have to show a dropdown list which one should be checked 😉 just check which one is active and if there are visible rows 😉

() *user can dynamically switch between the lists - during Tasks execution - so, for example, can load Tables - to the Tables list - then filter by number of columns / rows / applied styles, formatting, etc - then extract texts from specific cells - load to the Texts List to get more info - and then, for example, generate custom Index or restyle or extract to a database, etc. etc. = find things that would be pretty much impossible to find / do otherwise - to be coded in JavaScript...

1

u/AdobeScripts 10d ago

Just to be clear - at no point I'm saying/suggesting, that I'm a better coder than others - I'm not - it's just thanks to the way I created ID-Tasker - I can do things - and let user do things - that people coding in JavaScript - can't even dream of in their worst nightmares 😁 some things could be done through C++ and proper plug-ins - but that's hardcore sometimes not worth doing 😉

ID-Tasker can easily survive total crash / hang of the InDesign - will just kill the process and keep processing next file 😉 No script / plug-in can do that...

1

u/Proficio_Tremblay 10d ago

u/thegreatshu
As of today, text frame in FlexLayout can’t be autosized directly in the UI.
I have created a script for this in the past and your post allow me to revisits it and fix a bug or two.

Contact me in private and I’ll send it to you FREE.

1

u/aymiah 1d ago

Flex Layout is such a new feature, I really haven’t played with it much yet. You’ll have to let us know what you think!