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 pure-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 các bản trình chiếu mà không cần cài đặt Microsoft Office hoặc 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 xung quanh Presentation, Slide, Shape, TextFrame, ParagraphPortion, mô hình khái niệm được PowerPoint 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 phông chữ và màu sắc, áp dụng màu nền đặc hoặc gradient, và thêm các hiệu ứng hình ảnh (shadow, glow, blur, reflection).

Lớp Presentation triển khai AutoCloseable, vì vậy hãy sử dụng try-with-resources để dọn dẹp đáng tin cậy. 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, do đó việc vòng tròn không bao giờ phá hủy nội dung mà thư viện chưa hiểu. Để biết thêm tính năng và hỗ trợ, xem Aspose.Slides for Java enterprise edition.

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ó qua new Presentation() hoặc new Presentation(path).
  • Thêm và xóa các slide: Quản lý SlideCollection một cách lập trình với 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 thông qua addAutoShape().
  • Bảng và Kết nối: 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 dạng qua addConnector().
  • Speaker notes: Đọc và ghi chú speaker notes cho mỗi slide thông qua NotesSlideManager.
  • Threaded comments: Truy cập các chuỗi bình luận ở mức slide với getSlideComments().

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

  • Tạo báo cáo: Tạo các 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 các mẫu PPTX với nội dung động 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.
  • Serverless backends: 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 slide deck lớn.

Định dạng Văn bản và Hiệu ứng Hình ảnh

  • Character-level formatting: Á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 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, trung tâm, phải hoặc căn đều cho mỗi đoạn bằng cách sử dụng getParagraphFormat().setAlignment().
  • An toàn khi quay lại: Các phần XML không xác định được đượ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ài đặt với một phụ thuộc Maven duy nhất (org.aspose.slides.foss:aspose-slides-foss). Thư viện là Java thuần túy mà không có phần mở rộng gốc nào để biên dịch và không có gói hệ thống nào cần cài đặt.

API phản chiếu mô hình đối tượng riê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 PowerPoint đều có thể sử dụng thư viện ngay lập tức. Nó được cấp phép MIT, mã nguồn mở trên GitHub và yêu cầu JDK 21 hoặc phiên bản mới hơn.

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

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 đó vị trí x/y và chiều rộng/chiều cao tính bằng điểm. Gọi addTextFrame() để tạo khung văn bản và đặt văn bản ban đầu trong một lần gọi — không gọi getTextFrame() trước addTextFrame() vì khung vẫn null cho đến khi được tạo.

<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);

    // Add a rectangle AutoShape
    IAutoShape shape = slide.getShapes().addAutoShape(
        ShapeType.RECTANGLE, 50, 50, 400, 150
    );
    shape.addTextFrame("Hello, Aspose.Slides!");

    prs.save("output.pptx");
}
 ```xml
<dependency>
  <groupId>org.aspose.slides.foss</groupId>
  <artifactId>aspose-slides-foss</artifactId>
  <version>1.0.0</version>
</dependency>
 

Định dạng văn bản và áp dụng hiệu ứng đổ màu

Đị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 đến phần đầu tiên của đoạn đầu tiên, và đặt các thuộc tính phông chữ thông qua các getter và setter. Đổ màu hình dạng 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")) {
    IAutoShape shape = (IAutoShape) prs.getSlides().get(0).getShapes().get(0);
    IPortion portion = shape.getTextFrame()
        .getParagraphs().get(0).getPortions().get(0);

    // Bold, 18pt, dark-blue text
    portion.getPortionFormat().setFontBold(NullableBool.TRUE);
    portion.getPortionFormat().setFontHeight(18);
    portion.getPortionFormat().getFillFormat()
        .getSolidFillColor().setColor(new Color(0, 0, 139));

    // Solid background fill on the shape
    shape.getFillFormat().setFillType(FillType.SOLID);
    shape.getFillFormat().getSolidFillColor()
        .setColor(new Color(240, 248, 255));

    prs.save("formatted.pptx");
}
 ```java
import org.aspose.slides.foss.*;
import org.aspose.slides.foss.drawing.Color;

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

    // Bold, 18pt, dark-blue text
    portion.getPortionFormat().setFontBold(NullableBool.TRUE);
    portion.getPortionFormat().setFontHeight(18);
    portion.getPortionFormat().getFillFormat()
        .getSolidFillColor().setColor(new Color(0, 0, 139));

    // Solid background fill on the shape
    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 - FOSS Aspose.Slides 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, COM automation hoặc bất kỳ runtime sở hữu 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 hoặc 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 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 thực thi 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.

Quá trình 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 phải 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 bao giờ bị mất.

Tôi 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à pull request đều được chào đón.

  

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

 Tiếng Việt