使用其他功能在 Google 文档中读取、修改内容和设置内容格式的脚本。
借助高级文档服务,您可以在 Google 文档 API 中使用 Google Apps 脚本。与 Apps 脚本的 内置文档服务非常相似,此 API 可让脚本读取、修改 Google 文档中的内容并设置其格式。在大多数情况下,内置服务更易于使用,但此高级服务提供了一些额外的功能。
这是一项高级服务,您必须 先启用才能使用。请按照 快速入门中的分步 说明开始操作。
参考
如需详细了解此服务,请参阅 文档 API 的参考文档。 与 Apps 脚本中的所有高级服务一样,高级文档服务使用的对象、方法和参数均与公共 API 相同。如需了解详情,请参阅 方法签名是如何确定的。
如需报告问题并查找其他支持,请参阅 文档 API 支持指南。
示例代码
以下示例代码使用 API 的第 1 版。
创建文档
此示例会创建一个新文档。
查找和替换文本
此示例会在文档的所有标签页中查找和替换成对的文本。当您要将模板文档副本中的占位符替换为数据库中的值时,此功能非常有用。
插入文本和设置文本样式
此示例会在文档中第一个标签页的开头插入新文本,并使用特定字体和大小设置其样式。请注意,在可能的情况下,您应将多个操作批量处理到单个
batchUpdate 调用中,以提高效率。
读取第一个段落
此示例会记录文档中第一个标签页的第一个段落的文本。由于文档 API 中段落的结构化特性,这需要合并多个子元素的文本。
最佳做法
批量更新
使用高级文档服务时,请将多个请求合并到一个数组中,而不是在循环中调用 batchUpdate。
不要 - 在循环中调用 batchUpdate。
var textToReplace = ['foo', 'bar'];
for (var i = 0; i < textToReplace.length; i++) {
Docs.Documents.batchUpdate({
requests: [{
replaceAllText: ...
}]
}, docId);
}
要 - 使用
更新数组调用 batchUpdate。
var requests = [];
var textToReplace = ['foo', 'bar'];
for (var i = 0; i < textToReplace.length; i++) {
requests.push({ replaceAllText: ... });
}
Docs.Documents.batchUpdate({
requests: requests
}, docId);