skip to navigation
skip to content

python-pptx 0.4.2

Generate and manipulate Open XML PowerPoint (.pptx) files

Latest Version: 0.6.7

python-pptx is a Python library for creating and updating PowerPoint (.pptx) files.

A typical use would be generating a customized PowerPoint presentation from database content, downloadble by clicking a link in a web application. Several developers have used it to automate production of presentation-ready engineering status reports based on information held in their work management system. It could also be used for making bulk updates to a library of presentations or simply to automate the production of a slide or two that would be tedious to get right by hand.

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.

Release History

0.4.2 (2014-04-29)

  • fix: issue #88 – raises on supported image file having uppercase extension
  • fix: issue #88 – raises on add_slide() where non-contiguous existing ids

0.4.1 (2014-04-29)

  • Rename Presentation.slidemasters to Presentation.slide_masters. Presentation.slidemasters property is deprecated.
  • Rename Presentation.slidelayouts to Presentation.slide_layouts. Presentation.slidelayouts property is deprecated.
  • Rename SlideMaster.slidelayouts to SlideMaster.slide_layouts. SlideMaster.slidelayouts property is deprecated.
  • Rename SlideLayout.slidemaster to SlideLayout.slide_master. SlideLayout.slidemaster property is deprecated.
  • Rename Slide.slidelayout to Slide.slide_layout. Slide.slidelayout property is deprecated.
  • Add SlideMaster.shapes to access shapes on slide master.
  • Add SlideMaster.placeholders to access placeholder shapes on slide master.
  • Add _MasterPlaceholder class.
  • Add _LayoutPlaceholder class with position and size inheritable from master placeholder.
  • Add _SlidePlaceholder class with position and size inheritable from layout placeholder.
  • Add Table.left, top, width, and height read/write properties.
  • Add rudimentary GroupShape with left, top, width, and height properties.
  • Add rudimentary Connector with left, top, width, and height properties.
  • Add TextFrame.auto_size property.
  • Add Presentation.slide_width and .slide_height read/write properties.
  • Add LineFormat class providing access to read and change line color and width.
  • Add AutoShape.line
  • Add Picture.line
  • Rationalize enumerations. Note backward incompatibilities below


The following enumerations were moved/renamed during the rationalization of enumerations:

  • pptx.enum.MSO_COLOR_TYPE –> pptx.enum.dml.MSO_COLOR_TYPE
  • pptx.enum.MSO_FILL –> pptx.enum.dml.MSO_FILL
  • pptx.enum.MSO_THEME_COLOR –> pptx.enum.dml.MSO_THEME_COLOR
  • pptx.constants.MSO.ANCHOR_* –> pptx.enum.text.MSO_ANCHOR.*
  • pptx.constants.MSO_SHAPE –> pptx.enum.shapes.MSO_SHAPE
  • pptx.constants.PP.ALIGN_* –> pptx.enum.text.PP_ALIGN.*
  • pptx.constants.MSO.{SHAPE_TYPES} –> pptx.enum.shapes.MSO_SHAPE_TYPE.*

Documentation for all enumerations is available in the Enumerations section of the User Guide.

0.3.2 (2014-02-07)

  • Hotfix: issue #80 generated presentations fail to load in Keynote and other Apple applications

0.3.1 (2014-01-10)

  • Hotfix: failed to load certain presentations containing images with uppercase extension

0.3.0 (2013-12-12)

  • Add read/write font color property supporting RGB, theme color, and inherit color types
  • Add font typeface and italic support
  • Add text frame margins and word-wrap
  • Add support for external relationships, e.g. linked spreadsheet
  • Add hyperlink support for text run in shape and table cell
  • Add fill color and brightness for shape and table cell, fill can also be set to transparent (no fill)
  • Add read/write position and size properties to shape and picture
  • Replace PIL dependency with Pillow
  • Restructure modules to better suit size of library

0.2.6 (2013-06-22)

  • Add read/write access to core document properties
  • Hotfix to accomodate connector shapes in _AutoShapeType
  • Hotfix to allow customXml parts to load when present

0.2.5 (2013-06-11)

  • Add paragraph alignment property (left, right, centered, etc.)
  • Add vertical alignment within table cell (top, middle, bottom)
  • Add table cell margin properties
  • Add table boolean properties: first column (row header), first row (column headings), last row (for e.g. totals row), last column (for e.g. row totals), horizontal banding, and vertical banding.
  • Add support for auto shape adjustment values, e.g. change radius of corner rounding on rounded rectangle, position of callout arrow, etc.

0.2.4 (2013-05-16)

  • Add support for auto shapes (e.g. polygons, flowchart symbols, etc.)

0.2.3 (2013-05-05)

  • Add support for table shapes
  • Add indentation support to textbox shapes, enabling multi-level bullets on bullet slides.

0.2.2 (2013-03-25)

  • Add support for opening and saving a presentation from/to a file-like object.
  • Refactor XML handling to use lxml objectify

0.2.1 (2013-02-25)

  • Add support for Python 2.6
  • Add images from a stream (e.g. StringIO) in addition to a path, allowing images retrieved from a database or network resource to be inserted without saving first.
  • Expand text methods to accept unicode and UTF-8 encoded 8-bit strings.
  • Fix potential install bug triggered by importing __version__ from package file.

0.2.0 (2013-02-10)

First non-alpha release with basic capabilities:

  • open presentation/template or use built-in default template
  • add slide
  • set placeholder text (e.g. bullet slides)
  • add picture
  • add text box
File Type Py Version Uploaded on Size
python-pptx-0.4.2.tar.gz (md5) Source 2014-04-30 2MB