TS
Back to Projects

SlideForge

Production-ready CLI tool to convert HTML slides to PowerPoint, PDF, or PNG with perfect styling preservation

PythonPlaywrightWeasyPrintChromiumCLI
View on GitHub

The Problem

Converting web content to presentations is tedious. Existing tools lose formatting, fonts, and layouts. Need a reliable way to forge HTML slides into multiple formats.

The Approach

Built a Python CLI tool with:

Core Features:

  • Perfect rendering - preserves all fonts, styles, layouts
  • Smart dependencies - auto-detects and installs missing packages
  • Two methods - Playwright (best quality) or WeasyPrint (pure Python)
  • Template generation - creates starter HTML slides
  • Robust error handling - gracefully handles edge cases

Advanced Features:

  • Range selection - convert specific slides (e.g., 1-5 or 1,3,5)
  • Dry run - preview conversion without creating files
  • Watch mode - auto-convert when files change
  • Parallel processing - up to 4x faster with multi-threading
  • Format conversion - PDF↔PPT↔PNG
  • PNG export - each PDF page as high-res PNG (300 DPI)

The Impact

Production-ready tool used for automated report generation. Cross-platform support (macOS, Linux, Windows). Open-sourced under MIT license.

Build Notes

Key Features:

  • 🎨 Perfect Rendering - Preserves all visual design
  • 🤖 Smart Dependencies - Auto-installs missing packages
  • 🚀 Two Methods - Playwright or WeasyPrint
  • 🔢 Smart Sorting - Correct numerical ordering
  • ⚡ Parallel Processing - Up to 4x faster
  • 🔄 Format Conversion - PDF↔PPT↔PNG
  • 👀 Watch Mode - Auto-convert on file changes

Method Comparison:

FeaturePlaywrightWeasyPrint
PDF Quality⭐⭐⭐⭐⭐⭐⭐⭐⭐
Google FontsFullLimited
Complex CSSFullPartial