[ADD] base: split pdf merge method

To be able to extend the way different PDFs are merged together

closes odoo/odoo#27161
This commit is contained in:
Akim Juillerat
2018-09-21 14:42:18 +00:00
committed by Martin Trigaux
parent 77849703a1
commit 9cc39b77fc
+11 -8
View File
@@ -572,19 +572,22 @@ class IrActionsReport(models.Model):
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: