Câu hỏi thường gặp

Câu hỏi thường gặp

Câu hỏi thường gặp

Làm thế nào để cài đặt Aspose.Slides FOSS?

Cài đặt từ PyPI bằng pip. Yêu cầu Python 3.10 trở lên.

pip install aspose-slides-foss

Xác minh việc cài đặt:

import aspose.slides_foss as slides
with slides.Presentation() as prs:
    print(f"Slides: {len(prs.slides)}")

Phụ thuộc lxml được cài đặt tự động. Không cần Microsoft Office hay bất kỳ môi trường chạy hệ thống nào khác.


Tại sao tôi phải sử dụng with slides.Presentation() as prs:?

Lớp Presentation quản lý các handle tệp nội bộ và tài nguyên XML. Nếu không có trình quản lý ngữ cảnh, các tài nguyên đó sẽ không được giải phóng khi đối tượng Presentation ra khỏi phạm vi, điều này có thể gây rò rỉ tài nguyên hoặc khóa tệp trên Windows.

Luôn tuân theo mẫu này:

with slides.Presentation("input.pptx") as prs:
    # work here
    prs.save("output.pptx", SaveFormat.PPTX)

Tôi có thể lưu sang những định dạng tệp nào?

Chỉ hỗ trợ PPTX:

from aspose.slides_foss.export import SaveFormat
prs.save("output.pptx", SaveFormat.PPTX)

Xuất sang PDF, HTML, SVG hoặc các định dạng hình ảnh (PNG, JPEG) không khả dụng trong phiên bản này.


Tôi có thể mở các tệp .ppt (PowerPoint cũ 97–2003) không?

Không. Chỉ hỗ trợ các tệp .pptx (Office Open XML). Định dạng nhị phân .ppt cũ không được thư viện này xử lý.


Làm thế nào để tôi truy cập các slide?

Slides là một danh sách bắt đầu từ chỉ số 0 có thể truy cập qua prs.slides:

first_slide = prs.slides[0]
slide_count = len(prs.slides)

Làm thế nào để thêm slide thứ hai?

Sử dụng prs.slides.add_empty_slide() với một bố cục:

with slides.Presentation() as prs:
    layout = prs.layout_slides[0]
    prs.slides.add_empty_slide(layout)
    slide2 = prs.slides[1]
    prs.save("two-slides.pptx", SaveFormat.PPTX)

Làm thế nào để đặt màu nền cho slide?

Màu nền slide không có trong phiên bản này. Lớp Slide không cung cấp thuộc tính background. Thử thực hiện slide.background sẽ gây ra AttributeError. Tính năng này chưa được triển khai trong phiên bản hiện tại.


Làm thế nào để tôi sử dụng NullableBool?

NullableBool là một enum ba trạng thái được sử dụng cho các thuộc tính định dạng. Sử dụng NullableBool.TRUE (không phải True của Python) cho các thuộc tính như in đậm, in nghiêng và các thuộc tính tương tự:

from aspose.slides_foss import NullableBool, TextUnderlineType
fmt.font_bold = NullableBool.TRUE
fmt.font_italic = NullableBool.FALSE
# font_underline is TextUnderlineType, not NullableBool:
fmt.font_underline = TextUnderlineType.NOT_DEFINED  # inherits from theme

Tại sao việc đặt màu văn bản không có hiệu lực?

Bạn cũng phải đặt fill_type = FillType.SOLID trước khi gán màu:

from aspose.slides_foss import FillType
from aspose.slides_foss.drawing import Color

fmt.fill_format.fill_type = FillType.SOLID
fmt.fill_format.solid_fill_color.color = Color.from_argb(255, 200, 0, 0)

Tôi có thể sử dụng biểu đồ hoặc SmartArt không?

Không. Biểu đồ, SmartArt, đối tượng OLE, hoạt ảnh, chuyển tiếp, siêu liên kết, macro VBA và chữ ký số không được triển khai trong phiên bản này và sẽ gây ra NotImplementedError.


Thư viện có hỗ trợ Python 3.9 không?

Không. Python 3.10 hoặc mới hơn là bắt buộc.


Thư viện này có an toàn với đa luồng không?

Mỗi đối tượng Presentation là độc lập. Việc tạo và sử dụng các thể hiện Presentation riêng biệt từ các luồng riêng là an toàn miễn là bạn không chia sẻ một đối tượng Presentation duy nhất giữa các luồng mà không có khóa bên ngoài.


Làm thế nào để nhúng một hình ảnh?

Đọc các byte hình ảnh và thêm chúng vào prs.images, sau đó tạo một PictureFrame:

with open("logo.png", "rb") as f:
    image_data = f.read()
image = prs.images.add_image(image_data)
slide.shapes.add_picture_frame(slides.ShapeType.RECTANGLE, 50, 50, 200, 150, image)

Xem thêm

 Tiếng Việt