The majority of APIs which perform PDF generation focus on HTML-to-PDF conversion technology. This article will introduce an alternative approach to PDF generation using document preparation software called LaTeX, review its features and elaborate on its advantages (and disadvantages) in the API space.
LaTeX, which is pronounced 'Lay-tech', is a document preparation software for high-quality typesetting. It is free software popular in academic circles as it is principally used to publish scientific and technical papers. One of the reasons for its popularity is that it enables authors to write complex documents in a markup style language. However, its advantages are not limited to academia, as we will see later in this article.
LaTeX is not a word processor. Instead, LaTeX uses source files (with tex extension) where the author is encouraged to concentrate on the content instead of the design. The design rules are pre-defined using various commands, and additional configurations can be imported using macros (more commonly known as packages). The idea is that the document's layout can be handled using pre-determined typographical rules and applied throughout the document. This advantage allows users to write papers without worrying about format, knowing that the formatting and the style will be handled consistently throughout the document at a later stage.
Although LaTeX files (*.tex) can be converted into many file formats, using various converters, the most popular use is to render them into PDF files. This is done by various TeX extensions, such as pdfTex, pdfLaTeX, LuaLaTeX, XeTeX and others. The output of the PDF files is a high-quality document with consistent, defined formatting and styling due to the LaTeX markup nature.
LaTeX has been around since the 1980s and is growing in popularity, as evidenced by 6 000 000 users on online LaTeX platform Overleaf as of 2020 and its own Tex Stack Exchange Q&A community (part of the same group of websites as Stack Overflow). New packages are regularly submitted, and package distributions are maintained with regular release dates. This kind of support means new users can adopt LaTeX without much concern and create anything bespoke from client statements to invoices, contracts and other bespoke documents.
PDF documents created with LaTeX excel in the quality and the aesthetics. Instead of placing each element in the word processor document and then worrying about it shifting with additional text, LaTeX formats the PDF document according to its typesetting algorithm, which determines the optimal layout of the text and floating elements. This headache is removed from the users, allowing more focus on the content of the documents.
Price is another advantage as it is free and works on all operating systems with the correct setup. This advantage is also linked to its longevity, as documents written decades ago will still compile today. The same cannot be said about word processor documents as it is likely the same software is not available today, or the output may not be displayed in the same manner.
LaTeX separates content and formatting. Although at first, this may seem like a disadvantage, it is actually liberating to be able to focus on the content, as any developer will confirm when using a markup language instead of the traditional word processor. The consistency of the formatting which LaTeX provides throughout the document cannot be overstated.
Writing documents in LaTeX does take an investment in time as one needs to learn various commands to write in the markup language. Due to its markup property, users still need to compile the document to see the changes in the PDF file. However, once LaTeX users have invested the appropriate amount of time, many abandon the traditional word processors due to the advantages described above.
Enter DynamicDocs API developed by ADVICEment. To the best of our knowledge, this is the first API product that uses LaTeX to generate PDF documents with dynamic text, tables and charts. The template files are written on the online platform in your user account (yes, you guessed it) using LaTeX. The dynamic data used in the documents are passed in the JSON format as the body of the API call. In the template files, one can indicate where the dynamic data is placed. Tables and charts are constructed using special commands, with their input taken directly from the JSON payload. The result is the next level automated PDF generation via an API which creates great-looking documents with rule-based style and formatting.
We hope that through the use of DynamicDocs API, developers can achieve high-quality transactional PDF documents. Developers can save time by focusing their efforts on the content and let LaTeX do the heavy lifting when it comes to style and formatting. In turn, the PDF documents can improve the user experience that is lacking from the current HTML to PDF technology.