Skip to main content

Advanced PDF generation with intelligent Mermaid support and dual-engine architecture

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.4.tar.gz (49.3 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.4-py3-none-any.whl (59.0 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: wot_pdf-1.0.4.tar.gz
  • Upload date:
  • Size: 49.3 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.4.tar.gz
Algorithm Hash digest
SHA256 23311aa0b7045f79005381aff6fa7c83fca3002d1ae8a2b936dad99334fcc09a
MD5 7181b0cbf54f9141b0df172a28939f66
BLAKE2b-256 0cd3a2fb3ca2c7af26b6a3a07158d804b088b35def5f153c0e9291f75bf19a1d

See more details on using hashes here.

File details

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

File metadata

  • Download URL: wot_pdf-1.0.4-py3-none-any.whl
  • Upload date:
  • Size: 59.0 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.4-py3-none-any.whl
Algorithm Hash digest
SHA256 be92493459fd0926898c06895b2463c3152777240828d2867014b21992f2f701
MD5 f52bce80d26c824a7d0c4d09d5d7d926
BLAKE2b-256 2b9d87a2470fec12ccee5900a88169ffcb2bad6b074ee82fc2904466d5711951

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