SDK C++ comme wrapper pour l’API Cloud GroupDocs.Assembly. Créez des rapports, contrats, factures et autres documents hautement personnalisés directement depuis vos applications C++.
Commencer l'essai gratuitLe SDK GroupDocs.Assembly Cloud pour C++ offre une interface multiplateforme de haut niveau autour de l’API REST Assembly Cloud, permettant aux développeurs de générer des documents riches en format directement depuis leurs applications C++. La solution s’appuie sur des modèles (documents contenant des champs spécifiques et des règles de génération) associés à des sources de données (XML ou JSON). En envoyant le modèle et les données vers le cloud, le service assemble le résultat final au format souhaité (DOCX, PDF, HTML, etc.) et le renvoie instantanément.
Pourquoi utiliser Assembly Cloud ?
Flux de travail typique en C++ :
Cette approche permet de créer des rapports complexes de plusieurs pages, des courriers personnalisés (publipostage), des factures, des contrats et tout document combinant contenu statique et données dynamiques. Grâce à sa légèreté et à sa compatibilité avec tout système d’exploitation prenant en charge C++11 et cURL, le SDK peut être intégré facilement à des applications de bureau, des services côté serveur ou des microservices conteneurisés.
L’exemple ci-dessous illustre le flux de travail typique : configurer le SDK, importer un modèle, définir les options d’assemblage et appeler le point de terminaison Assemble pour recevoir le document généré.
Étapes :
Input1.docx
) dans le stockage cloud GroupDocs.TemplateFileInfo
pointant vers le modèle importé.docx
) et indiquer la source de données (Input2.json
).assembleDocument
pour générer le document final.using namespace groupdocs::assembly;
using namespace groupdocs::assembly::cloud::api;
// 1. Configure SDK with your credentials
auto config = std::make_shared<Configuration>(L"......##", L"......##");
auto assemblyApi = std::make_shared<AssemblyApi>(config);
// 2. Upload template file
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 assembly options
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")); // data source
assembleOptions->setTemplateFileInfo(fileInfo);
// 4. Assemble document
auto request = std::make_shared<AssembleDocumentRequest>(assembleOptions);
assemblyApi->assembleDocument(request);