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

> Discover all PPT Master supported input formats including PDF Word EPUB and web URLs. Convert seamlessly to Markdown for presentation generation.

- Repository: [HugoHe/ppt-master](https://github.com/hugohe3/ppt-master)
- Tags: api-reference
- Published: 2026-04-24

---

**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`](https://github.com/hugohe3/ppt-master/blob/main/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`](https://github.com/hugohe3/ppt-master/blob/main/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`](https://github.com/hugohe3/ppt-master/blob/main/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`](https://github.com/hugohe3/ppt-master/blob/main/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`](https://github.com/hugohe3/ppt-master/blob/main/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`](https://github.com/hugohe3/ppt-master/blob/main/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`](https://github.com/hugohe3/ppt-master/blob/main/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`](https://github.com/hugohe3/ppt-master/blob/main/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`](https://github.com/hugohe3/ppt-master/blob/main/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`](https://github.com/hugohe3/ppt-master/blob/main/pdf_to_md.py), [`doc_to_md.py`](https://github.com/hugohe3/ppt-master/blob/main/doc_to_md.py), [`ppt_to_md.py`](https://github.com/hugohe3/ppt-master/blob/main/ppt_to_md.py), or [`web_to_md.py`](https://github.com/hugohe3/ppt-master/blob/main/web_to_md.py)) generates a single markdown file plus optional `_files/` media folders.
3. **Project Ingestion**: [`project_manager.py`](https://github.com/hugohe3/ppt-master/blob/main/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:

```bash

# 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`](https://github.com/hugohe3/ppt-master/blob/main/pdf_to_md.py), [`doc_to_md.py`](https://github.com/hugohe3/ppt-master/blob/main/doc_to_md.py), [`ppt_to_md.py`](https://github.com/hugohe3/ppt-master/blob/main/ppt_to_md.py), and [`web_to_md.py`](https://github.com/hugohe3/ppt-master/blob/main/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`](https://github.com/hugohe3/ppt-master/blob/main/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`](https://github.com/hugohe3/ppt-master/blob/main/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`](https://github.com/hugohe3/ppt-master/blob/main/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.