[FIX] Fix Watermark from PNG

pull/236/head
etobella 2017-06-20 11:23:36 +02:00 committed by Pedro M. Baeza
parent 3eb0a9dd58
commit 948b01b92f
2 changed files with 9 additions and 1 deletions

View File

@ -4,7 +4,8 @@
{ {
"name": "Pdf watermark", "name": "Pdf watermark",
"version": "10.0.1.0.0", "version": "10.0.1.0.0",
"author": "Therp BV,Odoo Community Association (OCA)", "author": "Therp BV, "
"Odoo Community Association (OCA)",
"license": "AGPL-3", "license": "AGPL-3",
"category": "Reporting", "category": "Reporting",
"summary": "Add watermarks to your QWEB PDF reports", "summary": "Add watermarks to your QWEB PDF reports",

View File

@ -8,6 +8,12 @@ from pyPdf.utils import PdfReadError
from PIL import Image from PIL import Image
from StringIO import StringIO from StringIO import StringIO
from odoo import api, models, tools 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__) logger = getLogger(__name__)
@ -40,6 +46,7 @@ class Report(models.Model):
except PdfReadError: except PdfReadError:
# let's see if we can convert this with pillow # let's see if we can convert this with pillow
try: try:
Image.init()
image = Image.open(StringIO(watermark)) image = Image.open(StringIO(watermark))
pdf_buffer = StringIO() pdf_buffer = StringIO()
if image.mode != 'RGB': if image.mode != 'RGB':