Ofte stilte spørsmål

Ofte stilte spørsmål

Ofte stilte spørsmål

Hvordan bygger og linker jeg Aspose.Slides FOSS for C++?

Bruk CMake FetchContent for å legge til biblioteket i prosjektet ditt. C++20 eller nyere kreves.

cmake_minimum_required(VERSION 3.20)
project(my_app LANGUAGES CXX)
set(CMAKE_CXX_STANDARD 20)
set(CMAKE_CXX_STANDARD_REQUIRED ON)

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)

Ingen Microsoft Office eller annen systemruntime er påkrevd.


Hvorfor må jeg bruke RAII med Presentation?

Presentation-klassen håndterer interne XML-ressurser. Når objektet går ut av scope, frigjør destruktøren disse ressursene. Unngå å allokere en Presentation med new uten en smart peker; bruk stakkallokering eller std::unique_ptr for å sikre opprydding.

Følg alltid dette mønsteret:

#include <Aspose/Slides/Foss/presentation.h>

int main() {
    Aspose::Slides::Foss::Presentation prs;
    // work here
    prs.save("output.pptx", Aspose::Slides::Foss::SaveFormat::PPTX);
    return 0;
}

Hvilke filformater kan jeg lagre til?

Kun PPTX støttes:

prs.save("output.pptx", Aspose::Slides::Foss::SaveFormat::PPTX);

Eksport til PDF, HTML, SVG eller bildeformater (PNG, JPEG) er ikke tilgjengelig i denne utgaven.


Kan jeg åpne .ppt (gamle PowerPoint 97-2003) filer?

Nei. Kun .pptx (Office Open XML) filer støttes. Legacy .ppt binært format håndteres ikke av dette biblioteket.


Hvordan får jeg tilgang til lysbilder?

Lysbilder er en nullbasert samling som er tilgjengelig via prs.slides():

auto& slides = prs.slides();
auto& first_slide = slides[0];
auto count = slides.size();

Hvordan legger jeg til et annet lysbilde?

Bruk prs.slides().add_empty_slide() med et oppsett:

Aspose::Slides::Foss::Presentation prs;
auto& layout = prs.layout_slides()[0];
prs.slides().add_empty_slide(&layout);
auto& slide2 = prs.slides()[1];
prs.save("two-slides.pptx", Aspose::Slides::Foss::SaveFormat::PPTX);

Hvordan setter jeg bakgrunnsfargen på lysbildet?

Slide‑bakgrunnsfarge er ikke eksponert i den nåværende API‑en. BaseSlide og Slide har ikke en background()‑metode. Denne funksjonen er ikke tilgjengelig i denne utgaven av biblioteket.


Hvordan bruker jeg NullableBool?

NullableBool er en tre‑tilstands‑enum som brukes for formateringsegenskaper. Bruk NullableBool::TRUE (ikke C++ true) for fet, kursiv og lignende egenskaper:

#include <Aspose/Slides/Foss/presentation.h>

fmt.set_font_bold(Aspose::Slides::Foss::NullableBool::TRUE);
fmt.set_font_italic(Aspose::Slides::Foss::NullableBool::FALSE);
// Note: set_font_underline() takes TextUnderlineType, not NullableBool:
// fmt.set_font_underline(Aspose::Slides::Foss::TextUnderlineType::NONE);

Hvorfor har innstilling av tekstfarge ingen effekt?

Du må også sette fill_type til SOLID før du tilordner fargen:

fmt.fill_format().set_fill_type(Aspose::Slides::Foss::FillType::SOLID);
fmt.fill_format().solid_fill_color().set_color(
    Aspose::Slides::Foss::Color::from_argb(255, 200, 0, 0));

Kan jeg bruke diagrammer eller SmartArt?

Nei. Diagrammer, SmartArt, OLE‑objekter, animasjoner, overganger, hyperkoblinger, VBA‑makroer og digitale signaturer er ikke implementert i denne utgaven.


Er dette biblioteket trådsikkert?

Hvert Presentation‑objekt er uavhengig. Å opprette og bruke separate Presentation‑instanser fra separate tråder er trygt så lenge du ikke deler ett enkelt Presentation‑objekt på tvers av tråder uten ekstern låsing.


Hvordan legger jeg inn et bilde?

Les bildets bytes og legg dem til prs.images(), så opprett en PictureFrame:

#include <Aspose/Slides/Foss/presentation.h>
#include <fstream>
#include <vector>

std::ifstream file("logo.png", std::ios::binary);
std::vector<uint8_t> data((std::istreambuf_iterator<char>(file)),
                           std::istreambuf_iterator<char>());
auto& image = prs.images().add_image(data);
slide.shapes().add_picture_frame(
    Aspose::Slides::Foss::ShapeType::RECTANGLE, 50, 50, 200, 150, image);

Se også

 Norsk