diff options
| author | Gertjan van den Burg <gertjanvandenburg@gmail.com> | 2020-05-24 20:50:17 +0100 |
|---|---|---|
| committer | Gertjan van den Burg <gertjanvandenburg@gmail.com> | 2020-05-24 20:50:17 +0100 |
| commit | 17a1e7392e0d08bf820252b90ee3509e59ff4bbf (patch) | |
| tree | 8a6ea11fe192bf575c3673c9cd164b5c40beca6e | |
| parent | Add test for pdf reading issue (diff) | |
| download | paper2remarkable-17a1e7392e0d08bf820252b90ee3509e59ff4bbf.tar.gz paper2remarkable-17a1e7392e0d08bf820252b90ee3509e59ff4bbf.zip | |
Always rewrite pdfs with GhostScript as a cleaning step
| -rw-r--r-- | paper2remarkable/providers/_base.py | 17 |
1 files changed, 10 insertions, 7 deletions
diff --git a/paper2remarkable/providers/_base.py b/paper2remarkable/providers/_base.py index 5ca3588..1625432 100644 --- a/paper2remarkable/providers/_base.py +++ b/paper2remarkable/providers/_base.py @@ -71,14 +71,13 @@ class Provider(metaclass=abc.ABCMeta): logger.disable() # Define the operations to run on the pdf. Providers can add others. - if no_crop: - self.operations = [] - elif center: - self.operations = [("center", self.center_pdf)] + self.operations = [("rewrite", self.rewrite_pdf)] + if center: + self.operations.append(("center", self.center_pdf)) elif right: - self.operations = [("right", self.right_pdf)] + self.operations.append(("right", self.right_pdf)) else: - self.operations = [("crop", self.crop_pdf)] + self.operations.append(("crop", self.crop_pdf)) if blank: self.operations.append(("blank", blank_pdf)) @@ -131,11 +130,14 @@ class Provider(metaclass=abc.ABCMeta): "%s failed to compress the PDF file." % self.pdftool ) - def rewrite_pdf(self, in_pdf, out_pdf): + def rewrite_pdf(self, in_pdf, out_pdf=None): """ Re-write the pdf using Ghostscript This helps avoid issues in dearxiv due to nested pdfs. """ + if out_pdf is None: + out_pdf = os.path.splitext(in_pdf)[0] + "-rewrite.pdf" + status = subprocess.call( [ self.gs_path, @@ -150,6 +152,7 @@ class Provider(metaclass=abc.ABCMeta): raise _CalledProcessError( "Failed to rewrite the pdf with GhostScript" ) + return out_pdf def uncompress_pdf(self, in_pdf, out_pdf): """ Uncompress a pdf file """ |
