From 1986d55cedd2a6190025dc997df6a93ab34937ea Mon Sep 17 00:00:00 2001 From: etobella Date: Tue, 20 Jun 2017 11:23:36 +0200 Subject: [PATCH] [FIX] Fix Watermark from PNG --- report_qweb_pdf_watermark/__manifest__.py | 3 ++- report_qweb_pdf_watermark/models/report.py | 7 +++++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/report_qweb_pdf_watermark/__manifest__.py b/report_qweb_pdf_watermark/__manifest__.py index e6e779d4..95b4c536 100644 --- a/report_qweb_pdf_watermark/__manifest__.py +++ b/report_qweb_pdf_watermark/__manifest__.py @@ -4,7 +4,8 @@ { "name": "Pdf watermark", "version": "10.0.1.0.0", - "author": "Therp BV,Odoo Community Association (OCA)", + "author": "Therp BV, " + "Odoo Community Association (OCA)", "license": "AGPL-3", "category": "Reporting", "summary": "Add watermarks to your QWEB PDF reports", diff --git a/report_qweb_pdf_watermark/models/report.py b/report_qweb_pdf_watermark/models/report.py index 5125cd3c..82d0d311 100644 --- a/report_qweb_pdf_watermark/models/report.py +++ b/report_qweb_pdf_watermark/models/report.py @@ -8,6 +8,12 @@ from pyPdf.utils import PdfReadError from PIL import Image from StringIO import StringIO from odoo import api, models, tools +from PIL import PdfImagePlugin # flake8: noqa + +# PdfImagePlugin must be loaded in order to work PNG to PDF transformation +# This issue is related to Pillow creation, as can be seen in its source code: +# https://github.com/python-pillow/Pillow/blob/master/PIL/PdfImagePlugin.py + logger = getLogger(__name__) @@ -40,6 +46,7 @@ class Report(models.Model): except PdfReadError: # let's see if we can convert this with pillow try: + Image.init() image = Image.open(StringIO(watermark)) pdf_buffer = StringIO() if image.mode != 'RGB':