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.0.tar.gz (42.3 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.0-cp39-abi3-win_amd64.whl (997.0 kB view details)

Uploaded CPython 3.9+Windows x86-64

docquill_rust-0.1.0-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.0-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.0-cp39-abi3-macosx_11_0_arm64.whl (1.0 MB view details)

Uploaded CPython 3.9+macOS 11.0+ ARM64

docquill_rust-0.1.0-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.0.tar.gz.

File metadata

  • Download URL: docquill_rust-0.1.0.tar.gz
  • Upload date:
  • Size: 42.3 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.0.tar.gz
Algorithm Hash digest
SHA256 783b9fa7fa98a6785b41b5b5d21e136e817333e4bbe76436c7297ea7f704a72b
MD5 b61f2f07c77e8a0a49944976f6ac23cf
BLAKE2b-256 c2106f55ba18cccc35e14f700ec65c81d97dcd08a70846dc942e198a8a285d5e

See more details on using hashes here.

Provenance

The following attestation bundles were made for docquill_rust-0.1.0.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.0-cp39-abi3-win_amd64.whl.

File metadata

  • Download URL: docquill_rust-0.1.0-cp39-abi3-win_amd64.whl
  • Upload date:
  • Size: 997.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.0-cp39-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 d3c135fdd35e1e491e055c74324d6b34011e904b6ac3d0a5ab9edb29eae19ada
MD5 4ca97138b298b2f5940c273ff219f820
BLAKE2b-256 4733d0e36881a6dc66c43f969f0528d4568836e599b69452ec300e576b9c8888

See more details on using hashes here.

Provenance

The following attestation bundles were made for docquill_rust-0.1.0-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.0-cp39-abi3-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for docquill_rust-0.1.0-cp39-abi3-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 bd7aa45e981fb53e2218b3463feccfbac411c1ade6654370a11d78ea4f76f324
MD5 5d3c3b45d13e3491651ba03bc1165d54
BLAKE2b-256 85ea3b9b5dbd2b60be0866bed315491b9b88072dd4c56e7c1664fa0ea4c935b3

See more details on using hashes here.

Provenance

The following attestation bundles were made for docquill_rust-0.1.0-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.0-cp39-abi3-manylinux_2_34_aarch64.whl.

File metadata

File hashes

Hashes for docquill_rust-0.1.0-cp39-abi3-manylinux_2_34_aarch64.whl
Algorithm Hash digest
SHA256 0267ff88471d057709366404578f206393ec44dd2f59a40f4f47a8ca169334cc
MD5 2c697aea5ddc693fd0ec25169a880d1f
BLAKE2b-256 3825b3f3c1cf6470e06bb907d6b8c5b17b61346d39cdf0bb23738105f398c737

See more details on using hashes here.

Provenance

The following attestation bundles were made for docquill_rust-0.1.0-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.0-cp39-abi3-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for docquill_rust-0.1.0-cp39-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 e1b1aa50df673eb60fed198421260e8c15984394ed71dfe889099300499433b1
MD5 01cc8e52eb5f35bed196e823bc30296c
BLAKE2b-256 97451da51ca40b338de4d14deee6439e088273763c41aa0a17b211a9d9546759

See more details on using hashes here.

Provenance

The following attestation bundles were made for docquill_rust-0.1.0-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.0-cp39-abi3-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for docquill_rust-0.1.0-cp39-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 ac526f39ccf3cc1e8337d74b0763ed93f95e8fe6c1e0220d8686e427cc7284fb
MD5 bd1ab94deb3582b249d1c0d153ac5cb1
BLAKE2b-256 49ab6d9cc47e7cc8dd219ae90d7e61ae8c93262a3e9eb6775c955a61c5966e2e

See more details on using hashes here.

Provenance

The following attestation bundles were made for docquill_rust-0.1.0-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