API quick guide

API quick guide

Introduction

Each new version of javadocx adds features and methods to the library. After years of continuous development, the whole of the public API methods has reached such a huge number that it demands a certain knowledge to get through it.

This section summarizes the methods according to its practical utility. The complete list of methods can be found on the API documentation page.

Contents

The group of elements meant to insert new contents is one of the most extensives. Thanks to these methods it is possible to add:

The combined use of these methods, along with the WordFragment flexibility, is the base to add contents in new documents and templates. Each method includes styling options and lots of customizing features.

Templates

The available methods aimed to work with templates allow to replace placeholders, strings and values in lists and tables, as well as more complex operations like replacing contents as a whole or inserting new elements in any place of the main document whatsoever.

These are the methods for replacing placeholders:

DOCXPath comes with two replacing and inserting methods that offer even more flexibility: replaceWordContent, that replaces a content by a WordFragment, and insertWordFragment, to insert a WordFragment before or after an existing content.

Other methods to modify values in documents are:

Styles

Besides the styling options found on the content methods, it is also possible to create custom styles with the following ones:

In case of needing to import custom styles from existing DOCX instead of creating them dinamically, the next method can do the task: importStyles.

Lastly, the customizeWordContent method can change existing styles of a document on the fly.

Layouts

The group of methods that define and customize the layout of a document is divided between the ones that assign global and particular properties (addProperties, docxSettings), add and modify line numbering (setLineNumbering), insert colors and borders (addPageBorders and setBackgroundColor), establish paper type, size and margins (modifyPageLayout) and apply rtl languages (setRTL).

Images and shapes

Images can be added to a document with addImage or as a background with the help of addBackgroundImage and watermarkDocx.

On the other hand, shapes are added by calling the addShape method.

Charts

The addChart method allows to place graphs by setting multiple parameters to define their properties, styles, generate combo charts, trend lines and many more options.

Math equations

MathML is a standard format to work with maths equations. MS Word uses OMML as its equations language.

javadocx includes addMathEquation to convert MathML equations to OMML, and transformOMMLToMathML for the opposite operation.

Get information

It is possible to obtain information of a document and its content thanks to several methods:

Blocks

Blocks allow to demarcate content groups that can be deleted with deleteTemplateBlock or cloned with cloneBlock. To clean blocks placeholders, use clearBlocks.

HTML and CSS

The way to transform HTML and CSS to Word is by using the method embedHtml. For templates, the required method is replaceVariableByHTML.

Document transformations

With the help of the available methods it is possible to convert from DOCX to PDF through transformDocument.

Performance

Optimum performance when generating a DOCX can be achieved with the stream mode, which doesn't generate documents in the file system but in memory, which returns them directly as a stream.

Headers, footers and sections

The available methods to work with sections allow to create new ones (addSection) and delete them (removeSection).

It is also feasible to merge several documents while retaining its contents with mergeDocx.

The addHeader and addFooter methods add headers and footers respectively.

PDF

It is viable either to merge PDF documents with mergePDF, to divide them by pages with splitPDF or to remove pages using removePages.

transformDocument, a method included with the conversion plugin, transforms document formats as DOCX, ODT, RTF and others to PDF while keeping styles and contents, as long as the format grants it.

encryptPDF method encrypt PDF documents.

Finally, watermarkPdf adds texts and images as document watermarks.

Remove, move and clone contents

To move or clone contents in templates or documents created from scratch, DOCXPath provides two powerful methods: cloneWordContent, which clone contents, and moveWordContent, which move them.

If it is necessary to delete contents, the following methods are ready for use:

WordML

In case of need of inserting some OOXML directly on a document, it is possible to use addWordML or replace a placeholder with replaceVariableByWordML.