Một ứng dụng hữu ích của API Google Trang trình bày là hợp nhất thông tin từ một hoặc nhiều nguồn dữ liệu vào một bản trình bày theo mẫu.
Trang này trình bày cách bạn có thể lấy dữ liệu từ một nguồn bên ngoài và chèn dữ liệu đó vào một bản trình bày mẫu hiện có. Khái niệm này tương tự như khái niệm hợp nhất thư sử dụng trình xử lý văn bản và bảng tính.
Có một vài lý do khiến phương pháp này hữu ích:
Nhà thiết kế có thể dễ dàng tinh chỉnh thiết kế của bản trình bày bằng cách sử dụng trình chỉnh sửa Google Trang trình bày. Cách này dễ dàng hơn nhiều so với việc điều chỉnh các tham số trong ứng dụng để thiết lập thiết kế trang trình bày được kết xuất.
Việc tách nội dung khỏi bản trình bày là nguyên tắc thiết kế nổi tiếng với nhiều lợi ích.
Một công thức cơ bản
Sau đây là ví dụ về cách bạn có thể sử dụng API Trang trình bày để hợp nhất dữ liệu vào một bản trình bày:
Tạo bản trình bày như bạn muốn bằng cách sử dụng nội dung phần giữ chỗ để giúp bạn thiết kế.
Đối với mỗi phần tử nội dung bạn sẽ chèn, hãy thay thế nội dung phần giữ chỗ bằng một thẻ. Thẻ là các hộp văn bản hoặc hình dạng có một chuỗi duy nhất. Hãy nhớ sử dụng các chuỗi ít có khả năng xảy ra bình thường. Ví dụ:
{{account-holder-name}}
có thể là một thẻ phù hợp.Trong mã của bạn, hãy sử dụng API Google Drive để tạo bản sao của bản trình bày.
Trong mã của bạn, hãy sử dụng phương thức
batchUpdate
của API Trang trình bày, với một tập hợp các yêu cầureplaceAllText
, để thực hiện tất cả việc thay thế văn bản trong suốt bản trình bày. Sử dụng các yêu cầureplaceAllShapesWithImage
để thực hiện việc thay thế hình ảnh trong suốt quá trình trình bày.
Sau khi tạo một bản trình bày có chứa thẻ, hãy nhớ tạo bản sao và sử dụng API Trang trình bày để thao tác với bản sao đó. Đừng sử dụng API Trang trình bày để thao tác với bản sao "mẫu" chính của bạn!
Các phần sau bao gồm các đoạn mã minh hoạ một số quy trình này. Bạn cũng có thể xem video trên để biết một ví dụ hoàn chỉnh (Python) kết hợp một số khái niệm từ các phần riêng lẻ bên dưới.
Hợp nhất văn bản
Bạn có thể sử dụng yêu cầu replaceAllText
để thay thế mọi bản sao của một chuỗi văn bản nhất định trong bản trình bày bằng văn bản mới. Đối với việc hợp nhất, việc này đơn giản hơn so với việc tìm và thay thế từng phiên bản văn bản riêng lẻ. Một lý do khiến đây là phương pháp tinh vi nhất là khó dự đoán mã phần tử trang, đặc biệt là khi cộng tác viên tinh chỉnh và duy trì bản trình bày mẫu.
Ví dụ:
Ví dụ này sử dụng API Drive để sao chép một bản trình bày mẫu, tạo một thực thể mới của bản trình bày. Sau đó, API này sử dụng API Google Trang tính để đọc dữ liệu từ một bảng tính Trang tính và cuối cùng sử dụng API Trang trình bày để cập nhật bản trình bày mới.
Ví dụ này lấy dữ liệu từ 3 ô trong một hàng của dải ô được đặt tên trong bảng tính. Sau đó, phương thức này sẽ thay thế dữ liệu đó vào bản trình bày ở bất cứ nơi nào các chuỗi {{customer-name}}
, {{case-description}}
hoặc {{total-portfolio}}
xuất hiện.
Apps Script
Go
Java
JavaScript
Node.js
1.199
Python
Ruby
Hợp nhất hình ảnh
Bạn cũng có thể hợp nhất hình ảnh vào bản trình bày bằng cách sử dụng yêu cầu replaceAllShapesWithImage
. Yêu cầu này thay thế tất cả các bản sao của hình dạng chứa chuỗi văn bản được cung cấp bằng hình ảnh được cung cấp. Yêu cầu này sẽ tự động đặt và điều chỉnh tỷ lệ hình ảnh cho vừa với giới hạn của hình dạng thẻ trong khi vẫn giữ nguyên tỷ lệ khung hình của hình ảnh.
Ví dụ:
Ví dụ này sử dụng API Google Drive để sao chép một bản trình bày mẫu, tạo một thực thể mới của bản trình bày. Sau đó, công cụ này sử dụng API Trang trình bày để tìm mọi hình dạng có văn bản {{company-logo}}
và thay thế bằng hình ảnh biểu trưng của công ty. Yêu cầu này cũng thay thế mọi hình dạng bằng văn bản {{customer-graphic}}
bằng một hình ảnh khác.
Apps Script
Go
Java
JavaScript
Node.js
1.199
Python
Ruby
Thay thế hộp văn bản hoặc các trường hợp hình ảnh cụ thể
Các yêu cầu replaceAllText
và replaceAllShapesWithImage
rất hữu ích trong việc thay thế thẻ trong suốt bản trình bày, nhưng đôi khi bạn chỉ cần thay thế các phần tử theo một tiêu chí khác, chẳng hạn như nằm trên một trang trình bày cụ thể.
Trong những trường hợp này, bạn phải truy xuất mã nhận dạng của các hình dạng thẻ mà bạn muốn thay thế. Để thay thế văn bản, bạn cần xoá văn bản hiện có trong các hình dạng đó rồi chèn văn bản mới (xem phần Chỉnh sửa văn bản ở một hình dạng cụ thể).
Việc thay thế hình ảnh phức tạp hơn. Để hợp nhất trong một hình ảnh, bạn cần phải:
- Lấy mã nhận dạng của hình dạng thẻ.
- Sao chép kích thước và biến đổi thông tin từ thẻ.
- Thêm hình ảnh của bạn vào trang bằng cách sử dụng thông tin về kích thước và biến đổi.
- Xoá hình dạng thẻ.
Bạn có thể phải cẩn thận khi đảm bảo tỷ lệ khung hình của hình ảnh trong khi điều chỉnh tỷ lệ theo kích thước mong muốn, như mô tả trong phần sau. Ngoài ra, hãy xem mẫu này: Thay thế thẻ hình dạng bằng hình ảnh.
Giữ nguyên tỷ lệ khung hình
Khi bạn tạo hình ảnh bằng API Trang trình bày, tỷ lệ phù hợp chỉ dựa trên kích thước hình ảnh chứ không dựa trên kích thước và biến đổi dữ liệu. Dữ liệu kích thước mà bạn cung cấp trong yêu cầu createImage
sẽ được coi là kích thước mong muốn của hình ảnh. API sẽ điều chỉnh tỷ lệ khung hình của hình ảnh cho phù hợp với kích thước mong muốn này, sau đó áp dụng phép biến đổi được cung cấp.
Khi thay thế thẻ bằng một hình ảnh, bạn sẽ duy trì tỷ lệ khung hình của hình ảnh bằng cách đặt kích thước và điều chỉnh theo tỷ lệ của hình ảnh như sau:
- width: được đặt thành tích của
width
vàscaleX
của thẻ - height: đặt thành sản phẩm của
height
vàscaleY
của thẻ - scale_x: đã đặt thành
1
- scale_y: đã đặt thành
1
Điều này khiến API Trang trình bày sẽ vừa với hình ảnh theo kích thước trực quan của thẻ, thay vì kích thước không được điều chỉnh theo tỷ lệ (xem phần Thay thế thẻ hình dạng bằng hình ảnh).
Việc đặt tham số tỷ lệ thành 1
sẽ ngăn việc điều chỉnh tỷ lệ hình ảnh hai lần.
Cách sắp xếp này đảm bảo tỷ lệ khung hình của hình ảnh được giữ nguyên và ngăn hình ảnh vượt quá kích thước của hình dạng thẻ. Hình ảnh có cùng điểm giữa với hình dạng thẻ.
Quản lý mẫu
Đối với các bản trình bày mẫu mà ứng dụng xác định và sở hữu, hãy tạo mẫu bằng một tài khoản riêng đại diện cho ứng dụng. Tài khoản dịch vụ là một lựa chọn phù hợp và tránh được các rắc rối do các chính sách của Google Workspace hạn chế việc chia sẻ.
Khi bạn tạo các bản trình bày từ mẫu, hãy luôn sử dụng thông tin đăng nhập của người dùng cuối. Điều này cho phép người dùng có toàn quyền kiểm soát bản trình bày thu được và ngăn chặn các vấn đề về việc điều chỉnh tỷ lệ liên quan đến giới hạn cho mỗi người dùng trong Google Drive.
Để tạo mẫu bằng tài khoản dịch vụ, hãy thực hiện các bước sau với thông tin đăng nhập của ứng dụng:
- Tạo bản trình bày bằng presentations.create trong API Trang trình bày.
- Cập nhật quyền để cho phép người nhận bản trình bày đọc bằng cách sử dụng permissions.create trong API Drive.
- Cập nhật quyền để cho phép tác giả mẫu ghi vào đó bằng cách sử dụng permissions.create trong API Drive.
- Chỉnh sửa mẫu theo yêu cầu.
Để tạo một bản sao của bản trình bày, hãy thực hiện các bước sau với thông tin đăng nhập của người dùng:
- Tạo bản sao của mẫu bằng cách sử dụng files.copy trong API Drive.
- Thay thế các giá trị bằng presentation.batchUpdate trong API Trang trình bày.