Metadata-Version: 2.4
Name: wot-pdf
Version: 1.0.5
Summary: Advanced PDF generation with intelligent Typst preprocessing and universal Markdown support
Author-email: Work Organizing Tools <info@wot-tools.com>
License-Expression: MIT
Project-URL: Homepage, https://github.com/work-organizing-tools/wot-pdf
Project-URL: Documentation, https://wot-pdf.readthedocs.io
Project-URL: Repository, https://github.com/work-organizing-tools/wot-pdf.git
Project-URL: Issues, https://github.com/work-organizing-tools/wot-pdf/issues
Keywords: pdf,typst,reportlab,markdown,mermaid,diagrams,book,generation,professional,automation
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Developers
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Office/Business :: Office Suites
Classifier: Topic :: Text Processing :: Markup :: Markdown
Classifier: Topic :: Printing
Requires-Python: >=3.8
Description-Content-Type: text/markdown
Requires-Dist: reportlab>=3.6.0
Requires-Dist: markdown>=3.4.0
Requires-Dist: pillow>=9.0.0
Requires-Dist: rich>=12.0.0
Requires-Dist: click>=8.0.0
Requires-Dist: pathlib-mate>=1.0.0
Requires-Dist: jinja2>=3.0.0
Requires-Dist: pyyaml>=6.0.0
Requires-Dist: requests>=2.28.0
Provides-Extra: dev
Requires-Dist: pytest>=7.0.0; extra == "dev"
Requires-Dist: pytest-cov>=4.0.0; extra == "dev"
Requires-Dist: black>=22.0.0; extra == "dev"
Requires-Dist: isort>=5.10.0; extra == "dev"
Requires-Dist: mypy>=1.0.0; extra == "dev"
Requires-Dist: pre-commit>=2.20.0; extra == "dev"
Provides-Extra: docs
Requires-Dist: mkdocs>=1.4.0; extra == "docs"
Requires-Dist: mkdocs-material>=8.5.0; extra == "docs"
Requires-Dist: mkdocstrings[python]>=0.19.0; extra == "docs"
Provides-Extra: gui
Requires-Dist: customtkinter>=5.0.0; extra == "gui"
Requires-Dist: pillow>=9.0.0; extra == "gui"

# 📄 WOT-PDF - Advanced PDF Generation

[![PyPI version](https://badge.fury.io/py/wot-pdf.svg)](https://badge.fury.io/py/wot-pdf)
[![Python Support](https://img.shields.io/pypi/pyversions/wot-pdf.svg)](https://pypi.org/project/wot-pdf/)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/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

```bash
pip install wot-pdf
```

### Basic Usage

```bash
# 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

```python
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
```bash
pip install wot-pdf
```

### With Development Tools
```bash
pip install wot-pdf[dev]
```

### With GUI Support
```bash
pip install wot-pdf[gui]
```

### With Documentation Tools
```bash
pip install wot-pdf[docs]
```

## 📋 Requirements

- **Python**: 3.8+
- **System Typst CLI** (recommended): [Install from typst.app](https://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:

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

## 🤝 Contributing

We welcome contributions! See [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines.

## 📜 License

MIT License - see [LICENSE](LICENSE) file for details.

## 🔗 Links

- 📚 [Documentation](https://wot-pdf.readthedocs.io)
- 🐛 [Issues](https://github.com/work-organizing-tools/wot-pdf/issues)
- 💬 [Discussions](https://github.com/work-organizing-tools/wot-pdf/discussions)
- 🌟 [Source Code](https://github.com/work-organizing-tools/wot-pdf)

---

**Made with ❤️ by the Work Organizing Tools team**
