Convert PDF to PDF/A in Java

JPedal converts PDF files to PDF/A-3b, the ISO archival standard, as a standard feature on every license

Convert PDF to PDF/A-3b in Java

JPedal converts an existing PDF to PDF/A-3b with a bundled sRGB output intent and no separate ICC profile to configure. If a file can't be converted, JPedal will provide a report and no PDF output is generated. Conversion is included on every JPedal license, with no separate module to buy, and runs in pure Java in your own JVM on Java 17 and above.

How to Convert PDF to PDF/A in Java

PdfA3Converter converter = new PdfA3Converter(PdfA3Converter.Level.B);
PdfA3Converter.ConversionResult result = converter.convert(new File("inputFile.pdf"), new File("outputFile.pdf"));

if (result.issues().isEmpty()) {
    // If no issues reported then file converted successfully
    // A list of changes to the file are also reported
    Set<String> changes = result.changes();
    System.out.println("Success!");
} else {
    // File was not able to convert
    System.out.println("Failure");
}

Why Convert to PDF/A

Built for Long-Term Archiving

PDF/A is an ISO-standardized subset of PDF that strips out anything that could make a document unreadable years from now: external font references (every font must be embedded), encryption, JavaScript, audio, and video. Most everyday PDFs, including ones from common office tools, fail these rules.

Targets PDF/A-3b Conformance

PDF/A-3b is the level most archives and regulators ask for, and the only part of the PDF/A family that permits embedding arbitrary files. The converter rewrites the source file to meet it directly in the JVM.

Conversion Isn't Conformance

To confirm a converted file actually passes PDF/A-3b rules, run it through a dedicated validator such as veraPDF, the PDF Association's free, open-source reference implementation. It flags exactly which rule a file fails, rather than leaving you to check visually.

Need to merge, split, sign, sanitize, or optimize a whole document too? See Process PDF Documents in Java.

JPedal has the advantage of running in the same Java virtual machine, so we save a lot of CPU resources.

- T. Büngener (Software Architect InSign)

Who else uses JPedal?

Adobe logo
Jive logo
Interwork logo
Abacus logo
DigiSigner logo
Stampli logo
Versitech logo
InSign logo

Frequently asked questions

What is the difference between PDF and PDF/A?

PDF/A is an ISO-standardized subset of PDF built for long-term archiving. It strips out anything that could make a document unreadable years from now. No external font references (every font must be embedded), no encryption, no JavaScript, no audio or video. A PDF/A file is a valid PDF, but most ordinary PDFs are not valid PDF/A.

How do I validate a PDF/A file?

Use a dedicated validator, not visual inspection. veraPDF is a free, open-source option built by the PDF Association and treated as the reference implementation for checking PDF/A conformance. It flags exactly which rule a file fails.

Does JPedal convert PDF to PDF/A?

Yes. JPedal converts PDF to PDF/A-3b as a standard feature on every license. It ships with a bundled sRGB output intent, so no separate ICC profile setup is required.

How do I convert a PDF to PDF/A in Java?

JPedal converts the file directly in the JVM. Load the source PDF, run it through JPedal’s PDF/A-3b converter, and write the result to a new file. It uses a bundled sRGB output intent, so there is no separate ICC profile to source or configure first, and conversion is included as standard on every JPedal license.

What does PDF/A-3b mean?

PDF/A comes in three parts (1, 2, and 3), each with conformance levels marked by a letter. Level B means basic conformance, the page must render exactly as intended, with no requirement for tagged structure. Level A adds full tagging for accessibility. Part 3 is the only part that permits embedding arbitrary files alongside the PDF, unlike Parts 1 and 2. PDF/A-3b combines both, embedded-file support from Part 3 and level B’s visual-only conformance, without full accessibility tagging.

JPedal is absolutely easy to use and it provided the best results of all libraries we tested over the years. We need to create renditions of PDF files so that people can view them conveniently in the browser.

- Roman K. (Developer at German Digital Big Data Platform)


Support for JPedal is done extremely well and for continuously using the software, what the customer needs is good support for the issues we face. And it is superb in that respect.

- Developer (Large Multinational Corporation)