面向C++的文档组装

C++ SDK 作为 GroupDocs.Assembly Cloud API 的包装器。直接从你的C++应用程序创建高度定制的报告、合同、发票等。

  • GroupDocs.Assembly Cloud SDK 用于 cURL
  • GroupDocs.Assembly Cloud SDK 用于 .NET
  • GroupDocs.Assembly CloudSDK用于Java
  • GroupDocs.Assembly CloudSDK用于Python
  • GroupDocs.Assembly CloudSDK用于PHP
  • GroupDocs.Assembly CloudSDK用于Ruby
  • GroupDocs.Assembly CloudSDK用于Node.js
  • GroupDocs.Assembly CloudSDK用于Go
  • GroupDocs.Assembly Cloud SDK 用于 Swift
开始免费试用

GroupDocs.Assembly Cloud SDK 适用于C++,提供一个高层次、跨平台的包装器,围绕 Assembly Cloud REST API,使开发者能够直接从你的C++应用程序生成丰富格式的文档。该解决方案基于 templates(模板)——包含特殊占位字段和生成规则的文档——并结合 data sources(XML 或 JSON)。通过将模板和数据发送到云端,服务会在所需格式(DOCX、PDF、HTML 等)中组装最终输出,并即时返回。

为什么使用 Assembly Cloud?

  • 零安装 – 所有繁重工作均在云端完成;你的C++代码只需发起HTTP调用。
  • 广泛的格式支持 – 可生成Word、Excel、PowerPoint、PDF、OpenDocument、图形等多种格式,无需额外库。
  • 高级模板语法 – 可在模板中直接嵌入图片、图表、条形码、条件段落、循环、公式,甚至电子邮件正文。
  • 安全性 – 通信使用SSL/TLS保护,并通过个人访问密钥进行身份验证,确保机密数据永不离开安全的云环境。

C++ 中的典型工作流

  1. 配置 SDK,使用你的 App SID 和 App Key。
  2. 上传模板(例如 InvoiceTemplate.docx)到 GroupDocs Cloud Storage,使用 UploadFile 端点。
  3. 准备组装选项,指定模板路径、数据源(invoice.jsoninvoice.xml)以及所需的输出格式。
  4. 调用 AssembleDocument API – 服务将数据与模板合并,评估所有表达式,并返回组装好的文档。
  5. 下载结果,直接从 API 响应或通过 Storage API 获取,以便进一步处理。

这种方法能够创建复杂的多页报告、个性化信函(邮件合并)、发票、合同以及任何将静态内容与动态数据相结合的文档。由于 SDK 轻量且可在支持 C++11 和 cURL 的任何操作系统上运行,你可以轻松将其集成到桌面应用、服务器端服务或容器化微服务中。

Assembly Cloud REST API 功能

使用单个 API 调用,从模板生成文档

使用 LINQ‑style 表达式绑定数据源(XML,JSON)

将图像、图表和外部文档嵌入输出中

从数组数据创建动态表格和列表

模板中的条件内容块(IF/ELSE)

在组装过程中应用公式和顺序计算

在文档中生成条形码(QR、Code128 等)

通过 SSL/TLS 和个人访问密钥实现安全数据传输

即时创建电子邮件正文并附加生成的文档

使用 REST API 在 C++ 中生成文档

下面的示例演示了典型的工作流:配置 SDK,上传模板,设置组装选项,然后调用 Assemble 接口以获取生成的文档。

步骤:

  1. 使用你的 App SIDApp Key 初始化 SDK。
  2. 将 Word 模板(Input1.docx)上传至 GroupDocs Cloud Storage。
  3. 创建指向已上传模板的 TemplateFileInfo
  4. 设置所需的输出格式(docx)并提供数据源(Input2.json)。
  5. 调用 assembleDocument 生成最终文档。
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);

支持和学习资源

GroupDocs.Assembly Cloud 还提供针对其他语言的 SDKs:

  中文
700acfb5f