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

Shortcut to find shortened text boxes

Community Beginner ,
Jun 18, 2025 Jun 18, 2025

Is there a GREP etc way to find quickly all pages in a doc in which the text boxes have been manually shortened

TOPICS
How to , Type
407
Translate
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 1 Correct answer

Community Expert , Jun 22, 2025 Jun 22, 2025

Not doable via Grep but script may help. Try the following code.

var doc = app.documents[0];
var tolerance = 0.5; // in points — tweak if needed

for (var i = 0; i < doc.pages.length; i++) {
    var page = doc.pages[i];

    var mp = page.marginPreferences;
    var top = page.bounds[0] + mp.top;
    var bottom = page.bounds[2] - mp.bottom;
    var left = page.bounds[1] + mp.left;
    var right = page.bounds[3] - mp.right;

    var marginWidth = right - left;
    var marginHeight = bottom - top;
...
Translate
Community Expert ,
Jun 18, 2025 Jun 18, 2025

What would be the definition of shortened? Is it done by applying some object style? If so then you could find it else I don't think so it is possible via search. However, a script can do the job, if you define your needs in a bit more detail

-Manan

Translate
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 ,
Jun 18, 2025 Jun 18, 2025

Hi Manan, so good of you to reply, thank you. It's a long document where all pages by default have the same height of text boxes. However, some of them have been manually shortened, by grabbing the handles on the bottom line and dragging the box up. I need to find all of the pages that have these shortened text boxes. 

Translate
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 ,
Jun 18, 2025 Jun 18, 2025

It's a long document where all pages by default have the same height of text boxes

 

Hi @defaultdeb30zd009k6 , Is there only one text frame per page, and is the text frame supposed to align to the page margins? Something like this:

 

Screen Shot 37.png

Translate
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 ,
Jun 18, 2025 Jun 18, 2025

Hi, so grateful for the replies, thank you. Yes, 1 text box per page, and the standard is for them to align with margins. However, for optimal flow / avoiding widows and bad word-breaks etc, some have been pulled up a line or two. Subsequently the text was then changed and everything moved, so I need to check for those short pages and adjust. This happens quite a lot in our typesetting process, so I'd be grateful to see if there's a easy way to check globally.

Translate
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 ,
Jun 18, 2025 Jun 18, 2025

so I need to check for those short pages and adjust

 

A script could realign all the text frames to the margins—do you want all the text frames realigned to the margins?

 

Translate
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 ,
Jun 19, 2025 Jun 19, 2025

Hi Rob, thank you for replying. Not really  - I'm thinking of something akin to using GREP to search for a particular character or style, or preflight when it flags wrong sized pages etc, so I can whizz through the document without having to look at every single page.

Translate
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 ,
Jun 19, 2025 Jun 19, 2025

Unless all the adjustments need to be the same a script is not going to work.

Translate
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 ,
Jun 19, 2025 Jun 19, 2025

I don't know if I am understanding the problem statement properly. But isn't this about finding pages where the textframe has dimensions lesser or may greater than the area marked between the margins? That should be doable, right?

-Manan

Translate
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 ,
Jun 20, 2025 Jun 20, 2025

Hi Manan, yes, that's exactly what is needed.

 

Translate
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 ,
Jun 22, 2025 Jun 22, 2025

Not doable via Grep but script may help. Try the following code.

var doc = app.documents[0];
var tolerance = 0.5; // in points — tweak if needed

for (var i = 0; i < doc.pages.length; i++) {
    var page = doc.pages[i];

    var mp = page.marginPreferences;
    var top = page.bounds[0] + mp.top;
    var bottom = page.bounds[2] - mp.bottom;
    var left = page.bounds[1] + mp.left;
    var right = page.bounds[3] - mp.right;

    var marginWidth = right - left;
    var marginHeight = bottom - top;

    if (page.textFrames.length > 0) {
        var tf = page.textFrames[0];
        var gb = tf.geometricBounds;
        var tfHeight = gb[2] - gb[0];
        var tfWidth = gb[3] - gb[1];

        var widthDiff = Math.abs(tfWidth - marginWidth);
        var heightDiff = Math.abs(tfHeight - marginHeight);

        if (widthDiff > tolerance || heightDiff > tolerance) {
            alert("Page " + page.name + " has a mismatched text frame.");
        }
    }
}

Do note the following

  1. The script needs an open document in InDesign
  2. The tolerance for variation in size is .5 pt
  3. The script assumes that we have only a single textframe on each page
  4. The output is in the form of an alert on which pages have the problem.

-Manan

Translate
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 ,
Jun 23, 2025 Jun 23, 2025

Dear Manan, that is brilliant. Does the job perfectly. Thank you very much indeed. Most grateful. 

Best wishes,

Sam

Translate
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 ,
Jun 23, 2025 Jun 23, 2025
LATEST

Thanks for the update Sam. Happy to help

-Manan

Translate
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