Người giữ chỗ có thể làm cho việc thêm nội dung dễ dàng hơn rất nhiều. Nếu bạn đã từng thêm một hộp văn bản mới vào một slide từ đầu và nhận thấy có bao nhiêu điều chỉnh để có được nó theo cách bạn muốn bạn hiểu tại sao. Người giữ chỗ ở đúng vị trí với kích thước phông chữ phù hợp, căn chỉnh đoạn văn, kiểu đạn, v.v.
Một trình giữ chỗ cũng có thể được sử dụng để đặt một vật thể có nội dung phong phú trên một slide. Một hình ảnh, bảng hoặc biểu đồ có thể được chèn vào một trình giữ chỗ và do đó đảm nhận vị trí và kích thước của trình giữ chỗ, cũng như một số thuộc tính định dạng của nó.
Truy cập một người giữ chỗ
Mỗi người giữ chỗ cũng là một hình dạng, và do đó có thể được truy cập bằng thuộc tính shapes
của một slide. Tuy nhiên, khi tìm kiếm một trình giữ chỗ cụ thể, tài sản placeholders
có thể làm cho mọi thứ dễ dàng hơn.
Cách đáng tin cậy nhất để truy cập vào một trình giữ chỗ đã biết là giá trị ____10 của nó. Giá trị
>>> slide.placeholders[1] >>> slide.placeholders[2].name 'Text Placeholder 3'0 của trình giữ chỗ là phím số nguyên của trình giữ chỗ bố trí trượt mà nó kế thừa các thuộc tính từ. Như vậy, nó vẫn ổn định trong suốt vòng đời của slide và sẽ giống nhau cho bất kỳ slide nào được tạo bằng cách sử dụng bố cục đó.
Nó thường đủ dễ dàng để xem xét các trình giữ chỗ trên một slide và chọn ra cái bạn muốn:
>>> prs = Presentation[] >>> slide = prs.slides.add_slide[prs.slide_layouts[8]] >>> for shape in slide.placeholders: ... print['%d %s' % [shape.placeholder_format.idx, shape.name]] ... 0 Title 1 1 Picture Placeholder 2 2 Text Placeholder 3
Sau đó, có chỉ số đã biết trong tay, để truy cập trực tiếp:
>>> slide.placeholders[1] >>> slide.placeholders[2].name 'Text Placeholder 3'
Ghi chú
Truy cập mục trên bộ sưu tập trình giữ chỗ giống như của một từ điển chứ không phải là một danh sách. Mặc dù khóa được sử dụng ở trên là một số nguyên, tra cứu là trên các giá trị IDX, không phải vị trí trong một chuỗi. Nếu giá trị được cung cấp không khớp với giá trị IDX của một trong những người giữ chỗ,
>>> slide.placeholders[1] >>> slide.placeholders[2].name 'Text Placeholder 3'2 sẽ được nâng lên. Giá trị IDX không nhất thiết là tiếp giáp.
Nói chung, giá trị
>>> slide.placeholders[1] >>> slide.placeholders[2].name 'Text Placeholder 3'0 của trình giữ chỗ từ bố cục slide tích hợp [một sản phẩm được cung cấp với PowerPoint] sẽ nằm trong khoảng từ 0 đến 5. Người giữ chỗ tiêu đề sẽ luôn có ____10 0 nếu có và bất kỳ người giữ chỗ nào khác sẽ theo trình tự, trên cùng với đáy và trái sang phải. Một người giữ chỗ được thêm vào bố cục trượt của người dùng trong PowerPoint sẽ nhận được giá trị
>>> slide.placeholders[1] >>> slide.placeholders[2].name 'Text Placeholder 3'0 bắt đầu từ 10.
Xác định và mô tả một trình giữ chỗ
Một người giữ chỗ hành xử khác nhau mà các hình dạng khác theo một số cách. Cụ thể, giá trị của thuộc tính
>>> slide.placeholders[1] >>> slide.placeholders[2].name 'Text Placeholder 3'6 của nó là vô điều kiện
>>> slide.placeholders[1] >>> slide.placeholders[2].name 'Text Placeholder 3'7 bất kể nó là loại trình giữ chỗ nào hoặc loại nội dung mà nó chứa:
>>> prs = Presentation[] >>> slide = prs.slides.add_slide[prs.slide_layouts[8]] >>> for shape in slide.shapes: ... print['%s' % shape.shape_type] ... PLACEHOLDER [14] PLACEHOLDER [14] PLACEHOLDER [14]
Để tìm hiểu thêm, nó cần thiết để kiểm tra nội dung của thuộc tính của người giữ chỗ. Tất cả các hình dạng đều có thuộc tính này, nhưng truy cập nó trên một hình dạng không phải là người đặt ra
>>> slide.placeholders[1] >>> slide.placeholders[2].name 'Text Placeholder 3'9. Thuộc tính
>>> prs = Presentation[] >>> slide = prs.slides.add_slide[prs.slide_layouts[8]] >>> for shape in slide.shapes: ... print['%s' % shape.shape_type] ... PLACEHOLDER [14] PLACEHOLDER [14] PLACEHOLDER [14]0 có thể được sử dụng để xác định xem hình dạng có phải là trình giữ chỗ hay không:
>>> for shape in slide.shapes: ... if shape.is_placeholder: ... phf = shape.placeholder_format ... print['%d, %s' % [phf.idx, phf.type]] ... 0, TITLE [1] 1, PICTURE [18] 2, BODY [2]
Một cách khác mà một người giữ chỗ hoạt động khác nhau là nó kế thừa vị trí và kích thước của nó từ trình giữ chỗ bố trí của nó. Sự kế thừa này bị ghi đè nếu vị trí và kích thước của một trình giữ chỗ bị thay đổi.
Chèn nội dung vào trình giữ chỗ
Một số loại trình giữ chỗ có các phương pháp chuyên dụng để chèn nội dung. Trong bản phát hành hiện tại, các trình giữ chỗ hình ảnh, bảng và biểu đồ có các phương thức chèn nội dung. Văn bản có thể được chèn vào tiêu đề và trình giữ chỗ cơ thể giống như cách văn bản được chèn vào một hình dạng tự động.
________ 21¶
Người giữ chỗ hình ảnh có phương pháp
>>> prs = Presentation[] >>> slide = prs.slides.add_slide[prs.slide_layouts[8]] >>> for shape in slide.shapes: ... print['%s' % shape.shape_type] ... PLACEHOLDER [14] PLACEHOLDER [14] PLACEHOLDER [14]2:
>>> prs = Presentation[] >>> slide = prs.slides.add_slide[prs.slide_layouts[8]] >>> placeholder = slide.placeholders[1] # idx key, not position >>> placeholder.name 'Picture Placeholder 2' >>> placeholder.placeholder_format.type PICTURE [18] >>> picture = placeholder.insert_picture['my-image.png']
Ghi chú
Một tham chiếu đến một trình giữ chỗ hình ảnh trở nên không hợp lệ sau khi phương thức
>>> prs = Presentation[] >>> slide = prs.slides.add_slide[prs.slide_layouts[8]] >>> for shape in slide.shapes: ... print['%s' % shape.shape_type] ... PLACEHOLDER [14] PLACEHOLDER [14] PLACEHOLDER [14]2 của nó được gọi. Điều này là do quá trình chèn hình ảnh thay thế phần tử P: SP XML gốc bằng phần tử P: Pic mới chứa hình ảnh. Bất kỳ nỗ lực nào để sử dụng tham chiếu giữ chỗ ban đầu sau khi cuộc gọi sẽ tăng
>>> prs = Presentation[] >>> slide = prs.slides.add_slide[prs.slide_layouts[8]] >>> for shape in slide.shapes: ... print['%s' % shape.shape_type] ... PLACEHOLDER [14] PLACEHOLDER [14] PLACEHOLDER [14]4. Chủ trình giữ chỗ mới là giá trị trả lại của cuộc gọi
>>> prs = Presentation[] >>> slide = prs.slides.add_slide[prs.slide_layouts[8]] >>> for shape in slide.shapes: ... print['%s' % shape.shape_type] ... PLACEHOLDER [14] PLACEHOLDER [14] PLACEHOLDER [14]2 và cũng có thể được lấy từ bộ sưu tập giữ chỗ bằng cách sử dụng cùng một khóa IDX.
Một hình ảnh được chèn theo cách này được kéo dài theo tỷ lệ và cắt để lấp đầy toàn bộ trình giữ chỗ. Kết quả tốt nhất đạt được khi tỷ lệ khung hình của hình ảnh nguồn và trình giữ chỗ là như nhau. Nếu hình ảnh cao hơn so với trình giữ chỗ, thì trên cùng và dưới cùng của nó được cắt đều để phù hợp. Nếu nó rộng hơn, các mặt trái và bên phải của nó được cắt đều. Cây trồng có thể được điều chỉnh bằng cách sử dụng các thuộc tính cây trồng trên trình giữ chỗ, chẳng hạn như
>>> prs = Presentation[] >>> slide = prs.slides.add_slide[prs.slide_layouts[8]] >>> for shape in slide.shapes: ... print['%s' % shape.shape_type] ... PLACEHOLDER [14] PLACEHOLDER [14] PLACEHOLDER [14]6.
________ 27¶
Người giữ chỗ bảng có phương pháp
>>> prs = Presentation[] >>> slide = prs.slides.add_slide[prs.slide_layouts[8]] >>> for shape in slide.shapes: ... print['%s' % shape.shape_type] ... PLACEHOLDER [14] PLACEHOLDER [14] PLACEHOLDER [14]8. Mẫu tích hợp không có bố cục có chứa trình giữ chỗ bảng, vì vậy ví dụ này giả định một bản trình bày bắt đầu có tên
>>> prs = Presentation[] >>> slide = prs.slides.add_slide[prs.slide_layouts[8]] >>> for shape in slide.shapes: ... print['%s' % shape.shape_type] ... PLACEHOLDER [14] PLACEHOLDER [14] PLACEHOLDER [14]9 có trình giữ chỗ bảng với IDX 10 trên bố cục trượt thứ hai của nó:
>>> prs = Presentation['having-table-placeholder.pptx'] >>> slide = prs.slides.add_slide[prs.slide_layouts[1]] >>> placeholder = slide.placeholders[10] # idx key, not position >>> placeholder.name 'Table Placeholder 1' >>> placeholder.placeholder_format.type TABLE [12] >>> graphic_frame = placeholder.insert_table[rows=2, cols=2] >>> table = graphic_frame.table >>> len[table.rows], len[table.columns] [2, 2]
Một bảng được chèn theo cách này có vị trí và chiều rộng của trình giữ chỗ ban đầu. Chiều cao của nó tỷ lệ thuận với số lượng hàng.
Giống như tất cả các phương thức chèn nội dung phong phú, một tham chiếu đến một trình giữ chỗ bảng trở nên không hợp lệ sau khi phương thức
>>> prs = Presentation[] >>> slide = prs.slides.add_slide[prs.slide_layouts[8]] >>> for shape in slide.shapes: ... print['%s' % shape.shape_type] ... PLACEHOLDER [14] PLACEHOLDER [14] PLACEHOLDER [14]8 của nó được gọi. Điều này là do quá trình chèn nội dung phong phú thay thế phần tử P: SP XML gốc bằng một phần tử mới, P: GraphicFrame trong trường hợp này, chứa đối tượng nội dung phong phú. Bất kỳ nỗ lực nào để sử dụng tham chiếu giữ chỗ ban đầu sau khi cuộc gọi sẽ tăng
>>> prs = Presentation[] >>> slide = prs.slides.add_slide[prs.slide_layouts[8]] >>> for shape in slide.shapes: ... print['%s' % shape.shape_type] ... PLACEHOLDER [14] PLACEHOLDER [14] PLACEHOLDER [14]4. Chủ trình giữ chỗ mới là giá trị trả lại của cuộc gọi
>>> prs = Presentation[] >>> slide = prs.slides.add_slide[prs.slide_layouts[8]] >>> for shape in slide.shapes: ... print['%s' % shape.shape_type] ... PLACEHOLDER [14] PLACEHOLDER [14] PLACEHOLDER [14]8 và cũng có thể được lấy từ bộ sưu tập trình giữ chỗ bằng cách sử dụng khóa IDX gốc, 10 trong trường hợp này.
Ghi chú
Một tham chiếu đến một trình giữ chỗ hình ảnh trở nên không hợp lệ sau khi phương thức
>>> prs = Presentation[] >>> slide = prs.slides.add_slide[prs.slide_layouts[8]] >>> for shape in slide.shapes: ... print['%s' % shape.shape_type] ... PLACEHOLDER [14] PLACEHOLDER [14] PLACEHOLDER [14]2 của nó được gọi. Điều này là do quá trình chèn hình ảnh thay thế phần tử P: SP XML gốc bằng phần tử P: Pic mới chứa hình ảnh. Bất kỳ nỗ lực nào để sử dụng tham chiếu giữ chỗ ban đầu sau khi cuộc gọi sẽ tăng
>>> prs = Presentation[] >>> slide = prs.slides.add_slide[prs.slide_layouts[8]] >>> for shape in slide.shapes: ... print['%s' % shape.shape_type] ... PLACEHOLDER [14] PLACEHOLDER [14] PLACEHOLDER [14]4. Chủ trình giữ chỗ mới là giá trị trả lại của cuộc gọi
>>> prs = Presentation[] >>> slide = prs.slides.add_slide[prs.slide_layouts[8]] >>> for shape in slide.shapes: ... print['%s' % shape.shape_type] ... PLACEHOLDER [14] PLACEHOLDER [14] PLACEHOLDER [14]2 và cũng có thể được lấy từ bộ sưu tập giữ chỗ bằng cách sử dụng cùng một khóa IDX.
Một hình ảnh được chèn theo cách này được kéo dài theo tỷ lệ và cắt để lấp đầy toàn bộ trình giữ chỗ. Kết quả tốt nhất đạt được khi tỷ lệ khung hình của hình ảnh nguồn và trình giữ chỗ là như nhau. Nếu hình ảnh cao hơn so với trình giữ chỗ, thì trên cùng và dưới cùng của nó được cắt đều để phù hợp. Nếu nó rộng hơn, các mặt trái và bên phải của nó được cắt đều. Cây trồng có thể được điều chỉnh bằng cách sử dụng các thuộc tính cây trồng trên trình giữ chỗ, chẳng hạn như >>> prs = Presentation[]
>>> slide = prs.slides.add_slide[prs.slide_layouts[8]]
>>> for shape in slide.shapes:
... print['%s' % shape.shape_type]
...
PLACEHOLDER [14]
PLACEHOLDER [14]
PLACEHOLDER [14]
6.
________ 27¶
>>> from pptx.chart.data import ChartData >>> from pptx.enum.chart import XL_CHART_TYPE >>> prs = Presentation['having-chart-placeholder.pptx'] >>> slide = prs.slides.add_slide[prs.slide_layouts[1]] >>> placeholder = slide.placeholders[10] # idx key, not position >>> placeholder.name 'Chart Placeholder 9' >>> placeholder.placeholder_format.type CHART [12] >>> chart_data = ChartData[] >>> chart_data.categories = ['Yes', 'No'] >>> chart_data.add_series['Series 1', [42, 24]] >>> graphic_frame = placeholder.insert_chart[XL_CHART_TYPE.PIE, chart_data] >>> chart = graphic_frame.chart >>> chart.chart_type PIE [5]
Người giữ chỗ bảng có phương pháp
>>> prs = Presentation[] >>> slide = prs.slides.add_slide[prs.slide_layouts[8]] >>> for shape in slide.shapes: ... print['%s' % shape.shape_type] ... PLACEHOLDER [14] PLACEHOLDER [14] PLACEHOLDER [14]8. Mẫu tích hợp không có bố cục có chứa trình giữ chỗ bảng, vì vậy ví dụ này giả định một bản trình bày bắt đầu có tên
>>> prs = Presentation[] >>> slide = prs.slides.add_slide[prs.slide_layouts[8]] >>> for shape in slide.shapes: ... print['%s' % shape.shape_type] ... PLACEHOLDER [14] PLACEHOLDER [14] PLACEHOLDER [14]9 có trình giữ chỗ bảng với IDX 10 trên bố cục trượt thứ hai của nó:
Một bảng được chèn theo cách này có vị trí và chiều rộng của trình giữ chỗ ban đầu. Chiều cao của nó tỷ lệ thuận với số lượng hàng.
Giống như tất cả các phương thức chèn nội dung phong phú, một tham chiếu đến một trình giữ chỗ bảng trở nên không hợp lệ sau khi phương thức
>>> prs = Presentation[] >>> slide = prs.slides.add_slide[prs.slide_layouts[8]] >>> for shape in slide.shapes: ... print['%s' % shape.shape_type] ... PLACEHOLDER [14] PLACEHOLDER [14] PLACEHOLDER [14]8 của nó được gọi. Điều này là do quá trình chèn nội dung phong phú thay thế phần tử P: SP XML gốc bằng một phần tử mới, P: GraphicFrame trong trường hợp này, chứa đối tượng nội dung phong phú. Bất kỳ nỗ lực nào để sử dụng tham chiếu giữ chỗ ban đầu sau khi cuộc gọi sẽ tăng
>>> prs = Presentation[] >>> slide = prs.slides.add_slide[prs.slide_layouts[8]] >>> for shape in slide.shapes: ... print['%s' % shape.shape_type] ... PLACEHOLDER [14] PLACEHOLDER [14] PLACEHOLDER [14]4. Chủ trình giữ chỗ mới là giá trị trả lại của cuộc gọi
>>> prs = Presentation[] >>> slide = prs.slides.add_slide[prs.slide_layouts[8]] >>> for shape in slide.shapes: ... print['%s' % shape.shape_type] ... PLACEHOLDER [14] PLACEHOLDER [14] PLACEHOLDER [14]8 và cũng có thể được lấy từ bộ sưu tập trình giữ chỗ bằng cách sử dụng khóa IDX gốc, 10 trong trường hợp này.
Đặt tiêu đề trượt
Hầu như tất cả các bố cục trượt đều có một trình giữ chỗ tiêu đề, mà bất kỳ slide nào dựa trên bố cục kế thừa khi bố cục được áp dụng. Truy cập một tiêu đề slide là một hoạt động phổ biến và có một thuộc tính chuyên dụng trên cây hình cho nó:
title_placeholder = slide.shapes.title title_placeholder.text = 'Air-speed Velocity of Unladen Swallows'