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?
  • Вопрос задан
  • 48 просмотров
Пригласить эксперта
Ответы на вопрос 1
ivankomolin
@ivankomolin
В коде вы создали shape MyTextBox_01 и добавили в нее текст. И опубликовали все это на слайд.
Вы все правильно сделали. Ваша задача решается именно так.
Только необходимо shape создавать в нужном месте. Почитайте в документации про позиционирование фигур.
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы