目次
1. python-pptx là gì?
python-pptx là một thư viện cho phép tạo, chỉnh sửa và lưu bài thuyết trình PowerPoint trực tiếp từ chương trình Python. Nhờ đó, bạn có thể loại bỏ công việc thủ công truyền thống, tự động tạo slide động dựa trên dữ liệu và tối ưu hóa các tác vụ lặp đi lặp lại.1.1 Ứng dụng chính của python-pptx
- Tự động tạo bài thuyết trình: Tự động sinh slide dựa trên dữ liệu cho các cuộc họp hoặc báo cáo.
- Chỉnh sửa hiệu quả: Thêm slide hoặc văn bản vào file PowerPoint hiện có, cập nhật nội dung nhanh chóng.
1.2 Lợi ích khi thao tác PowerPoint bằng Python
So với thao tác thủ công trong PowerPoint, việc sử dụng python-pptx cho phép tự động hóa. Bạn có thể tạo hàng loạt slide cùng lúc, tối ưu hóa việc tạo báo cáo định kỳ và tiết kiệm đáng kể thời gian.2. Cài đặt python-pptx
2.1 Các bước cài đặt
Việc cài đặt python-pptx rất đơn giản. Chỉ cần chạy lệnh sau:pip install python-pptx
Ngoài ra, nếu chưa có môi trường Python, bạn có thể dùng conda
để thiết lập và cài đặt thư viện.2.2 Cấu trúc cơ bản của python-pptx
Đầu tiên, import thư viện và sử dụng lớpPresentation()
để tạo một bài thuyết trình mới:from pptx import Presentation
prs = Presentation()
Đoạn mã này sẽ tạo một bài thuyết trình mới và sẵn sàng để thêm slide hoặc văn bản.
3. Tạo và lưu bài thuyết trình
3.1 Tạo bài thuyết trình mới
Ví dụ dưới đây minh họa cách tạo và lưu một bài thuyết trình mới bằng python-pptx:from pptx import Presentation
prs = Presentation()
prs.save('new_presentation.pptx')
File PowerPoint sẽ được lưu trong thư mục hiện tại với tên đã chỉ định.3.2 Thêm slide mới
Để thêm slide, dùng phương thứcadd_slide()
. Có 11 mẫu layout có sẵn để chọn:slide_layout = prs.slide_layouts[0] # Chọn layout slide tiêu đề
slide = prs.slides.add_slide(slide_layout)
Đoạn mã này sẽ thêm một slide mới theo layout đã chọn.4. Thao tác nội dung slide
4.1 Chèn và định dạng văn bản
Khi chèn văn bản, sử dụng placeholder (tiêu đề, phụ đề). Sau đó, định dạng bằngTextFrame
:title = slide.shapes.title
subtitle = slide.placeholders[1]
title.text = "Tiêu đề bài thuyết trình"
subtitle.text = "Phụ đề"
Bạn cũng có thể thay đổi kích thước font, màu sắc hoặc thêm ngắt dòng:title.text = "Slide được
tạo tự động bằng Python"
4.2 Thêm hình ảnh và hình khối
Để chèn hình ảnh, sử dụngadd_picture()
với vị trí và kích thước cụ thể:from pptx.util import Inches
img_path = 'image.png'
left = Inches(1)
top = Inches(2)
slide.shapes.add_picture(img_path, left, top)
Bạn cũng có thể thêm hình khối (shape) và chèn văn bản vào đó:from pptx.enum.shapes import MSO_SHAPE
shape = slide.shapes.add_shape(MSO_SHAPE.ROUNDED_RECTANGLE, Inches(1), Inches(1), Inches(2), Inches(1))
shape.text = "Văn bản trong hình khối"

5. Kỹ thuật tự động hóa nâng cao
5.1 Tự động tạo slide hàng loạt
Có thể dùng vòng lặp để tạo nhiều slide dựa trên dữ liệu:for i in range(10):
slide_layout = prs.slide_layouts[1]
slide = prs.slides.add_slide(slide_layout)
title = slide.shapes.title
title.text = f"Slide {i+1}"
Mã này sẽ tự động tạo 10 slide với số thứ tự liên tiếp.5.2 Chỉnh sửa file PowerPoint hiện có
Có thể mở file PowerPoint có sẵn và chỉnh sửa nội dung:prs = Presentation('existing_presentation.pptx')
slide = prs.slides[0]
title = slide.shapes.title
title.text = "Tiêu đề đã cập nhật"
prs.save('updated_presentation.pptx')