Extract file preview stored in Adobe XMP data

Some of Adobe file format’s (INDD, PDF, AI) are using Metadata to store low-res preview of file inside file itself. For example InDesign allows you to select how many pages do you want to include in these previews and also preview size/quality. We have to keep in mind that data is not stored in binary format. It’s stored in, so called, Base64 encoding scheme, that represent binary data in an ASCII string format. So, in addition to extracting data we have to decode it to binary, and then save it to file. So, let’s get started! 🙂

Read more…

QuickTip: Check if a number is between two numbers

In JavaScript I always miss one great feature from MySQL and that is operator between. It checks if a number is between two numbers you enter. So I decided to create small ‘Number’ prototype to achieve this. If a number is between is between then it returns true, and if not returns false. It’s perfect for using in ‘if()’ statements.

Read more…

Categories: InDesign Scripts Tags:

QuickTip: Check if a number is even or odd

How to check if a number is even or odd? We can use Modulus operator (%), which returns the remainder of a division operation. If you divide some number by two, a remainder of 0 indicates an even number, while a remainder of 1 indicates an odd number. Best and easiest way is to create ‘Number’ prototype.

Read more…

Categories: InDesign Scripts Tags:

Import Styles from file

Do you want to import styles from other document through scripting? It’s really easy to achieve, and you also have control about overwriting styles with same name. Also, you can import all kind of styles, you are not limited to just Paragraph or Character styles. We will take a look to the style ‘importStyles()’, but I also prepared short example how to implement it in dialog. Also, keep in mint that we can import to the document or to the application. So, let’s get started! 🙂

Read more…

Find/change missing font with scripting

Does this image looks familiar?! Do you want to change missing font through scripting? Then I have good news for you, it can be done really fast and easy! We are going to look easiest way for retrieving missing fonts from document, and also I will share this script integrated into dialog and font selector. This idea came up to me yesterday while I was studying ‘BeforePrint.jsx’ from Scripting guide that you can download from Adobe InDesgin scripting page. Also, Marc Autret posted script on Adobe’s InDesign Scripting forum for changing missing fonts inside styles, so be sure you check it! So, let’s get started! 🙂

Read more…

a big THANK YOU!


I just want to thank you all who visited my blog!
I hope you find it good and useful in your work with InDesign Scripting! THANKS!

Categories: General info

Custom ScriptUI Text Insert Menu

Few days ago on Adobe’s InDesign scripting forum I found question how to create custom menu to insert predefined text items into ScriptUI text box. I started to research and found really easy and good way you achieve this handy “menu”. All we need is dropdown and short script for controlling insert behavior.

Read more…

Prevent executing menu items

Well, this is almost ‘Most Wanted’ snippet around 😀 Have you ever wanted user to prevent executing some menu item? I did, but I didn’t had answer how to do it. There is no way to disable menu item, but what we can do is to cancel executing it. What we are going to do is to add event to ‘menuActions’. So, let’s take a look.

Read more…

Add icon to dropdown/listbox items

Have you ever wanted to add a dropdown/listbox item but with icon beside? This is not really possible with native InDesign dialog manager, but it can be done with ScriptUI! It’s really easy to achieve this great little feature. So, let’s take a short look how to do this. 🙂

Read more…

Extract Metadata with Adobe XMP [Part 2]

In previous post about Extracting Metadata with Adobe XMP we were extracting complete Metadata from file and saving it to XML file. In this post we will take a look how to extract just those elements that we want. Also, don’t forget to grab Adobe XMP Specification and visit Adobe XMP Develop Center for additional info about XMP Specifications. Before continuing I suggest you to extract Metadata from file to XML or you can find same structure in ‘Links panel -> (Right click on image link) -> XMP File Info -> Raw Data (tab)’. It will be easier to understand and find data that we want to extract. So, let’s get started.

Read more…

Extract File Name and Extension

This is short and simple. Fast way to extract file name (without extension) and extension from file. Unfortunately Javascript doesn’t allow us to retrieve just file name or extension, but we can achieve it in really simple way through string operations. We are going to create simple prototype for ‘file();’ class. So, let’s get started! 😀

Read more…

Extract Metadata with Adobe XMP [Part 1]

Almost every media file contains info about it’s contents. Adobe’s XMP (Extensible Metadata Platform) is, as they say, “a labeling technology that allows you to embed data about a file, known as metadata, into the file itself”. Devices like digital camera’s, camcorders, mobile phones also save metadata, and we are able to retrieve that info later. “Various standards initiatives are using XMP as their framework of choice for implementation”. More info can be found here: Industry standards groups powered by XMP. So, let’s see how to grab all saved data from file with really simple code.

Read more…

Change Active Tool with script!

Did you know that you can change active tool through scripting? YES, YOU CAN, and it’s so easy! This is new option in InDesign CS5 scripting, and it’s so cool! You can even retrieve current tool name, hint, icon file! It’s really great feature! So, let’s look how to do it! 😀

