Skip to main content

pptx-raster

The pure-Python PPTX toolkit: render slides to images, convert, extract, template, merge. No PowerPoint. No LibreOffice. No external applications.

pip install pptx-raster          # PyPI package name

Install as pptx-raster, import as pptx_raster.

from pptx_raster import (render, thumbnail, to_gif, contact_sheet,     # imaging
                      to_pdf, to_markdown, from_markdown,           # conversion
                      extract_text, extract_tables, extract_images, # extraction
                      replace_text, add_watermark,                  # templating
                      merge, split)                                 # deck ops

paths = render("deck.pptx", "out/", fmt="jpg", scale=2.0)   # -> [Path, ...]
for slide_idx, msgs in paths.warnings.items():               # honest warnings
    print(slide_idx, msgs)

render("secret.pptx", "out/", password="hunter2")            # encrypted decks work too

CLI (same features):

pptx_raster render deck.pptx -o out/ --format png --scale 2
pptx_raster pdf deck.pptx -o deck.pdf          pptx_raster gif deck.pptx -o deck.gif
pptx_raster thumb deck.pptx -o thumbs/         pptx_raster sheet deck.pptx -o overview.png
pptx_raster md deck.pptx -o deck.md            pptx_raster md2pptx notes.md -o deck.pptx
pptx_raster replace deck.pptx --map "{name}=ACME" -o out.pptx
pptx_raster watermark deck.pptx --text DRAFT -o out.pptx
pptx_raster merge a.pptx b.pptx -o all.pptx    pptx_raster split deck.pptx -o parts/

How it works

Built on python-pptx (OOXML parsing) + Pillow (rasterization) + resvg (embedded SVG icons). Implements the DrawingML rendering pipeline: theme/color resolution with full inheritance (slide → layout → master → theme), an ECMA-376 preset-geometry interpreter (all 187 preset shapes), freeform paths, group transforms, rotation/flips, alpha compositing, a text layout engine with font substitution, and tables. See Documentation/ for the R&D studies behind it.

Fidelity

Measured by per-slide SSIM against PowerPoint's own renders on a 146-slide corpus of real business decks (CI-gated):

Engine Mean SSIM vs PowerPoint
Aspose.Slides (commercial, ~$1000/dev) 0.878
pptx-raster 0.860–0.878 per deck
Spire.Presentation (commercial) 0.50–0.84, fails to load some decks

Supported features (v1)

Feature Status
Solid fills, theme colors, alpha/tint/shade ✅ full
All 187 preset autoshapes + freeform paths ✅ full
Rotation, flips, group shapes (nested) ✅ full
Pictures (PNG/JPG, crop, geometry clipping) ✅ full
SVG pictures ✅ full (rasterized via resvg)
Text: fonts, size, bold/italic, color, wrap, alignment, anchors ✅ full
Placeholder style inheritance (layout/master) ✅ full
Bullets (char + auto-numbered) ✅ full
Tables (grid, fills, borders, cell text) ✅ full
Missing fonts ⚠️ metric-compatible substitution + warning
Charts: clustered column, line, pie ✅ full (native rendering)
Other chart types, SmartArt, OLE ⬜ labeled placeholder + warning
Gradients, shadows/effects, WordArt, autofit ⬜ not rendered (warning)

The renderer never throws on unsupported content — it degrades to a labeled placeholder and reports a warning, so you always get your images.

License

pptx-raster is proprietary software. Without a license key it runs in evaluation mode — output is watermarked and limited to the first 10 slides per deck. A paid annual per-developer license unlocks full, unwatermarked output.

Buy / activate: email info@codevartech.com or visit https://www.codevartech.com/contact (self-serve purchase page coming soon). Publisher: Codevar Technology Pvt. Ltd. (India) — https://www.codevartech.com

Activate in code:

from pptx_raster import set_license
set_license("YOUR-KEY")        # or set the PPTX_RASTER_LICENSE environment variable

The full licensing terms ship as COMMERCIAL-LICENSE.md inside the package.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

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

pptx_raster-1.0.1-cp313-cp313-win_amd64.whl (2.8 MB view details)

Uploaded CPython 3.13Windows x86-64

