diff --git a/src/ocrmypdf/pdfa.py b/src/ocrmypdf/pdfa.py index 10f8e224..b44765d1 100644 --- a/src/ocrmypdf/pdfa.py +++ b/src/ocrmypdf/pdfa.py @@ -121,9 +121,12 @@ def file_claims_pdfa(filename: Path): 'conformance': 'No PDF/A metadata in XMP', } valid_part_conforms = {'1a', '1b', '2a', '2b', '2u', '3a', '3b', '3u'} - conformance = f'PDF/A-{pdfmeta.pdfa_status}' + # Raw value in XMP metadata returned by pikepdf is uppercase, but ISO + # uses lower case for conformance levels. + pdfa_status_iso = pdfmeta.pdfa_status.lower() + conformance = f'PDF/A-{pdfa_status_iso}' pdfa_dict: dict[str, str | bool] = {} - if pdfmeta.pdfa_status in valid_part_conforms: + if pdfa_status_iso in valid_part_conforms: pdfa_dict['pass'] = True pdfa_dict['output'] = 'pdfa' pdfa_dict['conformance'] = conformance diff --git a/tests/test_main.py b/tests/test_main.py index c7f051b6..9ad5f8ff 100644 --- a/tests/test_main.py +++ b/tests/test_main.py @@ -801,7 +801,7 @@ def test_pdfa_n(pdfa_level, resources, outpdf): ) pdfa_info = file_claims_pdfa(outpdf) - assert pdfa_info['conformance'] == f'PDF/A-{pdfa_level}B' + assert pdfa_info['conformance'] == f'PDF/A-{pdfa_level}b' def test_decompression_bomb_error(resources, outpdf, caplog):