Jak začít s FOSS pro C++?
aspose_slides_foss for C++ er et gratis, MIT-licenseret bibliotek til at oprette og redigere PowerPoint.pptx` filer uden Microsoft Office kræves, bygget med CMake .
Trin-for-trin vejledning
- Jeg er ikke i gang.
Trin 1: Tilføj biblioteket via CMake
Tilføj aspose_slides_foss til din CMakeLists.txt` (C++20-kompilator kræves):
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)Trin 2: Indtast de nødvendige overskrifter
Indtast overskrifter for de klasser, du har brug for:
#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>Trin 3: Lav en præsentation
Konstruer en Presentation for at starte med én tom slide, og gem den derefter:
#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;
}Trin 4: Tilføj en form med tekst
Brug `slide.shapes().add_auto_shape (() ̋ til at indsætte et rektangel, og ring derefter ⌒text_frame ()) ->set_text (), for at tilføje tekstindhold:
#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;
}Trin 5: Anvend en fyld og gem
Indstil en solid fyldfarve på formen før du gemmer:
#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;
}- Jeg er ikke i gang.
Almindelige problemer og løsninger
Linkerfejl med udefinerede referencer Sikre `target_link_libraries ((your_targets PRIVATE aspose_slides_foss) “) er i din ̋CMakeLists.txt∂ og at biblioteket blev hentet med succes via ゚FetchContent∂.
Fuldste vej indføjer <Aspose/Slides/Foss/...>. Kør ̋cmake –build∂ fra opbygningsmappen, ikke fra kildedirectoriet.
UnsupportedOperationException equivalent for ikke-understøttede funktioner Nogle funktioner (diagrammer, animationer, PDF export) understøttes ikke. Se projektdokumentationen for den aktuelle liste over begrænsninger.
Brist når du får adgang til slides efter indeks Standard Presentation skaber altid én slide ved index 0. Hvis du har indlæst en tom fil eller fjernet alle slid, vil ̋prs.slides() [0]` være ude af rækkevidde.
Ofte stillede spørgsmål
Skal aspose_slides_foss have Microsoft Office?
Biblioteket opretter og læser .pptx-filer i C++ uden at være afhængig af Microsoft Office, COM automation eller Windows API’er.
Hvilke compiler og C++-standarder understøttes?
Biblioteket kræver C++20 eller nyere. Det er testet med GCC 11+, Clang 13+ og MSVC 2022.
Er biblioteket gratis til kommerciel brug?
Ja. Den er udgivet under MIT-licensen. Du kan bruge, ændre og videregiv den til ethvert formål, herunder kommercielle applikationer.
Kan jeg indlæse en eksisterende PPTX fil?
Ja. Pass filvejen til konstruktoren Presentation:
Presentation prs("existing.pptx");
prs.save("copy.pptx", SaveFormat::PPTX);Hvordan tilføjer jeg flere slides?
Brug prs.slides().add_empty_slide(layout) efter at have fået et layout fra ̋prS.masters (()) [0].layouts_ slides (() [ 0]` .
Se også:
- FAQ Aspose.Slides FOSS til C++
- Hvordan man laver præsentationer i C++
- Hvordan man tilføjer former i C++
- Begyndelse Docs
- API-reference