Lưu Bài Thuyết Trình trong JavaScript
Tổng Quan
Open Presentations in JavaScript mô tả cách sử dụng lớp Presentation để mở một bài thuyết trình. Bài viết này giải thích cách tạo và lưu bài thuyết trình. Lớp Presentation chứa nội dung của bài thuyết trình. Cho dù bạn đang tạo một bài thuyết trình từ đầu hay chỉnh sửa một bài đã có, bạn sẽ muốn lưu nó khi hoàn thành. Với Aspose.Slides cho Node.js, bạn có thể lưu thành tập tin hoặc luồng. Bài viết này giải thích các cách khác nhau để lưu một bài thuyết trình.
Lưu Bài Thuyết Trình vào Tập Tin
Lưu một bài thuyết trình vào tập tin bằng cách gọi phương thức save của lớp Presentation. Truyền tên tập tin và định dạng lưu vào phương thức. Ví dụ sau cho thấy cách lưu một bài thuyết trình với Aspose.Slides.
// Khởi tạo lớp Presentation đại diện cho tệp bản trình chiếu.
let presentation = new aspose.slides.Presentation();
try {
// Thực hiện một số công việc ở đây...
// Lưu bản trình chiếu vào tệp.
presentation.save("Output.pptx", aspose.slides.SaveFormat.Pptx);
} finally {
presentation.dispose();
}
Lưu Bài Thuyết Trình vào Luồng
Bạn có thể lưu một bài thuyết trình vào luồng bằng cách truyền một luồng đầu ra vào phương thức save của lớp Presentation. Một bài thuyết trình có thể được ghi vào nhiều loại luồng khác nhau. Trong ví dụ dưới, chúng ta tạo một bài thuyết trình mới và lưu nó vào một luồng tập tin.
// Khởi tạo lớp Presentation đại diện cho tệp bản trình chiếu.
let presentation = new aspose.slides.Presentation();
try {
let fileStream = java.newInstanceSync("java.io.FileOutputStream", "Output.pptx");
try {
// Lưu bản trình chiếu vào luồng.
presentation.save(fileStream, aspose.slides.SaveFormat.Pptx);
} finally {
fileStream.close();
}
} finally {
presentation.dispose();
}
Lưu Bài Thuyết Trình với Kiểu Xem Được Định Nghĩa Trước
Aspose.Slides cho phép bạn đặt chế độ xem ban đầu mà PowerPoint sử dụng khi bài thuyết trình được mở qua lớp ViewProperties. Sử dụng phương thức setLastView với một giá trị từ enumeration ViewType.
let presentation = new aspose.slides.Presentation();
try {
presentation.getViewProperties().setLastView(aspose.slides.ViewType.SlideMasterView);
presentation.save("SlideMasterView.pptx", aspose.slides.SaveFormat.Pptx);
} finally {
presentation.dispose();
}
Lưu Bài Thuyết Trình ở Định Dạng Office Open XML Chặt Chẽ
Aspose.Slides cho phép bạn lưu một bài thuyết trình ở định dạng Strict Office Open XML. Sử dụng lớp PptxOptions và đặt thuộc tính conformance khi lưu. Nếu bạn đặt Conformance.Iso29500_2008_Strict, tệp đầu ra sẽ được lưu ở định dạng Strict Office Open XML.
Ví dụ dưới tạo một bài thuyết trình và lưu nó ở định dạng Strict Office Open XML.
let options = new aspose.slides.PptxOptions();
options.setConformance(aspose.slides.Conformance.Iso29500_2008_Strict);
// Khởi tạo lớp Presentation đại diện cho tệp bản trình chiếu.
let presentation = new aspose.slides.Presentation();
try {
// Lưu bản trình chiếu ở định dạng Strict Office Open XML.
presentation.save("StrictOfficeOpenXml.pptx", aspose.slides.SaveFormat.Pptx, options);
} finally {
presentation.dispose();
}
Lưu Bài Thuyết Trình ở Định Dạng Office Open XML trong Chế Độ Zip64
Một tệp Office Open XML là một kho lưu ZIP áp chế giới hạn 4 GB (2^32 byte) cho kích thước không nén của bất kỳ tệp nào, kích thước nén của bất kỳ tệp nào và tổng kích thước của kho lưu, đồng thời giới hạn số tệp trong kho lưu là 65 535 (2^16‑1). Các phần mở rộng định dạng ZIP64 nâng các giới hạn này lên 2^64.
Phương thức PptxOptions.setZip64Mode cho phép bạn chọn khi nào sử dụng các phần mở rộng định dạng ZIP64 khi lưu tệp Office Open XML.
Phương thức này có thể được sử dụng với các chế độ sau:
- IfNecessary chỉ sử dụng các phần mở rộng định dạng ZIP64 chỉ khi bài thuyết trình vượt quá các giới hạn trên. Đây là chế độ mặc định.
- Never không bao giờ sử dụng các phần mở rộng định dạng ZIP64.
- Always luôn luôn sử dụng các phần mở rộng định dạng ZIP64.
Đoạn mã sau minh họa cách lưu một bài thuyết trình dưới dạng PPTX với các phần mở rộng định dạng ZIP64 được bật:
let pptxOptions = new aspose.slides.PptxOptions();
pptxOptions.setZip64Mode(aspose.slides.Zip64Mode.Always);
let presentation = new aspose.slides.Presentation("Sample.pptx");
try {
presentation.save("OutputZip64.pptx", aspose.slides.SaveFormat.Pptx, pptxOptions);
} finally {
presentation.dispose();
}
NOTE
Khi bạn lưu với Zip64Mode.Never, một PptxException sẽ được ném nếu bài thuyết trình không thể lưu ở định dạng ZIP32.Lưu Bài Thuyết Trình mà Không Làm Mới Hình Thu Nhỏ
Phương thức PptxOptions.setRefreshThumbnail điều khiển việc tạo hình thu nhỏ khi lưu một bài thuyết trình thành PPTX:
- Nếu đặt
true, hình thu nhỏ được làm mới trong quá trình lưu. Đây là mặc định. - Nếu đặt
false, hình thu nhỏ hiện tại được giữ nguyên. Nếu bài thuyết trình không có hình thu nhỏ, sẽ không tạo gì cả.
Trong đoạn mã dưới, bài thuyết trình được lưu thành PPTX mà không làm mới hình thu nhỏ.
let pptxOptions = new aspose.slides.PptxOptions();
pptxOptions.setRefreshThumbnail(false);
let presentation = new aspose.slides.Presentation("Sample.pptx");
try {
presentation.save("Output.pptx", aspose.slides.SaveFormat.Pptx, pptxOptions);
}
finally {
presentation.dispose();
}
Info
Tùy chọn này giúp giảm thời gian cần thiết để lưu một bài thuyết trình ở định dạng PPTX.Lưu Cập Nhật Tiến Độ theo Phần Trăm
Báo cáo tiến độ lưu được cấu hình qua phương thức setProgressCallback trên SaveOptions và các lớp con của nó. Cung cấp một proxy Java triển khai giao diện IProgressCallback; trong quá trình xuất, callback sẽ nhận các cập nhật phần trăm định kỳ.
Các đoạn mã dưới đây cho thấy cách sử dụng IProgressCallback.
const ExportProgressHandler = java.newProxy("com.aspose.slides.IProgressCallback", {
reporting: function(progressValue) {
// Sử dụng giá trị phần trăm tiến độ ở đây.
const progress = Math.floor(progressValue);
console.log(`${progress}% of the file has been converted.`);
}
});
let saveOptions = new aspose.slides.PdfOptions();
saveOptions.setProgressCallback(ExportProgressHandler);
let presentation = new aspose.slides.Presentation("Sample.pptx");
try {
presentation.save("Output.pdf", aspose.slides.SaveFormat.Pdf, saveOptions);
} finally {
presentation.dispose();
}
Info
Aspose đã phát triển một ứng dụng Splitter PowerPoint miễn phí dựa trên API của mình. Ứng dụng này cho phép bạn tách một bài thuyết trình thành nhiều tệp bằng cách lưu các slide đã chọn dưới dạng tệp PPTX hoặc PPT mới.FAQ
“Lưu nhanh” (lưu tăng dần) có được hỗ trợ để chỉ ghi những thay đổi không?
Không. Việc lưu luôn tạo ra toàn bộ tệp đích mỗi lần; “lưu nhanh” tăng dần không được hỗ trợ.
Có an toàn khi lưu cùng một đối tượng Presentation từ nhiều luồng không?
Không. Một đối tượng Presentation không an toàn trong môi trường đa luồng; hãy lưu nó từ một luồng duy nhất.
Liên kết siêu văn bản và các tệp được liên kết bên ngoài sẽ xảy ra gì khi lưu?
Hyperlinks được giữ nguyên. Các tệp được liên kết bên ngoài (ví dụ: video qua đường dẫn tương đối) sẽ không được sao chép tự động — hãy đảm bảo các đường dẫn tham chiếu vẫn có thể truy cập được.
Có thể đặt/lưu siêu dữ liệu tài liệu (Tác giả, Tiêu đề, Công ty, Ngày) không?
Có. Các thuộc tính tài liệu chuẩn được hỗ trợ và sẽ được ghi vào tệp khi lưu.