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ừ NuGet bằng .NET CLI. Yêu cầu .NET 9.0 trở lên.

dotnet add package Aspose.Slides.Foss

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

using Aspose.Slides.Foss;

using var prs = new Presentation();
Console.WriteLine($"Slides: {prs.Slides.Count}");

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 sử dụng using var prs = new Presentation();?

Lớp Presentation triển khai IDisposable và quản lý các tài nguyên XML nội bộ. Nếu không có câu lệnh using, 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.

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

using Aspose.Slides.Foss;
using Aspose.Slides.Foss.Export;

using var prs = new Presentation("input.pptx");
// 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:

using Aspose.Slides.Foss.Export;

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ở .ppt (PowerPoint 97-2003 cũ) không?

Thư viện chủ yếu hỗ trợ .pptx (Office Open XML). Hàm khởi tạo Presentation chấp nhận đường dẫn tệp .ppt và sẽ phát hiện định dạng, nhưng việc phân tích cú pháp đáng tin cậy của các tệp .ppt nhị phân không được đảm bảo và không phải là trường hợp sử dụng được hỗ trợ trong phiên bản này. Sử dụng các tệp .pptx cho mọi kịch bản sản xuất.


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

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

var firstSlide = prs.Slides[0];
int slideCount = prs.Slides.Count;

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

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

using var prs = new Presentation();
var layout = prs.LayoutSlides[0];
prs.Slides.AddEmptySlide(layout);
var slide2 = prs.Slides[1];
prs.Save("two-slides.pptx", SaveFormat.Pptx);

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

Không có nền màu trong phiên bản này.


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

using Aspose.Slides.Foss;

fmt.FontBold = NullableBool.True;
fmt.FontItalic = NullableBool.False;
fmt.FontUnderline = TextUnderlineType.Single;

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 = FillType.Solid trước khi gán màu:

using Aspose.Slides.Foss;
using Aspose.Slides.Foss.Drawing;

fmt.FillFormat.FillType = FillType.Solid;
fmt.FillFormat.SolidFillColor.Color = 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.


Thư viện có hỗ trợ .NET 8 không?

Không. .NET 9.0 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 sao để 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:

byte[] imageData = File.ReadAllBytes("logo.png");
var image = prs.Images.AddImage(imageData);
slide.Shapes.AddPictureFrame(ShapeType.Rectangle, 50, 50, 200, 150, image);

Xem thêm

 Tiếng Việt