[FIX] Fix Watermark from PNG
parent
5df8064fc0
commit
6dacecae08
|
@ -3,9 +3,17 @@ cache: pip
|
||||||
|
|
||||||
addons:
|
addons:
|
||||||
apt:
|
apt:
|
||||||
|
sources:
|
||||||
|
- pov-wkhtmltopdf
|
||||||
packages:
|
packages:
|
||||||
- expect-dev # provides unbuffer utility
|
- expect-dev # provides unbuffer utility
|
||||||
- python-lxml # because pip installation is slow
|
- 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
|
language: python
|
||||||
|
|
||||||
|
|
|
@ -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",
|
||||||
|
|
|
@ -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':
|
||||||
|
|
Loading…
Reference in New Issue