module HexaPDF::Task::PDFA

Task for creating a PDF/A compliant document.

It automatically

  • prevents the Standard 14 PDF fonts to be used.

  • adds an appropriate output intent if none is set.

  • adds the necessary PDF/A metadata properties.

Additionally, it applies fixes to the document so that the structures and content of non-conforming PDFs are corrected. See ::call for more information on the available fixes.

Note that you should use a PDF/A validation tool like veraPDF (verapdf.org/) to ensure that the resulting files confirm to the PDF/A specification because not all documents can be fixed at the moment.

Public Class Methods

call(doc, level: '3u', fixes: :default)

Performs the necessary tasks to make the document PDF/A compatible.

level

Specifies the PDF/A conformance level that should be used. Can be one of the following strings: 2b, 2u, 3b, 3u.

fixes

Specifies the fixes that should be applied when converting a non-conforming PDF. If a document is created with HexaPDF but also includes parts of loaded documents, this argument hast to be set to :all.

Can be :default (which is also the default value), :all or an array with one or more fix names.

:default

Applies all fixes if the document was loaded from a file. Otherwise applies

only those fixes necessary for files created with HexaPDF.

:all: Applies all available fixes.

:glyph_widths

Corrects mismatching width information in fonts.