Правила и поведение структурного редактирования

В этом разделе описаны правила поведения и ограничения, которые вы должны понимать при редактировании документов с помощью API Документов Google.

Как правило, вы не можете выполнять изменения, которые приводят к неправильной структуре элементов в документе. Просмотрите каждый метод запроса documents.batchUpdate на наличие ограничений и правил, применимых к этим запросам .

В следующих разделах суммируются ключевые правила этих методов.

Вставить текст

  • Вставка символа новой строки неявно создает Paragraph по этому индексу. Стиль нового абзаца копируется из абзаца с текущим индексом вставки, включая списки и маркеры.
  • Текст должен быть вставлен в пределах существующего Paragraph . Например, текст нельзя вставить в начальный индекс таблицы. Текст необходимо вставить в предыдущий абзац.
  • API может неявно корректировать местоположение, чтобы предотвратить вставки в кластеры графем Юникода. В этом случае текст вставляется сразу после кластера графем.
  • Стили текста для вставленного текста определяются автоматически, как правило, с сохранением стиля соседнего текста. Обычно стиль вставленного текста соответствует тексту непосредственно перед индексом вставки.
  • Некоторые управляющие символы ( U+0000-U+0008, U+000C-U+001F ) и символы из области частного использования базовой многоязычной плоскости Unicode ( U+E000-U+F8FF ) удаляются из вставленного текста.
  • Дополнительные сведения см. в разделе Вставка, удаление и перемещение текста .

Вставка встроенных изображений

  • Размер изображения должен быть менее 50 МБ, не может превышать 25 мегапикселей и быть в одном из форматов PNG, JPEG или GIF.
  • Предоставленный URI должен быть общедоступным и иметь длину не более 2 КБ.
  • Изображение должно быть вставлено в пределах существующего Paragraph . Например, текст нельзя вставить в начальный индекс таблицы.
  • Изображения нельзя вставлять в сноску или уравнение.
  • Дополнительные сведения см. в разделе Вставка встроенных изображений .

Форматировать текст

  • Когда вы применяете форматирование на уровне абзаца к диапазону, форматирование применяется к любому абзацу, который частично или полностью перекрывается этим диапазоном.
  • Диапазон может быть расширен за счет включения соседних символов новой строки.
  • Если диапазон полностью содержит абзац, принадлежащий списку, маркер абзаца также обновляется с использованием соответствующего стиля текста.
  • Дополнительные сведения см. в разделе Форматирование текста .

Создание маркеров абзацев

  • Создает маркеры для всех абзацев, пересекающихся с заданным диапазоном.
  • Уровень вложенности каждого абзаца определяется количеством ведущих вкладок перед каждым абзацем.
  • При создании маркеров удаляются ведущие табуляции, что может привести к изменению индексов частей текста.
  • Если вы добавите маркеры абзацев, соответствующие маркерам списка, непосредственно перед целевым абзацем, абзац присоединяется к списку.
  • Дополнительные сведения см. в разделе Работа со списками .

Удалить текст

  • Удаление текста, пересекающего границу абзаца, может привести к изменению стилей абзаца, списков, расположенных объектов и закладок при объединении двух абзацев.

  • Удаление, приводящее к неправильной структуре документа, не допускается. Некоторые примеры недействительных запросов на удаление включают в себя:

    • Удаление одной кодовой единицы суррогатной пары.

    • Удаление последнего символа новой строки Body , Header , Footer , Footnote , TableCell или TableOfContents .

    • Удаление начала или конца Table , TableOfContents или Equation без удаления всего элемента.

    • Удаление символа новой строки перед Table , TableOfContents SectionBreak без удаления элемента.

    • Удаление отдельных строк или ячеек таблицы. Удаление содержимого ячейки таблицы разрешено.

  • Дополнительные сведения см. в разделе Вставка, удаление и перемещение текста .