pdfstrip.py: skip empty pages master
authorAntonio Ospite <ao2@ao2.it>
Wed, 22 Sep 2021 20:17:12 +0000 (22:17 +0200)
committerAntonio Ospite <ao2@ao2.it>
Wed, 22 Sep 2021 20:17:12 +0000 (22:17 +0200)
Skip empty pages and keep going, this fixes processing some PDF files
that have placeholder pages.

pdfstrip.py

index 006eefc..dd212ff 100755 (executable)
@@ -38,6 +38,10 @@ def strip_objects(pdf, objects_ids):
     for i, page in enumerate(pdf.pages):
         logger.debug("Page %d", i + 1)
 
     for i, page in enumerate(pdf.pages):
         logger.debug("Page %d", i + 1)
 
+        # skip empty pages
+        if not page.Resources.XObject:
+            continue
+
         # Map all the objects in the page using the objects id as the key and
         # the resource name as the value.
         name_map = {indirect_obj.indirect[0]: name for name, indirect_obj in page.Resources.XObject.items()}
         # Map all the objects in the page using the objects id as the key and
         # the resource name as the value.
         name_map = {indirect_obj.indirect[0]: name for name, indirect_obj in page.Resources.XObject.items()}