1. Sản Phẩm
  2.   Aspose.Slides
  3.   Aspose.Slides FOSS for Java

Aspose.Slides FOSS cho Java

Tạo, đọc và chỉnh sửa các bản trình bày PowerPoint từ Java — miễn phí và mã nguồn mở, không cần phụ thuộc vào Office.

Thư viện Java mã nguồn mở cho các bản trình bày PowerPoint

Aspose.Slides FOSS cho Java là một thư viện thuần Java có giấy phép MIT để làm việc với các tệp PowerPoint .pptx. Thêm một phụ thuộc Maven duy nhất và ngay lập tức bắt đầu tạo, đọc và chỉnh sửa bản trình chiếu mà không cần cài đặt Microsoft Office hay bất kỳ môi trường chạy độc quyền nào.

Thư viện cung cấp một API Presentation được xây dựng quanh các lớp Presentation, Slide, Shape, TextFrame, ParagraphPortion, mô hình khái niệm mà PowerPoint tự sử dụng. Thêm và xóa slide, chèn AutoShapes, Tables và Connectors, định dạng văn bản ở mức ký tự với in đậm, in nghiêng, kích thước và màu chữ, áp dụng màu nền đặc hoặc gradient, và thêm các hiệu ứng hình ảnh (bóng, phát sáng, làm mờ, phản chiếu).

Lớp Presentation triển khai AutoCloseable, vì vậy hãy sử dụng try-with-resources để dọn dẹp một cách đáng tin cậy. Các phần XML không xác định gặp trong quá trình tải sẽ được giữ nguyên khi lưu, do đó việc vòng lại không bao giờ phá hủy nội dung mà thư viện chưa hiểu. Thư viện yêu cầu JDK 21 trở lên và không có phần mở rộng native nào cần biên dịch.

API Trình chiếu và Slide

  • Tạo và mở PPTX: Tạo bản trình chiếu mới hoặc mở các tệp .pptx hiện có bằng new Presentation() hoặc new Presentation(path).
  • Thêm và xóa slide: Quản lý SlideCollection một cách lập trình bằng các phương thức addClone(), addEmptySlide(), remove()removeAt().
  • AutoShapes: Chèn hình chữ nhật, hình elip, đường thẳng và các hình học ShapeType khác qua addAutoShape().
  • Tables và Connectors: Thêm các hình dạng bảng có cấu trúc và các đường kết nối giữa các hình qua addConnector().
  • Ghi chú người thuyết trình: Đọc và ghi ghi chú cho từng slide thông qua NotesSlideManager.
  • Bình luận dạng chuỗi: Truy cập các chuỗi bình luận ở mức slide bằng getSlideComments().

Nơi Aspose.Slides FOSS có thể được sử dụng

  • Tạo báo cáo: Xây dựng bộ slide có thương hiệu từ nguồn dữ liệu mà không cần Office.
  • Tự động hoá mẫu: Điền nội dung động vào các mẫu PPTX trong các pipeline CI/CD.
  • Di chuyển nội dung: Đọc các bản trình bày hiện có và tái cấu trúc hoặc thay đổi kiểu dáng các slide.
  • Backend không máy chủ: Xử lý các tệp PPTX trong các container Docker hoặc hàm Lambda.
  • Xử lý hàng loạt: Áp dụng các thay đổi định dạng đồng nhất trên các thư viện bộ slide lớn.

Định dạng văn bản và hiệu ứng hình ảnh

  • Định dạng cấp ký tự: Áp dụng in đậm, in nghiêng, kích thước phông chữ và màu sắc cho các đối tượng Portion riêng lẻ thông qua getPortionFormat().
  • Đổ màu đặc và gradient: Đặt màu nền cho hình dạng thành màu đặc hoặc gradient tuyến tính đa điểm bằng cách sử dụng getFillFormat()FillType.
  • Hiệu ứng bóng đổ và phát sáng: Áp dụng bóng đổ ngoài, phát sáng, làm mờ và phản chiếu cho bất kỳ hình dạng nào qua getEffectFormat().
  • Căn lề đoạn văn: Đặt căn lề trái, giữa, phải hoặc canh đều cho từng đoạn bằng cách sử dụng getParagraphFormat().setAlignment().
  • An toàn vòng quay: Các phần XML không xác định được giữ nguyên nguyên văn khi lưu lại.

Trải nghiệm nhà phát triển

Aspose.Slides FOSS được cài đặt bằng một phụ thuộc Maven duy nhất (org.aspose.slides.foss:aspose-slides-foss). Thư viện thuần Java không có phần mở rộng native nào cần biên dịch và không yêu cầu cài đặt gói hệ thống nào.

