python-pptx: Tự động tạo và chỉnh sửa PowerPoint bằng Python

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ớp Presentation() để 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.
RUNTEQ(ランテック)|超実戦型エンジニア育成スクール

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ức add_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ằng TextFrame:
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ụng add_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')

6. Cải thiện giao diện bài thuyết trình

6.1 Áp dụng template

python-pptx cho phép áp dụng template để tạo bài thuyết trình đẹp mắt, chuyên nghiệp chỉ trong thời gian ngắn.

6.2 Thiết lập hoạt ảnh và chuyển tiếp

Ngoài ra, có thể thêm hoạt ảnh hoặc hiệu ứng chuyển tiếp slide để tăng sức hút thị giác.

7. Kết luận

python-pptx là công cụ mạnh mẽ giúp giảm đáng kể thời gian soạn slide. Đặc biệt hữu ích khi cần tạo nhiều slide dựa trên dữ liệu hoặc tự động hóa báo cáo. Nhờ lập trình, bạn có thể nhanh chóng tạo slide chuyên nghiệp và hiệu quả.