diff --git a/src/calibre/ebooks/metadata/pdf.py b/src/calibre/ebooks/metadata/pdf.py index ab40c5d80c..47df33c415 100644 --- a/src/calibre/ebooks/metadata/pdf.py +++ b/src/calibre/ebooks/metadata/pdf.py @@ -61,14 +61,14 @@ def read_info(outputdir, get_cover): try: raw = subprocess.check_output([pdfinfo, '-meta', 'src.pdf']).strip() except subprocess.CalledProcessError as e: - prints('pdfinfo errored out with return code: %d'%e.returncode) - - parts = re.split(br'^Metadata:', raw, 1, flags=re.MULTILINE) - if len(parts) > 1: - # old poppler < 0.47.0 - ans['xmp_metadata'] = parts[1] - elif raw: - ans['xmp_metadata'] = raw + prints('pdfinfo failed to read XML metadata with return code: %d'%e.returncode) + else: + parts = re.split(br'^Metadata:', raw, 1, flags=re.MULTILINE) + if len(parts) > 1: + # old poppler < 0.47.0 + raw = parts[1].strip() + if raw: + ans['xmp_metadata'] = raw if get_cover: try: