Converting a document from DOCX to PDF/UA format

In today’s business environment, Microsoft Word documents (DOCX) are fundamental tools for creating, editing, and sharing textual content. However, Word files aren’t always ideal for final distribution or preservation, especially when accessibility is a requirement. That’s where DOCX-to-PDF/UA conversion becomes essential for maintaining document integrity and ensuring universal accessibility.

PDF/UA (PDF/Universal Accessibility) is an ISO standard (ISO 14289) that defines requirements for universally accessible PDF documents. It ensures PDFs are fully accessible to users with disabilities, including those using assistive technologies like screen readers.

PDFs preserve the exact layout, formatting, and styling of the original Word document, regardless of the device, software, or operating system used to view it. This eliminates formatting discrepancies that can occur when recipients open DOCX files with different versions of Word or alternative word processing software.

For organizations that must retain records for compliance, legal, or archival purposes, PDFs offer a stable, long-term storage format that meets industry standards. Converting Word documents to PDF ensures critical content is preserved in a tamper-proof form that maintains its original appearance over time.

Streamlining document workflows with our Java SDK

What makes this feature even more valuable is how effortlessly it can be implemented using our SDK. With just a few lines of code, developers can integrate DOCX-to-PDF conversion directly into their applications, eliminating the need for external tools or complex setups. Whether you’re building a document processing pipeline or adding export functionality to a web application, our SDK delivers a reliable and efficient solution right out of the box.

Preparing the project

Start by specifying a package name and create a new class named after what you’re going to do:

package io.nutrient.Sample;

The next step is to import Nutrient Java SDK. It’s recommended to specify the actual classes used, but using a wildcard for including everything is also possible:

import io.nutrient.sdk.*;
import io.nutrient.sdk.exceptions.NutrientException;
import io.nutrient.sdk.enums.PdfConformance;
public class WordDocumentToPDFUA
{

Then create the main function and specify that it can throw a NutrientException. This exception could also be caught in the program logic for custom error management, but this is left as an exercise for the reader:

public static void main(String[] args) throws NutrientException
{

Once the inherent setup from a Java application is done, focus on what’s specific to our SDK.

The first step is to initialize the SDK by registering the license. This needs to be done only once during the application’s lifetime and must occur before executing any additional logic:

License.registerKey("");

Proceeding with the conversion

With the SDK successfully initialized, you can begin working with the classes it offers. This guide concentrates on the Document class. You can initialize Document using a try-with-resources statement(opens in a new tab), which ensures proper lifecycle management of the document instance.

The SDK supports multiple integration methods, enabling flexibility in how you connect with your application. The source file can be specified either via a file path or a stream. This guide uses a file path as the source:

try (Document document = Document.open("input.docx"))
{
// Configure PDF settings for PDF/UA conformance.
PdfSettings pdfSettings = document.getPdfSettings();
pdfSettings.setConformance(PdfConformance.PDF_UA_1);

Once the file is loaded into memory, you can perform various operations on it. For a complete list of available functionalities, refer to the API reference.

Your goal is to export this document to PDF/UA format. The SDK makes it straightforward to ensure accessibility compliance by setting the PDF conformance level. Just like when opening the DOCX file, where you could choose between using a file path or a stream, the saving functionality offers the same flexibility. In this case, you’ll save the PDF/UA as output.pdf in the application’s working directory:

document.exportAsPdf("output.pdf");
}
}
}

That’s it! You now have a PDF/UA-compliant file that meets accessibility standards.

Error handling

Nutrient Java SDK handles errors with exception handling. Both methods presented in this guide throw a NutrientException in case of failure. This helps with troubleshooting and implementing error handling logic.

Conclusion

That’s all it takes to convert a DOCX document into a PDF/UA compliant file! The PDF/UA format ensures your documents are accessible to all users, including those with disabilities. You can also download this ready-to-use sample package, fully configured to help you dive into the Java SDK and explore seamless accessible file format conversion.