Indiscripts

Automating InDesign since 2009

Tag : Transformation

Scripting: How to Position InDesign Guides

Now, can you tell what X and Y are?InDesign guides are funny creatures. Whether or not they are assigned to a page via the fitToPage property, they remain firmly anchored to the geometry of the spread they belong to. The most mysterious thing is their location attribute, which does not obey all the principles ordinarily weighing on rulers coordinates. This article explores how to determine correct positions in all scenarios…

Continue reading...

The Magic Parent Bounding Box

Now what is the geometry of that cell?Geometry in InDesign can get deadly complex. Take a document, create a frame, insert a table, change a particular cell into a “graphic cell,” convert its inner object into an ellipse, play with strokes, rotate and scale the object, transform the parent frame in the fanciest way. Then ask yourself the question: what are the exact coordinates, shape or area of the final table cell?…

Continue reading...

Coordinate Spaces & Transformations in InDesign [UPDATE]

Coordinate Spaces & Transformations is a free eBook covering all atomic subjects that a InDesign scripter or developer should grab before using transformation matrices and the related methods. The last update has minor corrections and notes…

Download version 3.2 (PDF, 41 pages)

Continue reading...

Drawing Sine Waves in InDesign [UPDATE]

Bézier curve approximation of sine waves

Computing Bézier curves that really look like sine waves is an exciting challenge for script developers. One needs to deal with both optimizing control points, transforming coordinate spaces and splitting curves. Here is a function that solves it all in ExtendScript for InDesign…

Continue reading...

ScriptUI vs. UI Scaling

From CC 2014, InDesign and Illustrator interfaces needed to adapt to OS “scale settings” strategy on 4K/Retina displays. And with Windows 10 defaultly scaling at 150% in such resolutions, Adobe engineers were forced to rework their famous HiDPI support, which led to introduce UI Scaling in the Preferences dialog box. So far, so good. But ScriptUI has not been fully “informed” of these new rules…

Continue reading...

FillBleed | Fix Image Frames so they Meet the Bleed Edge [Update]

Continue reading...

Resizing vs. Rescaling in Equalizer

Equalizer for InDesign CS4/CS5/CS6/CCUser's question: “What's the difference between Multiply by and Rescale to in Equalizer? It looks like both functions have the same effect on the targeted frames of my document.” Very good question indeed! Let's reveal the little subtleties behind it…

Continue reading...

Equalizer PRO 3.0 released!

How much do you spend on manually repositioning objects, resizing or adjusting all frames when your layout is changing? How many times did you need to move all main blocks by a given offset on every page? Or to reset the scale of every inner image? Think about the time you lost in repeating those daily boring tasks again and again, then take a giant step in loading Equalizer 3 in your InDesign toolbox. Batch positioning and resizing in InDesign is now as easy as clicking the Run button…

Continue reading...

Drawing Spirals in InDesign

Bézier curve approximations of Archimedean spirals

Continue reading...

Coordinate Spaces & Transformations in InDesign — Chap.4 (Draft)

Chapter 4 of our “Spaces & Transform” eBook is probably both the trickiest and the most important. It tries to reveal the intricacies behind the Scripting DOM resolve() method, the unique tool for setting and processing InDesign locations with respect to the underlying coordinate systems. I spent months figuring out its obscure syntax and improving my knowledge on that particular topic. Understanding the location resolver is a crucial step for developing scripts that can deal in depth with geometry and transformations in InDesign.


Go to the newest release of this document

New Features in Equalizer 3

While achieving Equalizer 3 I have implemented new—and old!—functionalities such as the Page Side Selector (so that you can manipulate right-sided pages only, for example) and (the much awaited return of) the Swap items feature. Here are a few snapshots of the next version…

Continue reading...

Coordinate Spaces & Transformations in InDesign — Chap.1-3

Dealing with coordinate spaces and transformation matrices is one of the most obscure and underappreciated exercises in InDesign scripting and programming. The fault mainly lies with Adobe documentation, especially the Scripting DOM reference, which does not clearly explain the topic and some of its essential keys. The following document (PDF, Chapters 1-3) attempts to shed some light on the beast…


Go to the newest release of this document

Speeech! [UPDATE]

Speeech for InDesign CS4/CS5/CS6/CC allows you to quickly create nice speech balloons.

Continue reading...

Introducing Equalizer 3 for InDesign CS4-CC (UPDATE)

Suppose you need to shift a bunch of text frames by 10mm from the central axis of your layout (10mm to the right for right-hand pages, 10mm to the left for left-hand pages). Or suppose you have to reset to 90% the height of every picture owned by your "Thumbnails" layer… over the whole document! Or imagine any other daily boring task that involves changing locations and/or dimensions of objects in a repeated way. Equalizer 3 is just a powerful tool for designers who want to save their phalanges.

Continue reading...

Introducing RagingHull for InDesign CS4-CC

Having fun with InDesign bounding boxes!

RagingHull, free script for InDesign CS4/CS5/CS6/CC)While studying bounding boxes and transformations I realized we could get nice patterns based on successive rotations applied to a given shape. As InDesign instantly determines the coordinates of the enclosing rectangle whatever the page item transform state, I had fun in drawing those boxes while varying strokes and angles. Jongware made similar experiments with its famous Spirographs script. RagingHull is just another free toy that reveals the bounds of a spinning object…

Continue reading...

How to Augment and Process Nested Groups (CS4-CS6)

Dealing with groups is a major headache for InDesign scripters. On one hand, the Group object has no injection method to offer, which makes difficult to append existing page items into a given group. On the other hand, although the Groups API exposes a promising add() method, nobody has ever managed to use this feature from any PageItem.groups area, so we seem doomed to perpetually rebuild groups from scratch.

Continue reading...

TotalRescale | Last-Minute Layout Adjustment

TotalRescale for InDesign CC/CS6/CS5 makes it easy to shift and/or rescale your layout.

Continue reading...

Transforming Spreads in InDesign CS4-CS5!

Wanna scale, rotate, skew spreads in InDesign? This ‘feature’ is available since CS4!

Continue reading...

Dealing with Rotated Spread Views in a Script

“Rotate the spread view” is a nice feature introduced in InDesign CS4. It will prevent you from getting a stiff neck when working on rotated contents such as book spine or landscape tables. Great! Now the bad news: it seems that the DOM does not provide any means to check a rotated spread by scripting. No property, no access method. So what?

Continue reading...