This distribution, python-pptx-extended, is a fork of
scanny/python-pptx at upstream version 1.0.2. The import name is unchanged
(import pptx), so existing user code continues to work. The fork adds the
following features on top of upstream:
- Full shadow effect API on
ShadowFormat(outer/inner/preset shadows). - Bullet and numbered list formatting on paragraphs.
- Per-edge border styling for table cells.
cap_styleandjoin_styleproperties onLineFormat.- Line-end shape types (arrow / triangle / oval / etc.).
- OOXML customXml support —
Presentation.custom_properties(Mapping over custom document properties) andPresentation.custom_xml_parts(Sequence over customXml data parts), supporting both presentation-scoped (Office.js default) and package-scoped (VSTO / SharePoint) topologies.
Because the import package name (pptx) is shared with the upstream
distribution, python-pptx and python-pptx-extended cannot be installed
into the same environment — install one or the other.
python-pptx is a Python library for creating, reading, and updating PowerPoint (.pptx) files.
A typical use would be generating a PowerPoint presentation from dynamic content such as a database query, analytics output, or a JSON payload, perhaps in response to an HTTP request and downloading the generated PPTX file in response. It runs on any Python capable platform, including macOS and Linux, and does not require the PowerPoint application to be installed or licensed.
It can also be used to analyze PowerPoint files from a corpus, perhaps to extract search indexing text and images.
In can also be used to simply automate the production of a slide or two that would be tedious to get right by hand, which is how this all got started.
More information is available in the python-pptx documentation.
Browse examples with screenshots to get a quick idea what you can do with python-pptx.