Perguntas Frequentes
Perguntas Frequentes
Como eu construir e ligar Aspose.Slides FOSS para C++?
Use CMake FetchContent para adicionar a biblioteca ao seu projeto. C++20 ou posterior é necessário.
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)Não é necessário Microsoft Office ou outro sistema de tempo de execução.
Por que devo usar o RAII com a tecnologia de informação e comunicação? Presentation?
A Comissão Presentation classe gerencia recursos XML internos. Quando o objeto sai do escopo, seu destruidor libera esses recursos. Evite alocar um Presentation com: new sem um ponteiro inteligente; utilizar a alocação de pilhas ou std::unique_ptr para assegurar a limpeza.
Siga sempre este padrão:
#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;
}Em que formatos de arquivo posso salvar?
A Comissão SaveFormat enum define constantes para muitos formatos PPTX, PDF, HTML, SVG, JPEG, PNG, e outros para compatibilidade com API do produto empresarial. save() chamadas ignorar o argumento de formato e sempre escrever saída PPTX. Passando SaveFormat::PDF compila corretamente, mas produz um .pptx Arquivo, não um .pdf.
prs.save("output.pptx", Aspose::Slides::Foss::SaveFormat::PPTX);A exportação para formatos não-PPTX não está funcionalmente disponível nesta edição. Use SaveFormat::PPTX para todas as operações de salvamento.
Posso abrir ? .ppt Arquivos do PowerPoint 97-2003?
Não, só… .pptx Os arquivos (Office Open XML) são suportados. Legado .ppt O formato binário não é tratado por esta biblioteca.
Como posso aceder a slides?
Os slides são uma coleção baseada em zero acessível através de: prs.slides():
auto& slides = prs.slides();
auto& first_slide = slides[0];
auto count = slides.size();Como adiciono um segundo slide?
Utilização: prs.slides().add_empty_slide() com um layout:
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);Como posso definir a cor de fundo do slide?
A cor de fundo do slide não é exposta na API atual. BaseSlide e a) Slide não têm um background() Esta funcionalidade não está disponível nesta edição da biblioteca.
Como é que uso o meu computador? NullableBool?
NullableBool é um enum tri-estado usado para formatar propriedades. Use NullableBool::TRUE (não C++) true) para letras negras, cursiva e semelhantes:
#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);
Por que a definição da cor do texto não tem efeito?
Também deve definir fill_type a) para o SOLID antes de atribuir a cor:
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));Posso usar gráficos ou SmartArt?
Não. Gráficos, SmartArt, objetos OLE, animações, transições e assinaturas digitais não são implementados nesta edição.
Esta biblioteca é segura?
Cada um. Presentation Objeto é independente. Criar e usar separado Presentation instâncias de tópicos separados é seguro, desde que você não compartilhar um único Presentation Objeto através de fios sem bloqueio externo.
Como é que eu incruste uma imagem?
Leia os bytes da imagem e adicione-os ao prs.images(), então criar um 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);