Skip to content

Commit e632a2b

Browse files
committed
adding ability to add multiple slides
1 parent f719002 commit e632a2b

File tree

6 files changed

+38
-8
lines changed

6 files changed

+38
-8
lines changed

copy_file_and_list_layouts_and_add_1_slide.py renamed to add_many_slides_from_template.py

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,11 @@
22
from pptx import Presentation
33

44
source_file = 'templates/Consulting_Template_2.pptx'
5-
destination_file = 'outputs/Copied_File_2.pptx'
5+
destination_file = 'outputs/Copied_File_4.pptx'
66

77
shutil.copy(source_file, destination_file)
88

9-
presentation = Presentation('outputs/Copied_File_2.pptx')
9+
presentation = Presentation('outputs/Copied_File_4.pptx')
1010

1111
slide_count = len(presentation.slides)
1212
print(f"Number of slides: {slide_count}")
@@ -28,10 +28,13 @@
2828
selected_layout = presentation.slide_layouts[selected_layout_index]
2929
print(f"Selected layout: {selected_layout}")
3030

31-
new_slide = presentation.slides.add_slide(selected_layout)
32-
print(f"New slide: {new_slide}")
31+
num_slides_to_add = int(input("How many slides would you like to add? "))
32+
33+
for _ in range(num_slides_to_add):
34+
new_slide = presentation.slides.add_slide(selected_layout)
35+
print(f"New slide: {new_slide}")
3336

3437
slide_count = len(presentation.slides)
3538
print(f"Number of slides: {slide_count}")
3639

37-
presentation.save('outputs/Copied_File_3.pptx')
40+
presentation.save('outputs/Copied_File_4.pptx')
File renamed without changes.

copy_slide_(not_tested_yet).py renamed to archive/not_tested/copy_slide_NT.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
from pptx import Presentation
22

33
# Load the source and destination presentations
4-
source_presentation = Presentation('source_presentation.pptx')
5-
destination_presentation = Presentation('destination_presentation.pptx')
4+
source_presentation = Presentation('templates/Consulting_Template_2.pptx')
5+
destination_presentation = Presentation('outputs/Copied_File.pptx')
66

77
# Choose the slide to copy (e.g., slide 1)
88
source_slide = source_presentation.slides[0]
@@ -22,4 +22,4 @@
2222
new_shape.text = source_shape.text
2323

2424
# Save the destination presentation
25-
destination_presentation.save('output_presentation.pptx')
25+
destination_presentation.save('outputs/output_presentation.pptx')
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
from pptx import Presentation
2+
3+
# Load the source presentation
4+
source_presentation = Presentation('templates/Consulting_Template.pptx')
5+
6+
# Create a new presentation to copy the slide into
7+
destination_presentation = Presentation()
8+
9+
# Specify the source slide index (0-based) to copy from
10+
source_slide_index = 0
11+
12+
# Specify the destination slide layout (0 for the default layout)
13+
destination_slide_layout_index = 0
14+
15+
# Copy the source slide to the destination presentation
16+
source_slide = source_presentation.slides[source_slide_index]
17+
destination_slide_layout = destination_presentation.slide_layouts[destination_slide_layout_index]
18+
destination_slide = destination_presentation.slides.add_slide(destination_slide_layout)
19+
20+
# Copy all elements from the source slide to the destination slide
21+
for source_element in source_slide.shapes:
22+
# Clone the source element and add it to the destination slide
23+
destination_element = source_element.clone()
24+
destination_slide.shapes.add_element(destination_element)
25+
26+
# Save the destination presentation
27+
destination_presentation.save('outputs/Copied_Slide_Contents_1.pptx')

outputs/Copied_File_3.pptx

0 Bytes
Binary file not shown.

outputs/Copied_File_4.pptx

2.17 MB
Binary file not shown.

0 commit comments

Comments
 (0)