Skip to main content

Advanced PDF generation with intelligent preprocessing, universal Markdown support, and automatic version synchronization

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 from file
wot-pdf generate --input document.md --output result.pdf --template technical

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

# Analyze content for optimal engine selection
wot-pdf analyze document.md

# List available templates
wot-pdf templates

# Show detailed template information
wot-pdf template-info technical

# 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.7.tar.gz (61.6 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.7-py3-none-any.whl (72.0 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: wot_pdf-1.0.7.tar.gz
  • Upload date:
  • Size: 61.6 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.7.tar.gz
Algorithm Hash digest
SHA256 625696971bab1ab10d51ef79d08521ad9b47afebf39ddad63268cb0c62c03596
MD5 2ba6342e9e213417227c8993290050a6
BLAKE2b-256 b675ff532b4f1b312637fa6dbf45933c2300bc373044b72a7a6ecd34137c28e5

See more details on using hashes here.

File details

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

File metadata

  • Download URL: wot_pdf-1.0.7-py3-none-any.whl
  • Upload date:
  • Size: 72.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.7-py3-none-any.whl
Algorithm Hash digest
SHA256 8522792eee8634157a610e32467bf9914c1d40d782d499a2625263ac7bc97d38
MD5 ffc895f23f09f2a8a759c991cb27ee8d
BLAKE2b-256 81cd3a230cb059632cbc8d5f3fc8bcce52dc3adc99c1544790ba8742d206315f

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