API phản chiếu mô hình đối tượng của PowerPoint (Presentation, Slide, Shape, TextFrame, Paragraph, Portion), vì vậy bất kỳ ai quen thuộc với mô hình đối tượng của PowerPoint đều có thể sử dụng thư viện ngay lập tức. Thư viện có giấy phép MIT, mã nguồn mở trên GitHub và yêu cầu JDK 21 trở lên.

Tạo một bản trình chiếu và thêm một hình dạng

Sử dụng try-with-resources để đảm bảo Presentation luôn được đóng và tài nguyên được giải phóng. addAutoShape() nhận một enum ShapeType, sau đó là vị trí x/y và chiều rộng/chiều cao tính bằng điểm — phương thức getTextFrame().setText() của shape đặt nhãn trong một lần gọi.

<dependency>
  <groupId>org.aspose.slides.foss</groupId>
  <artifactId>aspose-slides-foss</artifactId>
  <version>1.0.0</version>
</dependency>
import org.aspose.slides.foss.*;

try (Presentation prs = new Presentation()) {
    ISlide slide = prs.getSlides().get(0);

    // Thêm một AutoShape hình chữ nhật
    IAutoShape shape = slide.getShapes().addAutoShape(
        ShapeType.RECTANGLE, 50, 50, 400, 150
    );
    shape.getTextFrame().setText("Xin chào, Aspose.Slides!");

    prs.save("output.pptx");
}

Định dạng văn bản và áp dụng hiệu ứng tô

Định dạng văn bản hoạt động ở mức Portion — đơn vị nhỏ nhất của một chuỗi ký tự. Mở tệp đã lưu, điều hướng tới portion đầu tiên của đoạn văn đầu tiên, và thiết lập các thuộc tính phông chữ thông qua các getter và setter. Việc tô màu hình là độc lập: đặt FillType thành SOLID và gán màu qua getSolidFillColor().setColor().

import org.aspose.slides.foss.*;
import org.aspose.slides.foss.drawing.Color;

try (Presentation prs = new Presentation("output.pptx")) {
    IShape shape = prs.getSlides().get(0).getShapes().get(0);
    IPortion portion = shape.getTextFrame()
        .getParagraphs().get(0).getPortions().get(0);

    // Đậm, 18pt, văn bản màu xanh đậm
    portion.getPortionFormat().setFontBold(NullableBool.TRUE);
    portion.getPortionFormat().setFontHeight(18);
    portion.getPortionFormat().getFillFormat()
        .getSolidFillColor().setColor(new Color(0, 0, 139));

    // Đổ nền rắn trên hình dạng
    shape.getFillFormat().setFillType(FillType.SOLID);
    shape.getFillFormat().getSolidFillColor()
        .setColor(new Color(240, 248, 255));

    prs.save("formatted.pptx");
}

Câu Hỏi Thường Gặp

Aspose.Slides FOSS cho Java là gì?

Đây là một thư viện pure-Java miễn phí, có giấy phép MIT, dùng để tạo, đọc và chỉnh sửa các bản trình bày PowerPoint .pptx mà không cần Microsoft Office.

Các định dạng tệp nào được hỗ trợ?

PPTX là định dạng đọc/ghi được hỗ trợ. Xuất ra PDF, HTML, SVG hoặc hình ảnh không khả dụng trong phiên bản này.

Nó có yêu cầu Microsoft Office hoặc PowerPoint không?

Không. Aspose.Slides FOSS là một thư viện pure-Java không phụ thuộc vào Microsoft Office, tự động hoá COM, hay bất kỳ môi trường chạy độc quyền nào.

Làm thế nào để cài đặt nó?

Thêm phụ thuộc Maven org.aspose.slides.foss:aspose-slides-foss:1.0.0 vào dự án của bạn. Không cần gói hệ thống bổ sung hay phần mở rộng native. Yêu cầu JDK 21 trở lên.

Tôi có thể áp dụng các hiệu ứng hình ảnh như bóng đổ và phát sáng không?

Có. Thư viện hỗ trợ các hiệu ứng bóng đổ bên ngoài, phát sáng, làm mờ và phản chiếu trên bất kỳ đối tượng hình dạng nào thông qua API EffectFormat.

Mẫu try-with-resources có được khuyến nghị không?

Có. Presentation triển khai AutoCloseable, vì vậy luôn sử dụng try (Presentation prs = new Presentation()) { ... } để dọn dẹp tài nguyên một cách đáng tin cậy.

Việc round-tripping một tệp PPTX có làm hỏng nội dung không xác định không?

Không. Các phần XML không xác định gặp trong quá trình tải sẽ được giữ nguyên khi lưu, vì vậy nội dung mà thư viện chưa hiểu sẽ không bị mất.

Bạn có thể tìm mã nguồn ở đâu?

Thư viện được cấp phép MIT và được lưu trữ trên GitHub. Các báo cáo lỗi và yêu cầu kéo đều được chào đón.

  

Tài Nguyên Hỗ Trợ và Học Tập

 Tiếng Việt