На данном этапе, к сожалению, пока нет методов удаления позиционированных изображений в Class PositionedImage.Но при использовании Google Docs API позиционированные изображения могут быть удалены.Так как насчет этой модификации?Этот измененный сценарий выглядит следующим образом.
- Извлечение абзацев.
- Извлечение идентификаторов объектов позиционированных изображений.
- Создание тела запроса для методаbatchUpdate в Google Docs API с использованием полученных идентификаторов объектов.
- Удаление позиционированных изображений.
Чтобы использовать образец сценария, перед его запуском необходимо включить API Google Docs.в консоли расширенных служб Google и API следующим образом.
Включить API Документов Google в службах Advanced Google *
- в редакторе сценариев
- ресурсы -> расширенные службы Google
- Включить Google Docs API v1
Включить Google Docs API на консоли API
- В редакторе сценариев
- Ресурсы -> Проект облачной платформы
- Просмотр консоли API
- На начальном этапе нажмите «Исследовать и включить API».
- С левой стороны нажмите Библиотека.
- В "Поиск API и сервисов", inpuт "Документы".И нажмите «Google Docs API».
- Нажмите кнопку «Включить».
- Если API уже включен, не выключайте его.
Модифицированный скрипт:
Пожалуйста, замените eraseContent()
следующим образом и запустите его.
function eraseContent(){
var doc = DocumentApp.getActiveDocument();
var body = doc.getBody();
body.clear();
// Retrieve paragraphs.
var paragraphs = body.getParagraphs();
// Retrieve the object IDs of the positioned images.
// Create request body for the method of batchUpdate in Google Docs API using the retrieved object IDs.
var requests = paragraphs.reduce(function(ar, e) {
return ar.concat(e.getPositionedImages().map(function(f) {
return {deletePositionedObject: {objectId: f.getId()}}
}));
}, []);
// Delete the positioned images.
if (requests.length > 0) {
Docs.Documents.batchUpdate({requests: requests}, doc.getId());
}
}
Ссылки:
Если я неправильно понял ваш вопрос, я приношу свои извинения.