Google Docs API की मदद से, किसी दस्तावेज़ में टेक्स्ट डाला या मिटाया जा सकता है. टेक्स्ट को एक जगह से दूसरी जगह ले जाने के लिए, दोनों ऑपरेशन की ज़रूरत होती है. इन ऑपरेशन से पहले, कॉन्टेंट का get
होता है.
दस्तावेज़ के किसी भी टैब के सेगमेंट (बॉडी, हेडर, फ़ुटर या फ़ुटनोट) में टेक्स्ट डाला या मिटाया जा सकता है.
टेक्स्ट डालें
किसी दस्तावेज़ में टेक्स्ट डालने के लिए,
documents.batchUpdate
तरीका इस्तेमाल करें. साथ ही, टेक्स्ट और जगह की जानकारी को पेलोड के तौर पर,
InsertTextRequest
शामिल करें.
नीचे दिए गए कोड सैंपल में बताया गया है कि किसी दस्तावेज़ के मुख्य हिस्से में, तय की गई इंडेक्स जगहों पर टेक्स्ट स्ट्रिंग की सीरीज़ कैसे डाली जा सकती है. इस उदाहरण में तीन टारगेट ऑफ़सेट (25, 50, और 75) का इस्तेमाल किया गया है. साथ ही, हर जगह 10 वर्णों की स्ट्रिंग डाली गई है.
List<Request> requests = new ArrayList<>(); requests.add(new Request().setInsertText(new InsertTextRequest() .setText(text1) .setLocation(new Location().setIndex(25).setTabId(TAB_ID)))); requests.add(new Request().setInsertText(new InsertTextRequest() .setText(text2) .setLocation(new Location().setIndex(50).setTabId(TAB_ID)))); requests.add(new Request().setInsertText(new InsertTextRequest() .setText(text3) .setLocation(new Location().setIndex(75).setTabId(TAB_ID)))); BatchUpdateDocumentRequest body = new BatchUpdateDocumentRequest().setRequests(requests); BatchUpdateDocumentResponse response = docsService.documents() .batchUpdate(DOCUMENT_ID, body).execute();
$requests = array(); $requests[] = new Google_Service_Docs_Request(array( 'insertText' => array( 'text' => $text1, 'location' => array( 'index' => 25, 'tabId' => TAB_ID, ), ), 'insertText' => array( 'text' => $text2, 'location' => array( 'index' => 50, 'tabId' => TAB_ID, ), ), 'insertText' => array( 'text' => $text3, 'location' => array( 'index' => 75, 'tabId' => TAB_ID, ), ), )); $batchUpdateRequest = new Google_Service_Docs_BatchUpdateDocumentRequest(array( 'requests' => $requests )); $response = $service->documents->batchUpdate($documentId, $batchUpdateRequest);
requests = [ { 'insertText': { 'location': { 'index': 25, 'tabId': TAB_ID }, 'text': text1 } }, { 'insertText': { 'location': { 'index': 50, 'tabId': TAB_ID }, 'text': text2 } }, { 'insertText': { 'location': { 'index': 75, 'tabId': TAB_ID }, 'text': text3 } }, ] result = service.documents().batchUpdate( documentId=DOCUMENT_ID, body={'requests': requests}).execute()
हर बार टेक्स्ट डालने पर, इंडेक्स की संख्या बढ़ जाती है. इस उदाहरण में, इंडेक्स में किए गए इन बदलावों के नतीजे की पहले से गिनती की जाती है, ताकि बाद में जोड़े गए डेटा को नए और सही ऑफ़सेट पर जोड़ा जा सके. इसलिए, 25, 50, और 75 के मूल टारगेट ऑफ़सेट पर डालने के लिए, असल इंसर्शन इंडेक्स ये हैं:
- पहले इंसर्शन से, ऑफ़सेट 25 पर 10 वर्ण जुड़ते हैं.
- दूसरी बार जोड़े गए टेक्स्ट से, ऑफ़सेट 50+10=60 पर 10 वर्ण जुड़ जाते हैं.
- तीसरे इंसर्शन में, ऑफ़सेट 75+10+10=95 पर 10 वर्ण जोड़े जाते हैं.
टेक्स्ट मिटाएं
किसी दस्तावेज़ से टेक्स्ट मिटाने के लिए, पहले एक ऐसा Range
बनाएं जिसमें मिटाए जाने वाले टेक्स्ट की सीमा तय की गई हो. इसके बाद, documents.batchUpdate
तरीके का इस्तेमाल करें और DeleteContentRangeRequest
शामिल करें.
नीचे दिए गए कोड सैंपल में, किसी दस्तावेज़ के मुख्य हिस्से में इंडेक्स 10 और इंडेक्स 24 के बीच मौजूद टेक्स्ट को मिटाने का तरीका बताया गया है.
List<Request> requests = new ArrayList<>(); requests.add(new Request().setDeleteContentRange( new DeleteContentRangeRequest() .setRange(new Range() .setStartIndex(10) .setEndIndex(24) .setTabId(TAB_ID)) )); BatchUpdateDocumentRequest body = new BatchUpdateDocumentRequest().setRequests(requests); BatchUpdateDocumentResponse response = docsService.documents() .batchUpdate(DOCUMENT_ID, body).execute();
$requests = array(); $requests[] = new Google_Service_Docs_Request(array( 'deleteContentRange' => array( 'range' => array( 'startIndex' => 10, 'endIndex' => 24, 'tabId' => TAB_ID ), ), )); $batchUpdateRequest = new Google_Service_Docs_BatchUpdateDocumentRequest(array( 'requests' => $requests )); $response = $service->documents->batchUpdate($documentId, $batchUpdateRequest);
requests = [ { 'deleteContentRange': { 'range': { 'startIndex': 10, 'endIndex': 24, 'tabId': TAB_ID } } }, ] result = service.documents().batchUpdate( documentId=DOCUMENT_ID, body={'requests': requests}).execute()
पीछे से लिखकर, चीज़ों को आसान बनाएं. टेक्स्ट जोड़ने की तरह ही, टेक्स्ट मिटाने से भी सेगमेंट में "नीचे" मौजूद सभी टेक्स्ट के इंडेक्स में बदलाव होता है. फिर से, बैकवर्ड लिखने से इंडेक्स को मैनेज करना आसान हो सकता है.
टेक्स्ट को एक जगह से दूसरी जगह ले जाना
टेक्स्ट को एक जगह से दूसरी जगह ले जाने के लिए, उसे एक जगह से मिटाएं और फिर दूसरी जगह डालें. कॉन्टेंट मिटाने पर, आपको उसकी कॉपी नहीं मिलती. इसमें क्लिपबोर्ड जैसा कोई कॉन्सेप्ट नहीं है. इसलिए, आपको पहले रेंज का कॉन्टेंट निकालना होगा, ताकि आप उसे टेक्स्ट डालने के अनुरोध में इस्तेमाल कर सकें.
मिलते-जुलते विषय
- दस्तावेज़ बनाना और मैनेज करना
- किसी दस्तावेज़ में टेक्स्ट मर्ज करना
- Google Docs दस्तावेज़ का स्ट्रक्चर