python package for replaceing elemnets in pptx files
Project description
pptx-replace
A python package for replaceing text, images and tables in pptx files
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
pip install pptx-replace
If you want to put altair
picture into pptx file, you need install some extra packages.
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.
import pptx
import pptx_replace
prs = Presentation("tests/templates/test_template.pptx")
replace text
Replace any text in your ppt
# 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!
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
import pandas as pd
import numpy as np
df = pd.DataFrame(np.random.rand(6, 10))
replace_table(slide, df)
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
pptx-replace-0.1.2.tar.gz
(13.8 MB
view hashes)
Built Distribution
Close
Hashes for pptx_replace-0.1.2-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2706de6a16acf9153fda0d01cd7bfa4e2846dc4cb46b9d3a348176acd94acabc |
|
MD5 | c875715faae18fffd7971bdddfc69c34 |
|
BLAKE2b-256 | 2de2e4cfdeabc635546fb08c94429a4c38edc0b1365784ed544a1343f6c32752 |