InDesign Server
a guide

The Case for InDesign Server

Adobe InDesign Server is far less known than its desktop alternative. In this article, we outline what Adobe InDesign Server is, when to use it, and why and how Adobe InDesign Server is different from Adobe InDesign Desktop.

1. What is InDesign?
2. Heavy Lifting with InDesign
3. InDesign Scripting
4. InDesign Client vs. InDesign Server
5. Babysitting vs. Automation
6. Conclusion

What is InDesign?

Before addressing InDesign Server, let’s look briefly at what basic InDesign is.

InDesign is a desktop computer publishing software for both Windows and Mac OsX that helps in creating any type of document: catalogs, books, brochures, flyers, etc.

In brief, if you want to create and edit documents with typographic quality, you need InDesign. Typographic quality means that all major aspects of a document (font, colors, and spacing) are respected exactly as was intended by the designer, and it is very often required for print documents and professional PDFs. Very few applications (if any at all) offer the precision and reliability of InDesign. As such, for many years InDesign has been considered the de facto standard for creating professional documents.

Heavy Lifting with InDesign

Both InDesign Desktop and InDesign Server have many powerful features that can help in creating large documents:

  • Data merge
  • XML import
  • Book management
  • Conditional text
  • Scripting languages (AppleScript, VB, and JavaScript)

InDesign Scripting

A tool like InDesign offers so much precision. It is loaded with commands and options to customize and enrich a document as intended. Such complexity requires at least some training, and the editing of so many parameters in each element could require a lot of time. However, if you have to insert and update a lot of information in a document, doing this operation manually could cost too much time or cause mistakes.

To ease this workload, InDesign offers a way to use the software with scripting. In about the same way you write Excel Macro with VBA, with InDesign, you can give instructions through programming languages.

For example, instead of starting a new document by navigating with your mouse to File, New, Document, you can send that command to InDesign with file = app.documents.add()

From here, it is easy to start compounding long chains of tasks by creating and reusing script commands.

At Pagination, we are fixated with this method of using InDesign, and since 2009 we have helped our customers create their documents by writing in JavaScript to command InDesign Desktop and InDesign Server.

This means that both InDesign Desktop and InDesign Server can be used to create quite complex workflows that address some of the features needed in medium and large organizations. However, growing in this direction could pose some limitations for InDesign Desktop that can be overcome with InDesign Server. 

In particular, we recommend InDesign Server when the production of a document has to be fully automated to overcome both licensing and technical limitations.

InDesign Client vs. InDesign Server

Let’s break down the main advantages of InDesign Server when a complex document, heavy workload, fast delivery, and system integration are part of the workflow.

Designated user

  • InDesign Client: Graphic designers
  • InDesign Server: Developers or organization users with a setup workflow

Method of use

  • InDesign Client: GUI (graphical user interface, meaning with a mouse/keyboard/monitor), Programming language (usually JavaScript)
  • InDesign Server: Programming language (usually JavaScript)

Application dialogue (start-up, warning, and error handling)

  • InDesign Client:  Manual license activation, onscreen messages from application to user that halt the automation until manual approval
  • InDesign Server: Command line and web services activate the license and interact programmatically with the application without halting workflow or processes

Best used for

  • InDesign ClientLayout composition; Creating and balancing layout grids
    Brochures, covers
  • InDesign Server: Filling the intended layout with a lot of data; Creating many pages or multiple variations of the same document; Catalogs, price lists, tech sheets


Babysitting vs. Automation

Having experience in both environments, we are aware of the limitations of creating automatic workflow in InDesign Desktop. The main limitation is that in InDesign Desktop, you need an operator in front of the computer to babysit the pagination operation because so many inconveniences can happen when creating an automation in the InDesign Desktop application. Additionally, the Adobe license itself has some clear limitations regarding where InDesign Desktop can work automatically.

Still, there are also many technical nuisances that you can only partially work around in InDesign Desktop, nuisances that will put the long-term stability of your project at risk.


InDesign Alerts

For example, on a desktop computer, the user needs a username to log into and start InDesign. At this time, InDesign provides certain alerts about updates or errors, and the user has to close them before letting JavaScript crunch the document. Noticeably, this all requires user intervention. However, there is an option to “shut up” InDesign with this instruction: UserInteractionLevels.NEVER_INTERACT;

Nevertheless, some alerts need to be handled manually, like when InDesign has to:

  • Confirm your license (recurrent)
  • Check for new features
  • Fix new bugs
  • Warn of glyph font errors when exporting to PDF

These occurrences halt the automation process in the desktop environment, even if UserInteractionLevels is set to NEVER_INTERACT. Additionally, it too often provides a vague description of the error, explaining encountered problems with a generic message such as “User canceled this action.”


Hardware, OS, and Memory

InDesign Desktop is built to optimize user responsiveness, as the experience is very fluid and responsive. But when you force-feed or flood InDesign Desktop with many commands via scripts, the computer itself becomes unresponsive, and even if the commands are executed flawlessly, the computer cannot complete other activities. This is true even if the computer has many cores, leaving your fine equipment vastly underutilized while waiting for pagination to complete. 


It is possible to work around Adobe InDesign Desktop’s limitations with tools like scheduled tasks and operating system PowerShell script, but in the end, you will have used so much time for a patchwork that:

  • Still needs significant babysitting and impromptu fixings
  • Gives few (if any) messages to troubleshoot problems
  • Will not increase the scale of your document production requirements

All of this often brings you back to your project’s square one, with so much time wasted learning non-scalable tricks. 

So, to overcome these limitations and set a stable environment for serious document creation capacity, it is wise to use Adobe InDesign Server, as its layout, created by graphic designers, can be filled programmatically with data from other sources.

Feel free to contact us to:

  • Receive a 30-day InDesign Server demo license
  • Utilize our expertise and consultancy to help you with your projects
  • Buy an InDesign Server internal license starting from 4000 USD/EUR per year

Catalog automation?

Publishing a product catalog or a price list could be a challenging task that can put pressure on even the best marketing teams. Learn with Pagination how to make a catalog with this complete guide.

You can use Pagination to automatically create beautiful documents in just a few seconds that are always ready for print or digital distribution.

easycatalog training watch demo

Create your automated document!

Use one of our free InDesign Templates or upload your own layout. Create documents anytime and from anywhere.