Giới thiệu

Aspose.Slides FOSS for Python hiện đã có trên PyPI: một thư viện miễn phí, có giấy phép MIT, để tạo, đọc và chỉnh sửa các tệp PowerPoint .pptx hoàn toàn bằng Python, mà không phụ thuộc vào Microsoft Office hay bất kỳ môi trường chạy độc quyền nào.

Thư viện được thiết kế cho các nhà phát triển cần tạo hoặc thao tác với các tệp trình chiếu một cách lập trình: tự động hoá các bộ slide từ dữ liệu, trích xuất văn bản và siêu dữ liệu từ các tệp PPTX đã tải lên, xây dựng các pipeline báo cáo dựa trên trình chiếu, hoặc nhúng việc tạo trình chiếu vào các ứng dụng web. Vì aspose-slides-foss là Python thuần với chỉ lxml là phụ thuộc, nó được triển khai giống hệt trên Windows, macOS, Linux và các container Docker.

Tính năng chính

  • Hỗ trợ vòng quay đầy đủ PPTX: Mở bất kỳ .pptx file nào, chỉnh sửa nội dung và lưu lại mà không mất các phần XML không xác định mà thư viện chưa hiểu.
  • Quản lý slide: Thêm, xóa và duyệt các slide bằng prs.slides; bản trình bày bắt đầu với một slide trống sau slides.Presentation().
  • AutoShapes, Bảng và Kết nối: Chèn hình dạng qua slide.shapes.add_auto_shape(), dữ liệu bảng qua slide.shapes.add_table(), và các kết nối trực quan giữa các hình dạng qua slide.shapes.add_connector().
  • Định dạng văn bản phong phú: Định dạng văn bản ở mức ký tự với PortionFormat: kích thước phông chữ, in đậm, in nghiêng, gạch chân và màu ARGB qua FillType.SOLIDColor.from_argb().
  • Các loại tô màu: Áp dụng các tô màu FillType.SOLID, GRADIENT, PATTERN hoặc PICTURE cho bất kỳ hình dạng nào.
  • Hiệu ứng hình ảnh: Đổ bóng ngoài, phát sáng, viền mềm, làm mờ, phản chiếu và đổ bóng trong qua shape.effect_format.
  • Định dạng 3D: Gờ, camera, hệ thống ánh sáng, vật liệu và độ sâu đùn qua shape.three_d_format.
  • Ghi chú người nói: Đính kèm văn bản ghi chú cho mỗi slide qua notes_slide_manager.add_notes_slide().
  • Bình luận dạng chuỗi: Thêm bình luận kèm siêu dữ liệu tác giả và vị trí slide.
  • Hình ảnh nhúng: Nhúng từ đường dẫn tệp, byte, hoặc luồng io.BytesIO.
  • Thuộc tính tài liệu: Đọc và ghi các thuộc tính lõi, ứng dụng và tùy chỉnh.

Bắt đầu

Cài đặt từ PyPI. Python 3.10 trở lên là bắt buộc; lxml được cài đặt tự động.

pip install aspose-slides-foss

Tạo bản trình bày đầu tiên của bạn với một hình dạng và lưu nó:

import aspose.slides_foss as slides
from aspose.slides_foss.export import SaveFormat
from aspose.slides_foss import ShapeType

with slides.Presentation() as prs:
    slide = prs.slides[0]
    shape = slide.shapes.add_auto_shape(ShapeType.RECTANGLE, 50, 50, 400, 120)
    shape.add_text_frame("Hello from Aspose.Slides FOSS!")
    prs.save("hello.pptx", SaveFormat.PPTX)

Luôn sử dụng Presentation bên trong một khối with; điều này đảm bảo tất cả các tài nguyên nội bộ được giải phóng khi khối kết thúc.

Ví dụ Định dạng Văn bản

import aspose.slides_foss as slides
from aspose.slides_foss import ShapeType, NullableBool, FillType
from aspose.slides_foss.drawing import Color
from aspose.slides_foss.export import SaveFormat

with slides.Presentation() as prs:
    shape = prs.slides[0].shapes.add_auto_shape(ShapeType.RECTANGLE, 50, 50, 500, 150)
    tf = shape.add_text_frame("Bold heading in corporate blue")
    fmt = tf.paragraphs[0].portions[0].portion_format
    fmt.font_height = 28
    fmt.font_bold = NullableBool.TRUE
    fmt.fill_format.fill_type = FillType.SOLID
    fmt.fill_format.solid_fill_color.color = Color.from_argb(255, 0, 70, 127)
    prs.save("formatted.pptx", SaveFormat.PPTX)

Các hạn chế hiện tại

Các khu vực sau gây ra NotImplementedError trong bản phát hành này:

  • Biểu đồ, SmartArt và các đối tượng OLE
  • Hoạt ảnh và chuyển đổi slide
  • Xuất ra PDF, HTML, SVG hoặc các định dạng hình ảnh
  • Liên kết, cài đặt hành động, macro VBA và chữ ký số

Các phần XML không xác định gặp phải trong quá trình tải sẽ được giữ nguyên nguyên văn khi lưu, vì vậy các tệp PPTX được tạo bởi các công cụ khác có thể quay lại một cách an toàn.

Xem thêm