
cURL 命令是使用 URL 传输数据的绝佳方式。建议使用 cURL 命令从命令行终端使用 API。它不仅允许我们发出常规请求,还可以发布表单数据、验证用户身份、保存对文件的响应以及其他相关的文件操作。简而言之,curl 是一个命令行实用程序,用于从服务器传输数据或向服务器传输数据,该服务器设计为无需用户交互即可工作。使用 curl,您可以使用受支持的协议之一下载或上传数据,包括 HTTP、HTTPS、SCP、SFTP 和 FTP。
尽管如此,它也方便我们测试 RESTfull API。
使用的 cURL 命令
得到
使用 HTTP 发出的最简单、最常见的请求/操作是 GET URL。使用此命令时,我们会发送请求并从特定 URL(在我们的例子中是文档)检索资源。
邮政
默认请求是 GET,但如果我们需要使用相同的 cURL 命令提交表单数据,则需要使用 POST 请求。因此,在本文中,我们将使用相同的 POST 命令提交文本内容。请注意,为了发布数据,我们在 cURL 命令中使用 -d(或 –data)参数。
放
我们可能会偶然发现需要更新现有数据,因此,为此目的,我们使用了 PUT 方法。为了满足此要求,我们需要在 cURL 命令中使用 -X PUT,其中 X 需要大写。
欲了解更多信息,请访问cURL 教程。
注意:使用 cURL 命令时,请确保反斜杠 \ 后没有多余的空格,否则该命令将不会被执行并且会显示错误。
在 Mac 上设置 cURL
在本文中,我们将使用 macOS 上的 cURL 命令,通过终端应用程序在 MS Word 文档中插入和更新页眉页脚对象。因此,为了开始使用,第一件事是在 macOS 上安装 cURL。从启动板打开“其他”类别下的终端应用程序,或者按 Command+Space 并键入 Terminal,然后按 Enter/Return 键。安装 cURL 最简单的方法是使用 Homebrew,因此,首先,您需要在 Mac 机器上设置 Homebrew。在命令行终端上键入以下命令,然后按 Enter 键。
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" < /dev/null 2> /dev/null
现在使用以下命令获取 cURL 的 brew 包。
brew install curl
完成!您现在可以使用 curl 了。
授权 Aspose.Cloud 帐户
要开始使用 Aspose.Cloud API,第一步是验证您的帐户并获取 JWT 作为响应。如果您没有帐户,您可以在 Aspose.Cloud 仪表板 上创建一个帐户,或者通过您现有的 Google 或 GitHub 帐户注册并开始使用我们的云 API。
// First get JSON Web Token for authentication
// Get App Key and App SID from https://dashboard.aspose.cloud/
curl -v "https://api.aspose.cloud/connect/token" \
-X POST \
-d "grant_type=client_credentials&client_id=[APP_SID]&client_secret=[APP_KEY]" \
-H "Content-Type: application/x-www-form-urlencoded" \
-H "Accept: application/json"
Aspose.Words 云
Aspose 提供 API 来操作 MS Word 文档,您可以选择使用 云 API、本地 API 或 跨平台应用程序 来处理 Word 文档。在本博客中,我们重点介绍了云 API,这些 API 为我们提供了在云中创建、操作和转换 MS Word 文档的功能。无需下载或安装特定软件即可处理 MS Word 文件。
Aspose.Cloud 产品系列提供了一组针对流行编程语言的云 SDK,包括 .NET、Java、PHP、Python、Node.js、Android、C++、Ruby、Swift 和 Go。所有这些 SDK 都是 Aspose.Words Cloud REST API 的包装器,而 cURL 命令是通过命令提示符/终端访问 REST API 的最简单、最轻松的方法之一。
在这篇博客中,我们强调在访问 Aspose.Words Cloud API 时使用 cURL 命令来操作 MS Word 文件内的页眉和页脚部分。
上传 Word 文档
一旦完成身份验证,下一步就是将文件上传到云存储。通过使用以下 cURL 命令,文件将上传到 InputFolder 下的默认存储。
curl -v -X PUT "https://api.aspose.cloud/v4.0/words/storage/file/InputFolder" \
-H "accept: application/json" \
-H "authorization: Bearer <jwt token>" \
-F document=@BusinessLetter2.docx

