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.3.0.tar.gz (4.1 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.3.0-cp38-abi3-win_amd64.whl (5.9 MB view details)

Uploaded CPython 3.8+Windows x86-64

turbo_html2pdf-0.3.0-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.3.0-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.3.0-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.3.0.tar.gz.

File metadata

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

File hashes

Hashes for turbo_html2pdf-0.3.0.tar.gz
Algorithm Hash digest
SHA256 643e3ff74a6e46c2e114498bd108434238c8ab63024306d332f954c4006e3b39
MD5 add2005ac7262a1ea6750facd70671a0
BLAKE2b-256 35d92f6e3f5b35f0cf26b93ae7b03efb0ee0c7314f9c2815cb47048b8b18789f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for turbo_html2pdf-0.3.0-cp38-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 0332fac5b920c3dbce1e763456abf5c3229f6d9da254a8bb107aa54ae83900f7
MD5 e8f0b8803e1eda915a83de9e5081e6b4
BLAKE2b-256 532246ac49651b6cc92621099bea3f3811f35ddf88c060fdfd0171fe79106d47

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for turbo_html2pdf-0.3.0-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 0ee91665bada691f264a34ca1f8f2bcb1dfb65675425374355a127e293f7d572
MD5 d1e072d22c1398d71f6fbc9a9ad1b016
BLAKE2b-256 9389be1b584352c380107cb0f184845b4bb542a09a43de45f6bb966e126c1497

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for turbo_html2pdf-0.3.0-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 81da4150aac79aafce7cd8826114d06f818d49e77108ec3acbb7da09f1b98027
MD5 41e1ec24a6d2d98ffd33658f53e6715a
BLAKE2b-256 3b37e35df4d2ddd79ffd702a3f568138d0ff0d1d3cd986796f5cba1c7b19d1c6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for turbo_html2pdf-0.3.0-cp38-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 1db56b7b849e5cee3762f4edaa4f755807edf3b5621147871eabb51c6b24a600
MD5 a84b7d27337e30f5bdd84c59df79b4a1
BLAKE2b-256 9fd1c6a43b06e0405c243f8cd05df658d734dcfd8367510098494a1b7229f817

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