summaryrefslogtreecommitdiff
path: root/odoo/tools
diff options
context:
space:
mode:
authorjbm-odoo <jbm@odoo.com>2020-02-26 16:03:28 +0000
committerYannick Tivisse <yti@odoo.com>2020-03-11 09:57:55 +0000
commit568b258c435909d5a4cc8cee6cc61a2b0ab89f88 (patch)
treeab4dcbb0757f8eeba4b697206bbb1d3e580616ca /odoo/tools
parentc4c2430807cba6f99af54f880bf0128440e8fa75 (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')
-rw-r--r--odoo/tools/pdf.py18
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