文件上传到云存储时的成功消息。
现在,为了确认文件存在于云存储中,打开 dashboard.aspose.cloud 上的“我的文件”选项卡,我们可以注意到列表中出现了一个名为 InputFolder 的新文件夹,其中包含 BusinessLetter2.docx。

插入 Header 对象
上传文档后,我们可以插入新的 Header 或 Footer 对象,也可以访问现有对象并更新其属性。目前,Aspose.Words Cloud API 支持以下类型的 Header 和 Footer 对象。

以下命令显示如何在 InputFolder 下的云存储中已有的 Word 文档中插入 HeaderFirst 对象。
curl -v -X PUT "https://api.aspose.cloud/v4.0/words/BusinessLetter2.docx/headersfooters?folder=InputFolder" \
-H "accept: multipart/form-data" \
-H "authorization: Bearer <jwt token>" \
-d "'HeaderFirst'" \
-H "Content-Type: application/json"
一旦执行上述命令,控制台就会列出 Word 文档内的各个部分。

页眉和页脚部分通常包含文本、图像等,在下面的命令中,我们将在上面创建的页眉对象内的第一个段落内插入示例文本。
curl -v -X POST "https://api.aspose.cloud/v4.0/words/BusinessLetter2.docx/sections/0/headersFooters/1/paragraphs?folder=InputFolder" \
-H "accept: multipart/form-data" \
-H "authorization: Bearer <jwt token>" \
-d "{ 'Text': 'Aspose.Words Cloud .NET SDK' }" \
-H "Content-Type: application/json"

Console output after Text is inserted in the Header object. Observe the path of the text inserted.

更新 Header 对象的文本格式
插入文本后,我们可以更新文本字体属性。由于 Word 文档可能包含许多文本实例,因此为了更新文本,我们需要提供准确的路径。因此,如果我们需要更新上面插入的文本的字体属性(该文本插入到sections/0/headersfooters/1/paragraphs/0/runs/0),则需要使用以下命令。
请注意,现在我们要更新已放置对象的字体属性,因此我们需要使用 PUT 命令。
curl -v -X PUT "https://api.aspose.cloud/v4.0/words/BusinessLetter2.docx/sections/0/headersFooters/1/paragraphs/0/runs/0/font?folder=InputFolder" \
-H "accept: multipart/form-data" \
-H "authorization: Bearer <jwt token>" \
-d "{ 'Bold':true, 'Size': 21.0, 'Name': 'Calibri', 'Color': { 'Web': '#f54269', 'Alpha': 0 } }" \
-H "Content-Type: application/json"

在页脚中插入页码
Header 和 Footer 对象的一个重要用途是显示页码信息,使用 Aspose.Words Cloud,我们可以轻松实现这一要求。API 还提供了指定需要显示 PageNumber 标记的位置的功能。如下面的命令所示,我们已指定添加要在页面右上角呈现的 PageNumber 信息,并将其显示在文档的第一页上。
curl -v -X PUT "https://api.aspose.cloud/v4.0/words/BusinessLetter2.docx/PageNumbers?folder=InputFolder" \
-H "accept: multipart/form-data" \
-H "authorization: Bearer <jwt token>" \
-d "{ 'Format': '{PAGE} of {NUMPAGES}', 'Alignment': 'right', 'IsTop': false, 'SetPageNumberOnFirstPage': true }" \
-H "Content-Type: application/json"

与更新 Header 实例的字体属性类似,我们也可以更新包含 PageNumber 信息的 Footer 对象的字体属性。由于页码信息由三个 run 对象(runs/0、runs/2 和 runs/3)组成,因此我们需要为每个 run 实例更新三次字体更新命令。
curl -v -X PUT "https://api.aspose.cloud/v4.0/words/BusinessLetter2.docx/sections/0/headersFooters/3/paragraphs/1/runs/3/font?folder=InputFolder" \
-H "accept: multipart/form-data" \
-H "authorization: Bearer <jwt token>" \
-d "{ 'Bold':true, 'Size': 21.0, 'Name': 'Arial', 'Shadow': true, 'Color': { 'Web': '#f5b642', 'Alpha': 0 } }" \
-H "Content-Type: application/json"

一旦执行了上述所有命令,生成的文档将类似于上面的预览。
为方便您参考,还附上了示例文档: