From 568b258c435909d5a4cc8cee6cc61a2b0ab89f88 Mon Sep 17 00:00:00 2001 From: jbm-odoo Date: Wed, 26 Feb 2020 16:03:28 +0000 Subject: [PATCH] [IMP] tools: rotate PDF Task ID 1251 closes odoo/odoo#45764 Related: odoo/enterprise#8569 Signed-off-by: Yannick Tivisse (yti) --- odoo/tools/pdf.py | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/odoo/tools/pdf.py b/odoo/tools/pdf.py index 85e4005e69e..cab601639e3 100644 --- a/odoo/tools/pdf.py +++ b/odoo/tools/pdf.py @@ -19,3 +19,21 @@ def merge_pdf(pdf_data): merged_pdf = _buffer.getvalue() _buffer.close() return merged_pdf + + +def rotate_pdf(pdf): + ''' Rotate clockwise PDF (90°) + :param pdf: a PDF to rotate + :return: a PDF rotated + ''' + writer = PdfFileWriter() + reader = PdfFileReader(io.BytesIO(pdf), strict=False) + for page in range(0, reader.getNumPages()): + page = reader.getPage(page) + page.rotateClockwise(90) + writer.addPage(page) + _buffer = io.BytesIO() + writer.write(_buffer) + out_pdf = _buffer.getvalue() + _buffer.close() + return out_pdf