Skip to main content

Convert .pptx presentations to image files easily.

Project description

pptxtoimages

PyPI version License

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 .pptx slides 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 (soffice command available in your system PATH)
  • Poppler utilities installed (poppler-utils on 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:

  1. Clone the repository
  2. Create a virtual environment and activate it
  3. Install dependencies:
    pip install -r requirements.txt
  1. Use bump2version to manage versioning
  2. Run tests and linting (if any)
  3. Open a pull request

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!

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

pptxtoimages-0.1.2.tar.gz (4.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pptxtoimages-0.1.2-py3-none-any.whl (5.5 kB view details)

Uploaded Python 3

File details

Details for the file pptxtoimages-0.1.2.tar.gz.

File metadata

  • Download URL: pptxtoimages-0.1.2.tar.gz
  • Upload date:
  • Size: 4.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.8.18

File hashes

Hashes for pptxtoimages-0.1.2.tar.gz
Algorithm Hash digest
SHA256 cbeda0ca425653de339d517fdc69901163198fb4b55ae988689c524baf8074e1
MD5 d0eb5f2572d22663789e2e092778f09d
BLAKE2b-256 64e89070a5997ed6d92d380147d6696bf358347d191353d32365dd06b3e1d19e

See more details on using hashes here.

File details

Details for the file pptxtoimages-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: pptxtoimages-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 5.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.8.18

File hashes

Hashes for pptxtoimages-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 0c1023415f93dc1a733b421974fc205d427f901a8857311883c88fce3f64e394
MD5 35e4968b54a7e11d05922bd5dbd38eaa
BLAKE2b-256 52332aa7eb31c8e56e2c0af341266fc65460b524a17a1c44f6d04611ab221bb1

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page