Giới thiệu
Aspose.Slides FOSS for Java is now available on Maven Central: a free, MIT-licensed library for creating, reading, and editing PowerPoint .pptx các tệp hoàn toàn bằng Java, 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 các tệp trình chiếu một cách lập trình: tự động tạo 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 Spring Boot. Vì aspose-slides-foss là Java thuần túy, nó được triển khai giống hệt trên Windows, macOS, Linux và các container Docker.
Các tính năng chính
- Hỗ trợ PPTX toàn vòng (full round‑trip): Mở bất kỳ
.pptxtệp, sửa đổi 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 cách sử dụng
prs.getSlides(); bản trình chiếu bắt đầu với một slide trống saunew Presentation(). - AutoShapes, Bảng và Kết nối: Chèn hình dạng qua
slide.getShapes().addAutoShape(), dữ liệu dạng bảng quaslide.getShapes().addTable(), và các kết nối trực quan giữa các hình dạng quaslide.getShapes().addConnector(). - Định dạng văn bản phong phú: Định dạng văn bản ở mức ký tự bằng
PortionFormat: kích thước phông chữ, in đậm, in nghiêng, gạch chân và màu ARGB quaFillType.SOLIDvàColorFormat. - Các loại điền: Áp dụng
FillType.SOLID,GRADIENT,PATTERN, hoặcPICTUREđiền vào 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.getEffectFormat(). - 3D formatting: Độ chạm góc, máy ảnh, thiết bị chiếu sáng, vật liệu và độ sâu đùn qua
shape.getThreeDFormat(). - Ghi chú người thuyết trình: Gắn văn bản ghi chú vào mỗi slide qua
getNotesSlideManager().addNotesSlide(). - 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
InputStream. - 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
Thêm phụ thuộc Maven. Yêu cầu Java 21 trở lên.
<dependency>
<groupId>org.aspose.slides.foss</groupId>
<artifactId>aspose-slides-foss</artifactId>
<version>1.0.0</version>
</dependency>
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 lại:
import org.aspose.slides.foss.Presentation;
import org.aspose.slides.foss.ISlide;
import org.aspose.slides.foss.IAutoShape;
import org.aspose.slides.foss.ITextFrame;
import org.aspose.slides.foss.IPortionFormat;
import org.aspose.slides.foss.ShapeType;
import org.aspose.slides.foss.FillType;
import org.aspose.slides.foss.NullableBool;
import org.aspose.slides.foss.export.SaveFormat;
import org.aspose.slides.foss.drawing.Color;
public class HelloSlides {
public static void main(String[] args) {
try (Presentation prs = new Presentation()) {
ISlide slide = prs.getSlides().get(0);
IAutoShape shape = slide.getShapes().addAutoShape(
ShapeType.RECTANGLE, 50, 50, 400, 120
);
shape.addTextFrame("Hello from Aspose.Slides FOSS!");
prs.save("hello.pptx");
}
}
}
Luôn sử dụng Presentation bên trong khối try-with-resources; điều này đảm bảo mọi 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 org.aspose.slides.foss.Presentation;
import org.aspose.slides.foss.ISlide;
import org.aspose.slides.foss.IAutoShape;
import org.aspose.slides.foss.ITextFrame;
import org.aspose.slides.foss.IPortionFormat;
import org.aspose.slides.foss.ShapeType;
import org.aspose.slides.foss.FillType;
import org.aspose.slides.foss.NullableBool;
import org.aspose.slides.foss.export.SaveFormat;
import org.aspose.slides.foss.drawing.Color;
try (Presentation prs = new Presentation()) {
IAutoShape shape = prs.getSlides().get(0).getShapes().addAutoShape(
ShapeType.RECTANGLE, 50, 50, 500, 150
);
ITextFrame tf = shape.addTextFrame("Bold heading in corporate blue");
IPortionFormat fmt = tf.getParagraphs().get(0).getPortions().get(0).getPortionFormat();
fmt.setFontHeight(28);
fmt.setFontBold(NullableBool.TRUE);
fmt.getFillFormat().setFillType(FillType.SOLID);
fmt.getFillFormat().getSolidFillColor().setColor(new Color(0, 70, 127));
prs.save("formatted.pptx");
}
Các hạn chế hiện tại
Các khu vực sau ném UnsupportedOperationException trong phiên bản 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 siêu văn bản, 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 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.