Оказалось все проще, просто нужно было по капаться глубже в теме.
Решение:
//Выводим тело документа
$document = $service->documents->get(DOCUMENT_ID, ['fields' => 'body']);
//Перебираем контентную составляющую документа
foreach($document->body->content as $content){
if(!empty($content['paragraph'])){
foreach($content['paragraph']['elements'] as $elements){
//ищем наше значение
$pos = strripos($elements['textRun']['content'], '{{печать}}');
if($pos !== false){
//Когда нашли, записываем его стартовый индекс впеременную
$startIndex = $elements['startIndex'];
}
}
}
}
//Проверка, нашлось ли значение
if(!empty($startIndex)){
$requests = [];
$requests[] = [
'replaceAllText' => [
'replaceText' => '',
'containsText' => [
'text' => '{{печать}}',
'matchCase' => true
]
],
];
//Заменяем слово пустотой
$batchUpdateRequest = new \Google_Service_Docs_BatchUpdateDocumentRequest(['requests' => $requests]);
$service->documents->batchUpdate(DOCUMENT_ID, $batchUpdateRequest);
$requests = [];
$requests[] = new \Google_Service_Docs_Request(array(
'insertInlineImage' => array(
'uri' => 'https://drive.google.com/uc?id=' . IMAGE_ID, //Вставляем картинку которая была загружена в гугл-диск
'location' => array(
'index' => $startIndex, //Наша стартовая позиция
),
'objectSize' => array(
'height' => array(
'magnitude' => 100,
'unit' => 'PT',
),
'width' => array(
'magnitude' => 100,
'unit' => 'PT',
),
)
)
));
//Вставляем изображение
$batchUpdateRequest = new \Google_Service_Docs_BatchUpdateDocumentRequest(['requests' => $requests]);
$service->documents->batchUpdate(DOCUMENT_ID, $batchUpdateRequest);
}