Metadata-Version: 2.1
Name: pptx-replace
Version: 0.1.3
Summary: python package for replaceing elemnets in pptx files
Author-email: John Lyu <paleneutron@outlook.com>
License: MIT
Project-URL: Source Code, https://github.com/PaleNeutron/pptx-replace
Keywords: pptx,image,replace
Requires-Python: >=3.8
Description-Content-Type: text/markdown
Requires-Dist: python-pptx>=0.6.21
Requires-Dist: matplotlib
Requires-Dist: openpyxl>=3.0
Requires-Dist: pandas
Requires-Dist: numpy>=1.6
Provides-Extra: alt
Requires-Dist: altair>=5.0; extra == "alt"
Requires-Dist: vl-convert-python>1.3; extra == "alt"
Provides-Extra: dev
Requires-Dist: mypy; extra == "dev"
Requires-Dist: flake8<5.0,>=4.0; extra == "dev"
Requires-Dist: black>=22.6.0; extra == "dev"
Requires-Dist: isort>=5.10.1; extra == "dev"
Requires-Dist: pandas-stubs>=1.4.3; extra == "dev"
Provides-Extra: test
Requires-Dist: pytest>=7.1; extra == "test"
Requires-Dist: pytest-cov>=3.0.0; extra == "test"
Provides-Extra: doc
Requires-Dist: sphinx; extra == "doc"
Requires-Dist: myst-parser; extra == "doc"
Requires-Dist: nbsphinx; extra == "doc"
Requires-Dist: pydata-sphinx-theme; extra == "doc"
Requires-Dist: sphinx-autodoc-typehints>=1.18.3; extra == "doc"
Requires-Dist: sphinx-gallery; extra == "doc"

# pptx-replace

A python package for replaceing text, images and tables in pptx files

```python
import pptx
import pptx_replace

prs = Presentation("tests/templates/test_template.pptx")
replace_text(prs, "{Main title}", "this is main report title")
slide = prs.slides[1]
replace_text(slide, "{title}", "This is a title")
replace_picture(prs.slides[0], "image.png", auto_reshape=True)
```

## installation

```bash
pip install pptx-replace
```

If you want to put `altair` picture into pptx file, you need install some extra packages.

```bash
pip install "pptx-replace[alt]"
```

see: <https://github.com/altair-viz/altair_saver>

### extra dependency

Depends on your usage, if you want to export table and keep style in jupyter, `selemium` and browser driver is required.

see: <https://github.com/dexplo/dataframe_image/>


## usage

First open your pptx file.

```python
import pptx
import pptx_replace

prs = Presentation("tests/templates/test_template.pptx")
```


### replace text

Replace any text in your ppt

```python
# repalce all occurances of {Main title} in pptx
replace_text(prs, "{Main title}", "this is main report title")
slide = prs.slides[1]

# replace in just one slide
replace_text(slide, "{title}", "This is a title")

replace_text(slide, "{content}", "a quick brown fox jumps over the lazy dog\n" * 5)
```

### replace picture

Replace picture just by matplotlib figuer!

```python
import matplotlib.pyplot as plt

plt.plot([1, 2, 3, 4])
fig = plt.gcf()

replace_picture(prs.slides[1], fig, auto_reshape=False, order="l2r")
```

### replace table

replace table by pandas dataframe

```python
import pandas as pd
import numpy as np

df = pd.DataFrame(np.random.rand(6, 10))
replace_table(slide, df)

```
