From c07ce878d730701783137bf8ea2c0a15f6968511 Mon Sep 17 00:00:00 2001 From: Samuele Kaplun Date: Wed, 19 Jul 2017 21:54:16 +0200 Subject: [PATCH 1/2] Fix EPS import Fixes EPS import by adding the missing "showpage" Postscript command to the end of the gs call. See: https://bugs.ghostscript.com/show_bug.cgi?id=698272 Signed-off-by: Samuele Kaplun --- PIL/EpsImagePlugin.py | 1 + Tests/images/d15-120f10.eps | Bin 0 -> 11949 bytes Tests/test_file_eps.py | 4 ++++ 3 files changed, 5 insertions(+) create mode 100644 Tests/images/d15-120f10.eps diff --git a/PIL/EpsImagePlugin.py b/PIL/EpsImagePlugin.py index 6f22308de..08110abf3 100644 --- a/PIL/EpsImagePlugin.py +++ b/PIL/EpsImagePlugin.py @@ -129,6 +129,7 @@ def Ghostscript(tile, size, fp, scale=1): "-c", "%d %d translate" % (-bbox[0], -bbox[1]), # adjust for image origin "-f", infile, # input file + "-c", "showpage", # showpage (see: https://bugs.ghostscript.com/show_bug.cgi?id=698272) ] if gs_windows_binary is not None: diff --git a/Tests/images/d15-120f10.eps b/Tests/images/d15-120f10.eps new file mode 100644 index 0000000000000000000000000000000000000000..ffda2da4149f06b9fe5de2f2728b55017d155f48 GIT binary patch literal 11949 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 E2l?Y|8vp Date: Sat, 9 Sep 2017 09:52:06 +0000 Subject: [PATCH 2/2] Added expected result, renamed images --- .../images/{d15-120f10.eps => reqd_showpage.eps} | Bin Tests/images/reqd_showpage.png | Bin 0 -> 6036 bytes Tests/test_file_eps.py | 8 +++++++- 3 files changed, 7 insertions(+), 1 deletion(-) rename Tests/images/{d15-120f10.eps => reqd_showpage.eps} (100%) create mode 100644 Tests/images/reqd_showpage.png diff --git a/Tests/images/d15-120f10.eps b/Tests/images/reqd_showpage.eps similarity index 100% rename from Tests/images/d15-120f10.eps rename to Tests/images/reqd_showpage.eps diff --git a/Tests/images/reqd_showpage.png b/Tests/images/reqd_showpage.png new file mode 100644 index 0000000000000000000000000000000000000000..b9ef86cb918142ca10d85641fb609774ebdb943d GIT binary patch literal 6036 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