Mantenha tudo organizado com as coleções Salve e categorize o conteúdo com base nas suas preferências.
Esta seção descreve comportamentos e limitações que você precisa entender ao editar documentos usando a API Google Docs.
Em geral, não é possível executar edições que causem a estrutura inválida de elementos em um documento. Analise cada método de solicitação documents.batchUpdate para restrições e regras aplicáveis a essas solicitações.
As seções a seguir resumem as principais regras desses métodos.
Inserir texto
Inserir um caractere de nova linha cria implicitamente um Paragraph nesse índice. O estilo do novo parágrafo é copiado do parágrafo no índice de inserção atual, incluindo listas e marcadores.
O texto precisa ser inserido dentro dos limites de um Paragraph existente. Por exemplo, não é possível inserir texto no índice inicial de uma tabela. O texto precisa ser inserido no parágrafo anterior.
A API pode ajustar implicitamente o local para evitar inserções em clusters de grafemas Unicode. Quando isso acontece, o texto é inserido imediatamente após o cluster de grafemas.
Os estilos de texto para o texto inserido são determinados automaticamente, geralmente preservando o estilo do texto vizinho. Normalmente, o estilo do texto inserido corresponde ao texto imediatamente antes do índice de inserção.
Alguns caracteres de controle (U+0000-U+0008, U+000C-U+001F) e caracteres da área de uso particular do plano multilíngue básico Unicode (U+E000-U+F8FF) são removidos do texto inserido.
Quando você aplica a formatação de parágrafo a um intervalo, ela é aplicada a qualquer parágrafo que seja parcialmente ou totalmente sobreposto por esse intervalo.
O intervalo pode ser estendido para incluir novas linhas adjacentes.
Se o intervalo contiver um parágrafo que pertence a uma lista, o marcador do parágrafo também será atualizado com o estilo de texto correspondente.
Cria marcadores para todos os parágrafos que se sobrepõem ao intervalo especificado.
O nível de aninhamento de cada parágrafo é determinado pelo número de guias antes de cada parágrafo.
As guias iniciais são removidas ao criar os marcadores, o que pode mudar os índices de partes do texto.
Se você adicionar marcadores de parágrafo que correspondem aos de uma lista imediatamente antes do parágrafo de destino, o parágrafo será adicionado à lista.
A exclusão de texto que atravessa um limite de parágrafo pode causar mudanças em estilos de parágrafo, listas, objetos posicionados e marcadores à medida que os dois parágrafos são mesclados.
Não são permitidas exclusões que causem uma estrutura de documento inválida. Alguns exemplos de solicitações de exclusão inválidas incluem:
Exclusão de uma unidade de código de um par substituto.
[[["Fácil de entender","easyToUnderstand","thumb-up"],["Meu problema foi resolvido","solvedMyProblem","thumb-up"],["Outro","otherUp","thumb-up"]],[["Não contém as informações de que eu preciso","missingTheInformationINeed","thumb-down"],["Muito complicado / etapas demais","tooComplicatedTooManySteps","thumb-down"],["Desatualizado","outOfDate","thumb-down"],["Problema na tradução","translationIssue","thumb-down"],["Problema com as amostras / o código","samplesCodeIssue","thumb-down"],["Outro","otherDown","thumb-down"]],["Última atualização 2025-08-01 UTC."],[],[],null,["# Structural edit rules and behavior\n\nThis section describes behaviors and limitations that you must understand when\nyou edit documents using the Google Docs API.\n\nIn general, you cannot execute edits that cause the invalid structure of\nelements within a document. Review each\n[`documents.batchUpdate`](/workspace/docs/api/reference/rest/v1/documents/batchUpdate)\nrequest method for constraints and rules that apply to those\n[requests](/workspace/docs/api/reference/rest/v1/documents/request).\n\nThe following sections summarize the key rules across these methods.\n\nInsert text\n-----------\n\n- Inserting a newline character implicitly creates a [`Paragraph`](/workspace/docs/api/reference/rest/v1/documents#paragraph) at that index. The paragraph style of the new paragraph is copied from the paragraph at the current insertion index, including lists and bullets.\n- Text must be inserted within the bounds of an existing `Paragraph`. For example, text cannot be inserted at a table's start index. The text must be inserted in the preceding paragraph.\n- The API may implicitly adjust the location to prevent insertions within Unicode grapheme clusters. When this happens, the text is inserted immediately after the grapheme cluster.\n- Text styles for inserted text are determined automatically, generally preserving the styling of neighboring text. Typically, the text style for the inserted text matches the text immediately before the insertion index.\n- Some control characters (`U+0000-U+0008, U+000C-U+001F`) and characters from the Unicode Basic Multilingual Plane Private Use Area (`U+E000-U+F8FF`) are stripped out of inserted text.\n- For more information, see [Insert, delete, and move\n text](/workspace/docs/api/how-tos/move-text).\n\nInsert inline images\n--------------------\n\n- Image must be less than 50 MB in size, cannot exceed 25 megapixels, and must be in one of PNG, JPEG, or GIF formats.\n- The provided URI must be publicly accessible and at most 2 KB in length.\n- Image must be inserted within the bounds of an existing `Paragraph`. For example, text cannot be inserted at a table's start index.\n- Images can't be inserted inside a footnote or equation.\n- For more information, see [Insert inline\n images](/workspace/docs/api/how-tos/images).\n\nFormat text\n-----------\n\n- When you apply paragraph-level formatting to a range, the formatting is applied to any paragraph that's partially or completely overlapped by that range.\n- The range might be extended to include adjacent newlines.\n- If the range fully contains a paragraph belonging to a list, the paragraph's bullet is also updated with the matching text style.\n- For more information, see [Format\n text](/workspace/docs/api/how-tos/format-text).\n\nCreate paragraph bullets\n------------------------\n\n- Creates bullets for all paragraphs that overlap with the given range.\n- The nesting level of each paragraph is determined by the number of leading tabs before each paragraph.\n- The leading tabs are removed when creating the bullets, which might change the indexes of parts of the text.\n- If you add paragraph bullets that match those of a list immediately before the target paragraph, the paragraph is joined to the list.\n- For more information, see [Work with lists](/workspace/docs/api/how-tos/lists).\n\nDelete text\n-----------\n\n- Deleting text that crosses a paragraph boundary might cause changes to\n paragraph styles, lists, positioned objects, and bookmarks as the two\n paragraphs are merged.\n\n- Deletions that cause an invalid document structure are not permitted. Some\n examples of invalid delete requests include:\n\n - Deleting one code unit of a surrogate pair.\n\n - Deleting the last newline character of a\n [`Body`](/workspace/docs/api/reference/rest/v1/documents#body),\n [`Header`](/workspace/docs/api/reference/rest/v1/documents#header),\n [`Footer`](/workspace/docs/api/reference/rest/v1/documents#footer),\n [`Footnote`](/workspace/docs/api/reference/rest/v1/documents#footnote),\n [`TableCell`](/workspace/docs/api/reference/rest/v1/documents#tablecell), or\n [`TableOfContents`](/workspace/docs/api/reference/rest/v1/documents#tableofcontents).\n\n - Deleting the start or end of a\n [`Table`](/workspace/docs/api/reference/rest/v1/documents#table),\n `TableOfContents`, or\n [`Equation`](/workspace/docs/api/reference/rest/v1/documents#equation)\n without deleting the entire element.\n\n - Deleting the newline character before a `Table`, `TableOfContents`, or\n [`SectionBreak`](/workspace/docs/api/reference/rest/v1/documents#sectionbreak)\n without deleting the element.\n\n - Deleting individual rows or cells of a table. Deleting the content in a\n table cell is allowed.\n\n- For more information, see [Insert, delete, and move\n text](/workspace/docs/api/how-tos/move-text).\n\nRelated topics\n--------------\n\n- [Structure of a Google Docs document](/workspace/docs/api/concepts/structure)\n- [Requests and responses](/workspace/docs/api/concepts/request-response)"]]