Skip to content

Consistency of verapdf --list #1573

@Reissner

Description

@Reissner

Currently, the result of verapdf --list is

veraPDF supported PDF/A and PDF/UA profiles:
  1a - PDF/A-1A validation profile
  1b - PDF/A-1B validation profile
  2a - PDF/A-2A validation profile
  2b - PDF/A-2B validation profile
  2u - PDF/A-2U validation profile
  3a - PDF/A-3A validation profile
  3b - PDF/A-3B validation profile
  3u - PDF/A-3U validation profile
  4 - PDF/A-4 validation profile
  4f - PDF/A-4F validation profile
  4e - PDF/A-4E validation profile
  ua1 - PDF/UA-1 validation profile
  ua2 - PDF/UA-2 + Tagged PDF validation profile
  wt1r - WTPDF 1.0 Reuse validation profile
  wt1a - WTPDF 1.0 Accessibility validation profile

I am sure that this has developpend evolutionary.
First, only PDF/A was supported only,
thus the norms are not called a-1b or accordingly, but just 1b.
Then PDF/UA was added and now one cannot just display 1 and 2,
but one must display ua1 and ua2.
But then it would be consequet, to display a1b and that like.
Then came the wt standards.
Still the headline is

veraPDF supported PDF/A and PDF/UA profiles:

not taking wt standards into account.

I would prefer just the form a-1b, ua-1 and wt-1r.

I am a bit a stakeholder:
I am writing a build tool now including checks via verapdf also.
It is mandatory to warn the user if the tool is not able to verify a specified standard.
This can be a PDF/X standard or it can be a new standard, hypothetical PDF/A-5x
with outdated verapdf.

If I implement a check independent of verapdf, this is badly maintainable.
Thus, at best I ask verapdf for the standards it supports.
This is almost realized by verapdf --list; the only problem is,
that this is too inhomogeneous.

For the time to be, I will parse each line, match against the regular expression

PDF/(?<sig>[A-Z]+-[0-9]+[A-Z]*)

and the signature is then the standard verapdf can verify.
But I am not sure whether this is kept stable. I doubt a bit.

Metadata

Metadata

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions