Viết cơ bản

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 bản trình bày. Chiến lược phát hành đĩa đơn ví dụ trên trang này cho biết cách thực hiện các thao tác đọc phổ biến bằng cách sử dụng presentations.batchUpdate .

Những ví dụ này sử dụng các biến sau:

  • PRESENTATION_ID – Cho biết nơi bạn cung cấp bản trình bày Mã nhận dạng. Bạn có thể khám phá giá trị cho mã nhận dạng này từ URL của bản trình bày.
  • PAGE_ID – Cho biết vị trí bạn cung cấp đối tượng trang Mã nhận dạng. Bạn có thể truy xuất giá trị cho việc 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 trang mã đối tượng phần tử. Bạn có thể chỉ định ID này cho các phần tử 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 trang trình bày. Mã phần tử có thể được truy xuất thông qua yêu cầu đọc API.

Những ví dụ này được trình bày dưới dạng yêu cầu HTTP nhằm đảm bảo trung lập về ngôn ngữ. Để tìm hiểu cách triển khai việc cập nhật theo lô bằng nhiều ngôn ngữ bằng Google API thư viện ứng dụng, hãy xem 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

Nội dung sau đây presentations.batchUpdate mã mẫu cho biết cách sử dụng CreateShapeRequest để thêm một hộp văn bản mới (chứa chuỗi "Hộp văn bản đã thêm của tôi") vào trang trình bày do PAGE_ID chỉ định. Hai yêu cầu được chỉ định trong phần nội dung yêu cầu—một phần để tạo hình dạng hộp văn bản (với kích thước cụ thể và vị trí) và một giây để chèn văn bản vào đó.

Yêu cầu đầu tiên chỉ định đối tượng mã nhận dạng để 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 nó trong cùng một lệnh gọi API, giảm chi phí.

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

Nội dung sau đây presentations.batchUpdate mã mẫu cho biết cách sử dụng CreateImageRequest để thêm hình ảnh vào một trang trình bày do PAGE_ID chỉ định. Chiến lược phát hành đĩa đơn API truy xuất hình ảnh bằng cách sử dụng IMAGE_URL. Yêu cầu này cũng điều chỉnh theo 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

Nội dung sau đây presentations.batchUpdate mã mẫu cho biết cách sử dụng DeleteObjectRequest để xóa 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á một 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 theo hình dạng được chỉ định

Nội dung sau đây presentations.batchUpdate mã mẫu cho biết cách sử dụng DeleteTextRequest để thay thế một phần văn bản ở dạng hình được chỉ định bởi PAGE_ELEMENT_ID. Để thực hiện việc này, trước tiên, hãy xoá văn bản bằng startIndex dựa trên 0 rồi chèn văn bản mới vào vị trí đó. Trong phần này ví dụ: chuỗi văn bản gốc "Văn bản Hình dạng của tôi: ?" được thay thế bằng "Thông tin Văn bản hình dạng: Hình thang".

Yêu cầu này chỉ ảnh hưởng đến văn bản có hình dạng được chỉ định. Để thay thế văn bản ở mọi nơi trong một bản trình bày, hãy sử dụng ReplaceAllTextRequest .

Sau đây là giao thức yêu cầu chỉnh sửa văn bản có 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à các 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ư "tên-chủ-tài-khoản".

Nội dung sau đây presentations.batchUpdate mã mẫu cho biết cách sử dụng CreateImageRequest để thay thế một phiên bản đơn lẻ của thẻ hình dạng bằng một hình ảnh, duy trì ở cùng một vị trí và điều chỉnh tỷ lệ cho phù hợp với kích thước của thẻ mà vẫn giữ nguyên tỷ lệ khung hình.

Bạn cũng có thể dùng yêu cầu để thay thế một hình ảnh bằng một hình ảnh khác. Yêu cầu bao gồm thêm hình ảnh mới và sau đó xoá thẻ.

Phương thức CreateImageRequest chỉ thay thế một hình dạng đã chỉ định. Cách thay thế thẻ ở mọi nơi trong bản trình bày, hãy sử dụng ReplaceAllShapesWithImageRequest .

Thẻ hình dạng có các đặc điểm sau PageElement các thuộc tính (có thể được tìm thấy bằng cách sử dụng presentations.pages.get yêu cầu):

{
  "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 sẽ thay thế hình dạng, API truy xuất hình ảnh bằng cách sử dụng IMAGE_URL. Để duy trì tỷ lệ khung hình của hình ảnh nhưng vẫn giới hạn tỷ lệ khung hình với kích thước của thẻ, CreateImageRequest phương pháp này đặt cả kích thước hình ảnh thành tích của kích thước và tỷ lệ thẻ, và các hệ số tỷ lệ hình ảnh thành 1. Để biết thêm thông tin, hãy xem nội dung Duy trì khía cạ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
      }
    }
  ]
}