Skip to main content
Version: v4

Office converter

This tutorial describe an example of usage of ARender to convert a Word document into a PDF. In order to do so, we are going to explore the API used to connect to the rendition server.

Configuration​

Maven configuration​

Before everything, we need to import the ARender maven dependencies that are needed for this example. In the case of a maven project, it is sufficiant to add this to the pom.xml file:

<dependency>
<groupId>com.arondor.arender</groupId>
<artifactId>arondor-arender-common</artifactId>
<version>ARender_version</version>
<type>jar</type>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>com.arondor.arender</groupId>
<artifactId>arondor-arender-client-javarmi</artifactId>
<version>ARender_version</version>
<type>jar</type>
<scope>compile</scope>
</dependency>

Document service configuration​

This first step defines the necessary information for the usage of the API. The object DocumentService encapsulate the communication between the Web-UI and the rendition server. (that can be remote)

ClientDocumentService clientDocumentService = new ClientDocumentService();
clientDocumentService.setRemoteTarget("http://rendition-server:8761/");
clientDocumentService.setMaxTries(3);

Document loading​

In order to load the document on the rendition server, we can call loadDocumentAccessor(DocumentAccessor documentAccessor) of the DocumentService interface. In this exemple, we give a documentAccessor built from an inputStream containing the content of the document.

String fileToConvertPath = "C:\ARender_User\Documents\myWordDocument.docx";
FileInputStream fileInputStream = new FileInputStream(fileToConvertPath);
DocumentAccessor documentAccessor = new DocumentAccessorByteArray(fileInputStream);
clientDocumentService.loadDocumentAccessor(documentAccessor);

Fetching the converted document​

Within a rendition server, a document can be located in different states. In this example, the states that interest us are:

Initial: Corresponds to the document pushed in its initial state, without treatment from the rendition server.

Rendered: Correspond to the document once it has been converted/processed by the rendition server, this is the document we want to fetch. Therefore, different accessors, implementing the interface DocumentAccessor, are stored allowing to access different states of a same document. The enumration DocumentAccessorSelector allows to fetch the appropriate DocuementAccessor.

DocumentAccessor renderedDocumentAccessor = clientDocumentService.getDocumentAccessor(documentAccessor.getUUID(),DocumentAccessorSelector.RENDERED);
InputStream pdfDocumentInputStream = renderedDocumentAccessor.getInputStream();