PPT Master Supported Input Formats: Complete Guide to Source Document Conversion

PPT Master accepts PDFs, Word documents (.docx and legacy .doc), PowerPoint files (.pptx/.pptm), web URLs (including WeChat articles), EPUBs, Jupyter notebooks, Markdown files, and legacy Office formats, converting them all to a unified Markdown representation before generating presentations.

PPT Master is an open-source presentation generation pipeline that transforms diverse source materials into native-editable PowerPoint decks. Understanding which PPT Master input formats are supported is essential for leveraging its automated conversion capabilities. The repository hugohe3/ppt-master defines these capabilities in SKILL.md (lines 90–95) and implements them through specialized source-to-Markdown scripts located in skills/ppt-master/scripts/source_to_md/.

Native Office and Document Formats

Microsoft Word and Open Documents

The doc_to_md.py script handles modern Word documents natively. According to the source code, it directly processes .docx, .html, .htm, .epub, and .ipynb (Jupyter notebook) files without external dependencies.

For legacy and specialty formats, the script implements a pandoc fallback that extends support to .doc, .odt, .rtf, .tex, .latex, .rst, .org, and .typ files. This makes doc_to_md.py the most versatile converter in the pipeline, serving as the catch-all for text-heavy source materials.

PowerPoint Source Decks

The ppt_to_md.py script defines a fixed SUPPORTED_FORMATS dictionary that explicitly enumerates six PowerPoint family extensions:

  • .pptx (standard presentation)
  • .pptm (macro-enabled presentation)
  • .ppsx (PowerPoint show)
  • .ppsm (macro-enabled show)
  • .potx (PowerPoint template)
  • .potm (macro-enabled template)

This allows PPT Master to ingest existing PowerPoint decks and remix or reformat them through its markdown-based pipeline.

PDF and Web-Based Sources

PDF Documents

For research papers, reports, and slide decks exported as PDFs, pdf_to_md.py provides dedicated extraction using PyMuPDF. This script handles only PDF inputs and converts them to structured Markdown while preserving heading hierarchies and text flow.

Web Articles and URLs

The web_to_md.py script accepts any reachable URL, including WeChat articles that typically block standard scrapers. It uses curl_cffi to bypass anti-bot measures, with a Node.js fallback script for sites where the primary method cannot connect. This enables direct conversion of online technical documentation, blog posts, and news articles into presentation-ready markdown.

Legacy and Specialty Formats

Markdown and Plain Text

When users already possess clean .md files, PPT Master skips conversion entirely. The project_manager.py script imports these directly into the project structure under the sources/ directory, preserving the original formatting.

Legacy Office Formats via Pandoc

As implemented in doc_to_md.py, the pandoc fallback activates automatically when the system detects legacy file extensions. This requires the pandoc binary to be installed on the host system, but it enables PPT Master to process decades of older documents without manual pre-conversion.

Conversion Architecture and Pipeline Flow

The transformation process follows a strict four-stage pipeline defined in SKILL.md:

  1. Gate 0 – Source Detection: The system checks whether the input matches any supported format and routes it to the appropriate script.
  2. Source-to-Markdown Conversion: The specific script (pdf_to_md.py, doc_to_md.py, ppt_to_md.py, or web_to_md.py) generates a single markdown file plus optional _files/ media folders.
  3. Project Ingestion: project_manager.py archives the original file under sources/ and imports the generated markdown.
  4. Unified Processing: All subsequent stages (Strategist → Image Generator → Executor) operate exclusively on the markdown representation, guaranteeing a uniform internal format regardless of the original source.

Because the conversion scripts are pure Python (except for the optional pandoc dependency), the pipeline works out-of-the-box on any platform satisfying the Python 3.10+ requirement.

Practical Usage Examples

Execute these commands from the repository root to convert various source materials:


# Convert a PDF research paper to markdown

python3 skills/ppt-master/scripts/source_to_md/pdf_to_md.py report.pdf

# Convert a Word document (native .docx)

python3 skills/ppt-master/scripts/source_to_md/doc_to_md.py proposal.docx

# Convert a legacy .doc file via pandoc fallback

python3 skills/ppt-master/scripts/source_to_md/doc_to_md.py legacy.doc

# Convert a PowerPoint deck (any supported PPTX family)

python3 skills/ppt-master/scripts/source_to_md/ppt_to_md.py sales_pitch.pptx

# Scrape a web article including WeChat content

python3 skills/ppt-master/scripts/source_to_md/web_to_md.py https://example.com/article

# Import an existing markdown file (no conversion needed)

python3 skills/ppt-master/scripts/project_manager.py import-sources my_project \
    presentation.md --move

Summary

  • PPT Master supports nine major input categories: PDFs, Word documents (.docx/native + legacy), PowerPoint decks (six extensions), web URLs, EPUBs, Jupyter notebooks, Markdown files, and legacy formats via pandoc.
  • Four specialized scripts handle conversion: pdf_to_md.py, doc_to_md.py, ppt_to_md.py, and web_to_md.py, all located in skills/ppt-master/scripts/source_to_md/.
  • Unified internal representation: All sources become Markdown before entering the presentation generation pipeline, making the system truly format-agnostic.
  • Minimal dependencies: Pure Python implementation requires only Python 3.10+, with optional pandoc support for legacy formats.

Frequently Asked Questions

Does PPT Master support older .doc files?

Yes. While doc_to_md.py handles modern .docx files natively, it implements a pandoc fallback for legacy .doc files. When pandoc is installed on your system, the script automatically detects the .doc extension and routes it through the pandoc converter before importing it into the PPT Master pipeline.

Can PPT Master convert WeChat articles to presentations?

Yes. The web_to_md.py script specifically handles WeChat articles using curl_cffi to bypass the anti-scraping measures common on WeChat domains. For sites where this method fails, the script falls back to a Node.js-based scraper, ensuring high compatibility with Chinese web content.

What happens to my original file after conversion?

project_manager.py archives the original source file under the sources/ directory within your project folder. The system then operates exclusively on the generated Markdown copy, meaning your original document remains untouched and preserved as a reference throughout the presentation generation process.

Do I need Microsoft Office installed to use PPT Master?

No. PPT Master does not require Microsoft Office or any proprietary software. The conversion relies on pure Python libraries (such as PyMuPDF for PDFs and python-docx for Word files) and optional open-source tools like pandoc. This allows the pipeline to run on Linux servers, macOS, and Windows without Office licenses.

Have a question about this repo?

These articles cover the highlights, but your codebase questions are specific. Give your agent direct access to the source. Share this with your agent to get started:

Share the following with your agent to get started:
curl -s "https://instagit.com/install.md"

Works with
Claude Codex Cursor VS Code OpenClaw Any MCP Client

Maintain an open-source project? Get it listed too →