Ultimate Overset Fix Contest Answer and Winners!
It’s time to reveal the solution—and the winner—for this month’s InDesignSecrets contest!
Here’s the question:
You have a long document with over 100 separate text frames, and all of them are slightly overset! Your deadline is right now, so you have just one minute to fix all the overset text in the document. You are not allowed to edit the text in any way and you cannot change any text formatting. How can you solve this problem?!
As many of you wrote in, the answer is to edit the object style the text frames are based on. By default, all text frames use the [Basic Text Frame] object style, which makes this solution work.
Double-click the [Basic Text Frame] entry in the Object Styles panel, select the Text Frame Auto Size Options entry, and turn on Auto-Sizing by selecting an option other than the default “Off.” We chose “Height Only” in the screen shot below. With Auto-Size enabled, all the frames will immediately expand to fit the text in them. Boom! Overset-be-gone!
And the genius winners of this contest are…
Oleg Eltsov
Kimmi Patterson
Both win a copy of Sandee Cohen’s awesome book, Creating Animations in Adobe InDesign CC One Step at a Time.
Thanks to everyone who entered, and be on the lookout for another contest with a new great prize next month!
What? So I guess we can just imagine conditions that were not given…
That answer would only work if an object style was already applied to all the text boxes.
But an applied Object style was not mentioned, and applying one to 100 boxes would take longer than a minute.
Bret: Good point, except that all text frames have the [Basic Text Frame] object style applied to them by default (unless you specifically change it).
Hi Brett- Actually, it doesn’t depend on the user making any object styles. If they didn’t use any they could just edit the Basic Text frame default (shown in the screenshot).
Hi,
I am perplexed because nothing indicates and confirms that the style is not [none] for all the text blocks. This is an ID setting that can be chosen by default. In this case, Mike’s solution is totally disabled because you can’t modify that style [none]. Sorry! But Brett could be right! ;-)
I’m surprised too that Mike doesn’t mention Kasyan Servetsky’s very clever script that everybody can find here with another great ones! https://kasyan.ho.com.ua/find_overset_text.html
His script will work even if the op uses [none] object style as default.
I edited the post to make it clear that there was “nothing up our sleeves” … ;-) This solution works because nothing special was done to the text frames. They are all based on the [Basic Text Frame] object style, which is the default attribute for text frames in InDesign. (Unlike placed images, which have the [None] object style applied to their frames, by default.)
This “[none] by default” setting can become the ID default setting! It’s not a good decision because its settings can’t be changed, but it could be done! ;-)
Fair enough! True that. This was a fun one. Good for an emergency.
(and thanks for the script,and find-replace answer too!)
Personally, I avoid editing the basic text box style (or any of the default styles) as that will wreck havoc and confusion when that box gets pasted into another document, unless you break link to style before you paste it into another doc.
But then I have a ton of re-purposed “Frankenstein” docs so my case is not everybody’s…
Best/safest combined answer – make a new style + find + replace that! :-)
If a [none] object style is used and without using Kasyan’s script, you can play the game using an object style find/replace, finding [none] and replacing by a style with auto-sizing setting! ;-) [as indicated in my answer sent to Mike]
Clever answer!. Or you could just do a Find for *any* text frame in the current document (leave the attributes untouched), and Change to the attribute of Auto-size Height only. No object styles need be found or applied.
Aha! You’re right! ;-)
@Michel, thanks for the lead on the script! The one I downloaded and tested from that page, Resize Overset Text Frames, works great in CC 2015.
Anne-Marie, the one I mention, 12 javascript code lines written by Kasyan Servetsky, an outstanding writer, is the last of the list!
As you can see, no mention about object style used!
var doc = app.activeDocument;
ResizeOverset();
function ResizeOverset() {
var lastFrame,
stories = doc.stories;
for (var j = stories.length – 1; j >= 0; j–) {
if (stories[j].overflows == true) {
lastFrame = stories[j].texts[0].parentTextFrames[stories[j].texts[0].parentTextFrames.length – 1];
lastFrame.fit(FitOptions.FRAME_TO_CONTENT);
}
}
}
Hi,
how can I respond to a future contest?
Thanks
Hi Francisco. Email me with your answer at mike[at]indesignsecrets.com