Convert Word documents to PowerPoint slides and back
Project description
manuscript2slides
Convert Microsoft Word documents to PowerPoint slides and back again.
Features
Turn your Microsoft Word manuscripts into presentation slides (and back again), with a simple desktop interface.
- Multiple chunking strategies: By paragraph, page, or heading (flat/nested)
- Formatting preservation: Bold, italics, colors, highlights, strikethrough, super/subscript, and more
- Annotation support: Comments, footnotes, and endnotes can be copied to slide speaker notes
- Round-trip capability: Convert DOCX → PPTX → DOCX with optional metadata preservation
- Cross-platform: Works on Windows, macOS, and Linux
- Both GUI and CLI: Use whichever fits your workflow
- pip-installable: Usable as a Python library for scripted or automated conversions
Quick Start Guide
Installation
Note: Standalone executables for Mac and Windows (no Python required) are planned for a future release.
For now, you can install via pip (requires Python 3.10+ to already be installed):
# Recommended: Create a virtual environment first
python -m venv .venv
source .venv/bin/activate # On Windows: .venv\Scripts\activate
# Then install
pip install manuscript2slides
Using the GUI (recommended for most users)
# Launch the graphical interface
manuscript2slides
Then:
- Choose a tab:
- DOCX → PPTX: Convert your manuscript into slides
- PPTX → DOCX: Turn a slide deck back into text
- DEMO: Try a sample conversion
- Pick your file(s), adjust options (chunking, formatting, annotations), and click Convert!
Using the Command Line
# Convert a Word document
manuscript2slides-cli --input-docx my-manuscript.docx
# Reverse conversion
manuscript2slides-cli --input-pptx presentation.pptx --direction pptx2docx
# See a demo dry run with sample files
manuscript2slides-cli --demo-round-trip
Detailed User Guide
For a full walkthrough of all options (including screenshots, advanced settings, and round-trip examples), see the User Guide.
License
Acknowledgments
Advanced text formatting features adapted from techniques used in md2pptx by Martin Packer (MIT License).
Thanks to:
- ASCIIFlow for their ascii wireframing tool
- Blog post: A Qt GUI for Logging for showing how to use Py's logging library with PySide6/Qt
- StackOverflow answer and GitHub discussion for guidance on advanced techniques to add hyperlinks to docx runs
For full licensing details, see THIRD_PARTY_LICENSES.md.
Known Limitations
See Known Limitations for a detailed list of current limitations, unsupported features, and known workarounds.
Troubleshooting
If conversion fails or the GUI won't launch, see Troubleshooting.
Development & Contributing
To set up the project for development, see Developer Guide.
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file manuscript2slides-0.1.0.tar.gz.
File metadata
- Download URL: manuscript2slides-0.1.0.tar.gz
- Upload date:
- Size: 274.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e4f8133d54f5ed24eec15f3cfbe91900559c3d16fd24cd7fd1717713ac9bafeb
|
|
| MD5 |
796d653e7bd2b488a0020c515cfe392c
|
|
| BLAKE2b-256 |
c45205317fc3eaad6e1fdfad63b0147d90b0c1c0e280e4dcbbcb4428af26faf8
|
File details
Details for the file manuscript2slides-0.1.0-py3-none-any.whl.
File metadata
- Download URL: manuscript2slides-0.1.0-py3-none-any.whl
- Upload date:
- Size: 265.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2967be302f064a422066b7fa391ab8fe72c2314d62f48345aefe87f0db5b26c9
|
|
| MD5 |
4b9650c431ba63440ef9aa5633b1e281
|
|
| BLAKE2b-256 |
e189258fd15c038d1683fd3a92eccbaded16a4e0558b5f9e23ac6c4daa5372e8
|