用于 Swift 的报告生成器

使用 REST API 构建高度自定义报告的 Swift 库

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

GroupDocs.Assembly Cloud 是一项全托管、基于 REST 的文档组装服务,帮助开发者直接在 Swift 应用中创建格式丰富的报告、合同、发票、提案以及其他任何类型的文档。该服务基于 GroupDocs Cloud Storage 运行–模板和数据会上传至云端,组装引擎进行处理,完成的文档会返回给客户端,无需在本地安装任何 Office。这消除了维护第三方库的开销,降低了服务器端的处理负载,并确保始终提供最新的格式支持(DOCX、PDF、PPTX、XLSX、HTML 等)。

借助 Swift SDK,整个工作流自然融入典型的 iOS/macOS 开发周期:

  1. 准备模板–一种 Word、Excel、PowerPoint 或任何受支持的格式,内部包含占位符(例如 {{Customer.Name}})以及使用 LINQ 风格语法编写的可选生成规则。
  2. 创建数据源–一个 JSON 或 XML 文件,用于提供占位符的取值。可以使用数组等复杂结构来生成表格、图表或重复段落。
  3. 上传模板至 GroupDocs Cloud Storage,只需一次 API 调用(SDK 负责处理 multipart 请求)。
  4. 调用 Assemble 接口–传入模板的云路径、数据源内容以及期望的输出格式(输出格式可与模板格式不同,例如从 DOCX 模板生成 PDF)。
  5. 获取组装好的文档–服务会流式返回结果;SDK 可将其本地保存、通过电子邮件发送,或再次存入云存储。

SDK 抽象了所有 HTTP 细节–您只需提供 App SID 和 App Key(个人访问令牌)。所有通信均使用 SSL/TLS 加密,错误处理遵循标准的 HTTP 状态码,服务符合行业级安全标准。由于处理在云端进行,同一套 Swift 代码可在 iPhone、iPad、Mac 或任何能够运行 Swift 代码并发起网络请求的平台上使用。

以下标签页简要概述了 Assembly Cloud 对 Swift 支持的功能、完整的文档格式列表以及与 SDK 兼容的操作系统和开发工具。

文档组装 REST API 功能

通过 REST API 实现云端文档组装

用于数据插入的模板占位符

适用于 XML/JSON 的 LINQ‑风格表达式绑定

嵌入外部文档、图像和图表

动态列表、表格和条件块

电子表格公式和计算

电子邮件正文属性和附件

条形码生成(QR、Code128 等)

HTML 背景颜色样式

邮件合并用于批量个性化信件

SSL/TLS 安全数据传输

将模板上传至云存储

在 Swift 中生成文档

下面的代码片段演示了如何使用 Assembly Cloud SDK 为 Swift 生成报告。它会上传模板,读取数据文件,配置装配选项并调用 API。

步骤

  1. 使用你的 App SID 和 App Key 初始化 AssemblyApi
  2. 将模板文档上传至云存储。
  3. 从本地文件加载报告数据(XML/JSON)。
  4. 创建指向已上传模板的 TemplateFileInfo
  5. 设置所需的输出格式(例如 docx)。
  6. 使用模板、数据和格式构建 AssembleOptions 对象。
  7. 调用 assembleDocument 并获取装配后的文件。
import GroupDocsAssemblyCloud

let assemblyApi = AssemblyApi(appSid: "####################", appKey: "####################")
let fileName = "Input1.docx"
let dataFile = "Input2.docx"

// Upload template
let requestFileContent = InputStream(url: URL(string: fileName)!)!
let uploadDocumentRequest = UploadFileRequest(fileContent: requestFileContent, path: fileName)
_ = try assemblyApi.uploadFile(request: uploadDocumentRequest)

// Prepare template info
let templateFileInfo = TemplateFileInfo()
templateFileInfo.setFilePath(filePath: fileName)

// Load data
let reportData = try String(contentsOfFile: dataFile, encoding: .utf8)

// Assemble options
let assembleOptions = AssembleOptions()
assembleOptions.setTemplateFileInfo(templateFileInfo: templateFileInfo)
assembleOptions.setSaveFormat(saveFormat: "docx")
assembleOptions.setReportData(reportData: reportData)

// Execute assembly
let request = AssembleDocumentRequest(assembleOptions: assembleOptions)
let result = try assemblyApi.assembleDocument(request: request)

支持和学习资源

GroupDocs.Assembly Cloud 还提供针对以下其他语言的单独文档装配 SDKs:

  中文
700acfb5f