summaryrefslogtreecommitdiff
path: root/src/pdf.py
diff options
context:
space:
mode:
Diffstat (limited to 'src/pdf.py')
-rw-r--r--src/pdf.py9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/pdf.py b/src/pdf.py
index 6e639cd..3ba3d4a 100644
--- a/src/pdf.py
+++ b/src/pdf.py
@@ -11,7 +11,7 @@ import io
11import cairo 11import cairo
12import gi 12import gi
13gi.require_version('Poppler', '0.18') 13gi.require_version('Poppler', '0.18')
14from gi.repository import Poppler 14from gi.repository import Poppler, GLib
15 15
16from . import abstract 16from . import abstract
17 17
@@ -28,6 +28,10 @@ class PDFParser(abstract.AbstractParser):
28 super().__init__(filename) 28 super().__init__(filename)
29 self.uri = 'file://' + os.path.abspath(self.filename) 29 self.uri = 'file://' + os.path.abspath(self.filename)
30 self.__scale = 2 # how much precision do we want for the render 30 self.__scale = 2 # how much precision do we want for the render
31 try: # Check now that the file is valid, to avoid surprises later
32 Poppler.Document.new_from_file(self.uri, None)
33 except GLib.GError: # Invalid PDF
34 raise ValueError
31 35
32 def remove_all_lightweight(self): 36 def remove_all_lightweight(self):
33 """ 37 """
@@ -116,8 +120,9 @@ class PDFParser(abstract.AbstractParser):
116 def get_meta(self): 120 def get_meta(self):
117 """ Return a dict with all the meta of the file 121 """ Return a dict with all the meta of the file
118 """ 122 """
119 document = Poppler.Document.new_from_file(self.uri, None)
120 metadata = {} 123 metadata = {}
124 document = Poppler.Document.new_from_file(self.uri, None)
125
121 for key in self.meta_list: 126 for key in self.meta_list:
122 if document.get_property(key): 127 if document.get_property(key):
123 metadata[key] = document.get_property(key) 128 metadata[key] = document.get_property(key)