Google Apps Script की मदद से, प्रोग्राम के हिसाब से Google Docs बनाए और उनमें बदलाव किए जा सकते हैं. साथ ही, नए मेन्यू, डायलॉग बॉक्स, और साइडबार की मदद से यूज़र इंटरफ़ेस को पसंद के मुताबिक बनाया जा सकता है.
बुनियादी बातें
Apps Script, Google Docs के साथ दो मुख्य तरीकों से इंटरैक्ट कर सकती है: कोई भी स्क्रिप्ट, किसी दस्तावेज़ को बना सकती है या उसमें बदलाव कर सकती है. हालांकि, इसके लिए ज़रूरी है कि स्क्रिप्ट के उपयोगकर्ता के पास दस्तावेज़ के लिए ज़रूरी अनुमतियां हों. इसके अलावा, किसी स्क्रिप्ट को किसी दस्तावेज़ से बाउंड भी किया जा सकता है. इससे स्क्रिप्ट को यूज़र इंटरफ़ेस में बदलाव करने या दस्तावेज़ खोले जाने पर जवाब देने की खास सुविधाएं मिलती हैं. Google Docs में कंटेनर से जुड़ी स्क्रिप्ट बनाने के लिए, एक्सटेंशन > Apps Script पर क्लिक करें.
इन दोनों ही मामलों में, Apps Script की Document Service का इस्तेमाल करके, Google Docs दस्तावेज़ के साथ आसानी से इंटरैक्ट किया जा सकता है. यहां दिए गए उदाहरण में इसे दिखाया गया है.
function createDoc() { var doc = DocumentApp.create('Sample Document'); var documentTab = doc.getTab('t.0').asDocumentTab(); var body = documentTab.getBody(); var rowsData = [['Plants', 'Animals'], ['Ficus', 'Goat'], ['Basil', 'Cat'], ['Moss', 'Frog']]; body.insertParagraph(0, doc.getName()) .setHeading(DocumentApp.ParagraphHeading.HEADING1); table = body.appendTable(rowsData); table.getRow(0).editAsText().setBold(true); }
ऊपर दी गई स्क्रिप्ट, उपयोगकर्ता के Google Drive में एक नया दस्तावेज़ बनाती है. इसके बाद, यह t.0
आईडी वाला टैब (डिफ़ॉल्ट रूप से पहला टैब) वापस लाती है. साथ ही, एक ऐसा पैराग्राफ़ डालती है जिसमें दस्तावेज़ के नाम वाला टेक्स्ट होता है. यह उस पैराग्राफ़ को हेडिंग के तौर पर स्टाइल करती है और दो डाइमेंशन वाले ऐरे में मौजूद वैल्यू के आधार पर एक टेबल जोड़ती है. स्क्रिप्ट, मौजूदा दस्तावेज़ में भी आसानी से ये बदलाव कर सकती है. इसके लिए, उसे DocumentApp.create()
को DocumentApp.openById()
या openByUrl()
से बदलना होगा.
किसी दस्तावेज़ (कंटेनर से जुड़ी स्क्रिप्ट) में बनाई गई स्क्रिप्ट के लिए, DocumentApp.getActiveDocument()
और Document.getActiveTab()
का इस्तेमाल करें.
दस्तावेज़ का स्ट्रक्चर
Apps Script के हिसाब से, Google Docs दस्तावेज़ का स्ट्रक्चर, एचटीएमएल दस्तावेज़ की तरह होता है. इसका मतलब है कि दस्तावेज़ में एक या उससे ज़्यादा Tab
ऑब्जेक्ट होते हैं. इनमें से हर ऑब्जेक्ट में ऐसे एलिमेंट होते हैं (जैसे कि Paragraph
या Table
) जिनमें अक्सर अन्य एलिमेंट होते हैं. Google Docs दस्तावेज़ में बदलाव करने वाली ज़्यादातर स्क्रिप्ट, getTab()
और asDocumentTab()
कॉल से शुरू होती हैं. इसके बाद, getBody()
कॉल किया जाता है. ऐसा इसलिए, क्योंकि Body
एक मुख्य एलिमेंट है. इसमें टैब के HeaderSection
, FooterSection
, और Footnotes
को छोड़कर, टैब के सभी एलिमेंट शामिल होते हैं.
हालांकि, इस बारे में नियम हैं कि किस तरह के एलिमेंट में दूसरे टाइप के एलिमेंट शामिल किए जा सकते हैं. इसके अलावा, Apps Script में मौजूद Document Service, सिर्फ़ कुछ तरह के एलिमेंट को दूसरे एलिमेंट में डाल सकती है. नीचे दिए गए ट्री से पता चलता है कि किसी खास तरह के एलिमेंट में कौनसे एलिमेंट शामिल किए जा सकते हैं.
बोल्ड किए गए एलिमेंट डाले जा सकते हैं. बोल्ड नहीं किए गए एलिमेंट को सिर्फ़ उसी जगह पर बदला जा सकता है.
- दस्तावेज़
- टैब
- DocumentTab
- Body
- ListItem
- पैराग्राफ़
- टेबल
- TableRow
- TableCell
- पैराग्राफ़...
- ListItem...
- Table...
- TableCell
- TableRow
- TableOfContents
- पैराग्राफ़...
- ListItem...
- टेबल...
- HeaderSection
- ListItem
- HorizontalRule
- InlineDrawing
- InlineImage
- लेख
- UnsupportedElement (पेज नंबर वगैरह)
- पैराग्राफ़
- HorizontalRule
- InlineDrawing
- InlineImage
- लेख
- UnsupportedElement (पेज नंबर वगैरह)
- टेबल
- TableRow
- TableCell
- पैराग्राफ़...
- ListItem...
- Table...
- TableCell
- TableRow
- ListItem
- FooterSection
- ListItem
- HorizontalRule
- InlineDrawing
- InlineImage
- लेख
- UnsupportedElement (पेज नंबर वगैरह)
- पैराग्राफ़
- HorizontalRule
- InlineDrawing
- InlineImage
- लेख
- UnsupportedElement (पेज नंबर वगैरह)
- टेबल
- TableRow
- TableCell
- पैराग्राफ़...
- ListItem...
- Table...
- TableCell
- TableRow
- ListItem
- FootnoteSection
- Body
- DocumentTab
- टैब
टेक्स्ट बदलना
Apps Script का इस्तेमाल अक्सर Google दस्तावेज़ में टेक्स्ट बदलने के लिए किया जाता है. मान लें कि आपके पास क्लाइंट की जानकारी से भरी हुई एक स्प्रेडशीट है और आपको हर क्लाइंट के लिए, उनकी पसंद के मुताबिक Google दस्तावेज़ जनरेट करने हैं. (इस तरह की कार्रवाई को अक्सर मेल मर्ज कहा जाता है.)
टेक्स्ट को बदलने के कई तरीके हैं, लेकिन सबसे आसान तरीका replaceText()
है. इसे नीचे दिए गए उदाहरण में दिखाया गया है. replaceText
, JavaScript की रेगुलर एक्सप्रेशन की ज़्यादातर सुविधाओं के साथ काम करता है. नीचे दिए गए पहले फ़ंक्शन में, Google Docs में प्लेसहोल्डर टेक्स्ट की कई लाइनें जोड़ी गई हैं. असल में, आपको दस्तावेज़ में प्लेसहोल्डर खुद टाइप करने होंगे. दूसरा फ़ंक्शन, प्लेसहोल्डर को client
ऑब्जेक्ट में तय की गई प्रॉपर्टी से बदलता है.
ध्यान दें कि इन दोनों फ़ंक्शन में getActiveDocument()
और getActiveTab()
तरीकों का इस्तेमाल किया जाता है. ये सिर्फ़ Google Docs दस्तावेज़ में बनाई गई स्क्रिप्ट पर लागू होते हैं. स्टैंड-अलोन स्क्रिप्ट में, DocumentApp.create()
, openById()
या openByUrl()
का इस्तेमाल करें. साथ ही, Document.getTab()
का इस्तेमाल करें.
कुछ प्लेसहोल्डर जोड़ना
function createPlaceholders() { var body = DocumentApp.getActiveDocument().getActiveTab().asDocumentTab().getBody(); body.appendParagraph('{name}'); body.appendParagraph('{address}'); body.appendParagraph('{city} {state} {zip}'); }
प्लेसहोल्डर बदलना
function searchAndReplace() { var body = DocumentApp.getActiveDocument().getActiveTab().asDocumentTab().getBody(); var client = { name: 'Joe Script-Guru', address: '100 Script Rd', city: 'Scriptville', state: 'GA', zip: 94043 }; body.replaceText('{name}', client.name); body.replaceText('{address}', client.address); body.replaceText('{city}', client.city); body.replaceText('{state}', client.state); body.replaceText('{zip}', client.zip); }
कस्टम मेन्यू और यूज़र इंटरफ़ेस
Google Docs को अपनी पसंद के मुताबिक बनाया जा सकता है. इसके लिए, मेन्यू, डायलॉग बॉक्स, और साइडबार जोड़े जा सकते हैं. हालांकि, ध्यान रखें कि कोई स्क्रिप्ट सिर्फ़ खुले हुए दस्तावेज़ के मौजूदा इंस्टेंस के यूज़र इंटरफ़ेस (यूआई) के साथ इंटरैक्ट कर सकती है. ऐसा सिर्फ़ तब हो सकता है, जब स्क्रिप्ट दस्तावेज़ से बाइंड हो.
Google Docs में कस्टम मेन्यू और डायलॉग जोड़ने का तरीका जानें. डायलॉग या साइडबार के लिए कस्टम इंटरफ़ेस बनाने के बारे में ज़्यादा जानने के लिए, एचटीएमएल सेवा से जुड़ी गाइड देखें. अगर आपको अपने कस्टम इंटरफ़ेस को ऐड-ऑन के तौर पर पब्लिश करना है, तो स्टाइल गाइड का पालन करें. इससे Google Docs के एडिटर के स्टाइल और लेआउट में एकरूपता बनी रहेगी.
Google Docs के लिए ऐड-ऑन
ऐड-ऑन, Google Docs में काम करते हैं. इन्हें Google Docs के ऐड-ऑन स्टोर से इंस्टॉल किया जा सकता है. अगर आपने Google Docs के लिए कोई स्क्रिप्ट बनाई है और आपको उसे दुनिया के साथ शेयर करना है, तो Apps Script की मदद से अपनी स्क्रिप्ट को ऐड-ऑन के तौर पर पब्लिश किया जा सकता है. इससे अन्य उपयोगकर्ता, ऐड-ऑन स्टोर से उसे इंस्टॉल कर सकते हैं.
Google Docs के लिए ऐड-ऑन बनाने का तरीका जानने के लिए, Docs ऐड-ऑन बनाने के लिए क्विकस्टार्ट गाइड देखें.
ट्रिगर
Google दस्तावेज़ से जुड़ी स्क्रिप्ट, दस्तावेज़ के onOpen
इवेंट का जवाब देने के लिए सिंपल ट्रिगर का इस्तेमाल कर सकती हैं. यह इवेंट तब होता है, जब दस्तावेज़ में बदलाव करने का ऐक्सेस रखने वाला कोई उपयोगकर्ता, उसे Google Docs में खोलता है.
ट्रिगर सेट अप करने के लिए, onOpen()
नाम का फ़ंक्शन लिखें. इस ट्रिगर के उदाहरण के लिए, Google Workspace में कस्टम मेन्यू देखें.
सिंपल ट्रिगर, मेन्यू जोड़ने के लिए काम का होता है. हालांकि, यह Apps Script की ऐसी किसी भी सेवा का इस्तेमाल नहीं कर सकता जिसके लिए अनुमति की ज़रूरत होती है.