Cómo agregar formas y texto a una diapositiva

Cada diapositiva de una presentación puede contener varios elementos de página y cada uno de estos puede ser:

En esta página, se hace hincapié en la manera de agregar formas a una diapositiva y texto a estas formas.

Formas

Una forma es un elemento de página, como un rectángulo, un arco, una flecha, un cuadro de texto u otro tipo de figura definido. Cuando se crea una forma, se especifica lo siguiente:

La propiedad de página transform define la manera en que la forma se representa en la página, incluidos la ubicación y el ajuste de escala. Para obtener más información sobre las transformaciones, consulta Dimensionamiento y posicionamiento de elementos de página.

Texto y formas

El texto puede aparecer en una diapositiva de dos maneras:

  • dentro de una forma
  • dentro de una tabla

El texto se inserta en una celda de forma o tabla usando la solicitud insertText.

Ejemplo

En el siguiente ejemplo, se agrega un cuadro de texto de forma cuadrada a una diapositiva existente y se inserta texto en él.

Java

// Create a new square text box, using a supplied object ID.
List<Request> requests = new ArrayList<>();
String textBoxId = "MyTextBox_01";
Dimension pt350 = new Dimension().setMagnitude(350.0).setUnit("PT");
requests.add(new Request()
        .setCreateShape(new CreateShapeRequest()
                .setObjectId(textBoxId)
                .setShapeType("TEXT_BOX")
                .setElementProperties(new PageElementProperties()
                        .setPageObjectId(slideId)
                        .setSize(new Size()
                                .setHeight(pt350)
                                .setWidth(pt350))
                        .setTransform(new AffineTransform()
                                .setScaleX(1.0)
                                .setScaleY(1.0)
                                .setTranslateX(350.0)
                                .setTranslateY(100.0)
                                .setUnit("PT")))));

// Insert text into the box, using the object ID given to it.
requests.add(new Request()
        .setInsertText(new InsertTextRequest()
                .setObjectId(textBoxId)
                .setInsertionIndex(0)
                .setText("New Box Text Inserted")));

// Execute the requests.
BatchUpdatePresentationRequest body =
        new BatchUpdatePresentationRequest().setRequests(requests);
BatchUpdatePresentationResponse response =
        slidesService.presentations().batchUpdate(presentationId, body).execute();
CreateShapeResponse createShapeResponse = response.getReplies().get(0).getCreateShape();
System.out.println("Created textbox with ID: " + createShapeResponse.getObjectId());

Python

# Create a new square textbox, using the supplied element ID.
element_id = 'MyTextBox_01'
pt350 = {
    'magnitude': 350,
    'unit': 'PT'
}
requests = [
    {
        'createShape': {
            'objectId': element_id,
            'shapeType': 'TEXT_BOX',
            'elementProperties': {
                'pageObjectId': page_id,
                'size': {
                    'height': pt350,
                    'width': pt350
                },
                'transform': {
                    'scaleX': 1,
                    'scaleY': 1,
                    'translateX': 350,
                    'translateY': 100,
                    'unit': 'PT'
                }
            }
        }
    },

    # Insert text into the box, using the supplied element ID.
    {
        'insertText': {
            'objectId': element_id,
            'insertionIndex': 0,
            'text': 'New Box Text Inserted!'
        }
    }
]

# Execute the request.
body = {
    'requests': requests
}
response = slides_service.presentations().batchUpdate(presentationId=presentation_id,
                                                      body=body).execute()
create_shape_response = response.get('replies')[0].get('createShape')
print('Created textbox with ID: {0}'.format(create_shape_response.get('objectId')))

PHP

// Create a new square textbox, using the supplied element ID.
$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' => 1,
        'scaleY' => 1,
        'translateX' => 350,
        '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' => 'New Box Text Inserted!'
  )
));

// Execute the requests.
$batchUpdateRequest = new Google_Service_Slides_BatchUpdatePresentationRequest(array(
  'requests' => $requests
));
$response = $slidesService->presentations->batchUpdate($presentationId, $batchUpdateRequest);
$createShapeResponse = $response->getReplies()[0]->getCreateShape();
printf("Created textbox with ID: %s\n", $createShapeResponse->getObjectId());

Para obtener más información sobre la manera de controlar el tamaño y la posición de las formas, consulta Modificar el tamaño y la posición de las formas.

Enviar comentarios sobre…