GroupDocs.Assembly Cloud SDK for C++ 提供了一个基于 Assembly Cloud REST API 的高级跨平台封装器,允许开发者直接从其 C++ 应用程序生成格式丰富的文档。该解决方案基于模板(包含特殊占位符字段和生成规则的文档)以及数据源(XML 或 JSON)构建。通过将模板和数据发送到云端,该服务会以所需格式(DOCX、PDF、HTML 等)组装最终输出并立即返回。
为什么使用 Assembly Cloud?
C++ 典型工作流程
UploadFile 端点将模板(例如 InvoiceTemplate.docx)上传到 GroupDocs 云存储。invoice.json 或 invoice.xml)以及所需的输出格式。这种方法可以创建复杂的多页报告、个性化信函(邮件合并)、发票、合同以及任何将静态内容与动态数据相结合的文档。由于该 SDK 轻量级且适用于任何支持 C++11 和 cURL 的操作系统,您可以轻松将其集成到桌面应用程序、服务器端服务或容器化微服务中。
以下示例演示了典型的工作流程:配置 SDK、上传模板、设置组装选项,以及调用 Assemble 端点接收生成的文档。
步骤:
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);