Montagem de Documentos para C++

SDK C++ como um wrapper para a API GroupDocs.Assembly Cloud. Crie relatórios altamente personalizados, contratos, faturas e mais diretamente de suas aplicações C++.

  • SDK GroupDocs.Assembly Cloud para cURL
  • SDK GroupDocs.Assembly Cloud para .NET
  • SDK GroupDocs.Assembly Cloud para Java
  • SDK GroupDocs.Assembly Cloud para Python
  • SDK GroupDocs.Assembly Cloud para PHP
  • SDK GroupDocs.Assembly Cloud para Ruby
  • SDK GroupDocs.Assembly Cloud para Node.js
  • SDK GroupDocs.Assembly Cloud para Go
  • SDK GroupDocs.Assembly Cloud para Swift
Iniciar teste gratuito

O GroupDocs.Assembly Cloud SDK para C++ fornece um wrapper de alto nível e multiplataforma em torno da API REST Assembly Cloud, permitindo que desenvolvedores gerem documentos ricamente formatados diretamente de suas aplicações C++. A solução é construída em torno de templates — documentos que contêm campos especiais de marcador e regras de geração — combinados com fontes de dados (XML ou JSON). Ao enviar o template e os dados para a nuvem, o serviço monta a saída final no formato desejado (DOCX, PDF, HTML, etc.) e a retorna instantaneamente.

Por que usar Assembly Cloud?

  • Sem instalação – todo o processamento pesado é realizado na nuvem; seu código C++ só precisa emitir chamadas HTTP.
  • Suporte amplo a formatos – gere Word, Excel, PowerPoint, PDF, OpenDocument, gráficos e muitos outros formatos sem bibliotecas adicionais.
  • Sintaxe avançada de template – incorpore imagens, gráficos, códigos de barras, seções condicionais, loops, fórmulas e até corpos de email diretamente no template.
  • Segurança – a comunicação é protegida com SSL/TLS e autenticada por meio de chaves de acesso pessoal, garantindo que dados confidenciais nunca saiam do ambiente seguro da nuvem.

Fluxo de trabalho típico em C++

  1. Configure o SDK com seu App SID e App Key.
  2. Envie o template (ex: InvoiceTemplate.docx) para o Armazenamento GroupDocs Cloud usando o endpoint UploadFile.
  3. Prepare as opções de montagem, especificando o caminho do template, a fonte de dados (invoice.json ou invoice.xml) e o formato de saída desejado.
  4. Chame a API AssembleDocument – o serviço mescla os dados com o template, avalia todas as expressões e retorna o documento montado.
  5. Baixe o resultado diretamente da resposta da API ou via API de Armazenamento para processamento adicional.

Essa abordagem possibilita criar relatórios complexos e multipágina, cartas personalizadas (Mala Direta), faturas, contratos e qualquer documento que combine conteúdo estático com dados dinâmicos. Como o SDK é leve e funciona em qualquer sistema operacional que suporte C++11 e cURL, você pode integrá-lo a aplicações desktop, serviços server-side ou microsserviços conteinerizados com esforço mínimo.

Recursos da API REST Assembly Cloud

Gerar documentos a partir de templates usando uma única chamada de API

Vincular fontes de dados (XML, JSON) com expressões estilo LINQ

Incorporar imagens, gráficos e documentos externos na saída

Criar tabelas e listas dinâmicas a partir de dados de array

Blocos de conteúdo condicional (IF/ELSE) em templates

Aplicar fórmulas e cálculos sequenciais durante a montagem

Gerar códigos de barras (QR, Code128, etc.) dentro dos documentos

Transferência segura de dados via SSL/TLS e chaves de acesso pessoal

Criar corpos de e-mail e anexar documentos gerados em tempo real

Gerar um documento em C++ via REST API

O exemplo abaixo demonstra o fluxo típico: configure o SDK, envie um template, defina as opções de montagem e chame o endpoint Assemble para receber o documento gerado.

Passos:

  1. Inicialize o SDK com seu App SID e App Key.
  2. Envie o template Word (Input1.docx) para o Armazenamento GroupDocs Cloud.
  3. Crie um TemplateFileInfo apontando para o template enviado.
  4. Defina o formato de saída desejado (docx) e forneça a fonte de dados (Input2.json).
  5. Chame assembleDocument para gerar o documento final.
using namespace groupdocs::assembly;
using namespace groupdocs::assembly::cloud::api;

// 1. Configure o SDK com suas credenciais
auto config = std::make_shared<Configuration>(L"####################", L"####################");
auto assemblyApi = std::make_shared<AssemblyApi>(config);

// 2. Envie o arquivo de template
auto fileName = L"Input1.docx";
auto requestFileContent = std::shared_ptr<std::istream>(
    new std::ifstream(std::filesystem::path(fileName), std::istream::binary));
std::shared_ptr<UploadFileRequest> uploadDocumentRequest(
    new UploadFileRequest(requestFileContent, std::make_shared<std::wstring>(fileName)));
assemblyApi->uploadFile(uploadDocumentRequest);

// 3. Prepare as opções de montagem
auto fileInfo = std::make_shared<TemplateFileInfo>();
fileInfo->setFilePath(fileName);

auto assembleOptions = std::make_shared<AssembleOptions>();
assembleOptions->setSaveFormat("docx");
assembleOptions->setReportData(std::filesystem::path(L"Input2.json"));   // fonte de dados
assembleOptions->setTemplateFileInfo(fileInfo);

// 4. Monte o documento
auto request = std::make_shared<AssembleDocumentRequest>(assembleOptions);
assemblyApi->assembleDocument(request);

Recursos de suporte e aprendizado

GroupDocs.Assembly Cloud também oferece SDKs para outras linguagens:

  Português
8d45f93