PDF to PDF/A-2b conversion has incorrect glyph width info

Hi

I’m converting a PDF to PDF/A-2b, but it ends up with incorrect glyph width information, causing the letters to be spaced too far from each other.

The same error occurs in these cases:
PDF to PDF/A-1b
PDF/A-1b version of this file to PDF/A-2b
PDF/A-1b to PDF/A-2b (might not be a useful conversion, but still).

I also get a validation error from veraPDF (https://verapdf.org/), the PDF/A validation library that we use.

Here’s one of the validation errors (there are 13 of these in total):

VeraPDFValidation(ruleId=RuleId(specification=ISO 19005-2:2011, clause=6.2.11.5, testNumber=1), message=For every font embedded in a conforming file and used for rendering, the glyph width information in the font dictionary and in the embedded font program shall be consistent., location=Location(level=CosDocument, context=root/document[0]/pages[0](3 0 obj PDPage)/contentStream[0](11 0 obj PDContentStream)/operators[11]/usedGlyphs[0](LVOMWA+000aa1+Arial LVOMWA+000aa1+Arial 1 0  0)))

Here’s the conversion code (kotlin):

val pdfOptions = PdfOptions()
pdfOptions.pdfFormat = PdfFormats.PdfA_2B

val convertOptions = PdfConvertOptions()
convertOptions.format = PdfFileType.Pdf
convertOptions.pdfOptions = pdfOptions

val byteArrayInputStream = { ByteArrayInputStream(documentFromUrl) }
val converter = Converter(byteArrayInputStream)

val pdfOutputStream = ByteArrayOutputStream()
val pdf = { pdfOutputStream }
converter.convert(pdf, convertOptions)

We are using Groupdocs.Conversion 24.6 (java).

I have attached the input pdf in PDF 1.6 format w/embedded fonts, and the resulting PDF/A-2b.
input_pdf_16.pdf (9.6 KB)

result_pdfa2b.pdf (9.9 KB)

@clekroken
We have opened the following new ticket(s) in our internal issue tracking system and will deliver their fixes according to the terms mentioned in Free Support Policies.

Issue ID(s): CONVERSIONJAVA-2458

You can obtain Paid Support Services if you need support on a priority basis, along with the direct access to our Paid Support management team.