Dažnai užduodami klausimai
Dažniausiai užduodami klausimai
Kaip sukurti ir susieti Aspose.Slides FOSS C++?
Naudokite CMake FetchContent, kad pridėtumėte biblioteką į savo projektą. Reikalingas C++20 arba vėlesnė versija.
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 Office ar kitos sistemos vykdymo aplinkos nereikia.
Kodėl turėčiau naudoti RAII su Presentation?
Presentation klasė tvarko vidinius XML išteklius. Kai objektas išeina iš apimties, jo destruktorius atlaisvina tuos išteklius. Venkite sukurti Presentation su new be išmaniojo rodyklės; naudokite steko paskirstymą arba std::unique_ptr, kad užtikrintumėte išvalymą.
Visada laikykitės šio šablono:
#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;
}Į kokius failų formatus galiu išsaugoti?
Palaikoma tik PPTX:
prs.save("output.pptx", Aspose::Slides::Foss::SaveFormat::PPTX);Eksportavimas į PDF, HTML, SVG arba vaizdo formatus (PNG, JPEG) šioje leidimo versijoje nėra prieinamas.
Ar galiu atidaryti .ppt (senus PowerPoint 97-2003) failus?
Ne. Tik .pptx (Office Open XML) failai yra palaikomi. Senasis .ppt dvejetainis formatas nėra apdorojamas šioje bibliotekoje.
Kaip galiu pasiekti skaidres?
Skaidrės yra nulinio indekso kolekcija, pasiekiama per prs.slides():
auto& slides = prs.slides();
auto& first_slide = slides[0];
auto count = slides.size();Kaip pridėti antrą skaidrę?
Naudokite prs.slides().add_empty_slide() su išdėstymu:
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);Kaip nustatyti skaidrės fono spalvą?
Skaidrės fono spalva nėra pateikiama dabartinėje API. BaseSlide ir Slide neturi background() metodo. Ši funkcija nėra prieinama šioje bibliotekos versijoje.
Kaip naudoti NullableBool?
NullableBool yra trijų būsenų enum, naudojamas formatavimo savybėms. Naudokite NullableBool::TRUE (ne C++ true) paryškintiems, kursyviems ir panašiems požymiams:
#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);
Kodėl teksto spalvos nustatymas neturi jokio poveikio?
Taip pat turite nustatyti fill_type į SOLID prieš priskiriant spalvą:
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));Ar galiu naudoti diagramas arba SmartArt?
Ne. Diagramos, SmartArt, OLE objektai, animacijos, perėjimai, hipersaitai, VBA makrokomandos ir skaitmeniniai parašai šioje leidimo versijoje nėra įgyvendinti.
Ar ši biblioteka yra gijų saugi?
Kiekvienas Presentation objektas yra nepriklausomas. Kurti ir naudoti atskiras Presentation instancijas iš atskirų gijų yra saugu, jei nesidalinate vieno Presentation objekto tarp gijų be išorinio užrakinimo.
Kaip įterpti paveikslėlį?
Perskaitykite paveikslėlio baitus ir pridėkite juos prie prs.images(), tada sukurkite 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);