diff --git a/.travis.yml b/.travis.yml index fd7bbfc6..5337bc3f 100644 --- a/.travis.yml +++ b/.travis.yml @@ -3,9 +3,17 @@ cache: pip addons: apt: + sources: + - pov-wkhtmltopdf packages: - expect-dev # provides unbuffer utility - python-lxml # because pip installation is slow + - wkhtmltopdf # only add if needed and check the before_install section below + +# set up an X server to run wkhtmltopdf. +before_install: + - "export DISPLAY=:99.0" + - "sh -e /etc/init.d/xvfb start" language: python 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':