Publishing DITA content to PDF
The second most common question we get about DITA-based systems is “How do we publish nice-looking PDFs?” (First, by far, is “How do we migrate our content into DITA?”)
DITA Open Toolkit
First up is the DITA Open Toolkit (DITA-OT). The DITA-OT is the first possibility most people encounter as they move content into DITA and start looking for PDF output. But the default output from the DITA-OT is astoundingly unattractive, which led to DITA having a reputation for producing terrible PDF.
Configuration requires an understanding of the DITA Open Toolkit, along with XSLT and XSL-FO. It is not for the faint of heart. (We have a DITA-OT class, which covers best practices for HTML output. PDF requires additional knowledge.)
With that said, the DITA-OT includes the open-source FOP rendering engine for PDF. If you need a pure open-source solution, this might be a good option, especially if you can live with FOP’s limitations.
Most of our PDF plugins use the DITA-OT with the Antenna House rendering engine, which provides features beyond FOP, especially for multilingual support and finer control over page layout.
CSS solutions
Faced with the prospect of learning Ant, XSLT, FO, and the intricacies of the DITA-OT, CSS-based solutions look appealing. Vendor-based CSS solutions include the “native PDF generator” in AEM Guides, Prince in Heretto, and PDF Chemistry in oXygen.
Other commercial solutions
If you want to avoid coding entirely, consider third-party commercial solutions, such as Miramo or Typefi. Miramo is a low-code/no-code solution for PDF output. Typefi lets you ingest DITA content and render it via InDesign.
Publishing in a different tech stack
Instead of exporting DITA to PDF, you can consider an intermediate step in Markdown or another language. Once you have Markdown files, for example, you can use Markdown-to-PDF systems.
PDF on demand
Some organizations let customers build their own content collections and then generate PDF for the collection. This is typically done inside a content delivery portal.
Others receiving votes
We have built custom DITA to InDesign plugins to support PDF output, and there are other commercial frameworks in this space. I’ve seen custom Python and perl-based processing to create PDF.
You can render DITA in FrameMaker and get to PDF.
You can save DITA to Word and then get to PDF (although we really do not recommend this option).
XPP is an option for high-volume, complex PDF.
Which solution is right for me?
It all depends on the amount of content you’re producing, the number of languages you need to support, your specific formatting requirements, the level of fit and finish required, your tolerance for learning new technologies, and so on.
Contact us to find out more.
"*" indicates required fields