Transforming Spreads in InDesign CS4-CS5!
August 01, 2011 | Snippets | en
In May 2010, Mike Rankin demonstrated a crazy feature(?) only available in InDesign CS5: the ability for the user to scale, rotate, shear pages just like he can transform layout objects. Technically, this simply results from the introduction of the Page.transform
method in the CS5 Scripting DOM.
So transforming individual pages was not possible in CS4, but we already had the ability to Rotate Spread View from the Page Panel, which indicates that Adobe engineers were already handling the Spread Coordinate Space through transformation matrices.
But, wait a minute! wasn't Spread.transform
already exposed in the CS4 DOM? Yes it was! I wonder why nobody has paid attention to it:
Just out of curiosity I tried running some transformations on a spread. Translation is disabled but it appears that rotation, skew, and even scaling perfectly work—which means that InDesign can zoom much more than you think!
Here is a simple script to get unprecedented spread views in InDesign CS4 or CS5:
UPDATE. — TransformSpread v. 1.1 now supports negative X-Scale / Y-Scale values:
So, what is the use? That's an excellent question!
Comments
Utility depends on how Indesign handles these changes. For example, the case you introduce with Y-Scale of -1, does it make Indesign export/print the page as it was flipped or is it just some theorical changes that in the end have no impact on the real aspect of pages ? If it does affect aspect and output, then it can be very valuable as one may flip all the content without manual intervention and a high level of accuracy.
On the other hand, if it has no effect, well, it is almost the same as wondering why adobe put that objects in the DOM :D
Great job :)
Hi Loïc,
To my knowledge Rotate Spread View has no effect on the actual layout, so I suppose any other transformation works the same. It's just a display thing. Exported PDFs are not puzzled.
> […] Why adobe put that objects in the DOM?
Well, Adobe didn't shout it from the rooftops! The general ability to transform spreads just results from the specific ability to rotate spreads—which I think is useful when you need to layout a book spine or such things.
For several years, all object transformations in InDesign are handled through transformation matrices, which provide a high level of abstraction. In OOP terms, I suppose that Adobe just makes Spread objects inherit from that interface.
@+
Marc
Hi again,
Just a precision about the negative Y-Scale case. Since the InDesign GUI always behaves relative to the Pasteboard Space, this can be used to globally build a flipped layout. Indeed, once your spread view is flipped, every object you lay out the regular way from the pasteboard space perspective, is *actually* flipped in the document:
Then:
@+
Marc
Hi Marc,
So I understand Rotate Spreads has no effect on the output but your example seems to prove the contrary, doesn't it ?
This is what I wanted to point. If transformations affect the output, it can be a very great tool for some effect althought PDF separations can allow a mirrored output.
Well, whatever, nice talking :D
Hi Loic,
> So I understand Rotate Spreads has no effect on the output
> but your example seems to prove the contrary, doesn't it ?
No, your interpretation is wrong. Transforming spread (=transforming spread view) has no effect on the output. I mean, the fact that you rotate, scale, or skew the view does not change anything in the existing layout. You just change the way you see it.
Now suppose you're working in a 15° rotated view and that you create a new textframe. From the GUI perspective—the absolute coordinate space—your textframe has no rotation (0°). But, from the spread perspective, the textframe has a -15° rotation angle. Because of the spread rotation, all works as if you were actually applying a -15° rotation to any new object.
Does it make sense?
@+
Marc
Yes thank you ;)
What is clear is that affecting spread doesn't affect inner object coordinates but output and aspect is affected.
OK :D
Mais c'est délirant ce truc…!!!
NB : bravo pour ton relooking de site et je te reconnais bien dans l'icône, de profil, c'est toi :-)
Maybe I'm wrong, but I don't see any practical use in this feature, I thought about it but could find anything.
@Simona,
You're probably right ;-)
@+
Marc
Finally, I found a practical use in transforming spreads—at least in InDesign CS5. The script “TotalRescale” applies scaling to spreads in order to visually counteract page scaling, which allows the script to behave as expected:
http://www.indiscripts.com/post/201...
@+
Marc