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.1.tar.gz (22.7 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.1-py3-none-any.whl (23.9 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: wot_pdf-1.0.1.tar.gz
  • Upload date:
  • Size: 22.7 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.1.tar.gz
Algorithm Hash digest
SHA256 c51a961e5fbded2d79911954896d53d9bd02e3f636b87f9be6977901e2ad1e99
MD5 a939d5c16de09f8bee55f77cad271f23
BLAKE2b-256 43a39875dab29a26edbda3a8725c7366640ba35846bb5875276fc588050afab6

See more details on using hashes here.

File details

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

File metadata

  • Download URL: wot_pdf-1.0.1-py3-none-any.whl
  • Upload date:
  • Size: 23.9 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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 17e9f50eb740231f913b99f4588c4cbb8f7be051234f635c1e16eed9bb4de412
MD5 805e4f4001ecdbb15816dfdb84af2485
BLAKE2b-256 faf64d513e17be5e747f1c9c6b633d6477373a8f550231cefb60be9e325b7a60

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