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 theo mẫu hiện có. Khái niệm này tương tự như khái niệm hợp nhất thư bằng trình xử lý văn bản và bảng tính.
Có một số 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 trình chỉnh sửa Google Trang trình bày. Việc 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 để đặt thiết kế trang trình bày được kết xuất.
Tách nội dung khỏi bản trình bày là một nguyên tắc thiết kế nổi tiếng mang lại nhiều lợi ích.
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 theo cách bạn muốn hiển thị bằng nội dung giữ chỗ để giúp bạn thiết kế.
Đối với mỗi thành phần nội dung mà bạn sẽ chèn, hãy thay thế phần giữ chỗ nội dung bằng một thẻ. Thẻ là 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 khó xuất hiện một cách 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
batchUpdatecủ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ả các thao tác thay thế văn bản trong bản trình bày. Sử dụngreplaceAllShapesWithImageyêu cầu để thực hiện các thao tác thay thế hình ảnh trong bản trình bày.
Sau khi tạo một bản trình bày có 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 đó. Khô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 đây 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 để xem một ví dụ hoàn chỉnh (Python) kết hợp một số khái niệm trong 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 replaceAllText
yêu cầu để thay thế tất cả các thực thể 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 thao tác hợp nhất, thao tác này đơn giản hơn so với việc tìm và thay thế từng thực thể văn bản riêng lẻ. Một lý do khiến đây là phương pháp phức tạp nhất là vì khó dự đoán được mã nhận dạng của 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 theo mẫu.
Ví dụ:
Ví dụ này sử dụng API Drive để sao chép bản trình bày theo mẫu, tạo một thực thể mới của bản trình bày. Sau đó, ví dụ 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 một dải ô được đặt tên trong bảng tính. Sau đó, ví dụ này thay thế dữ liệu đó vào bản trình bày ở bất cứ nơi nào xuất hiện các chuỗi {{customer-name}},
{{case-description}}, hoặc
{{total-portfolio}}.
Apps Script
Go
Java
JavaScript
Node.js
PHP
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 yêu cầu a
replaceAllShapesWithImage. Yêu cầu này thay thế tất cả các thực thể 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 tự động định vị và điều chỉnh tỷ lệ hình ảnh cho phù hợp với ranh giới 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 bản trình bày theo mẫu, tạo một thực thể mới của bản trình bày. Sau đó, ví dụ này sử dụng API Trang trình bày để tìm
bất kỳ hình dạng nào có văn bản {{company-logo}}
và thay thế bằng hình ảnh logo công ty. Yêu cầu này cũng thay thế bất kỳ
hình dạng nào có văn bản {{customer-graphic}}
bằng một hình ảnh khác.
Apps Script
Go
Java
JavaScript
Node.js
PHP
Python
Ruby
Thay thế các thực thể hộp văn bản hoặc hình ảnh cụ thể
Các yêu cầu replaceAllText
và replaceAllShapesWithImage
rất hữu ích để thay thế các thẻ trong bản trình bày, nhưng
đôi khi bạn chỉ cần thay thế các thành phần 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ế. Đối với thao tác thay thế văn bản, bạn sẽ 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 mẫu Chỉnh sửa văn bản trong một hình dạng được chỉ định).
Thao tác thay thế hình ảnh phức tạp hơn. Để hợp nhất hình ảnh, bạn cần:
- Lấy mã nhận dạng của hình dạng thẻ.
- Sao chép thông tin về kích thước và chuyển đổi từ thẻ.
- Thêm hình ảnh của bạn vào trang, sử dụng thông tin về kích thước và biến đổi.
- Xoá hình dạng thẻ.
Việc giữ nguyên tỷ lệ khung hình của hình ảnh trong khi điều chỉnh tỷ lệ hình ảnh theo kích thước mong muốn có thể đòi hỏi bạn phải cẩn thận, như mô tả trong phần sau. Bạn cũng có thể 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, các tỷ lệ khung hình chỉ dựa trên kích thước hình ảnh chứ không dựa trên dữ liệu về kích thước và chuyển đổi. Dữ liệu về kích thước mà bạn cung cấp
trong createImage
yêu cầu được coi là kích thước mong muốn của hình ảnh. API này điều chỉnh tỷ lệ khung hình của hình ảnh theo kích thước mong muốn này, sau đó áp dụng phép chuyển đổi được cung cấp.
Khi thay thế thẻ bằng hình ảnh, bạn sẽ giữ nguyên tỷ lệ khung hình của hình ảnh bằng cách đặt kích thước và điều chỉnh tỷ lệ hình ảnh như sau:
- width: đặt thành tích của
widthvàscaleXcủa thẻ - height: đặt thành tích của
heightvàscaleYcủ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 điều chỉnh tỷ lệ khung hình của 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 tỷ lệ (xem
phần Thay thế thẻ hình dạng bằng hình ảnh).
Việc đặt các tham số điều chỉnh tỷ lệ thành 1 sẽ ngăn hình ảnh bị điều chỉnh tỷ lệ hai lần.
Cách sắp xếp này đảm bảo giữ nguyên tỷ lệ khung hình của hình ảnh 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 theo 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 vấn đề phức tạp với các chính sách của Google Workspace hạn chế việc chia sẻ.
Khi tạo thực thể của bản trình bày từ mẫu, hãy luôn sử dụng thông tin xác thực của người dùng cuối. Điều này giúp người dùng kiểm soát hoàn toàn bản trình bày kết quả và ngăn các vấn đề về đ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 bằng thông tin xác thực 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ản trình bày đó bằng permissions.create trong Drive API.
- Cập nhật quyền để cho phép tác giả mẫu ghi vào bản trình bày đó bằng permissions.create trong Drive API.
- Chỉnh sửa mẫu theo yêu cầu.
Để tạo thực thể của bản trình bày, hãy thực hiện các bước sau bằng thông tin xác thực của người dùng:
- Tạo bản sao của mẫu bằng files.copy trong API Drive.
- Thay thế các giá trị bằng presentation.batchUpdate trong API Trang trình bày.