Często zadawane pytania

Często zadawane pytania

Często zadawane pytania

Jak zbudować i łączyć Aspose.Slides FOSS dla C++?

Użyj CMake FetchContent, aby dodać bibliotekę do projektu. wymagane jest C++20 lub później.

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)

Nie wymagane jest Microsoft Office ani inne godziny pracy systemu.


Dlaczego warto używać RAII Presentation?

i The Presentation klasa zarządza wewnętrznymi zasobami XML. Kiedy obiekt wyjdzie z zakresu, jego destruktor uwalnia te zasoby. Presentation z new bez inteligentnego wskaźnika; użyj przydziału stack lub std::unique_ptr Aby zapewnić czystość.

Zawsze postępuj zgodnie z tym wzorem:

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

Do jakich formatów plików mogę zapisać?

i The SaveFormat Enum definiuje stałe dla wielu formatów - PPTX, PDF, HTML, SVG, JPEG, PNG, i inne — dla zgodności API z komercyjną edycją. w czasie pracy w tej edycji FOSS, wszystkie save() wezwania ignorują argument format i zawsze piszą wyjście PPTX. SaveFormat::PDF Właściwie wyprodukuje, ale produkuje .pptx Artykuły, a nie .pdf.

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

Eksport do formatów nie-PPTX nie jest funkcjonalnie dostępny w tym wydaniu. SaveFormat::PPTX Dla wszystkich operacje ratunkowe.


Mogę otworzyć .ppt (stary plik PowerPoint 97-2003) pliki?

Nie tylko .pptx (Office Open XML) pliki są obsługiwane. .ppt Format binarny nie jest obsługiwany przez tę bibliotekę.


Jak mogę uzyskać dostęp do slides?

Slides to kolekcja oparta na zero dostępna za pośrednictwem prs.slides():

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

Jak dodać drugi slide?

Używanie prs.slides().add_empty_slide() Z jednym layoutem:

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

Jak ustawić kolor tła?

Kolor tła nie jest eksponowany w bieżącym API. BaseSlide i Slide Nie ma A background() Ta funkcja nie jest dostępna w tym wydaniu biblioteki.


Jak używam NullableBool?

NullableBool jest trójstatu enum używane do formatowania właściwości. użyj NullableBool::TRUE (nie jest to C++) truedla odważnych, włoskich i podobnych właściwości:

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

Dlaczego ustawienie koloru tekstu nie ma efektu?

Musisz również ustawić fill_type do SOLID Przed przypisaniem koloru:

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

Czy mogę używać wykresów lub SmartArt?

Charty, SmartArt, obiekty OLE, animacje, przejścia, hiperłącze, makro VBA i podpisy cyfrowe nie są wdrażane w tym wydaniu.


Czy ta biblioteka jest bezpieczna?

Każdy z nich Presentation Obiekt jest niezależny. tworzenie i wykorzystanie oddzielnie Presentation Przykłady z oddzielnych filarów są bezpieczne, o ile nie udostępniasz jednego Presentation Obiekty na zewnątrz bez zamknięcia zewnętrznego.


Jak wstawić obraz?

Przeczytaj bajty obrazu i dodaj je do prs.images(),Następnie stworzyć A 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);

Zobacz również

 Polski