pptxtoimages
Overview
pptxtoimages is a lightweight Python package to convert .pptx PowerPoint presentations into high-quality image files (PNG by default).
It uses LibreOffice (soffice) to convert .pptx files to PDF, then converts PDF pages to images using pdf2image.
This project aims to provide an easy-to-use, open-source tool for developers who need to quickly generate slide images from PowerPoint files for further processing, presentations, or video creation.
Features
- Convert
.pptxslides to images automatically - Output images saved in PNG format by default
- Supports batch processing of multi-slide presentations
- Cross-platform support (Windows, Linux, macOS) with LibreOffice installed
- CLI support for quick command line usage
Installation
Make sure you have the following prerequisites installed:
- LibreOffice (
sofficecommand available in your system PATH) - Poppler utilities installed (
poppler-utilson Linux)
Then install the package via pip:
pip install pptxtoimages
Usage
Python
from pptxtoimages.tools import PPTXToImageConverter
# Initialize converter
converter = PPTXToImageConverter(pptx_path)
# Convert your .pptx file to images
images = converter.convert("path/to/presentation.pptx", output_dir="output_images")
print(f"Converted {len(images)} slides to images.")
Command Line Interface (CLI)
Convert a pptx file directly from the terminal :
pptxtoimages-cli path/to/presentation.pptx --output output_images
Note : For more examples and details, please check the example.py file.
Configuration
-
Output image format is PNG by default, but can be customized in the Converter class parameters.
-
Output directory will be created if it does not exist.
Development
To contribute or develop locally:
- Clone the repository
- Create a virtual environment and activate it
- Install dependencies:
pip install -r requirements.txt
- Install pre-commit hooks (optional but recommended)
- This ensures your code is auto-formatted (e.g., by black) before each commit.
Versioning
- You may use
bump2versionto suggest version changes only if authorized by the project maintainer. Please respect versioning boundaries – we welcome contributions, but all official releases are maintained and approved manually by the maintainer.
- Open a pull request
Links
Support This Project
If you find pptxtoimages helpful or useful, please consider giving it a star on GitHub! Your support helps the project grow and motivates further development.
License
This project is licensed under the MIT License. See the LICENSE file for details.
Contact
Created by Burak Civelek
Feel free to reach out for questions or suggestions!
Metadata
Release files for pptxtoimages 0.1.14
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| pptxtoimages-0.1.14.tar.gz | 5.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| pptxtoimages-0.1.14-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 11.4 kB
Release files / pptxtoimages-0.1.14.tar.gz
| Download URL | pptxtoimages-0.1.14.tar.gz |
|---|---|
| Size | 5.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
f3d6c8bed87c6131fd94ca1ed56e8cf1c2d3b3aab7813a5a4fc3934370588c32
|
|
BLAKE2b-256 checksum How to use checksums |
1b7c83cb220bc36d56a8442522fd32785ec4e2e0cc9ff00475acb1a3d3aedfdb
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.8.18
|
Release files / pptxtoimages-0.1.14-py3-none-any.whl
| Download URL | pptxtoimages-0.1.14-py3-none-any.whl |
|---|---|
| Size | 6.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
46ea2a0d142e057c896fa56c3a1b91169c2281e5260d5bb3ec4d87c3c098090d
|
|
BLAKE2b-256 checksum How to use checksums |
7941ae11b9c3c7e444269ddd2798999a1964bab810f56ffca59d5ed5480deaa7
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.8.18
|