C++ 文档汇编

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

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

GroupDocs.Assembly Cloud SDK for C++ 提供了一个基于 Assembly Cloud REST API 的高级跨平台封装器,允许开发者直接从其 C++ 应用程序生成格式丰富的文档。该解决方案基于模板(包含特殊占位符字段和生成规则的文档)以及数据源(XML 或 JSON)构建。通过将模板和数据发送到云端,该服务会以所需格式(DOCX、PDF、HTML 等)组装最终输出并立即返回。

为什么使用 Assembly Cloud?

  • 零安装 – 所有繁重工作均在云端执行;您的 C++ 代码只需发出 HTTP 调用即可。
  • 广泛格式支持 – 无需额外库即可生成 Word、Excel、PowerPoint、PDF、OpenDocument、图形和许多其他格式。
  • 高级模板语法 – 可直接在模板中嵌入图像、图表、条形码、条件语句、循环、公式,甚至电子邮件正文。
  • 安全 – 通信采用 SSL/TLS 保护,并通过个人访问密钥进行身份验证,确保机密数据始终流出安全的云环境。

C++ 典型工作流程

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

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

Assembly Cloud REST API 功能

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

使用 LINQ 样式表达式绑定数据源(XML、JSON)

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

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

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

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

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

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

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

通过 REST API 在 C++ 中生成文档

以下示例演示了典型的工作流程:配置 SDK、上传模板、设置组装选项,以及调用 Assemble 端点接收生成的文档。

步骤:

  1. 使用您的应用 SID应用密钥初始化 SDK。
  2. 将 Word 模板(“Input1.docx”)上传到 GroupDocs 云存储。
  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 还提供其他语言的 SDK:

  中文