pptx_raster-1.0.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl (8.2 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64manylinux: glibc 2.28+ x86-64

pptx_raster-1.0.1-cp313-cp313-macosx_11_0_arm64.whl (3.0 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

pptx_raster-1.0.1-cp312-cp312-win_amd64.whl (2.8 MB view details)

Uploaded CPython 3.12Windows x86-64

pptx_raster-1.0.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl (8.4 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64manylinux: glibc 2.28+ x86-64

pptx_raster-1.0.1-cp312-cp312-macosx_11_0_arm64.whl (3.0 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

pptx_raster-1.0.1-cp311-cp311-win_amd64.whl (2.8 MB view details)

Uploaded CPython 3.11Windows x86-64

pptx_raster-1.0.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl (8.3 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64manylinux: glibc 2.28+ x86-64

pptx_raster-1.0.1-cp311-cp311-macosx_11_0_arm64.whl (3.0 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

pptx_raster-1.0.1-cp310-cp310-win_amd64.whl (2.8 MB view details)

Uploaded CPython 3.10Windows x86-64

pptx_raster-1.0.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl (8.0 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64manylinux: glibc 2.28+ x86-64

pptx_raster-1.0.1-cp310-cp310-macosx_11_0_arm64.whl (3.0 MB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

File details

Details for the file pptx_raster-1.0.1-cp313-cp313-win_amd64.whl.

File metadata

File hashes

Hashes for pptx_raster-1.0.1-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 a23ca20fbd0cb521ac4679b4d1f2000bffa5b76ed88e37a2452df89f09f0326a
MD5 a7673db131d80f9fac2a2634a0d4a421
BLAKE2b-256 c72a2887235e42b681621f4f5a6cc2df671a17f7b55ae61ba017ca10f4861cbb

See more details on using hashes here.

Provenance

The following attestation bundles were made for pptx_raster-1.0.1-cp313-cp313-win_amd64.whl:

Publisher: release.yml on codevartech/pptx-raster

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pptx_raster-1.0.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pptx_raster-1.0.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 1aca1b0e0d5b69b8fc089250e07f63869d521c72ee9a1081d2a69f6a1b4a9422
MD5 4051a9c17dfab807bb24ff163c97daae
BLAKE2b-256 a7ab9a00d96290d9046c9d2842d9380137b06452fa9cc8393dc13c752f1192ea

See more details on using hashes here.

Provenance

The following attestation bundles were made for pptx_raster-1.0.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl:

Publisher: release.yml on codevartech/pptx-raster

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pptx_raster-1.0.1-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pptx_raster-1.0.1-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 4ca0a48a753f8b1f7a7159c7184a9e3f8e71baee90589d66e57f13f48459c3eb
MD5 1a836e986992e10f3f79c6ac04b6d8b9
BLAKE2b-256 586db4f89b218997b56f017bcc131fa0de6bb66d89f56571197cad92f7f7f9c9

See more details on using hashes here.

Provenance

The following attestation bundles were made for pptx_raster-1.0.1-cp313-cp313-macosx_11_0_arm64.whl:

Publisher: release.yml on codevartech/pptx-raster

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pptx_raster-1.0.1-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for pptx_raster-1.0.1-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 cb7078728987a5b6b807c368e8361c440aec214f4bbee3a4919042d72dc94492
MD5 6580b9459a2bb0bde74f4524732d0896
BLAKE2b-256 a0305383a134c63106ffa4c581a72fd756b1fc8bd4ac016541a5f771b579a38c

See more details on using hashes here.

Provenance

The following attestation bundles were made for pptx_raster-1.0.1-cp312-cp312-win_amd64.whl:

Publisher: release.yml on codevartech/pptx-raster

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pptx_raster-1.0.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pptx_raster-1.0.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 348c0a9107c93827c0e4acea0838710ed4a59cf374d544700af126f6b6b80bf9
MD5 fa74285d56be491d678a594665e0d620
BLAKE2b-256 858a53d90680ecbbd35ce34b220b482c2da5237852e79e34a0d1dadc623804f6

See more details on using hashes here.

Provenance

The following attestation bundles were made for pptx_raster-1.0.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl:

Publisher: release.yml on codevartech/pptx-raster

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pptx_raster-1.0.1-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pptx_raster-1.0.1-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 c5d0b70a6410334e874d58218076b0f8e569e8f4fc8e63ff3f682315e226863a
MD5 fb371843d8b1fa14d6b09eaaa4b14b3a
BLAKE2b-256 e8d98b70ad1879aa618e98f09b1e7282fb0f88be21b415e3d09bff9f0df7456e

See more details on using hashes here.

Provenance

The following attestation bundles were made for pptx_raster-1.0.1-cp312-cp312-macosx_11_0_arm64.whl:

Publisher: release.yml on codevartech/pptx-raster

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pptx_raster-1.0.1-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for pptx_raster-1.0.1-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 2ac0f71cbc0538381fb2442f5b0f43fe09e8cfaab08073f6fce56669c6975e0b
MD5 608ece651e959b1a84d2693436aa3332
BLAKE2b-256 9a8db4e624b3fc7c5d487c44307abd8e8e9900d75d2fb84bdbca19c953366003

See more details on using hashes here.

Provenance

The following attestation bundles were made for pptx_raster-1.0.1-cp311-cp311-win_amd64.whl:

Publisher: release.yml on codevartech/pptx-raster

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pptx_raster-1.0.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pptx_raster-1.0.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 05e1dc8c7f9266db1d20da816619af67b8b6b42979910c334c20b4b338f87e24
MD5 626219b9faf2f6db448053ba3a0b2b3d
BLAKE2b-256 d0b25a94c3a1931f2a58636af4ea6433b0a7811ffaad1bf7e24e35bf918cdaa3

See more details on using hashes here.

Provenance

The following attestation bundles were made for pptx_raster-1.0.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl:

Publisher: release.yml on codevartech/pptx-raster

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pptx_raster-1.0.1-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pptx_raster-1.0.1-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 48886be297181eaee73f0b52406d105babcbcf3d07a1252e64162efd7aaf5a7e
MD5 098ddccb4e558025c9bb979afd759b4b
BLAKE2b-256 b9eebd17f8f168333f77eee080e9f46dcc48ced51f7828d89a7e353b537914f4

See more details on using hashes here.

Provenance

The following attestation bundles were made for pptx_raster-1.0.1-cp311-cp311-macosx_11_0_arm64.whl:

Publisher: release.yml on codevartech/pptx-raster

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pptx_raster-1.0.1-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for pptx_raster-1.0.1-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 6bf24b13957bdd9318ff8f95d0f37b9e0a512dee8521e13185b352c17ea9d485
MD5 936bfbe72d508c8a2c645c4ae982fdf8
BLAKE2b-256 e57e8948ae719d07dfd9648143cd2cd1a5cb972267bbafc7778878b7be67be9f

See more details on using hashes here.

Provenance

The following attestation bundles were made for pptx_raster-1.0.1-cp310-cp310-win_amd64.whl:

Publisher: release.yml on codevartech/pptx-raster

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pptx_raster-1.0.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pptx_raster-1.0.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 d7bbdaf3202e3cc742f835f4fe9e639e55d381eb2ae618ac71c69d9a14b5d44b
MD5 5a45eb145033c616ba563f2959b5335e
BLAKE2b-256 e240527c37ef4a4e3d7298998e1ac81cccef2acd893f16d6b3ccd496b6c15cd5

See more details on using hashes here.

Provenance

The following attestation bundles were made for pptx_raster-1.0.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl:

Publisher: release.yml on codevartech/pptx-raster

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pptx_raster-1.0.1-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pptx_raster-1.0.1-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 5721ace9e33ff71dff1041638ecc2af4fbc244916f6a5d595ace9f2aa02ccd0a
MD5 17a486aa2ea00efa97397401cd8da7de
BLAKE2b-256 5348f59d7d3e9fbffe88d322cdc0ea53d17cd6226e3bcf13a089874a9ad855d3

See more details on using hashes here.

Provenance

The following attestation bundles were made for pptx_raster-1.0.1-cp310-cp310-macosx_11_0_arm64.whl:

Publisher: release.yml on codevartech/pptx-raster

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

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