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 bản trình bày mẫu hiện có. Khái niệm này tương tự như tính năng hợp nhất thư sử dụ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 cách sử dụ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 để 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à một nguyên tắc thiết kế phổ biến với nhiều lợi ích.
Công thức cơ bản
Dưới đâ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 bản trình bày:
Tạo bản trình bày theo cách 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 mà 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 khó có khả năng xảy ra bình thường. Ví dụ:
{{account-holder-name}}
có thể là một thẻ tốt.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 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ả các hoạt động thay thế văn bản trong toàn bộ 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 toàn bộ bản trình bày.
Sau khi tạo 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 để xử lý bản sao. Đừng sử dụng API Trang trình bày để thao túng 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 để 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ẻ dưới đây.
Hợp nhất văn bản
Bạn có thể sử dụng yêu cầu replaceAllText
để thay thế tất cả các bản sao của một chuỗi văn bản nhất định trong một bản trình bày bằng văn bản mới. Đối với tính năng 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 thực thể của văn bản. Một lý do khiến đây là phương pháp tinh vi nhất là vì mã phần tử trang rất khó dự đoán, đặc biệt là khi các cộng tác viên tinh chỉnh và duy trì việc trình bày mẫu.
Ví dụ:
Ví dụ này sử dụng API Drive để sao chép bản trình bày mẫu, tạo thành phiên bản mới của bản trình bày. Sau đó, công cụ này sử dụng API Google Trang tính để đọc dữ liệu trên một bảng tính rồi mới 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 đó, 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}}
xảy ra.
Apps Script
Go
Java
JavaScript
Node.js
1.199
Python
Ruby
Hợp nhất các 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 replaceAllShapesWithImage
. Yêu cầu này sẽ thay thế tất cả các bản sao 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ẻ mà vẫn duy trì 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 mẫu, tạo thành phiên bản mới của bản trình bày. Sau đó, thư viện 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 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ế các phiên bản 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 cho việc thay thế thẻ trong toàn bộ bản trình bày, nhưng đôi khi bạn chỉ cần thay thế các phần tử theo tiêu chí khác, chẳng hạn như được đặt 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 hình dạng thẻ mà bạn muốn thay thế. Để thay thế văn bản, bạ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 mẫu Chỉnh sửa văn bản trong một hình dạng được chỉ định).
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:
- Lấy mã nhận dạng của hình dạng thẻ.
- Sao chép kích thước và chuyển đổi thông tin từ thẻ.
- Thêm hình ảnh của bạn vào trang, sử dụng thông tin kích thước và biến đổi.
- Xoá hình dạng thẻ.
Bạn có thể phải cẩn trọng khi duy trì 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 đây. 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, chế độ vừa vặn theo khung hình chỉ dựa trên kích thước hình ảnh chứ không dựa trên kích thước và dữ liệu biến đổi. Dữ liệu kích thước mà bạn cung cấp trong yêu cầu createImage
đượ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 với kích thước mong muốn, 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 giữ nguyên tỷ lệ khung hình của hình ảnh bằng cách đặt kích thước và tỷ lệ hình ảnh như sau:
- width: đặt thành tích của
width
vàscaleX
của thẻ - height: đặt thành tích 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 khớp với hình ảnh theo kích thước hình ảnh 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 các tham số tỷ lệ thành 1
sẽ ngăn hình ảnh được điều chỉnh theo tỷ lệ hai lần.
Sự 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 vấn đề với 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 sao của 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 mang lại cho người dùng toàn quyền kiểm soát quá trình trình bày kết quả và ngăn ngừa các vấn đề về việc mở rộng quy mô liên quan đến giới hạn trên 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 đây với thông tin đăng nhập của ứng dụng:
- Tạo một bản trình bày bằng cách sử dụng presentations.create trong API Trang trình bày.
- Cập nhật các quyền để cho phép người nhận bản trình bày đọc bản trình bày bằng cách sử dụng permissions.create trong API Drive.
- Cập nhật các quyền để cho phép tác giả mẫu ghi vào mẫu đó bằ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 đây 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.