Hoe werkt FOSS in C++?

Hoe werkt FOSS in C++?

aspose_slides_foss for C++ er et gratis, MIT-lisensert bibliotek for å lage og redigere PowerPoint.pptx` filer uten Microsoft Office nødvendig, bygget med CMake .

Stegsvis veiledning

Trinn 1: Legg til biblioteket via CMake

Legg til aspose_slides_foss i din CMakeLists.txt` (C++20-kompilatoren kreves):

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)

Trinn 2: Inkluder nødvendige overskrifter

Inkluder overskrifter for klasser du trenger:

#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>

Trinn 3: Lag en presentasjon

Lag en Presentation for å begynne med én tom slide, og lagre den deretter:

#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;
}

Trinn 4: Legg til en skikkelse med tekst

Bruk `slide.shapes().add_auto_shape (() ̋ for å sette inn et rektangel, og ring deretter ⌒text_frame ()) ->set_text (), hvis du vil legge til tekstinnhold:

#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;
}

Trinn 5: Bruk en fylle og lagre

Sett en solid fyllekolor på formen før du lagrer:

#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;
}

Vanlige problemer og løsninger

Linkerfeil med udefinerte referanser Sørg for at target_link_libraries ((your_targets PRIVATE aspose_slides_foss) ") er i ditt CMakeLists.txt og at biblioteket ble hentet vellykket via ̋FetchContent∂.

Hodefilen ble ikke funnet Inkluder den fulle veien som begynner med <Aspose/Slides/Foss/...>. Kjør ̋cmake –build∂ fra bygge-katalogen, ikke fra kildedirektivet.

UnsupportedOperationException ekvivalent for ikke-støttede funksjoner Noen funksjonene (diagrammer, animasjoner, PDF eksport) er ikke støttet. Sjekk prosjektdokumentasjonen for den aktuelle listen over begrensninger.

Kras når du får tilgang til lysbilder etter indeks Standardinnstillingen Presentation skaper alltid en lysbild ved indeks 0. Hvis du lastet inn en tom fil eller fjernet alle lysbilar, vil ̋prs.slides() [0]` være utenfor rekkevidde.

Ofte stilte spørsmål

Trenger aspose_slides_foss Microsoft Office?

Biblioteket oppretter og leser .pptx-filer på C++ uten å være avhengig av Microsoft Office, COM-automatisering eller Windows APIer.

Hvilke kompilatorer og C++-standarder støttes?

Biblioteket krever C++20 eller nyere. Det er testet med GCC 11+, Clang 13+ og MSVC 2022.

Er biblioteket gratis for kommersiell bruk?

Ja. Den er utgitt under MIT-lisensen. Du kan bruke, endre og distribuere den til ethvert formål, inkludert kommersielle applikasjoner.

Kan jeg laste opp en eksisterende PPTX-fil?

Ja. Pass filveien til konstruktøren Presentation:

Presentation prs("existing.pptx");
prs.save("copy.pptx", SaveFormat::PPTX);

Hvordan legger jeg til flere lysbilder?

Bruk prs.slides().add_empty_slide(layout) etter å ha fått et layout fra ̋prS.masters ((() [0].layouts_ slides (())[0]` .

Se også:

  • FAQ Aspose.Slides FOSS for C++
  • Hvordan lage presentasjoner i C++
  • Hvordan legge til former i C++
  • Begynnelse Docs
  • API-referanse
 Norsk