Hoe werkt FOSS in C++?
aspose_slides_foss para C++ é uma biblioteca gratuita, licenciada pelo MIT para criar e editar arquivos PowerPoint ̋.pptx⌒ sem Microsoft Office necessário, construída com CMake .
Guia passo a passo
- Não, não.
Passo 1: Adicionar a Biblioteca via CMake
Adicionar aspose_slides_foss ao seu CMakeLists.txt` (compilador C++20 necessário):
cmake_minimum_required(VERSION 3.20)
project(MyProject)
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)Passo 2: Incluir cabeçalhos exigidos
Incluir os cabeçalhos das classes que você precisa:
#include <Aspose/Slides/Foss/presentation.h>
#include <Aspose/Slides/Foss/auto_shape.h>
#include <Aspose/Slides/Foss/shape_type.h>
#include <Aspose/Slides/Foss/text_frame.h>
#include <Aspose/Slides/Foss/export/save_format.h>Passo 3: Faça uma apresentação
Construir uma apresentação para começar com um slide em branco, e depois salvá-lo:
#include <Aspose/Slides/Foss/presentation.h>
#include <Aspose/Slides/Foss/export/save_format.h>
using namespace Aspose::Slides::Foss;
int main() {
Presentation prs;
prs.save("new_presentation.pptx", SaveFormat::PPTX);
return 0;
}Passo 4: Adicionar um formato com texto
Use `slide.shapes().add_auto_shape (() ̋ para inserir um retângulo, em seguida, chame ⌒text_frame (),->set_text ()) ∂ para adicionar conteúdo de texto:
#include <Aspose/Slides/Foss/auto_shape.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>
#include <Aspose/Slides/Foss/export/save_format.h>
using namespace Aspose::Slides::Foss;
int main() {
Presentation prs;
auto& slide = prs.slides()[0];
auto& shape = slide.shapes().add_auto_shape(
ShapeType::RECTANGLE, 50, 50, 400, 150
);
shape.text_frame()->set_text("Hello from Aspose.Slides FOSS!");
prs.save("with_shape.pptx", SaveFormat::PPTX);
return 0;
}Passo 5: Aplicar um preenchimento e salvar
Defina uma cor de preenchimento sólido na forma antes de salvar:
#include <Aspose/Slides/Foss/auto_shape.h>
#include <Aspose/Slides/Foss/fill_format.h>
#include <Aspose/Slides/Foss/fill_type.h>
#include <Aspose/Slides/Foss/presentation.h>
#include <Aspose/Slides/Foss/shape_type.h>
#include <Aspose/Slides/Foss/export/save_format.h>
using namespace Aspose::Slides::Foss;
int main() {
Presentation prs;
auto& shape = prs.slides()[0].shapes().add_auto_shape(
ShapeType::RECTANGLE, 100, 100, 400, 200
);
shape.fill_format().set_fill_type(FillType::SOLID);
shape.fill_format().solid_fill_color().set_color(0xFF, 0x46, 0x82, 0xB4);
shape.text_frame()->set_text("Styled shape");
prs.save("styled.pptx", SaveFormat::PPTX);
return 0;
}- Não, não.
Problemas comuns e soluções
Erros de link com referências indefinidas Certificar-se `target_link_libraries ((your_targets PRIVATE aspose_slides_foss) “) está no seu ̋CMakeLists.txt∂ e que a biblioteca foi obtida com êxito através do ̆FetchContent∂ .
Arquivo de cabeçalho não encontrado Incluir o caminho completo começando com <Aspose/Slides/Foss/...>. Execute ⌒cmake –build` a partir do diretório de construção, e não do diretório fonte.
`Não suportadoExcepção de operação ^ equivalente para recursos não suportados Alguns recursos (gráficos, animações, exportação PDF) não são suportadas. Verifique a documentação do projeto para obter a lista atual das limitações.
Crash quando acessar slides por índice O padrão Presentation sempre cria um diapositivo no índices 0. Se você carregar um arquivo vazio ou remover todos os diaspositivos, o ̋prs.slides() [0]` estará fora de alcance.
Perguntas Frequentes
O aspose_slides_foss requer o Microsoft Office?
Não. A biblioteca cria e lê arquivos .pptx nativamente em C++ sem dependência do Microsoft Office, da automação COM ou das APIs do Windows.
Que compiladores e padrões C++ são suportados?
A biblioteca requer C++20 ou posterior. É testada com GCC 11+, Clang 13+ e MSVC 2022.
A biblioteca é gratuita para uso comercial?
Sim, é lançado sob a licença MIT. Você pode usá-lo, modificá -lo e redistribuí -la para qualquer finalidade, incluindo aplicações comerciais.
Posso carregar um ficheiro PPTX existente?
Sim. Passe o caminho do ficheiro para o constructor Presentation:
Presentation prs("existing.pptx");
prs.save("copy.pptx", SaveFormat::PPTX);Como adiciono vários slides?
Use prs.slides().add_empty_slide(layout) depois de obter um layout do ⌒prS.masters (()) [0].layouts_ slides (() [ 0]ヽ .
Ver também:
- FAQ Aspose.Slides FOSS para C++
- Como criar apresentações em C++
- Como adicionar formas em C++
- Começar Docs
- Referência API