Veelgestelde vragen
Veelgestelde vragen
Hoe bouw en link ik Aspose.Slides FOSS voor C++?
Gebruik CMake FetchContent om de bibliotheek aan uw project toe te voegen. C++20 of hoger is vereist.
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)Er is geen Microsoft Office of andere systeemruntime vereist.
Waarom moet ik RAII gebruiken met Presentation?
De Presentation‑klasse beheert interne XML‑resources. Wanneer het object buiten de scope valt, geeft de destructor die resources vrij. Vermijd het toewijzen van een Presentation met new zonder een smart pointer; gebruik stackallocatie of std::unique_ptr om opruimen te garanderen.
Volg altijd dit patroon:
#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;
}Naar welke bestandsformaten kan ik opslaan?
Alleen PPTX wordt ondersteund:
prs.save("output.pptx", Aspose::Slides::Foss::SaveFormat::PPTX);Exporteren naar PDF, HTML, SVG of afbeeldingsformaten (PNG, JPEG) is niet beschikbaar in deze editie.
Kan ik .ppt (oude PowerPoint 97-2003) bestanden openen?
Nee. Alleen .pptx (Office Open XML) bestanden worden ondersteund. Legacy .ppt binaire formaat wordt niet door deze bibliotheek afgehandeld.
Hoe krijg ik toegang tot de dia’s?
Dia’s zijn een nulgebaseerde collectie die toegankelijk is via prs.slides():
auto& slides = prs.slides();
auto& first_slide = slides[0];
auto count = slides.size();Hoe voeg ik een tweede dia toe?
Gebruik prs.slides().add_empty_slide() met een lay-out:
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);Hoe stel ik de achtergrondkleur van de dia in?
De achtergrondkleur van de dia is niet beschikbaar in de huidige API. BaseSlide en Slide hebben geen background()‑methode. Deze functie is niet beschikbaar in deze editie van de bibliotheek.
Hoe gebruik ik NullableBool?
NullableBool is een drie‑toestand enum die wordt gebruikt voor opmaak‑eigenschappen. Gebruik NullableBool::TRUE (niet C++ true) voor vet, cursief en soortgelijke eigenschappen:
#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);
Waarom heeft het instellen van de tekstkleur geen effect?
U moet ook fill_type instellen op SOLID voordat u de kleur toewijst:
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 ik grafieken of SmartArt gebruiken?
Nee. Grafieken, SmartArt, OLE‑objecten, animaties, overgangen, hyperlinks, VBA‑macro’s en digitale handtekeningen zijn niet geïmplementeerd in deze editie.
Is deze bibliotheek thread-safe?
Elk Presentation-object is onafhankelijk. Het creëren en gebruiken van afzonderlijke Presentation-instanties vanuit afzonderlijke threads is veilig zolang je niet één enkel Presentation-object over threads deelt zonder externe vergrendeling.
Hoe kan ik een afbeelding insluiten?
Lees de afbeeldingsbytes en voeg ze toe aan prs.images(), maak vervolgens een 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);