इस पेज पर, Google Docs API का इस्तेमाल करके टेक्स्ट को फ़ॉर्मैट करने का तरीका बताया गया है.
फ़ॉर्मैटिंग के बारे में जानकारी
अपने दस्तावेज़ के टेक्स्ट कॉन्टेंट पर दो तरह के फ़ॉर्मैट लागू किए जा सकते हैं:
- वर्ण की फ़ॉर्मैटिंग बदली जा सकती है. जैसे, फ़ॉन्ट, रंग या अंडरलाइन.
- पैराग्राफ़ की फ़ॉर्मैटिंग में बदलाव किया जा सकता है. जैसे, इंडेंट या लाइन स्पेसिंग.
वर्ण फ़ॉर्मैटिंग बदलना
वर्ण फ़ॉर्मैट करने की सुविधा से, आपके दस्तावेज़ में टेक्स्ट वर्णों के रेंडर होने का तरीका तय होता है.
आपके लागू किए गए किसी भी फ़ॉर्मैट से, पैराग्राफ़ के TextStyle से इनहेरिट की गई डिफ़ॉल्ट फ़ॉर्मैटिंग बदल जाती है. इसके उलट, जिन वर्णों की फ़ॉर्मैटिंग सेट नहीं की जाती है वे पैराग्राफ़ की स्टाइल से इनहेरिट होते रहते हैं.
टेक्स्ट के वर्ण फ़ॉर्मैट को बदलने के लिए, batchUpdate
का इस्तेमाल UpdateTextStyleRequest के साथ करें.
आपको एक Range ऑब्जेक्ट देना होगा, जिसमें यह जानकारी शामिल हो:
- यह एक
segmentId
है, जो यह बताता है कि टेक्स्ट किस हेडर, फ़ुटर, फ़ुटनोट या मुख्य जानकारी देने वाले सेक्शन में मौजूद है. अगर इसकी जानकारी नहीं दी गई है, तो यह टेक्स्ट मुख्य जानकारी देने वाले सेक्शन में मौजूद होता है. startIndex
औरendIndex
, जो फ़ॉर्मैट किए जाने वाले सेगमेंट में टेक्स्ट की रेंज तय करते हैं.tabId
, जो यह बताता है कि टेक्स्ट किस टैब में मौजूद है.
नीचे दिए गए उदाहरण में, हेडर में मौजूद टेक्स्ट पर टेक्स्ट स्टाइल के कई ऑपरेशन किए गए हैं:
- इससे पहले से मौजूद वर्णों के फ़ॉन्ट को बोल्ड इटैलिक में सेट किया जाता है.
- इससे छठे से दसवें वर्ण का रंग,
blue
14-पॉइंट Times New Roman फ़ॉन्ट में सेट हो जाता है. - 11 से 15 वर्ण को
www.example.com
से हाइपरलिंक करता है.
ऐसा करने का सबसे आसान तरीका है, अनुरोधों की सूची बनाना और फिर एक batchUpdate कॉल का इस्तेमाल करना:
Java
List<Request> requests = new ArrayList<>(); requests.add(new Request().setUpdateTextStyle(new UpdateTextStyleRequest() .setTextStyle(new TextStyle() .setBold(true) .setItalic(true)) .setRange(new Range() .setStartIndex(1) .setEndIndex(5) .setTabId(TAB_ID)) .setFields("bold"))); requests.add(new Request() .setUpdateTextStyle(new UpdateTextStyleRequest() .setRange(new Range() .setStartIndex(6) .setEndIndex(10) .setTabId(TAB_ID)) .setTextStyle(new TextStyle() .setWeightedFontFamily(new WeightedFontFamily() .setFontFamily("Times New Roman")) .setFontSize(new Dimension() .setMagnitude(14.0) .setUnit("PT")) .setForegroundColor(new OptionalColor() .setColor(new Color().setRgbColor(new RgbColor() .setBlue(1.0F) .setGreen(0.0F) .setRed(0.0F))))) .setFields("foregroundColor,weightedFontFamily,fontSize"))); requests.add(new Request() .setUpdateTextStyle(new UpdateTextStyleRequest() .setRange(new Range() .setStartIndex(11) .setEndIndex(15) .setTabId(TAB_ID)) .setTextStyle(new TextStyle() .setLink(new Link() .setUrl("www.example.com"))) .setFields("link"))); BatchUpdateDocumentRequest body = new BatchUpdateDocumentRequest().setRequests(requests); BatchUpdateDocumentResponse response = docsService.documents() .batchUpdate(DOCUMENT_ID, body).execute();
Python
requests = [ { 'updateTextStyle': { 'range': { 'startIndex': 1, 'endIndex': 5, 'tabId': TAB_ID }, 'textStyle': { 'bold': True, 'italic': True }, 'fields': 'bold,italic' } }, { 'updateTextStyle': { 'range': { 'startIndex': 6, 'endIndex': 10, 'tabId': TAB_ID }, 'textStyle': { 'weightedFontFamily': { 'fontFamily': 'Times New Roman' }, 'fontSize': { 'magnitude': 14, 'unit': 'PT' }, 'foregroundColor': { 'color': { 'rgbColor': { 'blue': 1.0, 'green': 0.0, 'red': 0.0 } } } }, 'fields': 'foregroundColor,weightedFontFamily,fontSize' } }, { 'updateTextStyle': { 'range': { 'startIndex': 11, 'endIndex': 15, 'tabId': TAB_ID }, 'textStyle': { 'link': { 'url': 'www.example.com' } }, 'fields': 'link' } } ] result = service.documents().batchUpdate( documentId=DOCUMENT_ID, body={'requests': requests}).execute()
पैराग्राफ़ की फ़ॉर्मैटिंग बदलना
Google Docs API की मदद से, पैराग्राफ़ का फ़ॉर्मैट अपडेट किया जा सकता है. इससे यह तय होता है कि आपके दस्तावेज़ में टेक्स्ट के ब्लॉक कैसे रेंडर किए जाएंगे. इसमें अलाइनमेंट और इंडेंटेशन जैसी सुविधाएं भी शामिल हैं.
आपने जो भी फ़ॉर्मैटिंग लागू की है वह पैराग्राफ़ की स्टाइल से इनहेरिट की गई डिफ़ॉल्ट फ़ॉर्मैटिंग को बदल देती है. इसके उलट, फ़ॉर्मैटिंग की ऐसी कोई भी सुविधा जिसे आपने सेट नहीं किया है वह पैराग्राफ़ स्टाइल से इनहेरिट होती रहती है. पैराग्राफ़ स्टाइल और इनहेरिटेंस के बारे में ज़्यादा जानने के लिए, ParagraphStyle देखें.
नीचे दिए गए उदाहरण में, पैराग्राफ़ के लिए यह फ़ॉर्मैटिंग दी गई है:
- नाम वाली स्टाइल के तौर पर हेडिंग
- ऊपर पसंद के मुताबिक स्पेसिंग
- नीचे पसंद के मुताबिक स्पेस
- पसंद के मुताबिक बायां बॉर्डर
पैराग्राफ़ की फ़ॉर्मैटिंग की बाकी सभी सुविधाएं, नाम वाले स्टाइल से इनहेरिट होती रहेंगी.
Java
List<Request> requests = new ArrayList<>(); requests.add(new Request().setUpdateParagraphStyle(new UpdateParagraphStyleRequest() .setRange(new Range() .setStartIndex(1) .setEndIndex(10) .setTabId(TAB_ID)) .setParagraphStyle(new ParagraphStyle() .setNamedStyleType("HEADING_1") .setSpaceAbove(new Dimension() .setMagnitude(10.0) .setUnit("PT")) .setSpaceBelow(new Dimension() .setMagnitude(10.0) .setUnit("PT"))) .setFields("namedStyleType,spaceAbove,spaceBelow") )); requests.add(new Request().setUpdateParagraphStyle(new UpdateParagraphStyleRequest() .setRange(new Range() .setStartIndex(10) .setEndIndex(20) .setTabId(TAB_ID)) .setParagraphStyle(new ParagraphStyle() .setBorderLeft(new ParagraphBorder() .setColor(new OptionalColor() .setColor(new Color() .setRgbColor(new RgbColor() .setBlue(1.0F) .setGreen(0.0F) .setRed(0.0F) ) ) ) .setDashStyle("DASH") .setPadding(new Dimension() .setMagnitude(20.0) .setUnit("PT")) .setWidth(new Dimension() .setMagnitude(15.0) .setUnit("PT") ) ) ) .setFields("borderLeft") )); BatchUpdateDocumentRequest body = new BatchUpdateDocumentRequest().setRequests(requests); BatchUpdateDocumentResponse response = docsService.documents() .batchUpdate(DOCUMENT_ID, body).execute();
Python
requests = [ { 'updateParagraphStyle': { 'range': { 'startIndex': 1, 'endIndex': 10, 'tabId': TAB_ID }, 'paragraphStyle': { 'namedStyleType': 'HEADING_1', 'spaceAbove': { 'magnitude': 10.0, 'unit': 'PT' }, 'spaceBelow': { 'magnitude': 10.0, 'unit': 'PT' } }, 'fields': 'namedStyleType,spaceAbove,spaceBelow' } }, { 'updateParagraphStyle': { 'range': { 'startIndex': 10, 'endIndex': 20, 'tabId': TAB_ID }, 'paragraphStyle': { 'borderLeft': { 'color': { 'color': { 'rgbColor': { 'blue': 1.0, 'green': 0.0, 'red': 0.0 } } }, 'dashStyle': 'DASH', 'padding': { 'magnitude': 20.0, 'unit': 'PT' }, 'width': { 'magnitude': 15.0, 'unit': 'PT' }, } }, 'fields': 'borderLeft' } } ] result = service.documents().batchUpdate( documentId=DOCUMENT_ID, body={'requests': requests}).execute()