diff options
| author | jbm-odoo <jbm@odoo.com> | 2020-02-26 16:03:28 +0000 |
|---|---|---|
| committer | Yannick Tivisse <yti@odoo.com> | 2020-03-11 09:57:55 +0000 |
| commit | 568b258c435909d5a4cc8cee6cc61a2b0ab89f88 (patch) | |
| tree | ab4dcbb0757f8eeba4b697206bbb1d3e580616ca /odoo/tools/pdf.py | |
| parent | c4c2430807cba6f99af54f880bf0128440e8fa75 (diff) | |
[IMP] tools: rotate PDF
Task ID 1251
closes odoo/odoo#45764
Related: odoo/enterprise#8569
Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>
Diffstat (limited to 'odoo/tools/pdf.py')
| -rw-r--r-- | odoo/tools/pdf.py | 18 |
1 files changed, 18 insertions, 0 deletions
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 |
