इस पेज में आपको Google Docs API का इस्तेमाल करके, टेक्स्ट को फ़ॉर्मैट करने का तरीका बताया गया है.
फ़ॉर्मैटिंग के बारे में जानकारी
अपने दस्तावेज़ के टेक्स्ट कॉन्टेंट पर दो तरह के फ़ॉर्मैट का इस्तेमाल किया जा सकता है:
- आप वर्ण की फ़ॉर्मैटिंग बदल सकते हैं, जैसे कि फ़ॉन्ट, रंग या अंडरलाइन करना.
- पैराग्राफ़ की फ़ॉर्मैटिंग को बदला जा सकता है, जैसे कि इंडेंट या लाइन के बीच की दूरी.
वर्ण की फ़ॉर्मैटिंग बदलना
कैरेक्टर फ़ॉर्मैटिंग से यह तय होता है कि आपके दस्तावेज़ में टेक्स्ट वर्णों को रेंडर किया जाएगा या नहीं.
लागू किया गया कोई भी फ़ॉर्मैट, पैराग्राफ़ की TextStyle से इनहेरिट की गई डिफ़ॉल्ट फ़ॉर्मैटिंग को बदल देता है. इसके उलट, जिस वर्ण की फ़ॉर्मैटिंग सेट नहीं की जाती वह पैराग्राफ़ की स्टाइल से इनहेरिट किया जाता है.
टेक्स्ट की वर्ण फ़ॉर्मैटिंग बदलने के लिए, UpdateTextStyleRequest के साथ batchUpdate
इस्तेमाल करें.
आपको Range ऑब्जेक्ट देना होगा, जिसमें यह जानकारी शामिल हो:
- एक
segmentId
, जो यह पहचान करता है कि किस हेडर, फ़ुटर, फ़ुटनोट या मुख्य हिस्से में टेक्स्ट शामिल है. startIndex
औरendIndex
, जो फ़ॉर्मैट किए जाने वाले सेगमेंट में टेक्स्ट की रेंज तय करते हैं.
नीचे दिए गए उदाहरण में हेडर में शामिल टेक्स्ट पर कई टेक्स्ट स्टाइलिंग कार्रवाइयां की गई हैं:
- वर्णों के फ़ॉन्ट को 1-5 से बोल्ड इटैलिक पर सेट करता है.
- वर्णों के रंग को 6-10 से
blue
14-पॉइंट टाइम्स न्यू रोमन फ़ॉन्ट पर सेट करता है. - 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()