Skip to main content

Advanced PDF generation with Typst and ReportLab engines

Project description

📄 WOT-PDF - Advanced PDF Generation

PyPI version Python Support License: MIT

Professional PDF generation with dual-engine architecture (Typst + ReportLab fallback)

✨ Features

🎯 Dual PDF Engines

  • Primary: System Typst CLI (superior typography)
  • Fallback: ReportLab (100% reliability)

📚 Book Generation

  • Convert markdown directories to professional books
  • 5 professional templates (Academic, Technical, Corporate, Educational, Minimal)
  • Automatic table of contents
  • Cross-reference management

🎨 Professional Templates

  • Academic papers with citations
  • Technical documentation
  • Corporate reports
  • Educational materials
  • Clean minimal design

Advanced Features

  • Batch processing
  • Custom styling
  • Rich CLI interface
  • GUI frontend (optional)
  • Professional typography

🚀 Quick Start

Installation

pip install wot-pdf

Basic Usage

# Generate single PDF
wot-pdf --input document.md --output result.pdf

# Create professional book
wot-pdf book ./docs/ book.pdf --template technical

# List available templates
wot-pdf templates

# GUI mode (if installed)
wot-pdf-gui

Python API

from wot_pdf import PDFGenerator, generate_book

# Simple generation
generator = PDFGenerator()
result = generator.generate("document.md", "output.pdf")

# Book generation
result = generate_book(
    input_dir="./docs/",
    output_file="book.pdf", 
    template="technical"
)

📖 Templates

Template Best For Features
academic Research papers Citations, bibliography, equations
technical Documentation Code blocks, diagrams, TOC
corporate Business reports Professional styling, charts
educational Learning materials Exercises, callouts, examples
minimal Simple documents Clean, fast generation

🛠️ Installation Options

Minimal Installation

pip install wot-pdf

With Development Tools

pip install wot-pdf[dev]

With GUI Support

pip install wot-pdf[gui]

With Documentation Tools

pip install wot-pdf[docs]

📋 Requirements

  • Python: 3.8+
  • System Typst CLI (recommended): Install from typst.app
  • ReportLab: Automatically installed (fallback engine)

🎯 Use Cases

Technical Documentation

  • API references
  • User manuals
  • Installation guides

Academic Publishing

  • Research papers
  • Thesis documents
  • Conference proceedings

Business Reports

  • Quarterly reports
  • Project documentation
  • Presentation materials

Educational Content

  • Course materials
  • Tutorials
  • Reference guides

📊 Comparison

Feature wot-pdf pandoc WeasyPrint
Typst Integration
Fallback Engine
Professional Templates Limited Limited
Book Generation Manual Manual
GUI Interface
CLI Interface Limited

🔧 Configuration

Create .wot-pdf.yaml in your project:

default_template: technical
output_directory: ./generated/
typst:
  enabled: true
  timeout: 60
reportlab:
  compression: true
  embed_fonts: true

🤝 Contributing

We welcome contributions! See CONTRIBUTING.md for guidelines.

📜 License

MIT License - see LICENSE file for details.

🔗 Links


Made with ❤️ by the Work Organizing Tools team

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

wot_pdf-1.0.3.tar.gz (45.0 kB view details)

Uploaded Source

Built Distribution

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

wot_pdf-1.0.3-py3-none-any.whl (54.4 kB view details)

Uploaded Python 3

File details

Details for the file wot_pdf-1.0.3.tar.gz.

File metadata

  • Download URL: wot_pdf-1.0.3.tar.gz
  • Upload date:
  • Size: 45.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.5

File hashes

Hashes for wot_pdf-1.0.3.tar.gz
Algorithm Hash digest
SHA256 e0514ded8ae11d9f8769008a0c87ad1292974f964d39c5e81a49f5b69dcf64d8
MD5 721caa766fac8326fce9933dda4b70fb
BLAKE2b-256 7334193396b2bfc13d25e02703db1d507e6d38fc6c1150eeacb750f05cda07eb

See more details on using hashes here.

File details

Details for the file wot_pdf-1.0.3-py3-none-any.whl.

File metadata

  • Download URL: wot_pdf-1.0.3-py3-none-any.whl
  • Upload date:
  • Size: 54.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.5

File hashes

Hashes for wot_pdf-1.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 31658b61a59e18b373d66250b584a26445fbe569d8c7ca8deec63ac2c6291a54
MD5 54938eb57669e1bee1c4cd063d974781
BLAKE2b-256 290d5e34f22453bae4030b65b7c20c3dbd04f4410ca307460307b1226bcb8676

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 Pingdom Monitoring Sentry Error logging StatusPage Status page