Gyakran Ismételt Kérdések

Gyakran Ismételt Kérdések

Gyakran Ismételt Kérdések

Hogyan építem fel és linkelem az Aspose.Slides FOSS for C++-t?

Használja a CMake FetchContent-et a könyvtár hozzáadásához a projektjéhez. C++20 vagy újabb szükséges.

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)

Nem szükséges a Microsoft Office vagy más rendszerfuttató környezet.


Miért kell RAII-t használni a Presentation?

A Presentation osztály kezeli a belső XML erőforrásokat. Amikor az objektum kilép a hatókörből, a destruktora felszabadítja ezeket az erőforrásokat. Kerülje el egy Presentation new‑val való lefoglalását okos mutató nélkül; használjon verem‑alokációt vagy std::unique_ptr‑t a tisztítás biztosításához.

Mindig kövesse ezt a mintát:

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

Milyen fájlformátumokba menthetek?

Csak a PPTX támogatott:

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

A PDF, HTML, SVG vagy képfájlformátumok (PNG, JPEG) exportálása nem érhető el ebben a kiadásban.


Megnyithatom .ppt (régi PowerPoint 97-2003) fájlokat?

Nem. Csak a .pptx (Office Open XML) fájlok támogatottak. A régi .ppt bináris formátumot ez a könyvtár nem kezeli.


Hogyan férhetek hozzá a diákokhoz?

A diák egy nulláról indexelt gyűjtemény, amely a prs.slides() segítségével érhető el:

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

Hogyan adhatok hozzá egy második diát?

Használja a prs.slides().add_empty_slide() elrendezést:

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

Hogyan állíthatom be a dia háttérszínét?

A diák háttérszíne nincs kitéve a jelenlegi API-nak. BaseSlide és Slide nem rendelkeznek background() metódussal. Ez a funkció nem érhető el a könyvtár ezen kiadásában.


Hogyan használjam a NullableBool?

NullableBool egy háromállapotú enum, amely a formázási tulajdonságokhoz használatos. Használja a NullableBool::TRUE‑t (nem a C++ true‑t) félkövér, dőlt és hasonló tulajdonságokhoz:

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

Miért nem hat a szövegszín beállítása?

A színt hozzárendelése előtt a fill_type-t is be kell állítani SOLID-ra:

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

Használhatok diagramokat vagy SmartArt-ot?

Nem. Diagramok, SmartArt, OLE-objektumok, animációk, átmenetek, hiperhivatkozások, VBA-makrók és digitális aláírások nincsenek megvalósítva ebben a kiadásban.


Ez a könyvtár szálbiztos?

Minden Presentation objektum független. Különálló Presentation példányok létrehozása és használata külön szálakról biztonságos, amíg nem oszt meg egyetlen Presentation objektumot a szálak között külső zárolás nélkül.


Hogyan ágyazhatok be egy képet?

Olvassa be a kép bájtjait, és adja hozzá a prs.images()-hez, majd hozza létre a PictureFrame-t:

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

Lásd még

 Magyar