Python HTML to PDF reporting engine
Project description
ZipReport
Transform HTML templates into beautiful PDF or MIME reports, with full CSS and client Javascript support, under a permissive license.
Want to see it in action? Check this example!
Highlights:
- Create your reports using Jinja templates;
- Dynamic image support (embedding of runtime-generated images);
- Reports are packed in a single file for easy distribution or bundling;
- Optional MIME processor to embed resources in a single email message;
- Support for generated JS content (with zipreport-server or zipreport-cli);
- Support for headers, page numbers and ToC (via PagedJS, see below);
Requirements:
- Python >= 3.6
- Jinja2 >= 2.11
- Compatible backend for pdf generation (zipreport-server, zipreport-cli or WeasyPrint);
Installation
Installing via pip:
$ pip install zipreport-lib
Quick example
Using zipreport-cli backend to render a report file:
from zipreport import ZipReportCli
from zipreport.report import ReportFileLoader
# path to zipreport-cli binary
cli_path = "/opt/zpt-cli/zpt-cli"
# output file
output_file = "result.pdf"
# template variables to be used for rendering
report_data = {
'title': "Example report using Jinja templating",
'color_list': ['red', 'blue', 'green'],
'description': 'a long text field with some filler description so the page isn\'t that empty',
}
# load zpt report file
zpt = ReportFileLoader.load("reports/simple.zpt")
# render the report with default job options
result = ZipReportCli(cli_path).render_defaults(zpt, report_data)
if result.success:
# write output file
with open(output_file, 'wb') as rpt:
rpt.write(result.report.read())
Paged.js
Paged.js is an amazing javascript library that performs pagination of HTML documents for print, under MIT license. It acts as polyfill for W3C specification for print, and allows the creation of headers, footers, page numbers, table of contents, etc. in the browser.
Documentation
Detailed documentation on usage and report building is available on the project documentation.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for zipreport_lib-0.9.2-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fa3f7fe834ef0c9d6bb5cf2e16e4466d2b105d81e21e7dc1b500dfa990ba0a43 |
|
MD5 | e6790c649ec9913e51799944b566e022 |
|
BLAKE2b-256 | 6bb5e3f57c582f7aa474c4e852aae5752436decc61ded8af5140c4ff12f106f8 |