Structure of a Google Docs document 谷歌文档的结构

article/2025/11/6 7:59:21

本文由 @张驰 翻译,更新时间:2020-02-16

https://developers.google.com/docs/api/concepts/structure

谷歌文档的结构

本指南解释了 Google Docs 文档的内部结构:组成文档的元素以及这些元素之间的关系。

顶级元素

文档的顶级元素包括正文和文档的许多其他属性作为一个整体:

document: {body: ... , // 文档正文内容documentStyle: ... , //文档样式lists: ... , //列表documentId: ... , //文档IDnamedStyles: ... , //自定义样式revisionId: ... , //修订版本IDtitle: ... //标题
}

若要使用正文内容以外的全局文档特性,使用一个或多个文档模板几乎总是最好的,可以作为生成新文档的编码基础。

文档正文内容 Body Content

你可以或可能希望以编程方式使用的大多数东西都是正文内容中的元素:

 

结构元素 Structural elements

正文内容本质上只是一系列结构元素对象。每个 StructuralElement 对象都通过其内容元素进行个性化设置,如下图所示:

结构元素及其内容对象包含文档的所有文本,嵌入式图像等。

页眉,页脚和脚注类型的内容元素类似地包含一系列结构元素。

段落包含一种称为 ParagraphElement 的特殊元素类型,其工作原理类似于 StructuralElement:通过其自己的一组内容元素类型进行个性化设置,如下图所示:

有关完整文档结构的示例,请参见样本文档 dump(结果文件或者转储)。 在该 dump 中,您可以看到许多关键的结构和内容元素,以及下一节所述的开始和结束索引的使用。

开始和结束索引 Start and end index

正文内容中的大多数元素都具有 startIndex 和 endIndex 属性。这些值表示元素的起点和终点相对于「闭合段」(enclosing segment)起点的偏移量。

段是包含结构或内容元素的正文,页眉,页脚或脚注。 段中元素的索引相对于该段的开始。

索引以UTF-16代码单位进行度量。 这意味着 Surrogate Pairs 消耗两个索引。 例如,“ GRINNING FACE” 😄,表情符号将表示为“ \ uD83D \ uDE00”,并消耗两个索引。

Surrogate Pair是UTF-16中用于扩展字符而使用的编码方式,是一种采用四个字节(两个UTF-16编码)来表示一个字符。

对于文档正文中的元素,这些索引表示距正文内容开头(即“root”元素)的偏移量。

未包含在内容中的元素不具有以下索引属性:它们在范围内是全局的,并且不具有位置概念。

结构元素的“个性化”类型(Paragraph, Table, TableOfContents, 和 SectionBreak)不具有这些索引,因为包围他们的 StructuralElement 具有这些字段。 对于 ParagraphElement 中包含的个性化类型也是如此。

段落结构 Paragraph structure

一个段落由以下元素组成:

  • elements - 包含一个或多个 textRun 实例的序列
  • paragraphStyle - 段落样式,一个可选元素,为该段落显式设置样式属性。
  • bullet - 如果该段落是列表的一部分,则提供项目符号规范的可选元素。

文本行 Text runs

文本行表示所有具有相同文本样式的连续文本字符串。 一个段落可以包含多个文本行; 文字行不能跨越段落边界。 例如,考虑一个如下所示的小文档:

下图显示了如何可视化上述文档中的段落序列,每个段落都有自己的文本运行和可选的项目符号设置。

 

访问元素 Accessing elements

使用 BatchUpdate 方法可以修改许多元素。 例如,使用 InsertTextRequest 请求类型,可以修改任何包含文本的元素的内容。 同样,您可以使用 UpdateTextStyleRequest 将格式应用于一个或多个元素中包含的一系列文本。

要读取文档的元素,请使用 get 方法获取完整文档的 JSON dump。 (要查看执行此操作的简单方法,请参阅将输出文档作为JSON示例。)然后,您可以通过解析的 JSON 结果来查找各个元素的值。

解析内容对于各种用例都是有用的。 例如,一个列出自己找到的文档的文档分类应用程序。 像这样的应用程序可能希望提取文档的标题,修订ID和起始页码,如下图所示:

因为没有显式读取这些设置的方法,所以应用程序需要获取整个文档,然后解析 JSON 以提取这些值。


http://chatgpt.dhexx.cn/article/VT2RQRKM.shtml

相关文章

Google 如何写设计文档

作者:Malte是Vercel的CTO。在此之前,Malte是负责谷歌搜索渲染的首席工程师,以及Search on Laptops, Tablets, 和Desktop的工程总监。 译者,许晓斌,现任阿里巴巴资深技术专家,《Maven实战》作者。 本文获得作…

在线文档方案---Google docs

1.介绍 谷歌文档包括在线文档、电子表格和演示文稿三类。用户可以轻易地执行所有的基本操作,包括编制项目列表、按列排序、添加表格/图像/注释/公式、更改字体,还有更多操作。它是完全免费的。Google 文档接受最常见的文件格式,包括 DOC、XL…

Google表格初学者指南

() If you’re just beginning to use Google Sheets, its extensive features and add-ons can be a bit overwhelming. Here are some tips to get you on the fast track to start using this powerful, free alternative to Microsoft Excel. 如果您刚刚开始使用Google表格…

