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