Aspose.Slides FOSS cho C++ là một thư viện mã nguồn mở được cấp phép MIT để làm việc với các tệp PowerPoint .pptx. Tích hợp nó qua CMake FetchContent và ngay lập tức bắt đầu tạo, đọc và chỉnh sửa bản trình chiếu mà không cần cài đặt Microsoft Office hay 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 quanh các lớp Presentation, Slide, ShapeCollection, TextFrame, Paragraph và Portion, mô hình khái niệm mà 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 và màu chữ, á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).
Ngữ nghĩa RAII đảm bảo việc dọn dẹp tài nguyên đáng tin cậy: hàm hủy Presentation tự động giải phóng toàn bộ trạng thái nội bộ. Các phần XML không xác định gặp trong quá trình tải sẽ được giữ nguyên khi lưu, vì vậy việc vòng lại không bao giờ phá hủy nội dung mà thư viện chưa hiểu. Thư viện yêu cầu một trình biên dịch tuân thủ C++17.
.pptx hiện có qua Presentation() hoặc Presentation(path).SlideCollection một cách lập trình bằng các phương thức add_clone(), remove() và remove_at().ShapeType khác qua add_auto_shape().add_connector().NotesSlideManager.get_slide_comments().Portion riêng lẻ thông qua PortionFormat.FillFormat và FillType.EffectFormat.ParagraphFormat và set_alignment().Aspose.Slides FOSS tích hợp qua CMake FetchContent, vì vậy không cần tải xuống thủ công hay cài đặt toàn hệ thống. Thư viện được biên dịch từ mã nguồn cùng với dự án của bạn.
API phản chiếu mô hình đối tượng của PowerPoint (Presentation, Slide, ShapeCollection, 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. Thư viện được cấp phép MIT, mã nguồn mở trên GitHub, và yêu cầu trình biên dịch tương thích C++17.
RAII đảm bảo rằng hàm hủy Presentation tự động giải phóng tất cả tài nguyên khi đối tượng ra khỏi phạm vi. add_auto_shape() nhận một enum ShapeType, sau đó là vị trí x/y và chiều rộng/chiều cao tính bằng điểm — text_frame của hình cung cấp quyền truy cập để đặt nội dung văn bản.
include(FetchContent)
FetchContent_Declare(
aspose_slides_foss
GIT_REPOSITORY https://github.com/aspose-slides-foss/Aspose.Slides-FOSS-for-Cpp.git
GIT_TAG main
)
FetchContent_MakeAvailable(aspose_slides_foss)
#include <Aspose/Slides/Foss/auto_shape.h>
#include <Aspose/Slides/Foss/export/save_format.h>
#include <Aspose/Slides/Foss/presentation.h>
#include <Aspose/Slides/Foss/shape_collection.h>
#include <Aspose/Slides/Foss/shape_type.h>
#include <Aspose/Slides/Foss/slide.h>
#include <Aspose/Slides/Foss/slide_collection.h>
#include <Aspose/Slides/Foss/text_frame.h>
int main() {
Aspose::Slides::Foss::Presentation prs;
auto& slide = prs.slides()[0];
// Thêm một AutoShape hình chữ nhật
auto& shape = slide.shapes().add_auto_shape(
Aspose::Slides::Foss::ShapeType::RECTANGLE,
50, 50, 400, 150
);
shape.text_frame()->set_text("Xin chào, Aspose.Slides!");
prs.save("output.pptx", Aspose::Slides::Foss::SaveFormat::PPTX);
return 0;
}
Đị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ữ trực tiếp. Đổ màu hình dạng là độc lập: đặt loại đổ màu thành đặc và chỉ định một màu.
#include <Aspose/Slides/Foss/presentation.h>
namespace asf = Aspose::Slides::Foss;
int main() {
asf::Presentation prs("output.pptx");
auto& shape = prs.slides()[0].shapes()[0];
auto& portion = shape.text_frame()
->paragraphs()[0].portions()[0];
// Đậm, văn bản 18pt
portion.portion_format().set_font_bold(asf::NullableBool::TRUE);
portion.portion_format().set_font_height(18);
// Đổ nền đặc trên hình dạng
shape.fill_format().set_fill_type(asf::FillType::SOLID);
prs.save("formatted.pptx", asf::SaveFormat::PPTX);
return 0;
}
Đó là một thư viện C++ miễn phí, được cấp phép MIT, dùng để tạo, đọc và chỉnh sửa các bản trình chiếu PowerPoint .pptx mà không cần Microsoft Office.
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.
Không. Aspose.Slides FOSS là một thư viện C++ độc lập, không phụ thuộc vào Microsoft Office, tự động hoá COM, hay bất kỳ môi trường chạy độc quyền nào.
Sử dụng CMake FetchContent để tích hợp thư viện trực tiếp từ GitHub. Thư viện yêu cầu một trình biên dịch tuân thủ C++17.
Có. Thư viện hỗ trợ các hiệu ứng bóng đổ bên 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.
Có. Hàm hủy Presentation tự động giải phóng toàn bộ trạng thái nội bộ, vì vậy không cần dọn dẹp thủ công.
Không. Các phần XML không xác định gặp 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 bị mất.
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à yêu cầu kéo đều được chào đón.