直接在Google Chrome浏览器中查看文档和PDF

Would you like to view documents, presentations, and PDFs directly in Google Chrome? Here’s a handy extension that makes Google Docs your default online viewer so don’t have to download the file first. 您要直接在Google Chrome浏览器中查看文档,演示文稿和…

如何在Google文档中添加文本框

Adding a text box to a document is a great way to highlight relevant information—like a pull quote—and be able to move it around easily. Google doesn’t make adding one obvious, so here’s how to add a text box to a Google Docs file. 在文档中添加文本框是…

Axure原型图设计工具使用记录

Axure原型图设计工具使用记录 Axure快速入门(01) - 面板介绍 https://blog.51cto.com/u_15294985/3007677 Axure快速入门(02) - 入门例子(登录案例) https://developer.aliyun.com/article/1046689 Axu…

原型设计工具Quant-UX

什么是 Quant-UX ? Quant UX 是一种研究、可用性和原型设计工具,可快速测试您的设计并获得数据驱动的洞察力。Quant-UX 使验证您的想法变得简单。使用 Quant UX 的可视化编辑器可在几分钟内创建一个交互式原型,感觉就像真正的应用程序一样。 …

现在流行的画原型图工具_原型资源图:8种流行原型工具的综合指南

现在流行的画原型图工具 Although tools are not the most important things to learn as a UX designer, inevitably you need to use it in order to achieve your more important goals, to solve user’s problems. This article covers today’s 8 popular UX prototyping…

6款好用的在线原型图设计工具推荐

在线原型图的核心功能是可视化需求,因此一个易于使用的在线原型图工具对原型图设计至关重要。对于熟悉的Photoshop和iIlustrator来说,虽然它们功能强大,但界面太复杂,初学者很难快速启动,面对批量调整的在线原型图&…

小白如何快速绘制原型图

说到绘制产品原型图的工具,大家一定首先先到的是大名鼎鼎的“Axure RP”,或者在线协同的“墨刀”。它们的功能确实非常的强大,以至于很多产品经理可以做出还原度非常高的产品原型,不过能够熟练的够驾驭它们,还需使用者…

26款免费原型设计工具,总有一款适合你

1. 小红星 小红星是一款桌面版原型设计工具,纯中文界面,吸收了国内外多种原型工具的特色功能,结合国内产品设计的特点、去除了商业软件的各种限制,无需注册账号、无需登录平台、原型文件保存在用户自己的电脑上,导出ht…

快速原型工具,帮你从0开始画原型图

最近5G冲浪的时候,我常常会接触到这样一些问题,例如“该不该画高保真的原型图”、“有必要把原型做成demo的形式吗?”“产品经理不写PRD,只画原型合适吗?” 那当然不合适啦! Emmmmm 私以为,还是…

软件外包开发项目原型图工具

项目原型图工具有非常重要的作用,尤其是在APP项目开发中,对于整体需求的表达是必不可少的工具。相比于传统的文档需求,图形文字的表达可以更清楚的表达需求,让客户清楚的明白软件功能有哪些,最后的界面是怎样的&#x…

快速原型工具,帮你从0开始画原型图!

最近5G冲浪的时候,我常常会接触到这样一些问题,例如“该不该画高保真的原型图”、“有必要把原型做成demo的形式吗?”“产品经理不写PRD,只画原型合适吗?” 那当然不合适啦! Emmmmm 私以为,这些…

11个免费快速原型工具

Lumzy 快速原型工具 使用Lumzy你可以为你的应用创建原型图,还能添加一些交互事件。有了它,你可以创建弹出框,交互的页面导航,添加外部链接等等。他对于团队协作设计和交流提供了一个很好的平台,而且他完全免费。 Mocku…

利用工具画项目原型图

原型图简单的来说,就是一款产品成型之前的一个简单的框架,就是将页面的排版布局展现出来,每个功能键的交互,使产品的初步构思有一个可视化的展示。 对于绘制原型图的工具,能够很快的想到两个,一个是AXURE&…

原型图设计软件

1.Mockplus 免费方式:所有基础功能免费 功能特色: 快速交互设计(海量组件,只需拖曳即可完成交互) 快速复用功能(格式刷,组件样式,我的组件库,) 快速团队…

设计师都应该了解的9款原型图设计工具

在现代产品设计领域,产品原型图设计是将创意转化为特定产品的重要一步。设计师可以通过产品原型图展示产品的界面、交互和功能,为团队成员提供清晰的视觉参考,为用户提供最佳的产品界面和功能。从提高原型图制作效率的角度触犯,本…

6款强大的原型设计工具,轻松创作原型图

原型图可以帮助开发团队更好地理解和验证设计,为用户提供卓越的体验。本文将与大家分享6个功能强大的原型设计工具,它们提供的灵活的工作流程和易用性可以帮助设计师更轻松地创作原型图。 1、即时设计 即时设计是一款具有优秀绘图功能和设计功能的在线…

讨论多元函数可微性

(1)利用定义,即 若极限 存在且为0,则可微,否则不可微 (2)利用可微的必要条件:可微必可导。这一条一般是用来反证,通过证明不可导来证明不可微 (3)利用可微的充分条件:有连续一阶偏导数。注意&#xff0c…