Skip to main content

High-performance Rust components for DocQuill: PDF renderer and EMF/WMF converter

Project description

DocQuill Rust Components

PyPI version License

High-performance Rust components for DocQuill:

  • 🖨️ PDF Renderer - Fast PDF generation using pdf-writer
  • 🖼️ EMF/WMF Converter - Convert Windows metafiles to SVG

Installation

pip install docquill-rust

Or install with the main package:

pip install docquill[rust]

Requirements

  • Python 3.9+
  • No Rust compiler required - pre-built wheels are available for:
    • Linux (x86_64, aarch64)
    • macOS (Intel x86_64, Apple Silicon arm64)
    • Windows (x86_64)

Features

PDF Renderer

High-performance PDF generation as an alternative to ReportLab:

from docquill import Document

doc = Document.open("document.docx")

# Use Rust backend (automatically detected when installed)
doc.to_pdf("output.pdf", use_rust=True)

Benefits:

  • 2-5x faster PDF generation
  • Lower memory usage
  • Full Unicode support (DejaVu Sans embedded)

EMF/WMF Converter

Convert Windows Enhanced Metafile (EMF) and Windows Metafile (WMF) to SVG:

import docquill_rust

# Convert file
docquill_rust.convert_emf_to_svg("input.emf", "output.svg")

# Convert bytes to SVG string
svg_content = docquill_rust.convert_emf_bytes_to_svg(emf_bytes)

Supported formats:

  • EMF (Enhanced Metafile)
  • EMF+ (GDI+ Enhanced Metafile)
  • WMF (Windows Metafile)
  • WMF with embedded EMF

Performance: ~50x faster than Java-based converters (FreeHEP/Apache POI)

Building from Source

If you need to build from source (e.g., for unsupported platforms):

# Install Rust
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

# Install maturin
pip install maturin

# Build and install
cd packages/docquill_rust
maturin develop --release

License

Apache License 2.0

Project details


Download files

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

Source Distribution

docquill_rust-0.1.2.tar.gz (43.1 kB view details)

Uploaded Source

Built Distributions

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

docquill_rust-0.1.2-cp39-abi3-win_amd64.whl (998.0 kB view details)

Uploaded CPython 3.9+Windows x86-64

docquill_rust-0.1.2-cp39-abi3-manylinux_2_34_x86_64.whl (1.1 MB view details)

Uploaded CPython 3.9+manylinux: glibc 2.34+ x86-64

docquill_rust-0.1.2-cp39-abi3-manylinux_2_34_aarch64.whl (1.1 MB view details)

Uploaded CPython 3.9+manylinux: glibc 2.34+ ARM64

docquill_rust-0.1.2-cp39-abi3-macosx_11_0_arm64.whl (1.0 MB view details)

Uploaded CPython 3.9+macOS 11.0+ ARM64

docquill_rust-0.1.2-cp39-abi3-macosx_10_12_x86_64.whl (1.1 MB view details)

Uploaded CPython 3.9+macOS 10.12+ x86-64

File details

Details for the file docquill_rust-0.1.2.tar.gz.

File metadata

  • Download URL: docquill_rust-0.1.2.tar.gz
  • Upload date:
  • Size: 43.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for docquill_rust-0.1.2.tar.gz
Algorithm Hash digest
SHA256 9389f58b471ede1d94c180af807da03ca4832473635773666e22cb9b770187f5
MD5 fa7bde5ccb3108803919c1b7f7bf0d5e
BLAKE2b-256 79e37e00e6ac3a796f70ddcde5a4ca06c79d042a32f66a36c8efa7371ef9ea00

See more details on using hashes here.

Provenance

The following attestation bundles were made for docquill_rust-0.1.2.tar.gz:

Publisher: build-rust.yml on AddNap/DocQuill

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file docquill_rust-0.1.2-cp39-abi3-win_amd64.whl.

File metadata

  • Download URL: docquill_rust-0.1.2-cp39-abi3-win_amd64.whl
  • Upload date:
  • Size: 998.0 kB
  • Tags: CPython 3.9+, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for docquill_rust-0.1.2-cp39-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 d8d621a5bb2513d544b46cf4677db52e7063ae70cd187ee2ce1b998115996499
MD5 e5824d555869cdb9a78d1d00d314fcd5
BLAKE2b-256 aea94fbee59ff921a5e65bd25cd0061b1d1c9c7f4c7110f55e0f4e4375e2e66d

See more details on using hashes here.

Provenance

The following attestation bundles were made for docquill_rust-0.1.2-cp39-abi3-win_amd64.whl:

Publisher: build-rust.yml on AddNap/DocQuill

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file docquill_rust-0.1.2-cp39-abi3-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for docquill_rust-0.1.2-cp39-abi3-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 7dcfce9536f00593e0747cfcde5d78b31eae92ea5bcf3423389f063d5df58007
MD5 bdb930fa5c9ea188003353ba36f1cc84
BLAKE2b-256 2fb089d0e9ea94efd5d8d6a9491fa8d69819e9144a6727503a17882284c264c5

See more details on using hashes here.

Provenance

The following attestation bundles were made for docquill_rust-0.1.2-cp39-abi3-manylinux_2_34_x86_64.whl:

Publisher: build-rust.yml on AddNap/DocQuill

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file docquill_rust-0.1.2-cp39-abi3-manylinux_2_34_aarch64.whl.

File metadata

File hashes

Hashes for docquill_rust-0.1.2-cp39-abi3-manylinux_2_34_aarch64.whl
Algorithm Hash digest
SHA256 65c2d3ea62598d7dd652ffdd4a7dec7d81bfa1f395a13d1d037503da88931dac
MD5 f0e0c1c9c32a4760713bebac4c578d4b
BLAKE2b-256 64f9701208a7ba857e1597a407e7a1d1c98938837bfb0dca772839baa6efd242

See more details on using hashes here.

Provenance

The following attestation bundles were made for docquill_rust-0.1.2-cp39-abi3-manylinux_2_34_aarch64.whl:

Publisher: build-rust.yml on AddNap/DocQuill

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file docquill_rust-0.1.2-cp39-abi3-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for docquill_rust-0.1.2-cp39-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 e8bdc1d2d87343a2c9cd07eece4bfa450789e45fc6ca5277ef0ec71b0d0d7120
MD5 f86bf02aca87cf214057ef57180c9554
BLAKE2b-256 e09ce316c786d9bd31d47b7fe3703c12945f39389d8dc1ff27ed4731457504b7

See more details on using hashes here.

Provenance

The following attestation bundles were made for docquill_rust-0.1.2-cp39-abi3-macosx_11_0_arm64.whl:

Publisher: build-rust.yml on AddNap/DocQuill

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file docquill_rust-0.1.2-cp39-abi3-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for docquill_rust-0.1.2-cp39-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 e593af73df4c12bc86aee7c59d931720df5b9e65b5bd225b73cdcf38033f97a6
MD5 d933db25434d151e49c89f768a8be7e5
BLAKE2b-256 1c888e75dfe5492b21dd69fc6a0fdb863aa2a35baa0c1d9a4549659b8bb143df

See more details on using hashes here.

Provenance

The following attestation bundles were made for docquill_rust-0.1.2-cp39-abi3-macosx_10_12_x86_64.whl:

Publisher: build-rust.yml on AddNap/DocQuill

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

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