Правила и поведение структурного редактирования
Оптимизируйте свои подборки
Сохраняйте и классифицируйте контент в соответствии со своими настройками.
В этом разделе описываются особенности поведения и ограничения, которые необходимо понимать при редактировании документов с использованием API Google Docs.
Как правило, вы не можете выполнять изменения, которые приводят к недопустимой структуре элементов в документе. Ознакомьтесь с каждым методом запроса documents.batchUpdate
на предмет ограничений и правил, применяемых к этим запросам .
В следующих разделах обобщены основные правила этих методов.
Вставить текст
- Вставка символа новой строки неявно создаёт
Paragraph
с этой позицией. Стиль нового абзаца копируется из абзаца с текущей позицией вставки, включая списки и маркеры. - Текст должен быть вставлен в пределах существующего
Paragraph
. Например, текст не может быть вставлен в начальный индекс таблицы. Текст должен быть вставлен в предшествующий абзац. - API может неявно корректировать местоположение, чтобы предотвратить вставки внутри кластеров графем Unicode. В этом случае текст вставляется сразу после кластера графем.
- Стили текста для вставленного текста определяются автоматически, как правило, сохраняя стиль соседнего текста. Как правило, стиль вставленного текста соответствует стилю текста, расположенного непосредственно перед индексом вставки.
- Некоторые управляющие символы (
U+0000-U+0008, U+000C-U+001F
) и символы из области частного использования Unicode Basic Multilingual Plane ( U+E000-U+F8FF
) удаляются из вставленного текста. - Дополнительные сведения см. в разделе Вставка, удаление и перемещение текста .
Вставьте встроенные изображения
- Изображение должно быть размером менее 50 МБ, не более 25 мегапикселей и должно быть в одном из форматов PNG, JPEG или GIF.
- Предоставленный URI должен быть общедоступным и иметь длину не более 2 КБ.
- Изображение должно быть вставлено в пределах существующего
Paragraph
. Например, текст не может быть вставлен в начальную позицию таблицы. - Изображения нельзя вставлять внутрь сноски или уравнения.
- Для получения дополнительной информации см. раздел Вставка встроенных изображений .
Форматировать текст
- При применении форматирования на уровне абзаца к диапазону форматирование применяется к любому абзацу, который частично или полностью перекрывается этим диапазоном.
- Диапазон может быть расширен за счет включения смежных символов переноса строк.
- Если диапазон полностью содержит абзац, принадлежащий списку, маркер абзаца также обновляется с использованием соответствующего стиля текста.
- Более подробную информацию см. в разделе Форматирование текста .
Создать маркеры абзацев
- Создает маркеры для всех абзацев, которые перекрывают указанный диапазон.
- Уровень вложенности каждого абзаца определяется количеством начальных символов табуляции перед каждым абзацем.
- При создании маркеров удаляются начальные символы табуляции, что может изменить индексы частей текста.
- Если вы добавляете маркеры абзаца, соответствующие маркерам списка, непосредственно предшествующего целевому абзацу, абзац присоединяется к списку.
- Более подробную информацию см. в разделе Работа со списками .
Удалить текст
Удаление текста, выходящего за границу абзаца, может привести к изменению стилей абзацев, списков, позиционированных объектов и закладок при объединении двух абзацев.
Удаления, приводящие к нарушению структуры документа, не допускаются. Вот некоторые примеры недействительных запросов на удаление:
Удаление одной кодовой единицы суррогатной пары.
Удаление последнего символа новой строки в Body
, Header
, Footer
, Footnote
, TableCell
или TableOfContents
.
Удаление начала или конца Table
, TableOfContents
или Equation
без удаления всего элемента.
Удаление символа новой строки перед Table
, TableOfContents
или SectionBreak
без удаления элемента.
Удаление отдельных строк или ячеек таблицы. Разрешено удаление содержимого ячейки таблицы.
Дополнительные сведения см. в разделе Вставка, удаление и перемещение текста .
Если не указано иное, контент на этой странице предоставляется по лицензии Creative Commons "С указанием авторства 4.0", а примеры кода – по лицензии Apache 2.0. Подробнее об этом написано в правилах сайта. Java – это зарегистрированный товарный знак корпорации Oracle и ее аффилированных лиц.
Последнее обновление: 2025-08-29 UTC.
[null,null,["Последнее обновление: 2025-08-29 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)"]]