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?

Thêm phụ thuộc Maven vào pom.xml của bạn. 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>

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

import org.aspose.slides.foss.Presentation;

Presentation prs = new Presentation();
try {
    System.out.println("Slides: " + prs.getSlides().size());
} finally {
    prs.dispose();
}

Không cần Microsoft Office hoặc bất kỳ môi trường chạy hệ thống nào khác.


Tại sao tôi phải gọi dispose() trên Presentation?

Lớp Presentation quản lý các tài nguyên gói OPC nội bộ. Nếu không gọi dispose(), các tài nguyên đó sẽ không được giải phóng, có thể gây rò rỉ bộ nhớ hoặc khóa tệp. Luôn sử dụng try-finally:

Presentation prs = new Presentation("input.pptx");
try {
    // work here
    prs.save("output.pptx", SaveFormat.PPTX);
} finally {
    prs.dispose();
}

Ngoài ra, hãy sử dụng try-with-resources vì Presentation triển khai AutoCloseable:

try (Presentation prs = new Presentation("input.pptx")) {
    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:

import org.aspose.slides.foss.export.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?

Các slide là một bộ sưu tập có chỉ số bắt đầu từ 0, có thể truy cập qua prs.getSlides():

ISlide firstSlide = prs.getSlides().get(0);
int slideCount = prs.getSlides().size();

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

Sử dụng prs.getSlides().addEmptySlide() với bố cục:

try (Presentation prs = new Presentation()) {
    ILayoutSlide layout = prs.getLayoutSlides().get(0);
    prs.getSlides().addEmptySlide(layout);
    ISlide slide2 = prs.getSlides().get(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 hỗ trợ trong phiên bản này của Aspose.Slides FOSS. Không có getBackground() phương thức trên ISlide hoặc bất kỳ lớp nào khác trong thư viện này. Nền slide được cố định khi bản trình chiếu được tạo từ mẫu của nó. Một phiên bản tương lai có thể thêm điều khiển nền.


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 Java) cho các thuộc tính như in đậm, in nghiêng và các thuộc tính tương tự:

import org.aspose.slides.foss.NullableBool;

fmt.setFontBold(NullableBool.TRUE);
fmt.setFontItalic(NullableBool.FALSE);

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 fillType thành FillType.SOLID trước khi gán màu:

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

fmt.getFillFormat().setFillType(FillType.SOLID);
fmt.getFillFormat().getSolidFillColor().setColor(Color.fromArgb(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 UnsupportedOperationException.


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

Mỗi Presentation đối tượng 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 Presentation đối tượng duy nhất giữa các luồng mà không có sự đồng bộ bên ngoài.


Làm sao để tôi nhúng một hình ảnh?

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

import org.aspose.slides.foss.ShapeType;

byte[] imageData = java.nio.file.Files.readAllBytes(
    java.nio.file.Paths.get("logo.png")
);
IPPImage image = prs.getImages().addImage(imageData);
slide.getShapes().addPictureFrame(ShapeType.RECTANGLE, 50, 50, 200, 150, image);

Xem thêm

 Tiếng Việt