Metadata-Version: 2.1
Name: python-pptx-templater
Version: 1.1.13
Summary: Create customizable PowerPoint Presentation (.pptx) using a predefined layout template
Home-page: UNKNOWN
Author: kwlo
Author-email: kwlo@github.com
Maintainer: kwlo
Maintainer-email: kwlo@github.com
License: MIT License
Project-URL: Documentation, https://github.com/kwlo/python-pptx-templater
Project-URL: Code, https://github.com/kwlo/python-pptx-templater
Project-URL: Issue tracker, https://github.com/kwlo/python-pptx-templater/issues
Platform: UNKNOWN
Classifier: Development Status :: 5 - Production/Stable
Classifier: Environment :: Console
Classifier: Environment :: Web Environment
Classifier: Intended Audience :: Developers
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Topic :: Internet :: WWW/HTTP :: Dynamic Content
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Topic :: Text Processing :: Markup :: HTML
Classifier: Topic :: Office/Business :: Office Suites
Requires-Python: !=2.*, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*
Description-Content-Type: text/x-rst
Requires-Dist: jinja2 (>=2.10.3)
Requires-Dist: python-pptx (>=0.6.18)

python-pptx-templater
=====================

python-pptx-templater is a tool to create highly customizable PowerPoint presentation using the jinja template languages.
User specifies the layouts and placeholders and the template will render the presentation.

Example
-------

Input

.. image:: https://raw.githubusercontent.com/kwlo/python-pptx-templater/master/docs/static/images/sample_input.png

Using Template JSON:

.. code-block:: text

    {
        'slides': [
            {
                'layoutSlideNum': 0,
                'text': {
                    'name': 'Paul'
                }
            },
            {
                'layoutSlideNum': 0,
                'text': {
                    'name': 'Joe'
                }
            },
            {
                'layoutSlideNum': 1,
                'text': {
                    'dog': {
                        'name': 'John Cena'
                    }
                }
            },
        ]
    }

Output

.. image:: https://raw.githubusercontent.com/kwlo/python-pptx-templater/master/docs/static/images/sample_output.png

Install
-------

.. code-block:: text

    pip install python-pptx-templater


Usage
-----

.. code-block:: text

    from pptx_templater.core import convert


    def test_conversion():
        currpwd = os.path.dirname(os.path.abspath(__file__))
        srcpath = f'{currpwd}/fixtures/test_presentation_layout.pptx'
        destpath = f'{currpwd}/test_outputs/updated.pptx'

        j = {
            'slides': [
                {
                    'layoutSlideNum': 0,
                    'text': {
                        'name': 'Paul'
                    }
                },
                {
                    'layoutSlideNum': 0,
                    'text': {
                        'name': 'Joe'
                    }
                },
                {
                    'layoutSlideNum': 1,
                    'text': {
                        'dog': {
                            'name': 'John Cena'
                        }
                    }
                },
            ]
        }

        convert(srcpath, destpath, j)


