From 44f47fba216bf7927897d5bdfc0d9fdd1d946cdf Mon Sep 17 00:00:00 2001 From: "James R. Barlow" Date: Wed, 3 Aug 2016 02:57:25 -0700 Subject: [PATCH] PDF/A: handle case of no XMP metadata gracefully --- ocrmypdf/pdfa.py | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/ocrmypdf/pdfa.py b/ocrmypdf/pdfa.py index fd773b68..a58839b7 100644 --- a/ocrmypdf/pdfa.py +++ b/ocrmypdf/pdfa.py @@ -130,9 +130,12 @@ def file_claims_pdfa(filename): pdf = pypdf.PdfFileReader(filename) xmp = pdf.getXmpMetadata() - pdfa_nodes = xmp.getNodesInNamespace( - aboutUri='', - namespace='http://www.aiim.org/pdfa/ns/id/') + try: + pdfa_nodes = xmp.getNodesInNamespace( + aboutUri='', + namespace='http://www.aiim.org/pdfa/ns/id/') + except AttributeError: + return {'pass': False, 'output': 'pdf', 'message': 'No XMP metadata'} pdfa_dict = {attr.localName: attr.value for attr in pdfa_nodes} pdfa_dict['pass'] = False