From 23ac6054e8b1e89947ac4f0579f177a88a62b887 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Sat, 15 Sep 2018 06:57:37 +0530 Subject: [PATCH] PDF Output: Fix an error that could occur in rare circumstances when using the option to read page margins from the input document Fixes #1792616 [conversion from ePub to PDF fails](https://bugs.launchpad.net/calibre/+bug/1792616) --- src/calibre/ebooks/conversion/plugins/pdf_output.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/calibre/ebooks/conversion/plugins/pdf_output.py b/src/calibre/ebooks/conversion/plugins/pdf_output.py index be9a69fd42..d797c5ffc7 100644 --- a/src/calibre/ebooks/conversion/plugins/pdf_output.py +++ b/src/calibre/ebooks/conversion/plugins/pdf_output.py @@ -260,9 +260,10 @@ class PDFOutput(OutputFormatPlugin): import json for href, margins in self.stored_page_margins.iteritems(): item = oeb_book.manifest.hrefs.get(href) - root = item.data - if hasattr(root, 'xpath') and margins: - root.set('data-calibre-pdf-output-page-margins', json.dumps(margins)) + if item is not None: + root = item.data + if hasattr(root, 'xpath') and margins: + root.set('data-calibre-pdf-output-page-margins', json.dumps(margins)) with TemporaryDirectory('_pdf_out') as oeb_dir: from calibre.customize.ui import plugin_for_output_format