From 69f8e92105660f92138af1924293d9ba724f8c53 Mon Sep 17 00:00:00 2001 From: EduardoSFReis Date: Mon, 16 Dec 2024 10:15:12 -0300 Subject: [PATCH] Add pdf_bytes Returns pdf as ByteArray --- pyreportjasper/pyreportjasper.py | 8 +++++--- pyreportjasper/report.py | 5 +++++ 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/pyreportjasper/pyreportjasper.py b/pyreportjasper/pyreportjasper.py index 7966e31..79ee54a 100644 --- a/pyreportjasper/pyreportjasper.py +++ b/pyreportjasper/pyreportjasper.py @@ -37,7 +37,8 @@ class PyReportJasper: 'csv_meta', 'ods', 'pptx', - 'jrprint' + 'jrprint', + 'pdf_bytes' ) METHODS = ('GET', 'POST', 'PUT') @@ -164,6 +165,7 @@ def process_report(self): try: formats_functions = { 'pdf': report.export_pdf, + 'pdf_bytes': report.export_pdf_bytes, 'html': report.export_html, 'rtf': report.export_rtf, 'docx': report.export_docx, @@ -181,7 +183,7 @@ def process_report(self): for f in self.config.outputFormats: export_function = formats_functions.get(f) if export_function: - export_function() + data = export_function() else: raise NameError("Error output format {} not implemented!".format(f)) except Exception as ex: @@ -192,7 +194,7 @@ def process_report(self): error = NameError('Error: not a file: {}'.format(self.config.input)) if error: raise error - return True + return data def list_report_params(self): report = Report(self.config, self.config.input) diff --git a/pyreportjasper/report.py b/pyreportjasper/report.py index 86114c9..04218f7 100644 --- a/pyreportjasper/report.py +++ b/pyreportjasper/report.py @@ -368,6 +368,11 @@ def fetch_pdf_report(self): res = self.String(output_stream_pdf.toByteArray(), 'UTF-8') return bytes(str(res), 'UTF-8') + def export_pdf_bytes(self): + output_stream_pdf = self.get_output_stream_pdf() + pdf_bytes = output_stream_pdf.toByteArray() + return pdf_bytes + def export_pdf(self): output_stream = self.get_output_stream('.pdf') output_stream_pdf = self.get_output_stream_pdf()