Python + Rust · MIT licensed
Your data. Your design. Your PDF.¶
Turn Python data and HTML/CSS into invoices, reports, and print documents. Start with one install, then grow from a single PDF to a compiled variable-data workflow.
Make your first PDF Explore examples
Python 3.10–3.14 · Windows, macOS, Linux
Self-contained wheels / Explicit fonts and assets / Repeatable output / Free for commercial use under MIT
A small first step¶
Save this as hello.py, run python hello.py, and open invoice.pdf.
from pathlib import Path
import fullbleed
html = "<h1>Invoice INV-1042</h1><p>Consulting: USD 1,200.00</p>"
css = "@page { size: A4; margin: 20mm; } h1 { color: #175c52; }"
pdf = fullbleed.PdfEngine().render_pdf(html, css)
Path("invoice.pdf").write_bytes(pdf)
Pick a document to build¶
-
Invoices from your data
Turn JSON or CSV into itemized invoices. Keep data, layout, and font assets explicit.
-
Reports that flow across pages
Use headings, tables, page margins, headers, and footers for a document that grows with its content.
-
One template, many records
Bind stable fields or let changing content reflow through a compiled template.
-
Tagged and print-oriented output
Author semantic content, inspect the output, and retain evidence for the profile checks you run.
Built for a document pipeline¶
The wheel bundles a Rust rendering engine, a Python API, a CLI, and fonts. It requires no third-party Python runtime packages. You can render, preview, inspect, and verify in the same workflow.
Fullbleed uses static HTML/CSS as its layout language. Read the CSS coverage for your templates, and the tool selection guide when you also need live browser rendering or general PDF editing.
Open source, with inspectable evidence¶
Fullbleed is MIT licensed. The 2.4.0 release includes downloadable wheels and retained engineering evidence. The performance report describes specific measured workloads and their limits.
Read the Python API · Set up a coding agent · Report an issue
