免费 Swift 库用于读取和写入 DOCX 文档

开源 Swift API,允许 iOS 与 macOS 开发者读取、写入并操作 .docx 文件,具备智能字体处理、段落和标题支持。

DOCX 库是什么?

在 Swift 中处理 Microsoft Word 文档一直是开发者的挑战,因为原生支持有限。然而,开源的 DOCX Swift API 提供了一个实用且轻量的解决方案。该基于 Swift 的库使开发者能够以编程方式创建、读取、修改和管理 .docx 文件,而无需依赖 Microsoft Office 或外部工具。不同于笨重的办公自动化套件或基于云的 Word 文档解决方案,这个库保持简单高效,非常适合在 iOS、iPadOS、macOS 以及服务器端 Swift 应用中进行轻量文档生成。它支持诸如添加段落、文本块、标题、图片以及简单格式化等核心功能。

开源的 DOCX Swift API 让 Swift 开发者能够将 Word 文档生成直接集成到他们的应用中。该 API 带来了多项好处,如跨平台的 Swift 兼容性、轻量且无依赖、离线 DOCX 生成等。开源 DOCX Swift API 的关键优势之一是其开源属性,这意味着开发者可以完全访问源代码并根据自己的需求进行修改。这样的定制化程度使开发者能够根据独特需求调整 API,确保他们的应用具备在竞争激烈的市场中脱颖而出的功能和能力。使用此 API,用户可以轻松读取、写入和操作 DOCX 文件,从而精确且灵活地访问和修改文档内容。

Previous Next

DOCX 入门指南

将 DOCX 引入项目的推荐方式是使用 GitHub。请使用以下命令进行顺利安装。

通过 CocoaPods 安装 DOCX 库

Install DOCX via GitHub 

通过 GitHub 安装 DOCX

go get github.com/shinjukunian/DocX.git 

从零开始创建 DOCX 文档

使用开源的 DocX Swift 库,软件开发者可以轻松从零生成 .docx 文件。这包括添加段落、标题、图片、样式和内联文本元素。开发者可以通过直观的 Swift 原生 API 轻松定义内容结构。以下代码示例演示了如何在 Swift 应用中创建一个新 Word 文档,并添加一个简单的段落,内容为 "Hello from DocX Swift!"。

如何使用 Swift API 创建带简单段落的新 Word 文档?

import DocX

let doc = Document()

let p = Paragraph()
p.appendChild(Text("Hello from DocX Swift!"))
doc.appendChild(p)

try doc.save(to: URL(fileURLWithPath: "MyDocument.docx"))

智能字体处理与页面布局控制

为确保跨平台兼容性,开发者可以将 DocX 配置为使用标准的 Word 处理字体,而不是嵌入特定的字体名称。这可以避免文档在未安装原始字体的机器上显示不一致的问题。此外,通过 PageDefinition,您可以指定文档的页面尺寸和边距。该库提供了 A4、US Letter 等标准尺寸的预设,同时也允许完全自定义尺寸和边距,让您精确控制最终布局。以下是一个简单示例,展示如何在 Swift 应用中定义自定义页面尺寸。

如何通过 Swift API 定义自定义页面尺寸?

import Foundation

// 1. Your attributed string
let string = NSAttributedString(string: "This content will be on a custom-sized page.")

// 2. Define a custom page layout
let customPage = PageDefinition(
    pageSize: .init(
        width: Measurement(value: 8, unit: .inches),
        height: Measurement(value: 5, unit: .inches)
    ),
    pageMargins: .init(
        top: .init(value: 0.5, unit: .inches),
        bottom: .init(value: 0.5, unit: .inches),
        left: .init(value: 1, unit: .inches),
        right: .init(value: 1, unit: .inches)
    )
)

// 3. Apply the page definition via DocXOptions
var options = DocXOptions()
options.pageDefinition = customPage

// 4. Write the document
let url = URL(fileURLWithPath: "/path/to/your/CustomPage.docx")
try string.writeDocX(to: url, options: options)

全面的属性支持

Swift DocX 库支持多种文本属性,确保您精心制作的富文本在最终的 .docx 文件中忠实呈现。这包括字体和颜色、段落样式、字符样式、嵌入图片等。它还支持振假名(Ruby 注释)功能,这对处理日文文本的开发者来说是一个突出特性,因为它能正确渲染拼音指南。

 中国人