Skip to content

Commit

Permalink
[ADD] base: split pdf merge method
Browse files Browse the repository at this point in the history
To be able to extend the way different PDFs are merged together
  • Loading branch information
grindtildeath authored and mart-e committed Sep 21, 2018
1 parent 7784970 commit 4a42a24
Showing 1 changed file with 11 additions and 8 deletions.
19 changes: 11 additions & 8 deletions odoo/addons/base/models/ir_actions_report.py
Expand Up @@ -572,19 +572,22 @@ def close_streams(streams):
if len(streams) == 1:
result = streams[0].getvalue()
else:
writer = PdfFileWriter()
for stream in streams:
reader = PdfFileReader(stream)
writer.appendPagesFromReader(reader)
result_stream = io.BytesIO()
streams.append(result_stream)
writer.write(result_stream)
result = result_stream.getvalue()
result = self._merge_pdfs(streams)

# We have to close the streams after PdfFileWriter's call to write()
close_streams(streams)
return result

def _merge_pdfs(self, streams):
writer = PdfFileWriter()
for stream in streams:
reader = PdfFileReader(stream)
writer.appendPagesFromReader(reader)
result_stream = io.BytesIO()
streams.append(result_stream)
writer.write(result_stream)
return result_stream.getvalue()

@api.multi
def render_qweb_pdf(self, res_ids=None, data=None):
if not data:
Expand Down

0 comments on commit 4a42a24

Please sign in to comment.