While working on his Measurements scripts, my colleague Mikhail Ivanyushin reported me weird biases related to units conversion. In particular, he observed a discrepancy between InDesign's display and direct results from ExtendScript when addressing inches-to-ciceros translation…
Tag : IdExtenso
Porting your InDesign Script into IdExtenso — Step 5
October 19, 2021 | Tips | en
In this episode we seriously improve the relationship between user settings and user interface. As a result, we get a smart InDesign script that both remembers the choices the user made within the session and adapts to the context, that is, whether the script should target the selection or a larger scope…
Porting your InDesign Script into IdExtenso — Step 4
October 09, 2021 | Tips | en
The previous episode dealt with modularity in IdExtenso, now is the time to take full advantage of it! Today we will see how to add a dialog interacting with user options. You will be amazed at how quickly this component fits into the script…
Porting your InDesign Script into IdExtenso — Step 3
September 24, 2021 | Tips | en
In this episode, you will learn how to arrange your code so that it fits into IdExtenso's “modular space.” Modularity is a key term when it comes to maintaining a large-scale project. Even if our sample script is not in itself of pharaonic complexity, we will transform it, as an exercise, into a pure module…
Porting your InDesign Script into IdExtenso — Step 2
September 15, 2021 | Tips | en
Today we will embed in IdExtenso the code we prepared in the previous episode. That's of course an important move, especially when you perform it for the very first time (since then you need to install the framework.) But you will discover in what follows the immediate advantages that $$ offers you…
Porting your InDesign Script into IdExtenso — Step 1
September 07, 2021 | Tips | en
So, you have the root idea and a basic code for your next InDesign script. All is fine. It works so well that you're now planning to release it, which opens additional questions: Will it work everywhere? How do I trace risky functions? What if I need to integrate new features later on? How do I deal with persistent user settings? How to add a basic interface? How will I localize the dialog in other languages? Can I make my script available in a dedicated menu? Will it work in a JSXBIN package as well? Can I obfuscate my code?…
Page Range Formatter [UPDATE]
August 17, 2021 | Tips | en
Given an unordered set of page numbers—e.g. {13, 9, 25, 12, 11, 8}
—we often have to compute and output a range specification in the form "8-9; 11-13; 25"
. While this topic has been already discussed in the InDesign scripting forum, I'd like to explore today a slightly different approach…
SmartSort 1.05 | New Design, New Options
August 13, 2020 | SmartSort | en
Many thanks to Peter Kahrel for his valuable suggestions and samples regarding word-by-word and letter-by-letter systems. SmartSort 1.05 is out in a fresh skin with more detailed—and relevant—options. (To upgrade from the beta release, quit InDesign, replace the old SmartSort.jsx
file and restart the application.)
JsxBlind | The Case of “Nested” Variable Names
February 06, 2019 | JsxBlind | en
While version 2.1 of JsxBlind library has just been released, I'd like to focus on a technical issue you may have encountered. If the script to be obfuscated contains eval(…) or app.doScript(…) blocks, there is a good chance that abysmal errors arise. Here is the solution to this enigma…
How To Get parseInt( ) Fixed in ExtendScript
January 10, 2019 | Tips | en
The global method parseInt(str,radix)
has a critical bug in ExtendScript. When radix
is greater than 10, some undesired characters can be mistakenly parsed as valid digits, which corrupts the output. This issue is solved in IdExtenso…
JsxBlind 2.0 Meets IdExtenso
October 31, 2018 | JsxBlind | en
Faster, cleaner, smarter, JsxBlind 2.001 is out! As a library, it now belongs to IdExtenso's toolbox, which I think is top-notch news for serious ExtendScript developers. Also available here is the “standalone version” (named JsxBlindRun
) that should work fine from InDesign CS4-CC or ESTK…
IDUG Paris : présentation IdExtenso [PDF]
May 23, 2018 | Extras | fr
Ce mardi, l'équipe du InDesign User Group Paris a accueilli votre serviteur en grandes pompes — enfin, pointure 42, n'exagérons rien — pour une initiation en douceur au framework IdExtenso. Plutôt que de m'égarer dans une technicité inaudible, j'ai profité de cette invitation pour rassembler quelques repères sur le scripting InDesign, échantillons à l'appui, avec des pistes pour les développeurs plus motivés. En résulte un PDF que j'ai la faiblesse de tenir pour un bon préambule si vous vous lancez dans l'automatisation pour InDesign : IdExtenso-Slides.pdf (1,4 Mo).
How to Shuffle Characters the Right Way
January 15, 2018 | Snippets | en | fr
While fine-tuning a layout you usually need to put some dummy text in your template. The common way to fill a frame with lorem-ipsum-like data is to call Type > Fill with Placeholder Text
. But sometimes you already have an actual text in place, and then your missing feature is the ability to scramble existing characters. Thanks to IdExtenso we can write a nice and fast scrambler, based on Markov chains…
SelToPng | Quick InDesign-to-PNG Serializer
November 06, 2017 | Tips | en
As an InDesign maniac I often use it for achieving tasks that would normally involve Illustrator or Photoshop. The best example of this deviance is PNG conversion. You read it well! And here is a tool that translates any InDesign shape, group, or whatever, into a PNG stream. Not a big deal, but let me explain…
IdExtenso: ExtendScript Framework for InDesign Ninjas
April 20, 2017 | Extras | en
Driven by a mix of vanity and liberalness I decided to make public the building blocks of my InDesign scripting framework, which I called IdExtenso. The alpha release is now available on my GitHub account and will be regularly extended in the coming weeks and months…