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