Како функционише FOSS у C++?
aspose_slides_foss for C++ là một thư viện miễn phí, được cấp phép MIT để tạo và chỉnh sửa các tệp PowerPoint ̋.pptx⌒ không cần Microsoft Office, xây dựng với CMake .
Hướng dẫn từng bước
Bước 1: Thêm thư viện thông qua CMake
Thêm aspose_slides_foss vào CMakeLists.txt của bạn (C++20 trình biên dịch được yêu cầu):
cmake_minimum_required(VERSION 3.20)
project(MyProject)
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)
add_executable(my_app main.cpp)
target_link_libraries(my_app PRIVATE aspose_slides_foss)Bước 2: Bao gồm các tiêu đề cần thiết
Bao gồm các tiêu đề cho các lớp bạn cần:
#include <Aspose/Slides/Foss/presentation.h>
#include <Aspose/Slides/Foss/auto_shape.h>
#include <Aspose/Slides/Foss/shape_type.h>
#include <Aspose/Slides/Foss/text_frame.h>
#include <Aspose/Slides/Foss/export/save_format.h>Bước 3: Tạo một bài thuyết trình
Xây dựng một Presentation để bắt đầu với một slide trống, sau đó lưu nó:
#include <Aspose/Slides/Foss/presentation.h>
#include <Aspose/Slides/Foss/export/save_format.h>
using namespace Aspose::Slides::Foss;
int main() {
Presentation prs;
prs.save("new_presentation.pptx", SaveFormat::PPTX);
return 0;
}Bước 4: Thêm hình dạng với văn bản
Sử dụng `slide.shapes().add_auto_shape (() ∀ để chèn một hình chữ nhật, sau đó gọi ⌒text_frame ()) ->set_text (), để thêm nội dung văn bản:
#include <Aspose/Slides/Foss/auto_shape.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>
#include <Aspose/Slides/Foss/export/save_format.h>
using namespace Aspose::Slides::Foss;
int main() {
Presentation prs;
auto& slide = prs.slides()[0];
auto& shape = slide.shapes().add_auto_shape(
ShapeType::RECTANGLE, 50, 50, 400, 150
);
shape.text_frame()->set_text("Hello from Aspose.Slides FOSS!");
prs.save("with_shape.pptx", SaveFormat::PPTX);
return 0;
}Bước 5: Lấy một phần và lưu lại
Đặt màu điền rắn trên hình trước khi lưu:
#include <Aspose/Slides/Foss/auto_shape.h>
#include <Aspose/Slides/Foss/fill_format.h>
#include <Aspose/Slides/Foss/fill_type.h>
#include <Aspose/Slides/Foss/presentation.h>
#include <Aspose/Slides/Foss/shape_type.h>
#include <Aspose/Slides/Foss/export/save_format.h>
using namespace Aspose::Slides::Foss;
int main() {
Presentation prs;
auto& shape = prs.slides()[0].shapes().add_auto_shape(
ShapeType::RECTANGLE, 100, 100, 400, 200
);
shape.fill_format().set_fill_type(FillType::SOLID);
shape.fill_format().solid_fill_color().set_color(0xFF, 0x46, 0x82, 0xB4);
shape.text_frame()->set_text("Styled shape");
prs.save("styled.pptx", SaveFormat::PPTX);
return 0;
}Những vấn đề và giải pháp phổ biến
Lỗi liên kết với các tham chiếu không xác định Đảm bảo `target_link_libraries ((your_targets PRIVATE aspose_slides_foss) “) nằm trong CMakeLists.txt của bạn và thư viện đã được truy cập thành công thông qua FETCHContent .
Tệp tiêu đề không tìm thấy Bao gồm toàn bộ đường dẫn bắt đầu với <Aspose/Slides/Foss/...>. Chạy ⌒cmake –build` từ thư mục xây dựng, chứ không phải từ danh mục nguồn.
Không hỗ trợOperationException tương đương cho các tính năng không được hỗ hộ Một số tính chất (biểu đồ, hình ảnh động, PDF xuất) không bị hỗ hỗ đỡ. Kiểm tra tài liệu dự án để xem danh sách giới hạn hiện tại.
Lập khi truy cập slide theo chỉ mục Presentation mặc định luôn tạo một slides tại index 0. Nếu bạn tải tệp trống hoặc xóa tất cả các slides, ⌒prs.slides()[0]` sẽ không nằm trong phạm vi.
Câu hỏi thường gặp
Có cần Microsoft Office không?
Không. Thư viện tạo và đọc các tệp .pptx bằng C++ mà không phụ thuộc vào Microsoft Office, tự động hóa COM hoặc Windows API .
Các trình biên dịch và tiêu chuẩn C ++ nào được hỗ trợ?
Thư viện yêu cầu C ++ 20 hoặc mới hơn. Nó được kiểm tra với GCC 11+, Clang 13 + và MSVC 2022.
Thư viện có được sử dụng miễn phí cho mục đích thương mại không?
Có. Nó được phát hành theo Giấy phép MIT. Bạn có thể sử dụng, sửa đổi và phân phối lại cho bất kỳ mục đích nào, bao gồm cả các ứng dụng thương mại.
Tôi có thể tải một tệp PPTX hiện tại không?
Vâng. Chuyển đường dẫn file sang cấu trúc trình bày:
Presentation prs("existing.pptx");
prs.save("copy.pptx", SaveFormat::PPTX);Làm thế nào để tôi thêm nhiều slide?
Sử dụng prs.slides().add_empty_slide(layout) sau khi có được bố trí từ ⌒prS.masters (()) [0].layouts_ slides (() [ 0]` .
Xem Thêm
- FAQ Aspose.Slides FOSS cho C++
- Làm thế nào để tạo trình bày trong C ++
- Làm thế nào để thêm hình dạng trong C ++
- Bắt đầu Docs
- Đề cập API