Google Slides API का एक फ़ायदेमंद इस्तेमाल यह है कि इसकी मदद से, एक या उससे ज़्यादा डेटा सोर्स से मिली जानकारी को टेंप्लेट वाले स्लाइड डेक में मर्ज किया जा सकता है.
इस पेज पर, यह तरीका बताया गया है कि बाहरी सोर्स से डेटा लेकर, उसे मौजूदा टेंप्लेट वाले प्रज़ेंटेशन में कैसे डाला जा सकता है. यह तरीका, वर्ड प्रोसेसर और स्प्रेडशीट का इस्तेमाल करके मेल मर्ज करने जैसा है.
इस तरीके का इस्तेमाल करने के कई फ़ायदे हैं:
Google Slides एडिटर का इस्तेमाल करके, डिज़ाइनर आसानी से किसी प्रज़ेंटेशन के डिज़ाइन को बेहतर बना सकते हैं. यह, रेंडर की गई स्लाइड का डिज़ाइन सेट करने के लिए, अपने ऐप्लिकेशन में पैरामीटर को ट्यून करने से कहीं ज़्यादा आसान है.
कॉन्टेंट को प्रज़ेंटेशन से अलग करना, डिज़ाइन का एक जाना-माना सिद्धांत है. इसके कई फ़ायदे हैं.
एक बुनियादी तरीका
यहां एक उदाहरण दिया गया है, जिसमें Slides API का इस्तेमाल करके, डेटा को किसी प्रज़ेंटेशन में मर्ज करने का तरीका बताया गया है:
अपनी पसंद के मुताबिक प्रज़ेंटेशन बनाएं. इसके लिए, प्लेसहोल्डर कॉन्टेंट का इस्तेमाल करें, ताकि आपको डिज़ाइन में मदद मिल सके.
हर उस कॉन्टेंट एलिमेंट के लिए जिसे आपको डालना है, प्लेसहोल्डर कॉन्टेंट की जगह टैग का इस्तेमाल करें. टैग, यूनीक स्ट्रिंग वाले टेक्स्ट बॉक्स या आकार होते हैं. पक्का करें कि ऐसी स्ट्रिंग का इस्तेमाल किया जाए जो आम तौर पर इस्तेमाल नहीं होती हैं. उदाहरण के लिए,
{{account-holder-name}}एक अच्छा टैग हो सकता है.अपने कोड में, प्रज़ेंटेशन की कॉपी बनाने के लिए, Google Drive API का इस्तेमाल करें.
अपने कोड में, Slides API के
batchUpdateतरीके का इस्तेमाल करें. इसके साथ,replaceAllTextके अनुरोधों का सेट इस्तेमाल करें, ताकि पूरे प्रज़ेंटेशन में टेक्स्ट को बदला जा सके. पूरे प्रज़ेंटेशन में इमेज को बदलने के लिए,replaceAllShapesWithImageअनुरोधों का इस्तेमाल करें.
टैग वाला डेक बनाने के बाद, उसकी एक कॉपी ज़रूर बनाएं और कॉपी में बदलाव करने के लिए, Slides API का इस्तेमाल करें. अपनी मुख्य "टेम्प्लेट" कॉपी में बदलाव करने के लिए, Slides API का इस्तेमाल न करें!
यहां दिए गए सेक्शन में, कोड स्निपेट शामिल हैं. इनसे इस प्रोसेस के बारे में पता चलता है. पूरा उदाहरण (Python) देखने के लिए, ऊपर दिया गया वीडियो भी देखा जा सकता है. इसमें, नीचे दिए गए अलग-अलग सेक्शन के कई कॉन्सेप्ट को एक साथ दिखाया गया है.
टेक्स्ट मर्ज करना
किसी प्रज़ेंटेशन में, दी गई टेक्स्ट स्ट्रिंग के सभी इंस्टेंस को नए टेक्स्ट से बदलने के लिए, replaceAllText
अनुरोध का इस्तेमाल किया जा सकता है. मर्ज करने के लिए, टेक्स्ट के हर इंस्टेंस को अलग-अलग ढूंढने और बदलने के बजाय, यह तरीका ज़्यादा आसान है. यह सबसे बेहतर तरीका है, क्योंकि पेज एलिमेंट के आईडी का अनुमान लगाना मुश्किल होता है. खास तौर पर, जब सहयोगी टेंप्लेट वाले प्रज़ेंटेशन को बेहतर बनाते हैं और उसे बनाए रखते हैं.
उदाहरण
इस उदाहरण में, टेंप्लेट वाले प्रज़ेंटेशन की कॉपी बनाने के लिए, Drive API का इस्तेमाल किया गया है. इससे प्रज़ेंटेशन का एक नया इंस्टेंस बनता है. इसके बाद, Sheets स्प्रेडशीट से डेटा पढ़ने के लिए, Google Sheets API का इस्तेमाल किया जाता है. आखिर में, नए प्रज़ेंटेशन को अपडेट करने के लिए, Slides API का इस्तेमाल किया जाता है.
इस उदाहरण में, स्प्रेडशीट में नामांकित श्रेणी की एक पंक्ति में मौजूद तीन सेल से डेटा लिया गया है. इसके बाद, उस डेटा को प्रज़ेंटेशन में उन सभी जगहों पर डाला जाता है जहां
स्ट्रिंग {{customer-name}}, {{case-description}} या
{{total-portfolio}} मौजूद होती हैं.
Apps Script
Go
Java
JavaScript
Node.js
PHP
Python
Ruby
इमेज मर्ज करना
इमेज को अपने प्रज़ेंटेशन में मर्ज भी किया जा सकता है.replaceAllShapesWithImage इस अनुरोध से, दी गई टेक्स्ट स्ट्रिंग वाली सभी आकृतियों को दी गई इमेज से बदल दिया जाता है. अनुरोध, इमेज के आसपेक्ट रेशियो (लंबाई-चौड़ाई का अनुपात) को बनाए रखते हुए, उसे टैग वाली आकृति की सीमाओं के अंदर अपने-आप पोज़िशन करता है और स्केल करता है.
उदाहरण
इस उदाहरण में, टेंप्लेट वाले प्रज़ेंटेशन की कॉपी बनाने के लिए, Google Drive API का इस्तेमाल किया गया है. इससे प्रज़ेंटेशन का एक नया इंस्टेंस बनता है. इसके बाद, Slides API का इस्तेमाल करके, किसी भी आकृति को ढूंढकर
टेक्स्ट के साथ {{company-logo}}
उसे कंपनी के लोगो की इमेज से बदल दिया जाता है. अनुरोध, टेक्स्ट {{customer-graphic}} वाली किसी भी
आकृति को
दूसरी इमेज से भी बदलता है.
Apps Script
Go
Java
JavaScript
Node.js
PHP
Python
Ruby
खास टेक्स्ट बॉक्स या इमेज इंस्टेंस बदलना
The replaceAllText
और replaceAllShapesWithImage
अनुरोध, किसी प्रज़ेंटेशन में मौजूद सभी टैग को बदलने के लिए काम के होते हैं. हालांकि,
कभी-कभी आपको सिर्फ़ उन एलिमेंट को बदलने की ज़रूरत होती है जो किसी अन्य शर्त के मुताबिक हों. जैसे, किसी खास स्लाइड पर मौजूद एलिमेंट.
ऐसे मामलों में, आपको उन टैग वाली आकृतियों के आईडी वापस पाने होंगे जिन्हें आपको बदलना है. टेक्स्ट को बदलने के लिए, उन आकृतियों में मौजूद टेक्स्ट को मिटाएं और फिर नया टेक्स्ट डालें. इसके लिए, किसी तय आकृति में टेक्स्ट में बदलाव करना का सैंपल देखें Edit text in a specified shape.
इमेज को बदलना ज़्यादा मुश्किल होता है. किसी इमेज को मर्ज करने के लिए, आपको ये काम करने होंगे:
- टैग वाली आकृति का आईडी पाएं.
- टैग से साइज़ और ट्रांसफ़ॉर्म की जानकारी कॉपी करें.
- साइज़ और ट्रांसफ़ॉर्म की जानकारी का इस्तेमाल करके, पेज में अपनी इमेज जोड़ें.
- टैग वाली आकृति मिटाएं.
इमेज को मनचाहे साइज़ में स्केल करते समय, उसके आसपेक्ट रेशियो (लंबाई-चौड़ाई का अनुपात) को बनाए रखने के लिए, कुछ बातों का ध्यान रखना पड़ सकता है. इनके बारे में अगले सेक्शन में बताया गया है. यह सैंपल भी देखें: किसी आकृति के टैग को इमेज से बदलना.
आसपेक्ट रेशियो (लंबाई-चौड़ाई का अनुपात) बनाए रखना
Slides API का इस्तेमाल करके इमेज बनाते समय, आसपेक्ट फ़िट सिर्फ़ इमेज के साइज़ पर आधारित होते हैं. ये साइज़ और ट्रांसफ़ॉर्म डेटा पर आधारित नहीं होते. अनुरोध में दिया गया साइज़ डेटा, इमेज का मनचाहा साइज़ माना जाता है.createImage एपीआई, इमेज के आसपेक्ट रेशियो (लंबाई-चौड़ाई का अनुपात) को इस मनचाहे साइज़ के हिसाब से फ़िट करता है. इसके बाद, दिया गया ट्रांसफ़ॉर्म लागू करता है.
किसी टैग को इमेज से बदलते समय, इमेज के आसपेक्ट रेशियो (लंबाई-चौड़ाई का अनुपात) को बनाए रखने के लिए, इमेज का साइज़ और स्केल इस तरह सेट करें:
- width: टैग के
widthऔरscaleXके प्रॉडक्ट पर सेट करें - height: टैग के
heightऔरscaleYके प्रॉडक्ट पर सेट करें - scale_x:
1पर सेट करें - scale_y:
1पर सेट करें
इससे, Slides API, इमेज को
टैग के विज़ुअल साइज़ के हिसाब से आसपेक्ट फ़िट करता है. न कि उसके नॉन-स्केल्ड साइज़ के हिसाब से. इसके लिए,
किसी आकृति के टैग को इमेज से बदलनादेखें.
स्केलिंग पैरामीटर को 1 पर सेट करने से, इमेज को दो बार स्केल होने से रोका जा सकता है.
इस सेटिंग से, इमेज का आसपेक्ट रेशियो (लंबाई-चौड़ाई का अनुपात) बना रहता है. साथ ही, इमेज को टैग वाली आकृति के साइज़ से ज़्यादा बड़ा होने से रोका जा सकता है. इमेज का सेंटर पॉइंट, टैग वाली आकृति के सेंटर पॉइंट जैसा ही होता है.
टेंप्लेट मैनेज करना
टेंप्लेट वाले उन प्रज़ेंटेशन के लिए जिन्हें ऐप्लिकेशन बनाता और मैनेज करता है, ऐप्लिकेशन की ओर से काम करने वाले किसी खास खाते का इस्तेमाल करके टेंप्लेट बनाएं. सेवा खाते एक अच्छा विकल्प हैं. साथ ही, इनसे Google Workspace की उन नीतियों से जुड़ी समस्याएं भी नहीं होती हैं जो शेयर करने पर पाबंदी लगाती हैं.
टेंप्लेट से प्रज़ेंटेशन के इंस्टेंस बनाते समय, हमेशा एंड-यूज़र क्रेडेंशियल का इस्तेमाल करें. इससे, उपयोगकर्ताओं को बनने वाले प्रज़ेंटेशन पर पूरा कंट्रोल मिलता है. साथ ही, Google Drive में हर उपयोगकर्ता के लिए तय की गई सीमाओं से जुड़ी स्केलिंग की समस्याएं नहीं होती हैं.
सेवा खाते का इस्तेमाल करके टेंप्लेट बनाने के लिए, ऐप्लिकेशन क्रेडेंशियल का इस्तेमाल करके यह तरीका अपनाएं:
- Slides API में presentations.create का इस्तेमाल करके, प्रज़ेंटेशन बनाएं.
- Drive API में permissions.create का इस्तेमाल करके, अनुमतियां अपडेट करें, ताकि प्रज़ेंटेशन पाने वाले लोग उसे पढ़ सकें.
- Drive API में permissions.create का इस्तेमाल करके, अनुमतियां अपडेट करें, ताकि टेंप्लेट के लेखक उसमें लिख सकें.
- ज़रूरत के हिसाब से टेंप्लेट में बदलाव करें.
प्रज़ेंटेशन का इंस्टेंस बनाने के लिए, उपयोगकर्ता क्रेडेंशियल का इस्तेमाल करके यह तरीका अपनाएं:
- Drive API में files.copy का इस्तेमाल करके, टेंप्लेट की कॉपी बनाएं.
- Slides API में presentation.batchUpdate का इस्तेमाल करके, वैल्यू बदलें.