Nhiều loại sơ đồ khác nhau được sử dụng trong các bài thuyết trình PowerPoint để làm cho nội dung trở nên chi tiết hơn. Những sơ đồ này bao gồm các hình dạng khác nhau như hình elip, đường thẳng, hình chữ nhật và các đầu nối. Trong bài viết này, bạn sẽ học cách thêm, sao chép và loại bỏ các hình dạng trong các trang chiếu PowerPoint được lập trình bằng Python.
- Thư viện Python để làm việc với PowerPoint Shapes
- Các loại hình PowerPoint
- Thêm hình dạng vào trang trình bày PowerPoint
- Thêm trình kết nối vào hình dạng trong PowerPoint
- Sao chép một Hình dạng trong Trang trình bày PowerPoint
- Xóa Hình dạng khỏi Trang trình bày PowerPoint
Thư viện Python để làm việc với PowerPoint Shapes
Aspose.Slides for Python qua .NET được thiết kế để tạo và thao tác các bản trình bày PowerPoint từ bên trong các ứng dụng Python. Chúng tôi sẽ sử dụng thư viện này để làm việc với các hình dạng trong các trang chiếu PowerPoint. Bạn có thể cài đặt nó từ PyPI bằng lệnh pip sau.
> pip install aspose.slides
Các loại hình trong PowerPoint
Bạn có thể tạo nhiều hình dạng khác nhau trong bản trình bày PowerPoint bằng cách sử dụng Aspose.Slides for Python. Các hình dạng được sử dụng phổ biến nhất bao gồm:
Thêm hình dạng vào trang trình bày PowerPoint bằng Python
Để thêm bất kỳ hình dạng nào bao gồm hình elip, đường thẳng, hình chữ nhật, phương pháp addautoshape (ShapeType, Single, Single, Single, Single) được sử dụng để bạn có thể truyền loại hình và các tham số cần thiết khác. Enum ShapeType được sử dụng để chỉ định loại hình dạng. Sau đây là các bước để thêm hình dạng vào trang chiếu PowerPoint bằng Python.
- Tạo bản trình bày hoặc tải bản trình bày hiện có bằng lớp Trình bày.
- Nhận tham chiếu của trang trình bày mong muốn từ bộ sưu tập Presentation.slides.
- Thêm một hình Elip (hoặc bất kỳ hình dạng nào khác) bằng cách sử dụng phương pháp addautoshape (ShapeType, Single, Single, Single, Single).
- Lưu bản trình bày bằng phương pháp Presentation.save (String, SaveFormat).
Mẫu mã sau đây cho thấy cách thêm hình dạng vào trang chiếu PowerPoint bằng Python.
import aspose.slides as slides
import aspose.pydrawing as drawing
# Tạo một bản trình bày mới
with slides.Presentation() as pres:
# Tải trang trình bày đầu tiên
sld = pres.slides[0]
# Thêm hình dạng tự động của loại hình elip
shp = sld.shapes.add_auto_shape(slides.ShapeType.ELLIPSE, 50, 150, 150, 50)
# Áp dụng một số định dạng cho hình elip
shp.fill_format.fill_type = slides.FillType.SOLID
shp.fill_format.solid_fill_color.color = drawing.Color.pink
# Áp dụng một số định dạng cho đường Ellipse
shp.line_format.fill_format.fill_type = slides.FillType.SOLID
shp.line_format.fill_format.solid_fill_color.color = drawing.Color.purple
shp.line_format.width = 5
# Lưu tệp PPTX vào đĩa
pres.save("add-ellipse.pptx", slides.export.SaveFormat.PPTX)
Sau đây là hình elip mà chúng tôi đã thêm bằng cách sử dụng mẫu mã ở trên.
Kết nối Hình dạng PowerPoint với Trình kết nối bằng Python
Trong sơ đồ, các hình dạng khác nhau được kết nối với nhau bằng một đường được gọi là đầu nối. Một đầu nối có thể là một đường thẳng hoặc đường cong. Hãy xem cách thêm một trình kết nối giữa hai hình dạng PowerPoint trong Python.
- Đầu tiên, tạo một thể hiện của lớp Presentation để tạo hoặc tải bản trình bày.
- Sau đó, lấy tham chiếu của một trang chiếu bằng bộ sưu tập Presentation.slides.
- Thêm hai hình dạng giống như bạn đã thêm trong phần trước và lấy tham chiếu của chúng.
- Tạo trình kết nối bằng phương pháp addconnector (ShapeType, Single, Single, Single, Single).
- Nối các hình dạng bằng thuộc tính Connector.startshapeconnectedto và Connector.endshapeconnectedto.
- Gọi phương thức Connector.reroute() để tạo đường dẫn kết nối tự động ngắn nhất.
- Cuối cùng, lưu bản trình bày bằng phương thức Presentation.save (string, SaveFormat).
Mẫu mã sau đây cho thấy cách kết nối các hình dạng trong một trang chiếu PowerPoint bằng Python.
import aspose.slides as slides
import aspose.pydrawing as drawing
# Tạo bản trình bày
with slides.Presentation() as presentation:
# Truy cập bộ sưu tập hình dạng cho trang trình bày đã chọn
shapes = presentation.slides[0].shapes
# Thêm hình elip
ellipse = shapes.add_auto_shape(slides.ShapeType.ELLIPSE, 0, 100, 100, 100)
# Thêm hình chữ nhật hình dạng tự động
rectangle = shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 100, 300, 100, 100)
# Thêm trình kết nối để kết nối các hình dạng
connector = shapes.add_connector(slides.ShapeType.BENT_CONNECTOR2, 0, 0, 10, 10)
# Nối các hình dạng bằng trình kết nối
connector.start_shape_connected_to = ellipse
connector.end_shape_connected_to = rectangle
# Gọi định tuyến lại để đặt đường đi ngắn nhất tự động giữa các hình dạng
connector.reroute()
# Lưu phần trình bày trước
presentation.save("add-connector.pptx", slides.export.SaveFormat.PPTX)
Sau đây là ảnh chụp màn hình của bản trình bày sau khi kết nối các hình dạng bằng một trình kết nối.
Sao chép các hình dạng PowerPoint bằng Python
Đôi khi, bạn chọn sao chép các hình dạng thay vì tạo một hình mới. Để đạt được điều đó, Aspose.Slides hỗ trợ nhân bản hình dạng. Sau đây là các bước để sao chép một hình dạng trong PowerPoint bằng Python.
- Đầu tiên, sử dụng lớp Trình bày để tải tệp bản trình bày.
- Nhận tham chiếu của một trang chiếu từ bộ sưu tập Presentation.slides.
- Truy cập các hình dạng trang chiếu nguồn và đích từ bộ sưu tập ISlide.shapes.
- Sao chép các hình dạng từ bộ sưu tập hình dạng trang chiếu nguồn sang trang chiếu đích bằng phương thức addclone().
- Cuối cùng, lưu tệp bản trình bày đã cập nhật.
Mẫu mã sau đây cho thấy cách sao chép các hình dạng trong các trang chiếu PowerPoint bằng Python.
import aspose.slides as slides
# Tải bản trình bày
with slides.Presentation("add-ellipse.pptx") as presentation:
# Truy cập các hình dạng của trang trình bày nguồn
sourceShapes = presentation.slides[0].shapes
# Thêm một trang trình bày trống mới
blankLayout = presentation.masters[0].layout_slides.get_by_type(slides.SlideLayoutType.BLANK)
destSlide = presentation.slides.add_empty_slide(blankLayout)
# Truy cập các hình dạng của trang trình bày đích
destShapes = destSlide.shapes
# Nhân bản hình dạng
destShapes.add_clone(sourceShapes[0], 50, 150 + sourceShapes[0].height)
destShapes.add_clone(sourceShapes[0])
destShapes.insert_clone(0, sourceShapes[0], 50, 150)
# Lưu tập tin
presentation.save("clone-shapes.pptx", slides.export.SaveFormat.PPTX)
Xóa Hình dạng khỏi Trang trình bày PowerPoint bằng Python
Bạn cũng có thể xóa hình dạng khỏi bản trình bày PowerPoint bằng cách làm theo các bước bên dưới.
- Tạo một phiên bản của lớp Trình bày để tải tệp PPT / PPTX.
- Truy cập trang trình bày mong muốn từ bộ sưu tập Presentation.slides.
- Lọc hình dạng mong muốn với một văn bản cụ thể bằng cách sử dụng thuộc tính IShape.alternativetext.
- Loại bỏ hình dạng bằng phương pháp ISlide.shapes.remove (IShape).
- Cuối cùng, lưu tệp bản trình bày đã cập nhật.
Mẫu mã sau đây cho thấy cách xóa hình dạng khỏi trang chiếu PowerPoint bằng Python.
# Tải bản trình bày
with slides.Presentation("add-ellipse.pptx") as presentation:
# Tải trang trình bày đầu tiên
sld = presentation.slides[0]
alttext = "User Defined"
# Lặp qua các hình dạng
for i in range(len(sld.shapes)):
# Tìm hình dạng bằng văn bản thay thế
ashp = sld.shapes[0]
if ashp.alternative_text == alttext:
sld.shapes.remove(ashp)
# Lưu tập tin
presentation.save("remove-shapes.pptx", slides.export.SaveFormat.PPTX)
Nhận giấy phép miễn phí
Bạn có thể nhận giấy phép tạm thời miễn phí để sử dụng Aspose.Slides for Python mà không có giới hạn đánh giá.
Sự kết luận
MS PowerPoint hỗ trợ một loạt các hình dạng để tạo các loại sơ đồ khác nhau, chẳng hạn như biểu đồ luồng. Trong bài viết này, chúng tôi đã đề cập đến cách tạo các hình dạng PowerPoint như hình elip, hình chữ nhật và kết nối chúng bằng cách sử dụng trình kết nối trong Python. Hơn nữa, bạn đã học cách sao chép và loại bỏ các hình dạng trong các trang chiếu PowerPoint theo chương trình. Bạn có thể khám phá thêm về Aspose.Slides for Python bằng tài liệu. Ngoài ra, bạn có thể cho chúng tôi biết về các thắc mắc của bạn qua diễn đàn của chúng tôi.