559 lines
22 KiB
Plaintext
559 lines
22 KiB
Plaintext
Metadata-Version: 1.1
|
|
Name: python-pptx
|
|
Version: 0.6.18
|
|
Summary: Generate and manipulate Open XML PowerPoint (.pptx) files
|
|
Home-page: http://github.com/scanny/python-pptx
|
|
Author: Steve Canny
|
|
Author-email: python-pptx@googlegroups.com
|
|
License: The MIT License (MIT)
|
|
Copyright (c) 2013 Steve Canny, https://github.com/scanny
|
|
|
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
of this software and associated documentation files (the "Software"), to deal
|
|
in the Software without restriction, including without limitation the rights
|
|
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
copies of the Software, and to permit persons to whom the Software is
|
|
furnished to do so, subject to the following conditions:
|
|
|
|
The above copyright notice and this permission notice shall be included in
|
|
all copies or substantial portions of the Software.
|
|
|
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
THE SOFTWARE.
|
|
|
|
Description: .. image:: https://travis-ci.org/scanny/python-pptx.svg?branch=master
|
|
:target: https://travis-ci.org/scanny/python-pptx
|
|
|
|
*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, downloadable 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.
|
|
|
|
.. _`python-pptx documentation`:
|
|
https://python-pptx.readthedocs.org/en/latest/
|
|
|
|
.. _`examples with screenshots`:
|
|
https://python-pptx.readthedocs.org/en/latest/user/quickstart.html
|
|
|
|
|
|
.. :changelog:
|
|
|
|
Release History
|
|
---------------
|
|
|
|
0.6.18 (2019-05-02)
|
|
+++++++++++++++++++
|
|
|
|
- .text property getters encode line-break as a vertical-tab (VT, '\v', ASCII 11/x0B).
|
|
This is consistent with PowerPoint's copy/paste behavior and allows like-breaks (soft
|
|
carriage-return) to be distinguished from paragraph boundary. Previously, a line-break
|
|
was encoded as a newline ('\n') and was not distinguishable from a paragraph boundary.
|
|
|
|
.text properties include Shape.text, _Cell.text, TextFrame.text, _Paragraph.text and
|
|
_Run.text.
|
|
|
|
- .text property setters accept vertical-tab character and place a line-break element in
|
|
that location. All other control characters other than horizontal-tab ('\t') and
|
|
newline ('\n') in range \x00-\x1F are accepted and escaped with plain-text like
|
|
"_x001B" for ESC (ASCII 27).
|
|
|
|
Previously a control character other than tab or newline in an assigned string would
|
|
trigger an exception related to invalid XML character.
|
|
|
|
|
|
0.6.17 (2018-12-16)
|
|
+++++++++++++++++++
|
|
|
|
- Add SlideLayouts.remove() - Delete unused slide-layout
|
|
- Add SlideLayout.used_by_slides - Get slides based on this slide-layout
|
|
- Add SlideLayouts.index() - Get index of slide-layout in master
|
|
- Add SlideLayouts.get_by_name() - Get slide-layout by its str name
|
|
|
|
|
|
0.6.16 (2018-11-09)
|
|
+++++++++++++++++++
|
|
|
|
- Feature #395 DataLabels.show_* properties, e.g. .show_percentage
|
|
- Feature #453 Chart data tolerates None for labels
|
|
|
|
|
|
0.6.15 (2018-09-24)
|
|
+++++++++++++++++++
|
|
|
|
- Fix #436 ValueAxis._cross_xAx fails on c:dateAxis
|
|
|
|
|
|
0.6.14 (2018-09-24)
|
|
+++++++++++++++++++
|
|
|
|
- Add _Cell.merge()
|
|
- Add _Cell.split()
|
|
- Add _Cell.__eq__()
|
|
- Add _Cell.is_merge_origin
|
|
- Add _Cell.is_spanned
|
|
- Add _Cell.span_height
|
|
- Add _Cell.span_width
|
|
- Add _Cell.text getter
|
|
- Add Table.iter_cells()
|
|
- Move pptx.shapes.table module to pptx.table
|
|
- Add user documentation 'Working with tables'
|
|
|
|
|
|
0.6.13 (2018-09-10)
|
|
+++++++++++++++++++
|
|
|
|
- Add Chart.font
|
|
- Fix #293 Can't hide title of single-series Chart
|
|
- Fix shape.width value is not type Emu
|
|
- Fix add a:defRPr with c:rich (fixes some font inheritance breakage)
|
|
|
|
|
|
0.6.12 (2018-08-11)
|
|
+++++++++++++++++++
|
|
|
|
- Add Picture.auto_shape_type
|
|
- Remove Python 2.6 testing from build
|
|
- Update dependencies to avoid vulnerable Pillow version
|
|
- Fix #260, #301, #382, #401
|
|
- Add _Paragraph.add_line_break()
|
|
- Add Connector.line
|
|
|
|
|
|
0.6.11 (2018-07-25)
|
|
+++++++++++++++++++
|
|
|
|
- Add gradient fill.
|
|
- Add experimental "turbo-add" option for producing large shape-count slides.
|
|
|
|
|
|
0.6.10 (2018-06-11)
|
|
+++++++++++++++++++
|
|
|
|
- Add `shape.shadow` property to autoshape, connector, picture, and group
|
|
shape, returning a `ShadowFormat` object.
|
|
- Add `ShadowFormat` object with read/write (boolean) `.inherit` property.
|
|
- Fix #328 add support for 26+ series in a chart
|
|
|
|
|
|
0.6.9 (2018-05-08)
|
|
++++++++++++++++++
|
|
|
|
- Add `Picture.crop_x` setters, allowing picture cropping values to be set,
|
|
in addition to interrogated.
|
|
- Add `Slide.background` and `SlideMaster.background`, allowing the
|
|
background fill to be set for an individual slide or for all slides based
|
|
on a slide master.
|
|
- Add option `shapes` parameter to `Shapes.add_group_shape`, allowing a group
|
|
shape to be formed from a number of existing shapes.
|
|
- Improve efficiency of `Shapes._next_shape_id` property to improve
|
|
performance on high shape-count slides.
|
|
|
|
|
|
0.6.8 (2018-04-18)
|
|
++++++++++++++++++
|
|
|
|
- Add `GroupShape`, providing properties specific to a group shape, including
|
|
its `shapes` property.
|
|
- Add `GroupShapes`, providing access to shapes contained in a group shape.
|
|
- Add `SlideShapes.add_group_shape()`, allowing a group shape to be added to
|
|
a slide.
|
|
- Add `GroupShapes.add_group_shape()`, allowing a group shape to be added to
|
|
a group shape, enabling recursive, multi-level groups.
|
|
- Add support for adding jump-to-named-slide behavior to shape and run
|
|
hyperlinks.
|
|
|
|
|
|
0.6.7 (2017-10-30)
|
|
++++++++++++++++++
|
|
|
|
- Add `SlideShapes.build_freeform()`, allowing freeform shapes (such as maps)
|
|
to be specified and added to a slide.
|
|
- Add support for patterned fills.
|
|
- Add `LineFormat.dash_style` to allow interrogation and setting of dashed
|
|
line styles.
|
|
|
|
|
|
0.6.6 (2017-06-17)
|
|
++++++++++++++++++
|
|
|
|
- Add `SlideShapes.add_movie()`, allowing video media to be added to a slide.
|
|
|
|
- fix #190 Accommodate non-conforming part names having '00' index segment.
|
|
- fix #273 Accommodate non-conforming part names having no index segment.
|
|
- fix #277 ASCII/Unicode error on non-ASCII multi-level category names
|
|
- fix #279 BaseShape.id warning appearing on placeholder access.
|
|
|
|
|
|
0.6.5 (2017-03-21)
|
|
++++++++++++++++++
|
|
|
|
- #267 compensate for non-conforming PowerPoint behavior on c:overlay element
|
|
|
|
- compensate for non-conforming (to spec) PowerPoint behavior related to
|
|
c:dLbl/c:tx that results in "can't save" error when explicit data labels
|
|
are added to bubbles on a bubble chart.
|
|
|
|
|
|
0.6.4 (2017-03-17)
|
|
++++++++++++++++++
|
|
|
|
- add Chart.chart_title and ChartTitle object
|
|
- #263 Use Number type to test for numeric category
|
|
|
|
|
|
0.6.3 (2017-02-28)
|
|
++++++++++++++++++
|
|
|
|
- add DataLabel.font
|
|
- add Axis.axis_title
|
|
|
|
|
|
0.6.2 (2017-01-03)
|
|
++++++++++++++++++
|
|
|
|
- add support for NotesSlide (slide notes, aka. notes page)
|
|
- add support for arbitrary series ordering in XML
|
|
- add Plot.categories providing access to hierarchical categories in an
|
|
existing chart.
|
|
- add support for date axes on category charts, including writing a dateAx
|
|
element for the category axis when ChartData categories are date or
|
|
datetime.
|
|
|
|
**BACKWARD INCOMPATIBILITIES:**
|
|
|
|
Some changes were made to the boilerplate XML used to create new charts. This
|
|
was done to more closely adhere to the settings PowerPoint uses when creating
|
|
a chart using the UI. This may result in some appearance changes in charts
|
|
after upgrading. In particular:
|
|
|
|
* Chart.has_legend now defaults to True for Line charts.
|
|
* Plot.vary_by_categories now defaults to False for Line charts.
|
|
|
|
|
|
0.6.1 (2016-10-09)
|
|
++++++++++++++++++
|
|
|
|
- add Connector shape type
|
|
|
|
|
|
0.6.0 (2016-08-18)
|
|
++++++++++++++++++
|
|
|
|
- add XY chart types
|
|
- add Bubble chart types
|
|
- add Radar chart types
|
|
- add Area chart types
|
|
- add Doughnut chart types
|
|
- add Series.points and Point
|
|
- add Point.data_label
|
|
- add DataLabel.text_frame
|
|
- add DataLabel.position
|
|
- add Axis.major_gridlines
|
|
- add ChartFormat with .fill and .line
|
|
- add Axis.format (fill and line formatting)
|
|
- add ValueAxis.crosses and .crosses_at
|
|
- add Point.format (fill and line formatting)
|
|
- add Slide.slide_id
|
|
- add Slides.get() (by slide id)
|
|
- add Font.language_id
|
|
- support blank (None) data points in created charts
|
|
- add Series.marker
|
|
- add Point.marker
|
|
- add Marker.format, .style, and .size
|
|
|
|
|
|
0.5.8 (2015-11-27)
|
|
++++++++++++++++++
|
|
|
|
- add Shape.click_action (hyperlink on shape)
|
|
- fix: #128 Chart cat and ser names not escaped
|
|
- fix: #153 shapes.title raises on no title shape
|
|
- fix: #170 remove seek(0) from Image.from_file()
|
|
|
|
|
|
0.5.7 (2015-01-17)
|
|
++++++++++++++++++
|
|
|
|
- add PicturePlaceholder with .insert_picture() method
|
|
- add TablePlaceholder with .insert_table() method
|
|
- add ChartPlaceholder with .insert_chart() method
|
|
- add Picture.image property, returning Image object
|
|
- add Picture.crop_left, .crop_top, .crop_right, and .crop_bottom
|
|
- add Shape.placeholder_format and PlaceholderFormat object
|
|
|
|
**BACKWARD INCOMPATIBILITIES:**
|
|
|
|
Shape.shape_type is now unconditionally `MSO_SHAPE_TYPE.PLACEHOLDER` for all
|
|
placeholder shapes. Previously, some placeholder shapes reported
|
|
`MSO_SHAPE_TYPE.AUTO_SHAPE`, `MSO_SHAPE_TYPE.CHART`,
|
|
`MSO_SHAPE_TYPE.PICTURE`, or `MSO_SHAPE_TYPE.TABLE` for that property.
|
|
|
|
|
|
0.5.6 (2014-12-06)
|
|
++++++++++++++++++
|
|
|
|
- fix #138 - UnicodeDecodeError in setup.py on Windows 7 Python 3.4
|
|
|
|
|
|
0.5.5 (2014-11-17)
|
|
++++++++++++++++++
|
|
|
|
- feature #51 - add Python 3 support
|
|
|
|
|
|
0.5.4 (2014-11-15)
|
|
++++++++++++++++++
|
|
|
|
- feature #43 - image native size in shapes.add_picture() is now calculated
|
|
based on DPI attribute in image file, if present, defaulting to 72 dpi.
|
|
- feature #113 - Add Paragraph.space_before, Paragraph.space_after, and
|
|
Paragraph.line_spacing
|
|
|
|
|
|
0.5.3 (2014-11-09)
|
|
++++++++++++++++++
|
|
|
|
- add experimental feature TextFrame.fit_text()
|
|
|
|
|
|
0.5.2 (2014-10-26)
|
|
++++++++++++++++++
|
|
|
|
- fix #127 - Shape.text_frame fails on shape having no txBody
|
|
|
|
|
|
0.5.1 (2014-09-22)
|
|
++++++++++++++++++
|
|
|
|
- feature #120 - add Shape.rotation
|
|
- feature #97 - add Font.underline
|
|
- issue #117 - add BMP image support
|
|
- issue #95 - add BaseShape.name setter
|
|
- issue #107 - all .text properties should return unicode, not str
|
|
- feature #106 - add .text getters to Shape, TextFrame, and Paragraph
|
|
|
|
- Rename Shape.textframe to Shape.text_frame.
|
|
**Shape.textframe property (by that name) is deprecated.**
|
|
|
|
|
|
0.5.0 (2014-09-13)
|
|
++++++++++++++++++
|
|
|
|
- Add support for creating and manipulating bar, column, line, and pie charts
|
|
- Major refactoring of XML layer (oxml)
|
|
- Rationalized graphical object shape access
|
|
**Note backward incompatibilities below**
|
|
|
|
**BACKWARD INCOMPATIBILITIES:**
|
|
|
|
A table is no longer treated as a shape. Rather it is a graphical object
|
|
contained in a GraphicFrame shape, as are Chart and SmartArt objects.
|
|
|
|
Example::
|
|
|
|
table = shapes.add_table(...)
|
|
|
|
# becomes
|
|
|
|
graphic_frame = shapes.add_table(...)
|
|
table = graphic_frame.table
|
|
|
|
# or
|
|
|
|
table = shapes.add_table(...).table
|
|
|
|
As the enclosing shape, the id, name, shape type, position, and size are
|
|
attributes of the enclosing GraphicFrame object.
|
|
|
|
The contents of a GraphicFrame shape can be identified using three available
|
|
properties on a shape: has_table, has_chart, and has_smart_art. The enclosed
|
|
graphical object is obtained using the properties GraphicFrame.table and
|
|
GraphicFrame.chart. SmartArt is not yet supported. Accessing one of these
|
|
properties on a GraphicFrame not containing the corresponding object raises
|
|
an exception.
|
|
|
|
|
|
0.4.2 (2014-04-29)
|
|
++++++++++++++++++
|
|
|
|
- fix: issue #88 -- raises on supported image file having uppercase extension
|
|
- fix: issue #89 -- 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**
|
|
|
|
**BACKWARD INCOMPATIBILITIES:**
|
|
|
|
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 ``__init__.py`` 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
|
|
|
|
Keywords: powerpoint ppt pptx office open xml
|
|
Platform: UNKNOWN
|
|
Classifier: Development Status :: 4 - Beta
|
|
Classifier: Environment :: Console
|
|
Classifier: Intended Audience :: Developers
|
|
Classifier: License :: OSI Approved :: MIT License
|
|
Classifier: Operating System :: OS Independent
|
|
Classifier: Programming Language :: Python
|
|
Classifier: Programming Language :: Python :: 2
|
|
Classifier: Programming Language :: Python :: 2.7
|
|
Classifier: Programming Language :: Python :: 3
|
|
Classifier: Programming Language :: Python :: 3.6
|
|
Classifier: Topic :: Office/Business :: Office Suites
|
|
Classifier: Topic :: Software Development :: Libraries
|