summaryrefslogtreecommitdiff
path: root/MAT/office.py
diff options
context:
space:
mode:
Diffstat (limited to 'MAT/office.py')
-rw-r--r--MAT/office.py18
1 files changed, 11 insertions, 7 deletions
diff --git a/MAT/office.py b/MAT/office.py
index d14125b..190a6d4 100644
--- a/MAT/office.py
+++ b/MAT/office.py
@@ -107,8 +107,9 @@ class OpenDocumentStripper(archive.GenericArchiveStripper):
107 try: 107 try:
108 zipin.getinfo('meta.xml') 108 zipin.getinfo('meta.xml')
109 except KeyError: # no meta.xml in the file 109 except KeyError: # no meta.xml in the file
110 kwargs = {'backup':self.backup, 'add2archive':self.add2archive}
110 czf = archive.ZipStripper(self.filename, self.parser, 111 czf = archive.ZipStripper(self.filename, self.parser,
111 'application/zip', self.backup, self.add2archive) 112 'application/zip', **kwargs)
112 if czf.is_clean(): 113 if czf.is_clean():
113 zipin.close() 114 zipin.close()
114 return True 115 return True
@@ -120,11 +121,11 @@ class PdfStripper(parser.GenericParser):
120 ''' 121 '''
121 Represent a PDF file 122 Represent a PDF file
122 ''' 123 '''
123 def __init__(self, filename, parser, mime, backup, add2archive): 124 def __init__(self, filename, parser, mime, backup, **kwargs):
124 super(PdfStripper, self).__init__(filename, parser, mime, backup, 125 super(PdfStripper, self).__init__(filename, parser, mime, backup, **kwargs)
125 add2archive)
126 uri = 'file://' + os.path.abspath(self.filename) 126 uri = 'file://' + os.path.abspath(self.filename)
127 self.password = None 127 self.password = None
128 self.quality = kwargs['low_pdf_quality']
128 self.document = poppler.document_new_from_file(uri, self.password) 129 self.document = poppler.document_new_from_file(uri, self.password)
129 self.meta_list = frozenset(['title', 'author', 'subject', 'keywords', 'creator', 130 self.meta_list = frozenset(['title', 'author', 'subject', 'keywords', 'creator',
130 'producer', 'metadata']) 131 'producer', 'metadata'])
@@ -161,7 +162,10 @@ class PdfStripper(parser.GenericParser):
161 for pagenum in xrange(self.document.get_n_pages()): 162 for pagenum in xrange(self.document.get_n_pages()):
162 page = self.document.get_page(pagenum) 163 page = self.document.get_page(pagenum)
163 context.translate(0, 0) 164 context.translate(0, 0)
164 page.render_for_printing(context) # render the page on context 165 if self.quality:
166 page.render(context) # render the page on context
167 else:
168 page.render_for_printing(context) # render the page on context
165 context.show_page() # draw context on surface 169 context.show_page() # draw context on surface
166 surface.finish() 170 surface.finish()
167 171
@@ -175,7 +179,6 @@ class PdfStripper(parser.GenericParser):
175 writer.trailer = trailer 179 writer.trailer = trailer
176 writer.write(self.output) 180 writer.write(self.output)
177 self.do_backup() 181 self.do_backup()
178 return True
179 except: 182 except:
180 print('Unable to remove all metadata from %s, please install\ 183 print('Unable to remove all metadata from %s, please install\
181pdfrw' % self.output) 184pdfrw' % self.output)
@@ -248,8 +251,9 @@ class OpenXmlStripper(archive.GenericArchiveStripper):
248 if item.startswith('docProps/'): 251 if item.startswith('docProps/'):
249 return False 252 return False
250 zipin.close() 253 zipin.close()
254 kwargs = {'backup':self.backup, 'add2archive':self.add2archive}
251 czf = archive.ZipStripper(self.filename, self.parser, 255 czf = archive.ZipStripper(self.filename, self.parser,
252 'application/zip', self.backup, self.add2archive) 256 'application/zip', **kwargs)
253 return czf.is_clean() 257 return czf.is_clean()
254 258
255 def get_meta(self): 259 def get_meta(self):