Read more…

Categories: InDesign Scripts Tags:

Fill Text Frame with Placeholder text

Great InDesign feature is that we can fill empty text box with ‘Placeholder text’. That’s very handy when we have to create template, but we don’t have text. There are few scripts for InDesign that allow us to insert different types of text, but this is my favorite: Change placeholder text by luxlucid. Also, there is very good website for creating placeholder text: Dummy Text Generator! So, let’s get started!
Read more…

Round Selected text with Polygon

Round Selected text with PolygonWell, this one is really awesome! I was playing with finding positions of selected text, baseline and stuff, and I came to great idea! What if I want to draw polygon around selected text? Can it be done through scripting?! 😕 Well, I tried, and I think I was successful! 😀 It’s little bit complicated, but I learned a lot! So, let’s get started!

Read more…

Great Javascript Assignment Operators

There are few Javascript assignment operators that we are already using, and they are really handy. We will just go through some of them really quickly just to refresh our memory 🙂 So, let’s start!

Read more…

Extract Clipping Path

If we want to extract clipping path from InDesign GUI we simply go to Object -> Clipping Path -> Covert Clipping Path to Frame, but how to do it through scripting? Another thing is that we can’t convert multiple selected images with clipping path to frames through GUI, but you can do it through script. I will cover just converting one selected frame, but we can loop through selection and do same to every image.

Read more…

Export selection to JPEG

I think that title already says everything about this post 😀 and I’ll try to be short. When you are exporting from InDesign GUI you have option to export just selected objects, but how to achieve this from script? 😕 This script is also published on Adobe’s InDesign scripting forum.

Read more…

Change some Clipboard preferences

There are few useful properties you maybe want to use when copy/paste objects and text in InDesign. You can change them through preferences, but also through scripting. 🙂

Read more…

Move/duplicate pages between documents

Like you probably know, InDesign can move/duplicate pages within document through scripting, but you can also move/duplicate pages between documents! I found this snippet on Adobe’s InDesign scripting forum, and I tested it and it works just fine! 😀

Read more…

Convert Decimal to Roman and back

Few days ago, on Adobe’s InDesign scripting forum I found something very interesting. It was great little function for number conversion from Decimal to Roman numbers. But it wasn’t I enough so I tried to reverse functionality. Functions are converted to ‘prototypes’ for easier usage. 😀

Read more…

Create customized menu

Two days ago on Adobe’s InDesign scripting forum I found interesting question about creating custom menu, so I decided to dig little deeper and see how to achieve desired effect. I went to Marc Autrets site, and post How to Create your Own InDesign Menus. I tried to create custom menu that will be inserted into InDesign’s main menu, with three menu items, and one separator.

Read more…

How to retrieve Text Variables

We are going to look at simple way to get all text variables. Important thing is that InDesign had two different lists of text variables. One list is stored in ‘app’ object, and another is in ‘document’ object. This is very important to remember! Part of this script was published on Adobe’s InDesign scripting forum by Peter Kahrel. So, let’s get started.

Read more…

Get Font Styles from Font Family

Few months ago on Adobe’s InDesign scripting forum question was asked about getting all font styles from selected font. I want to share my way for doing this. It involves two prototype Array functions, and nothing else. For this example I created small window for selecting font family. So, let’s get started.

Read more…

Simple PDF Export with Preset selection

I’ve made small simple script for exporting document to PDF using preset we select. We will see how to list PDF Export Presets we have available, select output file, and export file. So, let’s get started! 😀

Read more…

Display day/month name instead of number

Sometimes we want to have full day/month name instead of just numbers. Here is really short little snippet to achieve this result. This post also can be found on Adobe’s InDesign scripting forum.

Read more…

Saving script data within document

There is good way to store data within document elements. We can store very long text data into almost every element within InDesign. Data is only visible through scripting, and also can be set just through scripting. This is great way to carry document specific data everywhere we go, because data we set is saved into document. So, let’s see how we can use this great feature.

Read more…

Get network adapter Name/MAC/Speed

Yesterday we had example how to read IP/Gateway with help of VBscript. Todaw we will try to get Adapter info and MAC address. On some systems, I don’t know why, but adapters are duplicated, so you can later convert values to array, and delete unwanted ones.

Read more…

Extended undo/redo

Are you frustrated with lack of History palette in InDesign? Did you know that you can retrieve undo/redo commands from script? 😕 Yeah! That’s right! It’s really easy to achieve History palette functionality with some easy script. I created really simple dialog with two drop-down boxes and undo/redo buttons. 😉 Let’s first how to get list of undo/redo commands that we have available.

Read more…

Get Local/Gateway IP Addresses

Two days ago, on Adobe’s InDesign Scripting forum I had found question about retrieving Router IP address. Post is based on MacOS/Applescript, and I decided to find solution for Windows 😀 It’s combination of VBscript and JavaScript. Let’s get started.

Read more…