API Google Trang trình bày cho phép bạn thêm và sửa đổi các phần tử trên trang trình bày. Các ví dụ trên trang này cho thấy cách thực hiện các thao tác đọc phổ biến bằng phương thức presentations.batchUpdate.
Các ví dụ này sử dụng các biến sau:
- PRESENTATION_ID – Cho biết nơi bạn cung cấp mã trình bày ID. Bạn có thể tìm thấy giá trị cho mã này từ URL trình bày.
- PAGE_ID – Cho biết nơi bạn cung cấp mã đối tượng trang. Bạn có thể truy xuất giá trị cho mã này từ URL hoặc bằng cách sử dụng yêu cầu đọc API.
- PAGE_ELEMENT_ID – Cho biết nơi bạn cung cấp mã đối tượng phần tử trang. Bạn có thể chỉ định mã này cho các phần tử mà bạn tạo (với một số hạn chế) hoặc cho phép API Trang trình bày tự động tạo một mã. Bạn có thể truy xuất mã phần tử thông qua yêu cầu đọc API.
Các ví dụ này được trình bày dưới dạng yêu cầu HTTP để không phụ thuộc vào ngôn ngữ. Để tìm hiểu cách triển khai bản cập nhật theo lô bằng nhiều ngôn ngữ thông qua các thư viện ứng dụng API của Google, hãy xem bài viết Thêm hình dạng và văn bản.
Thêm hộp văn bản vào trang trình bày
Mã mẫu
presentations.batchUpdate
sau đây cho biết cách sử dụng phương thức
CreateShapeRequest
để thêm một hộp văn bản mới (chứa chuỗi "My Added Text Box") vào một trang trình bày do PAGE_ID chỉ định. Hai yêu cầu được chỉ định trong nội dung yêu cầu – một yêu cầu để tạo hình dạng hộp văn bản (với kích thước và vị trí đã cho) và một yêu cầu để chèn văn bản vào đó.
Yêu cầu đầu tiên chỉ định mã đối tượng ID để sử dụng cho hộp văn bản. Điều này cho phép yêu cầu thứ hai sử dụng mã đó trong cùng một lệnh gọi API, giúp giảm chi phí phát sinh.
Sau đây là giao thức yêu cầu để thêm hộp văn bản vào trang trình bày:
POST https://slides.googleapis.com/v1/presentations/PRESENTATION_ID:batchUpdate
{
"requests": [
{
"createShape": {
"objectId": PAGE_ELEMENT_ID,
"shapeType": "TEXT_BOX",
"elementProperties": {
"pageObjectId": PAGE_ID,
"size": {
"width": {
"magnitude": 150,
"unit": "PT"
},
"height": {
"magnitude": 50,
"unit": "PT"
}
},
"transform": {
"scaleX": 1,
"scaleY": 1,
"translateX": 200,
"translateY": 100,
"unit": "PT"
}
}
}
},
{
"insertText": {
"objectId": PAGE_ELEMENT_ID,
"text": "My Added Text Box",
"insertionIndex": 0
}
}
]
}Thêm hình ảnh vào trang trình bày
Mã mẫu
presentations.batchUpdate
sau đây cho biết cách sử dụng phương thức
CreateImageRequest
để thêm hình ảnh vào một trang trình bày do PAGE_ID chỉ định. API truy xuất hình ảnh bằng IMAGE_URL. Yêu cầu này cũng chia tỷ lệ và định vị hình ảnh trong trang trình bày.
Sau đây là giao thức yêu cầu để thêm hình ảnh vào trang trình bày:
POST https://slides.googleapis.com/v1/presentations/PRESENTATION_ID:batchUpdate
{
"requests": [
{
"createImage": {
"url": IMAGE_URL,
"elementProperties": {
"pageObjectId": PAGE_ID,
"size": {
"width": {
"magnitude": 30,
"unit": "PT"
},
"height": {
"magnitude": 30,
"unit": "PT"
}
},
"transform": {
"scaleX": 1,
"scaleY": 1,
"translateX": 200,
"translateY": 100,
"unit": "PT"
}
}
}
}
]
}Xoá trang hoặc phần tử trang
Mã mẫu sau đây
presentations.batchUpdate
cho biết cách sử dụng phương thức
DeleteObjectRequest
để xoá phần tử trang do PAGE_ELEMENT_ID chỉ định và trang trình bày do PAGE_ID chỉ định bằng hai yêu cầu riêng biệt.
Sau đây là giao thức yêu cầu để xoá trang hoặc phần tử trang:
POST https://slides.googleapis.com/v1/presentations/PRESENTATION_ID:batchUpdate
{
"requests": [
{
"deleteObject": {
"objectId": PAGE_ELEMENT_ID
},
"deleteObject": {
"objectId": PAGE_ID
}
}
]
}Chỉnh sửa văn bản trong một hình dạng được chỉ định
Mã mẫu
presentations.batchUpdate
sau đây cho biết cách sử dụng phương thức
DeleteTextRequest
để thay thế một phần văn bản có trong hình dạng do
PAGE_ELEMENT_IDchỉ định. Để thực hiện việc này, trước tiên, hãy xoá văn bản bằng cách sử dụng startIndex dựa trên 0, sau đó chèn văn bản mới vào vị trí đó. Trong ví dụ này, chuỗi văn bản gốc "My Shape Text: ????" được thay thế bằng "My Shape Text: Trapezoid".
Yêu cầu này chỉ ảnh hưởng đến văn bản trong một hình dạng được chỉ định. Để thay thế văn bản ở mọi nơi
trong bản trình bày, hãy sử dụng
ReplaceAllTextRequest
phương thức.
Sau đây là giao thức yêu cầu để chỉnh sửa văn bản trong một hình dạng được chỉ định:
POST https://slides.googleapis.com/v1/presentations/PRESENTATION_ID:batchUpdate
{ "requests": [ { "deleteText": { "objectId": PAGE_ELEMENT_ID, "textRange": { "type": "FROM_START_INDEX", "startIndex": 15 } } }, { "insertText": { "objectId": PAGE_ELEMENT_ID, "text": "Trapezoid", "insertionIndex": 15 } } ] }
Thay thế thẻ hình dạng bằng hình ảnh
Thẻ là hộp văn bản hoặc hình dạng có tên chuỗi duy nhất, chẳng hạn như "account-holder-name".
Mã mẫu
presentations.batchUpdate
sau đây cho biết cách sử dụng phương thức
CreateImageRequest
để thay thế một thực thể duy nhất của thẻ hình dạng bằng hình ảnh, duy trì
cùng một vị trí và chia tỷ lệ để phù hợp với kích thước của thẻ trong khi vẫn giữ nguyên tỷ lệ khung hình của hình ảnh.
Bạn cũng có thể dùng yêu cầu này để thay thế một hình ảnh bằng hình ảnh khác. Yêu cầu này bao gồm việc thêm hình ảnh mới rồi xoá thẻ.
Phương thức CreateImageRequest chỉ thay thế một hình dạng được chỉ định. Để thay thế các hình dạng thẻ
ở mọi nơi trong bản trình bày, hãy sử dụng
ReplaceAllShapesWithImageRequest
phương thức.
Thẻ hình dạng có các thuộc tính sau
PageElement (bạn có thể tìm thấy các thuộc tính này bằng yêu cầu
presentations.pages.get
):
{
"objectId": PAGE_ELEMENT_ID,
"size": {
"width": {
"magnitude": 3000000,
"unit": "EMU"
},
"height": {
"magnitude": 3000000,
"unit": "EMU"
}
},
"transform": {
"scaleX": 1.13,
"scaleY": 0.62,
"translateX": 4800000,
"translateY": 450000,
"unit": "EMU"
},
"shape": {
"shapeType": "RECTANGLE"
}
}Hình dạng nằm trên trang trình bày do PAGE_ID chỉ định. Để chỉ định
hình ảnh thay thế hình dạng, API sẽ truy xuất hình ảnh bằng
IMAGE_URL. Để giữ nguyên tỷ lệ khung hình của hình ảnh trong khi giới hạn tỷ lệ này ở kích thước của thẻ, phương thức
CreateImageRequest
sẽ đặt cả kích thước hình ảnh thành tích của kích thước thẻ và tỷ lệ, đồng thời
đặt hệ số tỷ lệ hình ảnh thành 1. Để biết thêm thông tin, hãy xem bài viết Giữ nguyên tỷ lệ khung
hình.
Sau đây là giao thức yêu cầu để thay thế thẻ hình dạng bằng hình ảnh:
POST https://slides.googleapis.com/v1/presentations/PRESENTATION_ID:batchUpdate
{
"requests": [
{
"createImage": {
"url": IMAGE_URL,
"elementProperties": {
"pageObjectId": PAGE_ID,
"size": {
"width": {
"magnitude": 3000000 * 1.13,
"unit": "EMU"
},
"height": {
"magnitude": 3000000 * 0.62,
"unit": "EMU"
}
},
"transform": {
"scaleX": 1,
"scaleY": 1,
"translateX": 4800000,
"translateY": 450000,
"unit": "PT"
}
}
}
},
{
"deleteObject": {
"objectId": PAGE_ELEMENT_ID
}
}
]
}