Aspose.Slides FOSS para C++ é uma biblioteca licenciada sob MIT para trabalhar com arquivos PowerPoint .pptx. Integre-a via CMake FetchContent e comece imediatamente a criar, ler e editar apresentações sem instalar o Microsoft Office ou qualquer runtime proprietário.
A biblioteca expõe uma API de Presentation construída em torno de Presentation, Slide, ShapeCollection, TextFrame, Paragraph e Portion, o modelo conceitual usado pelo próprio PowerPoint. Adicione e remova slides, insira AutoShapes, Tables e Connectors, formate texto ao nível de caractere com negrito, itálico, tamanho e cor da fonte, aplique preenchimentos sólidos ou em gradiente e adicione efeitos visuais (sombra, brilho, desfoque, reflexão).
A semântica RAII garante a limpeza confiável de recursos: o destrutor Presentation libera todo o estado interno automaticamente. Partes XML desconhecidas encontradas durante o carregamento são preservadas literalmente ao salvar, de modo que o round‑tripping nunca destrói conteúdo que a biblioteca ainda não entende. A biblioteca requer um compilador compatível com C++17.
.pptx existentes via Presentation() ou Presentation(path).SlideCollection com add_clone(), remove() e remove_at().ShapeType via add_auto_shape().add_connector().NotesSlideManager.get_slide_comments().Portion individuais via PortionFormat.FillFormat e FillType.EffectFormat.ParagraphFormat e set_alignment().Aspose.Slides FOSS integra-se via CMake FetchContent, portanto não é necessário download manual ou instalação em todo o sistema. A biblioteca é compilada a partir do código-fonte junto ao seu projeto.
A API espelha o próprio modelo de objetos do PowerPoint (Presentation, Slide, ShapeCollection, TextFrame, Paragraph, Portion), portanto quem estiver familiarizado com o modelo de objetos do PowerPoint pode usar a biblioteca imediatamente. Ela tem licença MIT, é de código aberto no GitHub e requer um compilador compatível com C++17.
RAII garante que o destrutor de Presentation libere todos os recursos automaticamente quando o objeto sai do escopo. add_auto_shape() recebe um enum ShapeType, depois a posição x/y e a largura/altura em pontos — o text_frame da forma fornece acesso para definir o conteúdo do texto.
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)
#include <Aspose/Slides/Foss/auto_shape.h>
#include <Aspose/Slides/Foss/export/save_format.h>
#include <Aspose/Slides/Foss/presentation.h>
#include <Aspose/Slides/Foss/shape_collection.h>
#include <Aspose/Slides/Foss/shape_type.h>
#include <Aspose/Slides/Foss/slide.h>
#include <Aspose/Slides/Foss/slide_collection.h>
#include <Aspose/Slides/Foss/text_frame.h>
int main() {
Aspose::Slides::Foss::Presentation prs;
auto& slide = prs.slides()[0];
// Adicionar um AutoShape retângulo
auto& shape = slide.shapes().add_auto_shape(
Aspose::Slides::Foss::ShapeType::RECTANGLE,
50, 50, 400, 150
);
shape.text_frame()->set_text("Olá, Aspose.Slides!");
prs.save("output.pptx", Aspose::Slides::Foss::SaveFormat::PPTX);
return 0;
}
A formatação de texto funciona no nível Portion — a menor unidade de uma sequência de caracteres. Abra o arquivo salvo, navegue até a primeira porção do primeiro parágrafo e defina as propriedades da fonte diretamente. O preenchimento da forma é independente: defina o tipo de preenchimento como sólido e atribua uma cor.
#include <Aspose/Slides/Foss/presentation.h>
namespace asf = Aspose::Slides::Foss;
int main() {
asf::Presentation prs("output.pptx");
auto& shape = prs.slides()[0].shapes()[0];
auto& portion = shape.text_frame()
->paragraphs()[0].portions()[0];
// Texto em negrito, 18pt
portion.portion_format().set_font_bold(asf::NullableBool::TRUE);
portion.portion_format().set_font_height(18);
// Preenchimento de fundo sólido na forma
shape.fill_format().set_fill_type(asf::FillType::SOLID);
prs.save("formatted.pptx", asf::SaveFormat::PPTX);
return 0;
}
É uma biblioteca C++ gratuita, licenciada sob MIT, para criar, ler e editar apresentações PowerPoint .pptx sem exigir Microsoft Office.
PPTX é o formato de leitura/gravação suportado. Exportar para PDF, HTML, SVG ou imagens não está disponível nesta edição.
Não. Aspose.Slides FOSS é uma biblioteca C++ independente, sem dependência do Microsoft Office, automação COM ou qualquer runtime proprietário.
Use CMake FetchContent para integrar a biblioteca diretamente do GitHub. A biblioteca requer um compilador compatível com C++17.
Sim. A biblioteca suporta efeitos de sombra externa, brilho, desfoque e reflexão em qualquer objeto de forma via a API EffectFormat.
Sim. O destrutor Presentation libera todo o estado interno automaticamente, portanto não é necessário limpeza explícita.
Não. Partes XML desconhecidas encontradas durante o carregamento são preservadas literalmente ao salvar, de modo que o conteúdo que a biblioteca ainda não entende nunca é perdido.
A biblioteca tem licença MIT e está hospedada no GitHub. Relatórios de bugs e pull requests são bem-vindos.