Hur man börjar med Aspose.Slides FOSS för C++
aspose_slides_foss för C++ är en gratis, MIT-licensierad bibliotek för att skapa och redigera PowerPoint .pptx filer – inga Microsoft Office krävs, byggd med CMake.
Steg för steg guide
Steg 1: Lägg till biblioteket via CMake
Lägg till aspose_slides_foss till din CMakeLists.txt (C++20 kompiler krävs):
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)Steg 2: Inkludera nödvändiga header
Inkludera rubrikerna för de klasser du behöver:
#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>Steg 3: Skapa en presentation
Konstruera A Presentation För att börja med en vit slide, spara sedan den:
#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;
}Steg 4: Lägg till en form med text
Användning slide.shapes().add_auto_shape() att sätta in en rektangel, sedan ringa text_frame()->set_text() Att lägga till textinnehåll:
#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;
}Steg 5: Applicera en Fyll och Spara
Sätt en solid fyllning färg på formen innan du sparar:
#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;
}Vanliga problem och fixar
Linkor fel med okända referenser Säkerhet target_link_libraries(your_target PRIVATE aspose_slides_foss) är i din CMakeLists.txt och att biblioteket lyckades genomgå FetchContent.
Header filer inte hittat Inkludera hela vägen som börjar med <Aspose/Slides/Foss/...>.Rörande cmake --build från byggdirektivet, inte från källdirektören.
UnsupportedOperationException motsvarande för okomplicerade funktioner Vissa funktioner (charts, animationer, PDF-export) stöds inte. Dokumentation för den aktuella listan över begränsningar.
Crash när du får tillgång till slides per index Den förfalskade Presentation alltid skapar en slide på index 0. om du laddat en tom fil eller ta bort alla slides, prs.slides()[0] kommer att vara utanför räckhåll.
Ofta ställda frågor
Behöver aspose_slides_foss Microsoft Office?
Biblioteket skapar och läser .pptx filer som är inhemska i C++ utan beroende Microsoft Office, COM Automation eller Windows API.
Vilka kompiler och C++-standarder stöds?
Biblioteket kräver C++20 eller senare. Det testas med GCC 11+, Clang 13+ och MSVC 2022.
Är biblioteket gratis för kommersiellt bruk?
Det släpps under MIT-licensen. Du kan använda, modifiera och omfördelar det för alla ändamål, inklusive kommersiella applikationer.
Kan jag ladda upp en befintlig PPTX-fil?
Ja. Gå filvägen till den Presentation Konstruktionerna :
Presentation prs("existing.pptx");
prs.save("copy.pptx", SaveFormat::PPTX);Hur lägger jag till flera slides?
Användning prs.slides().add_empty_slide(layout) Efter att ha fått en layout från prs.masters()[0].layout_slides()[0].