diff options
Diffstat (limited to 'MAT/office.py')
| -rw-r--r-- | MAT/office.py | 18 |
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\ |
| 181 | pdfrw' % self.output) | 184 | pdfrw' % 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): |
