From 9a7553406beef499f64d220131ac02465f524ee1 Mon Sep 17 00:00:00 2001 From: crupest Date: Sun, 1 Nov 2020 21:39:34 +0800 Subject: import(life): The mate has deleted the bland target slide of hyperlink in pptx and he asked me to write a script to add it back. --- works/life/question-pptx/add-hyperlink.py | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 works/life/question-pptx/add-hyperlink.py (limited to 'works/life/question-pptx/add-hyperlink.py') diff --git a/works/life/question-pptx/add-hyperlink.py b/works/life/question-pptx/add-hyperlink.py new file mode 100644 index 0000000..b427bdd --- /dev/null +++ b/works/life/question-pptx/add-hyperlink.py @@ -0,0 +1,24 @@ +import pptx +import sys +import os + +fn = sys.argv[1] + +presentation: pptx.presentation.Presentation = pptx.Presentation(fn) + +target_slide = presentation.slides.add_slide(presentation.slide_layouts[6]) + +slide: pptx.slide.Slide +for slide in presentation.slides: + for shape in slide.shapes: + try: + if isinstance(shape, pptx.shapes.autoshape.Shape) and shape.auto_shape_type == pptx.enum.shapes.MSO_SHAPE.OVAL: + shape.click_action.target_slide = target_slide + except: + pass +try: + os.mkdir('output') +except: + pass + +presentation.save(os.path.join('output', os.path.basename(fn))) -- cgit v1.2.3