Skip to content

DITA OT and DITA OT PDF2 Plugin Overview

Steven Higgs edited this page Dec 20, 2016 · 16 revisions

DITA-OT

DITA-OT is an open-source publishing engine for XML content authored in DITA. It processes a set of DITA files and transforms them into various output formats, including:

  • HTML5 or XHTML
  • PDF
  • Eclipse Help
  • Java Help

DITA-OT has an extensible plug-in mechanism that allows you to add your own transformations and customize the default output.

DITA-OT PDF plugin

The DITA-OT processor comes bundled with several plugins, including the DITA-OT PDF plugin. Like DITA-OT, the DITA-OT PDF plugin is implemented in Java, Ant, and XSLT.

The DITA to PDF transformation is a multi-step transformation, as you can see in this diagram:

  • DITA-OT pre-processing steps

    The pre-processing steps typically run at the beginning of every DITA-OT transformation. At the end, they produce a _merged.xml file that contains all referenced topics merged into one XML file. You can read more about the pre-processing steps in the DITA-OT documentation.

  • PDF plugin processing steps

    The PDF plugin processing phase is a set of steps that convert the _merged.xml file to a topic.fo XSL-FO file. These steps are described in the DITA-OT documentation.

    The most important step is the transform.topic2fo.main process, which is implemented with an XSLT transformation. It processes the stage1.xml file (an improved version of the merged file that contains DITA elements with additional information for the TOC or index) and produces a stage2.fo XSL-FO file. This step is important because the majority of PDF customizations are XSLT extensions of this transformation.

  • XSL-FO to PDF step

    This step processes the topic.fo XSL-FO file and converts it to the final PDF output. There are three XSL-FO processors that you can use for this step:

Technologies to understand before customizing your own PDF

There are some technologies that you may want to explore before starting to create your own PDF customization:

Clone this wiki locally