Overview

This document describes two fully runnable Java applications for pdf renderer and InDesign® Server. The application just opens a document and creates a PDF beside the original document location.

Hello PDF Renderer

Requirements

See the Installation section for details. You don't need to bother about licensing at this stage, though you must regard platform specific hints.

Installation Layout

We expect the following installation layout:

If the folder layout differs in your installation, you must adapt some of the pathes below. Please see the Initialization section for details.

Development Environment

Any Java Development environment can be used (Eclipse, IntelliJ), a test editor plus JDK >= 1.8 will also do.

Java Code

After execution, you should find a newly generated PDF document next to the w2ml file used for this example.

Hello InDesign® Server

Requirements

Note: InDesign® Server does not necessarily be installed on the same host, it's just to keep this example simple.
If InDesign® Server is running on a different host, you must make sure, that the ZEROCONF XML Offline folder is available on that host under the same path.

See the Installation section for details. You don't need to bother about licensing at this stage, though you must regard platform specific hints.

Installation Layout

We expect the following installation layout:

Development Environment

Any Java Development environment can be used (Eclipse, IntelliJ), a test editor plus JDK >= 1.8 will also do.

Java Code

Again, after execution, you should find a newly generated PDF document next to the document opened for this example.

Remarks

You may have noticed, that we use two different ways in the pdf renderer and InDesign® Server example to access the actual documents. TmpCopyFromString and TmpCopyFromPath are both DocumentAccessProvider implementations. Basically, this interface decouples from the "physical" document presentation - Stream, String, File or whatever. Any DocumentAccessProvider can be used for any rendering engine (except for the fact, that InDesign® documents hardly can be packed into a Java String object).

Using the DocumentAccessProvider abstraction, we can open any document from any source in any environment using the same rendering API. All required file system actions, path translations, network operations and similar are handled in the respective DocumentAccessProvider implementations. The core library contains some common implementations (e.g. open a temporary copy, open just in place etc.). If you have further requirements in your project or IT infrastructure, you can easily implement own DocumentAccessProvider, see the Document Access section for details.