Com començar amb FOSS per a C++?
aspose_slides_foss per C++ és una biblioteca lliure, amb llicència MIT per crear i editar. PowerPoint .pptx arxius no es requereix Microsoft Office, construït amb CMake.
Guia pas a pas
Pas 1: Agregar la biblioteca a través de CMake
Ajuntar aspose_slides_foss a la seva CMakeLists.txt (requereix compilador C++20):
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)Pas 2: Inclou els títols requerits.
Inclou els encabezats de les classes que necessites:
#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>Pas 3: Crea una presentació
Construir un Presentation per començar amb una diapositiva en blanc, després guardar-la:
#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;
}Pas 4: Agregar una forma amb text
Utilització: slide.shapes().add_auto_shape() per inserir un rectangle, després cridar text_frame()->set_text() per afegir contingut de text:
#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;
}Pas 5: Aplicar un rellotge i guardar
Ajustar un color de rellotge sòlid a la forma abans d’estalviar:
#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;
}Problemes i solucions comuns
Errors de enllaç amb referències indefinides Assegurar-se target_link_libraries(your_target PRIVATE aspose_slides_foss) està en el seu CMakeLists.txt i que la biblioteca va ser recollida amb èxit a través de FetchContent.
No s’ha trobat capçalera. Inclou el camí complet començant per: <Aspose/Slides/Foss/...>.Correu. cmake --build des del directori de construcció, no del director font.
UnsupportedOperationException equivalents per a característiques no suportades. Algunes característiques (diagrames, animacions, exportació PDF) no són compatibles. Comprova el projecte documentació per a la llista actual de limitacions.
Crash en accedir a diapositives per índex El paràmetre predeterminat Presentation sempre crea una diapositiva a l’índex 0. Si vostè va carregar un buit arxiu o eliminació de totes les diapositives, prs.slides()[0] Estarà fora de la gamma.
Preguntas freqüents
És necessari Microsoft Office per aspose_slides_foss?
No, la biblioteca crea i llegeix. .pptx arxius de forma nativa en C++ sense dependències. en Microsoft Office, l’automatització COM o les API de Windows.
Quins compiladors i estàndards C++ són compatibles?
La biblioteca requereix C++20 o posterior. Està provada amb GCC 11+, Clang 13+ i MSVC 2022.
La biblioteca és gratuïta per a ús comercial?
Sí. Es publica sota la llicència MIT. Pots utilitzar, modificar i redistribuir-la per a qualsevol propòsit, incloses les aplicacions comercials.
Puc carregar un fitxer PPTX existent?
Passa el camí del fitxer al Presentation constructor:
Presentation prs("existing.pptx");
prs.save("copy.pptx", SaveFormat::PPTX);Com puc afegir múltiples diapositives?
Utilització: prs.slides().add_empty_slide(layout) després d’obtenir un traçat de prs.masters()[0].layout_slides()[0].