यह पेज आपको Google Docs API का इस्तेमाल करके, टेक्स्ट को फ़ॉर्मैट करने का तरीका बताता है.
फ़ॉर्मैटिंग के बारे में जानकारी
अपने दस्तावेज़ के टेक्स्ट कॉन्टेंट पर, दो तरह के फ़ॉर्मैट लागू किए जा सकते हैं:
- फ़ॉन्ट, रंग या अंडरलाइन जैसी वर्ण फ़ॉर्मैटिंग को बदला जा सकता है.
- पैराग्राफ़ की फ़ॉर्मैटिंग को बदला जा सकता है, जैसे कि इंडेंट या लाइन के बीच की खाली जगह.
वर्ण की फ़ॉर्मैटिंग बदलना
वर्ण फ़ॉर्मैटिंग से आपके दस्तावेज़ में टेक्स्ट के वर्णों की रेंडरिंग तय होती है.
आपकी लागू की गई कोई भी फ़ॉर्मैटिंग, मौजूदा पैराग्राफ़ के TextStyle से इनहेरिट की गई डिफ़ॉल्ट फ़ॉर्मैटिंग को बदल देती है. इसके उलट, जिस वर्ण की फ़ॉर्मैटिंग सेट नहीं की जाती वह पैराग्राफ़ की स्टाइल से इनहेरिट किए जाते हैं.
टेक्स्ट की कैरेक्टर फ़ॉर्मैटिंग बदलने के लिए, UpdateTextStyleRequest के साथ batchUpdate
का इस्तेमाल करें.
आपको एक Range ऑब्जेक्ट उपलब्ध कराना होगा, जिसमें नीचे दी गई जानकारी शामिल होगी:
- ऐसा
segmentId
जो यह बताता है कि हेडर, फ़ुटर, फ़ुटनोट—या अगर जानकारी नहीं दी गई है, तो किस मुख्य हिस्से में टेक्स्ट शामिल है. startIndex
औरendIndex
, जो फ़ॉर्मैट किए जाने वाले सेगमेंट में टेक्स्ट की रेंज तय करते हैं.
इस उदाहरण में, हेडर में मौजूद टेक्स्ट पर टेक्स्ट स्टाइलिंग से जुड़ी कई कार्रवाइयां की गई हैं:
- वर्णों के फ़ॉन्ट को 1 से 5 तक बोल्ड इटैलिक करने के लिए सेट करता है.
- वर्णों के रंग को 6-10 पर
blue
14-pt Times Newआपके फ़ॉन्ट में सेट करता है. - हाइपरलिंक वर्ण 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)) .setFields("bold"))); requests.add(new Request() .setUpdateTextStyle(new UpdateTextStyleRequest() .setRange(new Range() .setStartIndex(6) .setEndIndex(10)) .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)) .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 }, 'textStyle': { 'bold': True, 'italic': True }, 'fields': 'bold,italic' } }, { 'updateTextStyle': { 'range': { 'startIndex': 6, 'endIndex': 10 }, '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 }, '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)) .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)) .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 }, '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 }, '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()