Skip to main content

turbo-html2pdf (Python)

Native HTML/CSS-to-PDF engine with a Jinja-compatible templating DSL. PyO3 binding over the turbo-pdf Rust core; mirrors the Node turbo-html2pdf package 1:1.

import turbo_html2pdf as t

# Compile once, render many times.
prog = t.compile("<p>Hello {{ data.name }}</p>")
pdf = prog.render(data={"name": "world"})       # -> bytes, starts with b"%PDF"

# Warm fonts once, reuse the handle across renders.
fonts = t.Fonts.load([open(p, "rb").read() for p in font_paths])
pdf = prog.render(
    data={"name": "world"},
    css="body { font-family: font0 }",
    fonts=fonts,
)

# One-shot: compile + render in a single call.
pdf = t.render("<p>{{ data.x }}</p>", data={"x": 1})

# Inspect non-fatal lints + page count.
pdf, diagnostics, page_count = prog.render_full(data={"name": "world"})

Fatal compile/render faults raise TurboPdfError carrying .code (a stable string such as "TemplateSyntax") and .span ({"line", "col", "byte_offset"}). Non-fatal lints are returned by render_full, never raised.

API

Surface Signature
compile(template_html, opts=None) -> Program
Program.render(data=None, css="", fonts=None, images=None, meta=None, now=None) -> bytes
Program.render_full(...) -> (bytes, list[dict], int)
Program.has_header() / Program.has_footer() -> bool
render(template_html, ...) one-shot -> bytes
Fonts.load([bytes, ...]) warm registry -> Fonts

Building from source

pip install maturin
maturin develop --manifest-path crates/turbo-pdf-py/Cargo.toml
python -m pytest crates/turbo-pdf-py/tests

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

turbo_html2pdf-0.2.12.tar.gz (4.0 MB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

turbo_html2pdf-0.2.12-cp38-abi3-win_amd64.whl (5.9 MB view details)

Uploaded CPython 3.8+Windows x86-64

turbo_html2pdf-0.2.12-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (6.2 MB view details)

Uploaded CPython 3.8+manylinux: glibc 2.17+ x86-64

turbo_html2pdf-0.2.12-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (6.2 MB view details)

Uploaded CPython 3.8+manylinux: glibc 2.17+ ARM64

turbo_html2pdf-0.2.12-cp38-abi3-macosx_11_0_arm64.whl (6.0 MB view details)

Uploaded CPython 3.8+macOS 11.0+ ARM64

File details

Details for the file turbo_html2pdf-0.2.12.tar.gz.

File metadata

  • Download URL: turbo_html2pdf-0.2.12.tar.gz
  • Upload date:
  • Size: 4.0 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: maturin/1.14.1

File hashes

Hashes for turbo_html2pdf-0.2.12.tar.gz
Algorithm Hash digest
SHA256 192e4fe6635786c470fcd4730ac17121daded51b7e1254900f1c412397525c4c
MD5 57678c8a5512586d24195ab25fc4fd44
BLAKE2b-256 6096da01748332bd54474549cc609ca87062f94f4e86ae0fb40c78852cfa8e6c

See more details on using hashes here.

File details

Details for the file turbo_html2pdf-0.2.12-cp38-abi3-win_amd64.whl.

File metadata

File hashes

Hashes for turbo_html2pdf-0.2.12-cp38-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 5a1730c6d6c3157f7532e06824c8af0509f2db4cbd5683569b427f6713a56bab
MD5 4909c1ad84493ed3851862c350c3bf9a
BLAKE2b-256 2404378a770e23f288aa94e334160f7acb1be1a0284d5dbcc745b4bc93239fdb

See more details on using hashes here.

File details

Details for the file turbo_html2pdf-0.2.12-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for turbo_html2pdf-0.2.12-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 dbc54bfe19cff8c0283f09c6fcde6b82cf9c2ea7077598363c4a04a1eddde3d6
MD5 e82dffba972322a0de8f4120dfa0fcb3
BLAKE2b-256 b7e645d3f6b76bb3275e9eb60d8c763fc281893af868ffaa3fbd1d7da7e94f54

See more details on using hashes here.

File details

Details for the file turbo_html2pdf-0.2.12-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for turbo_html2pdf-0.2.12-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 c58e83bdbfd623f9a7f479c41111dd85dd79a278eaae68f10d8c19d7fa4a729d
MD5 9827ee2d17f7f3c2ed5d08b01c96de72
BLAKE2b-256 1dfff1a811cb9109c4c7cdad7a5a02d5eafa015e04de5a7f5740adf1c5942210

See more details on using hashes here.

File details

Details for the file turbo_html2pdf-0.2.12-cp38-abi3-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for turbo_html2pdf-0.2.12-cp38-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 5c4b0ff322a93c02a7aaf5d68ba030116200e3cfaacb0e75363148c500d0150d
MD5 3a1598cb7e3fe33515b62f8d4d5f900c
BLAKE2b-256 c06019fe464de484f7c4a4980ba9dde5faefdc4189309340754be8e30b0b274c

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page