Usein kysytyt kysymykset

Usein kysytyt kysymykset

Usein kysytyt kysymykset

Miten rakennan ja linkkaan Aspose.Slides FOSS for C++?

Käytä CMake FetchContent -toimintoa lisätäksesi kirjaston projektiisi. C++20 tai uudempi vaaditaan.

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)

Microsoft Officea tai muuta järjestelmäajonaikaa ei tarvita.


Miksi minun täytyy käyttää RAII:ta Presentation kanssa?

Presentation-luokka hallinnoi sisäisiä XML-resursseja. Kun objekti poistuu näkyvyysalueelta, sen destruktori vapauttaa ne resurssit. Vältä Presentation:n varaamista new:lla ilman älykästä osoitinta; käytä pinon allokointia tai std::unique_ptr:ta varmistaaksesi puhdistuksen.

Noudata aina tätä mallia:

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

Mihin tiedostomuotoihin voin tallentaa?

Vain PPTX on tuettu:

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

Vienti PDF-, HTML-, SVG- tai kuvamuotoihin (PNG, JPEG) ei ole saatavilla tässä versiossa.


Voinko avata .ppt (vanhat PowerPoint 97-2003) -tiedostoja?

Ei. Vain .pptx (Office Open XML) -tiedostot tuetaan. Vanhaa .ppt binäärimuotoa ei käsitellä tässä kirjastossa.


Miten pääsen dioihin?

Diat ovat nollapohjainen kokoelma, johon pääsee prs.slides():

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

Kuinka lisään toisen dian?

Käytä prs.slides().add_empty_slide() asettelulla:

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

Miten asetetaan dian taustaväri?

Dia‑taustaväriä ei ole saatavilla nykyisessä API:ssa. BaseSlide ja Slide eivät sisällä background()‑menetelmää. Tämä ominaisuus ei ole saatavilla tässä kirjaston versiossa.


Kuinka käytän NullableBool?

NullableBool on kolmivaiheinen enum, jota käytetään muotoilun ominaisuuksiin. Käytä NullableBool::TRUE (ei C++ true) lihavointiin, kursiiviin ja vastaaviin ominaisuuksiin:

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

Miksi tekstin värin asettaminen ei vaikuta?

Sinun on myös asetettava fill_type arvoksi SOLID ennen värin määrittämistä:

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

Voinko käyttää kaavioita tai SmartArtia?

Ei. Kaaviot, SmartArt, OLE-objektit, animaatiot, siirtymät, hyperlinkit, VBA-makrot ja digitaaliset allekirjoitukset eivät ole toteutettu tässä versiossa.


Onko tämä kirjasto säikeiturvallinen?

Jokainen Presentation-objekti on itsenäinen. Erillisten Presentation-instanssien luominen ja käyttäminen eri säikeistä on turvallista, kunhan et jaa yhtä Presentation-objektia säikeiden välillä ilman ulkoista lukitusta.


Kuinka upotan kuvan?

Lue kuvan tavut ja lisää ne prs.images(), sitten luo 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);

Katso myös

 Suomi