In my opinion, just create a Python application, then import your PDF template design using Jasper report, transfer your data using parameters instead of fields and you will get the PDF as the result. Firstly, design a template using Jasper Report Studio. You will get the jrxml file. Secondly, for the import template to the Python application, I found this: https://pypi.org/project/pyreportjasper/ Finally, transfer your data using parameters instead of fields. As you can see in the above link, when running the jasper.process(), they pass an object containing a property is parameters. parameters property is a map object with the key is string and value is any type you want. Define a parameter in your PDF template and you can use it in your template. You can receive the data via HTTP request and pass the data to PDF template through parameters.