Često postavljana pitanja

Često postavljana pitanja

Često postavljana pitanja

Kako da izgradim i povežem Aspose.Slides FOSS za C++?

Koristite CMake FetchContent da dodate biblioteku u vaš projekat. Potreban je C++20 ili noviji.

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)

Nije potreban Microsoft Office niti drugi sistemski runtime.


Zašto moram da koristim RAII sa Presentation?

Klasa Presentation upravlja internim XML resursima. Kada objekat izađe iz opsega, njegov destruktor oslobađa te resurse. Izbegavajte alociranje Presentation sa new bez pametnog pokazivača; koristite alokaciju na steku ili std::unique_ptr kako biste osigurali čišćenje.

Uvek sledite ovaj obrazac:

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

U koje formate fajla mogu da sačuvam?

Samo PPTX je podržan:

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

Izvoz u PDF, HTML, SVG ili formate slika (PNG, JPEG) nije dostupan u ovoj ediciji.


Могу ли да отворим .ppt (стари PowerPoint 97-2003) фајлове?

Ne. Podržani su samo .pptx (Office Open XML) fajlovi. Legacy .ppt binarni format nije podržan od strane ove biblioteke.


Kako da pristupim slajdovima?

Slajdovi su kolekcija indeksirana od nule kojoj se može pristupiti putem prs.slides():

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

Kako da dodam drugi slajd?

Koristite prs.slides().add_empty_slide() sa rasporedom:

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);

Kako da postavim boju pozadine slajda?

Boja pozadine slajda nije izložena u trenutnom API‑ju. BaseSlide i Slide nemaju background() metodu. Ova funkcija nije dostupna u ovoj verziji biblioteke.


Kako da koristim NullableBool?

NullableBool je trostani enum koji se koristi za svojstva formatiranja. Koristite NullableBool::TRUE (ne C++ true) za podebljano, kurziv i slična svojstva:

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

Zašto postavljanje boje teksta nema efekta?

Takođe morate postaviti fill_type na SOLID pre nego što dodelite boju:

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));

Mogu li da koristim grafikone ili SmartArt?

Ne. Grafikoni, SmartArt, OLE objekti, animacije, tranzicije, hiperveze, VBA makroi i digitalni potpisi nisu implementirani u ovom izdanju.


Da li je ova biblioteka thread‑safe?

Svaki Presentation objekat je nezavisan. Kreiranje i korišćenje zasebnih Presentation instanci iz odvojenih niti je bezbedno sve dok ne delite jedan Presentation objekat između niti bez spoljnog zaključavanja.


Kako da umetnem sliku?

Pročitajte bajtove slike i dodajte ih u prs.images(), zatim kreirajte 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);

Види такође

 Српски