gordon_shamway
@gordon_shamway

Как с помощью php можно вставить текст в google презентацию?

Мне нужно через php добавить заголовок и описание в google slide
Я сделал это так
// Создание пустой презентации тут все ок

// добавление слайда к презентации
   private static function addSlide($id,$nameSlide){
        $requests = array();
        $requests[] = new \Google_Service_Slides_Request(
            array(
                'createSlide' => array (
                'objectId' => $nameSlide,
                'insertionIndex' => 0,
                'slideLayoutReference' => array (
                    'predefinedLayout' => 'TITLE_AND_BODY'
                )   
            )
        ));
        $batchUpdateRequest = new \Google_Service_Slides_BatchUpdatePresentationRequest(array(
            'requests' => $requests
        ));
        $response = self::$serviceSlide->presentations->batchUpdate($id, $batchUpdateRequest);
        $createSlideResponse = $response->getReplies()[0]->getCreateSlide();
        $id = $createSlideResponse->getObjectId();
        return $id;

Слайд такого формата
5adf74fb65b25535473929.jpeg
Дальше пробую добавить текст к заголовку
private static function addContentToSlide($presentationId,$pageId,$text){
        $elementId = 'MyTextBox_01';
        $pt350 = array('magnitude' => 350, 'unit' => 'PT');
        $requests = array();
        $requests[] = new \Google_Service_Slides_Request(array(
            'createShape' => array (
                'objectId' => $elementId,
                'shapeType' => 'TEXT_BOX',          
                'elementProperties' => array(
                    'pageObjectId' => $pageId,
                    'size' => array(
                        'height' => $pt350,
                        'width' => $pt350
                    ),
                    'transform' => array(
                        'scaleX' => 10,
                        'scaleY' => 10,
                        'translateX' => 100,
                        'translateY' => 100,
                        'unit' => 'PT'
                    )
                )
            )
        ));
        // Insert text into the box, using the supplied element ID.
        $requests[] = new \Google_Service_Slides_Request(array(
            'insertText' => array(
                'objectId' => $elementId,        
                'insertionIndex' => 0,
                'text' => 'hhhhhhhhhhh'
            )
        ));
        $batchUpdateRequest = new \Google_Service_Slides_BatchUpdatePresentationRequest(array(
            'requests' => $requests
        ));
        $response = self::$serviceSlide->presentations->batchUpdate($presentationId, $batchUpdateRequest);
        $createShapeResponse = $response->getReplies()[0]->getCreateShape();
        printf("Created textbox with ID: %s\n", $createShapeResponse->getObjectId());
    }

Но текст добавляется так
5adf75adc7c8e208280572.jpeg

Как правильно добавить заголовок и описание к google slide?
  • Вопрос задан
  • 49 просмотров
Пригласить эксперта
Ответы на вопрос 1
ivankomolin
@ivankomolin
В коде вы создали shape MyTextBox_01 и добавили в нее текст. И опубликовали все это на слайд.
Вы все правильно сделали. Ваша задача решается именно так.
Только необходимо shape создавать в нужном месте. Почитайте в документации про позиционирование фигур.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
Aitarget Москва
от 100 000 руб.
Pokupo.ru Новосибирск
от 80 000 до 120 000 руб.
169.ru Москва
от 90 000 до 110 000 руб.