generate pptx files from gsf files

This commit is contained in:
Peter McGoron 2021-09-17 08:47:57 -04:00
parent 985c1446e6
commit af7e973cc0
1 changed files with 28 additions and 2 deletions

View File

@ -1,3 +1,8 @@
import sys
import io
import pptx
from pptx.util import Inches, Pt
sys.path.append("..")
from gwygsf import GSF from gwygsf import GSF
import matplotlib.pyplot as plt import matplotlib.pyplot as plt
@ -16,6 +21,27 @@ def makeplot(name):
ax.set_xlabel("um") ax.set_xlabel("um")
ax.set_ylabel("um") ax.set_ylabel("um")
fig.colorbar(gr) fig.colorbar(gr)
fig.savefig(f'{name}.png')
makeplot('test.gsf') img = io.BytesIO()
fig.savefig(img)
return img
def build_pptx(l, out):
prs = pptx.Presentation()
imgoff_x = Inches(2)
imgoff_y = Inches(2)
textoff = Inches(0.5)
textoff_x = Inches(4.6)
def addslide():
return prs.slides.add_slide(prs.slide_layouts[6])
for (n,im) in l:
s = addslide()
s.shapes.add_picture(im, imgoff_x, imgoff_y)
txt = s.shapes.add_textbox(textoff_x,textoff,textoff,textoff).text_frame.add_paragraph()
txt.text = n
txt.font.size = Pt(15)
prs.save(f"{out}.pptx")
build_pptx([(x,makeplot(x)) for x in sys.argv[2:len(sys.argv)-1]], sys.argv[len(sys.argv)-1])