Biežāk uzdotie jautājumi
Biežāk uzdotie jautājumi
Kā es varu uzbūvēt un saistīt Aspose.Slides FOSS priekš C++?
Izmantojiet CMake FetchContent, lai pievienotu bibliotēku savam projektam. Nepieciešams C++20 vai jaunāks.
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)Nav nepieciešams Microsoft Office vai kāda cita sistēmas izpildlaiks.
Kāpēc man jāizmanto RAII ar Presentation?
Presentation klase pārvalda iekšējos XML resursus. Kad objekts iziet no darbības apjoma, tā destruktors atbrīvo šos resursus. Izvairieties no Presentation piešķiršanas ar new bez gudra rādītāja; izmantojiet steka piešķiršanu vai std::unique_ptr, lai nodrošinātu iztīrīšanu.
Vienmēr sekojiet šim modelim:
#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;
}Kādus failu formātus varu saglabāt?
Tikai PPTX tiek atbalstīts:
prs.save("output.pptx", Aspose::Slides::Foss::SaveFormat::PPTX);Eksportēšana uz PDF, HTML, SVG vai attēlu formātiem (PNG, JPEG) nav pieejama šajā izdevumā.
Vai es varu atvērt .ppt (vecos PowerPoint 97-2003) failus?
Nē. Tikai .pptx (Office Open XML) faili tiek atbalstīti. Vecais .ppt binārais formāts netiek apstrādāts šajā bibliotēkā.
Kā es varu piekļūt slaidiem?
Slaidi ir nulles indeksēta kolekcija, kas pieejama caur prs.slides():
auto& slides = prs.slides();
auto& first_slide = slides[0];
auto count = slides.size();Kā es varu pievienot otro slaidu?
Izmantojiet prs.slides().add_empty_slide() ar izkārtojumu:
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);Kā es varu iestatīt slaida fona krāsu?
Slaida fona krāsa nav pieejama pašreizējā API. BaseSlide un Slide nav background() metodes. Šī funkcija nav pieejama šajā bibliotēkas izdevumā.
Kā es varu izmantot NullableBool?
NullableBool ir trīsstāvokļu uzskaitījums, ko izmanto formatēšanas īpašībām. Izmantojiet NullableBool::TRUE (nevis C++ true) treknrakstam, slīprakstam un līdzīgām īpašībām:
#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);
Kāpēc teksta krāsas iestatīšana neietekmē?
Jums arī jāiestata fill_type uz SOLID pirms krāsas piešķiršanas:
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));Vai es varu izmantot diagrammas vai SmartArt?
Nē. Diagrammas, SmartArt, OLE objekti, animācijas, pārejas, hipersaites, VBA makrokomandas un digitālie paraksti nav ieviesti šajā izdevumā.
Vai šī bibliotēka ir pavedienu droša?
Katrs Presentation objekts ir neatkarīgs. Atsevišķu Presentation instanču izveide un lietošana no atsevišķām pavedieniem ir droša, ja vien jūs neizdalāt vienu Presentation objektu starp pavedieniem bez ārējās bloķēšanas.
Kā es varu iegult attēlu?
Nolasiet attēla baitus un pievienojiet tos prs.images(), pēc tam izveidojiet 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);