The flexible XML options, InDesign® Markup Language (IDML), and rich scripting support in Adobe® InDesign let you create powerful automated workflows for publishing content across various systems and output media. Find in-depth information about the XML, IDML, and scripting support in InDesign to help you create a strong foundation for custom solutions that meet your unique publishing requirements.
If you're considering automating InDesign, you may also want to look at Adobe InDesign Server, the robust, flexible, and scalable version of InDesign. Because InDesign Server shares the same codebase as InDesign, it offers all the features of the desktop version as well as a number of server-based features.
IDML is an open, XML-based file format that enables third-party developers and systems integrators to programmatically create, modify, and deconstruct InDesign documents outside the context of InDesign. IDML works with standard XML editing tools, making it easy to use in automated workflows. And with support for multi-threading in InDesign, working with the IDML file format is even faster.
- Dynamically generate or modify documents
- Deconstruct and reuse portions of documents
- Transform document elements using XSLT
- Find and modify data within InDesign documents using XPath or XQuery
- Use Adobe Flash® Builder® software and the Adobe AIR® runtime to create custom applications and interfaces in front of IDML workflows
IDML is derived from the InDesign Interchange (INX) format, which was introduced in InDesign CS2 to enable users to save documents for use in a previous version. INX was difficult to read and manipulate because it was designed to be used by InDesign alone. Those who tried to manipulate INX encountered challenges with readability, robustness, extensibility, and compatibility with XML tools.
IDML addresses these concerns by enabling developers to change, assemble, and reassemble XML representations of InDesign documents. This allows for the creation and manipulation of InDesign files outside the context of InDesign. The files are then brought back into an InDesign product for rendering into a final output format.
IDML offers an easier, more flexible way to build and implement a variety of publishing solutions. Benefits include:
- Completeness — With IDML, objects, attributes, and preferences can be represented with complete roundtrip capability.
- Readability — The IDML format can be read and written by virtually any program or tool capable of reading and writing XML.
- Robustness — With IDML, developers have more visibility into errors and increased flexibility in handling them.
- Backward compatibility — Users will be able to take an IDML file generated for one version and open it in subsequent versions.
Because IDML is an XML format, its potential uses are varied. However, some common uses might include:
Sabern is a software company based in the Netherlands that specializes in software and application development for database publishing, document publishing, content management, and web-to-print solutions. Sabern provides custom application development services and has a proven track record of delivering automated publishing solutions to organizations within the print, government, airlines, finance, wholesale, transport, and telecom industries.
Using a web browser and Sabern's DesignDB, customers can create documents and high-resolution PDF files from predefined templates created in InDesign. With DesignDB, nondesigners can quickly and easily create highly professional marketing material and publications, offering significant improvements in speed and efficiency when compared to conventional workflows.
"DesignDB takes full advantage of Adobe's new IDML format. Because IDML is XML with specific elements that enable access to InDesign formatting functions, we can now use standard XML editing software and utilities to manipulate the IDML outside of InDesign. With the flexibility that this format provides our developers, we can bring the latest generation of automated publishing solution to market quicker than ever before."
— Karen Lelieveld, Sabern
censhare AG has developed the censhare publishing system, based on a media asset management solution, for the production, management, and publication of content across multiple media channels. The system includes web content management and collaboration tools.
The censhare Translation Memory System enables customers who need to publish content in many languages to extract and reuse specific elements of any translation. The Translation Memory System uses IDML as a more efficient way to extract and manipulate the content, enabling segmentation of the text and paragraphs based on sentences while maintaining all styles. IDML also provides a way to more deeply integrate the censhare solution with Microsoft Office. Excel tables and Word documents can be automatically styled by censhare and then placed directly into and edited within InDesign layouts.
"IDML is a complete and open standard layout format for professional publishing. Now we are able to construct and decode layouts using standard XML tools. Since censhare is based on XML, this allows for a very elegant integration."
— Mathias Wurth, censhare AG
Real World InDesign: Creating placeholders
Let InDesign CS2 repeat the arrangement of placeholder elements and static text for corresponding elements in an imported XML file. (Excerpted from "Real World Adobe InDesign CS2")
Real World InDesign: Transforming XML
Transform XML into HTML or any text format, including plain text, PDF, PostScript®, other forms of XML, and InDesign tagged text. (Excerpted from "Real World Adobe InDesign CS2")
InDesign CS4 User Guide XML chapter
Refer to the XML chapter excerpted from the Adobe InDesign CS4 User Guide for answers to basic questions about XML support in InDesig
With InDesign scripting support, you can automate tedious production tasks such as placing and replacing images, correcting errors in text, and preparing files for printing. And it plays an integral role in XML and IDML-based workflows. Here are some resources for both beginners and more experienced scripters.
Adobe Introduction to Scripting
Check out this informative primer on why, how, and when to use scripting in Adobe Creative Suite® 6 applications.
Adobe InDesign CS5 scripting tutorial
Learn the basics of InDesign CS6 scripting in this detailed tutorial.
View or download the tutorial (PDF, 936k)
Download the InDesign Scripting Tutorial scripts (ZIP, 11k)
Get in-depth information about creating custom scripts for InDesign using AppleScript, JavaScript, and VBScript in each of these detailed guides.
View or download the AppleScript guide (PDF, 2.0M)
View or download the JavaScript guide (PDF, 1.4M)
View or download the VBScript guide (PDF, 2.0M)
Adobe Creative Suite JavaScript Tools Guide
Check out this document for information about the JavaScript features, tools, and objects that are common to all Adobe Creative Suite applications that support JavaScript.
Share design and type-related questions and answers and exchange scripts, scripting ideas, and XML information with like-minded professionals.
Download free scripts or upload those you've created, plus share templates, plug-ins, actions, and other helper files that add new features to your layouts, in the Adobe Resource Center.
Adobe Introduction to Scripting
Check out this informative primer on why, how, and when to use scripting in Adobe Creative Suite® 4 applications.
Adobe InDesign CS4 scripting tutorial
Learn the basics of InDesign CS4 scripting in this detailed tutorial.
View or download the tutorial (PDF, 1.1M)
Download the InDesign Scripting Tutorial scripts (ZIP, 10k)
InDesign CS4 in-depth scripting guides
Get in-depth information about creating custom scripts for InDesign CS4 using AppleScript, JavaScript, and VBScript in each of these detailed guides.
View or download the AppleScript guide (PDF, 3.2M)
Adobe Creative Suite JavaScript Tools Guide
Check out this document for information about the JavaScript features, tools, and objects that are common to all Adobe Creative Suite 4 applications that support JavaScript.
Share design and type-related questions and answers and exchange scripts, scripting ideas, and XML information with like-minded professionals.
Download free scripts or upload those you've created, plus share templates, plug-ins, actions, and other helper files that add new features to your layouts, in the Adobe Resource Center.
Adobe Introduction to Scripting
Check out this informative primer on why, how, and when to use scripting in the Creative Suite 3 applications.
InDesign CS3 in-depth scripting guides
Get in-depth information about creating custom scripts for InDesign CS3 using AppleScript, JavaScript, and VBScript in each of these detailed guides. (Before you begin, review the Scripting ReadMe file for Adobe InDesign CS3 .)
View or download the AppleScript guide (PDF, 3.4M)
View or download the JavaScript guide (PDF, 3.2M)
InDesign CS3 Transformation Tutorial
Using scripting to move, scale, rotate, and shear an object has changed significantly in InDesign CS3. This short tutorial and associated scripts show you how to work with the new transformation architecture to achieve the results you need.
View or download the InDesign CS3 Transform Tutorial AppleScript (PDF, 322k)
View or download the InDesign CS3 Transform Tutorial JavaScript (PDF, 323k)
View or download the InDesign CS3 Transform Tutorial VBScript (PDF, 333k)
Download the InDesign CS3 Transform Tutorial Scripts (ZIP, 45k)
Build an InDesign CS3 workflow in Automator
Learn how to create and use Apple's Automator Actions with InDesign.
Review the InDesign Automator Tutorial (PDF, 4.6M)
Download InDesign Automator Tutorial Actions. (ZIP, 267k)
Share design and type-related questions and answers, plus exchange scripts, scripting ideas, and XML information with like-minded professionals.
Download free scripts or upload those you've created, plus share templates, plug-ins, actions, and other helper files that add new features to your layouts, in the Adobe Resource Center.
XMP — Adding intelligence to media
Adobe's Extensible Metadata Platform (XMP) is a labeling technology that allows you to embed data about a file, known as metadata, into the file itself. For more information on how partners and standards are using XMP, go to the XMP website.