Aspose.Slides FOSS cho C++ là một thư viện có giấy 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 các bản trình chiếu mà không cần cài đặt Microsoft Office hoặc 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 xung quanh Presentation, Slide, ShapeCollection, TextFrame, Paragraph và Portion, mô hình khái niệm được 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 phông chữ và màu sắc, áp dụng màu nền đặc hoặc gradient, và thêm các hiệu ứng hình ảnh (bóng đổ, phát sáng, làm mờ, phản chiếu).
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 giải phóng toàn bộ trạng thái nội bộ một cách tự động. Các phần XML không xác định gặp trong quá trình tải được giữ nguyên nguyên văn khi lưu, vì vậy việc vòng tròn 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++20. Để biết thêm tính năng, xem Aspose.Slides for C++ enterprise edition.
.pptx hiện có qua Presentation() hoặc Presentation(path).SlideCollection một cách lập trình với add_empty_slide(), remove() và remove_at().ShapeType khác qua add_auto_shape().add_connector().NotesSlideManager.pres.comment_authors() và các bình luận liên quan của chúng.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 trên 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 riê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. Nó được cấp phép MIT, mã nguồn mở trên GitHub và yêu cầu một trình biên dịch tuân thủ C++20.
RAII đảm bảo rằng hàm hủy Presentation giải phóng tất cả tài nguyên một cách tự động khi đối tượng ra khỏi phạm vi. add_auto_shape() nhận một enum ShapeType, sau đó 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];
// Add a rectangle AutoShape
auto& shape = slide.shapes().add_auto_shape(
Aspose::Slides::Foss::ShapeType::RECTANGLE,
50, 50, 400, 150
);
shape.text_frame()->set_text("Hello, Aspose.Slides!");
prs.save("output.pptx", Aspose::Slides::Foss::SaveFormat::PPTX);
return 0;
}
```cmake
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)
Đị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];
// Bold, 18pt text
portion.portion_format().set_font_bold(asf::NullableBool::TRUE);
portion.portion_format().set_font_height(18);
// Solid background fill on the shape
shape.fill_format().set_fill_type(asf::FillType::SOLID);
prs.save("formatted.pptx", asf::SaveFormat::PPTX);
return 0;
}
```cpp
#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];
// Bold, 18pt text
portion.portion_format().set_font_bold(asf::NullableBool::TRUE);
portion.portion_format().set_font_height(18);
// Solid background fill on the shape
shape.fill_format().set_fill_type(asf::FillType::SOLID);
prs.save("formatted.pptx", asf::SaveFormat::PPTX);
return 0;
}
Đây là một thư viện C++ miễn phí, có giấy 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, COM automation, hoặc bất kỳ runtime độ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++20.
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ó. Trình hủy Presentation giải phóng toàn bộ trạng thái nội bộ một cách tự động, vì vậy không cần dọn dẹp rõ ràng.
Không. 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 nội dung mà thư viện chưa hiểu sẽ không bao giờ 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à pull request đều được chào đón.