टेक्स्ट फ़ॉर्मैट करें

इस पेज पर, Google Docs API का इस्तेमाल करके टेक्स्ट को फ़ॉर्मैट करने का तरीका बताया गया है.

फ़ॉर्मैटिंग के बारे में जानकारी

अपने दस्तावेज़ के टेक्स्ट कॉन्टेंट पर दो तरह के फ़ॉर्मैट लागू किए जा सकते हैं:

  • वर्ण की फ़ॉर्मैटिंग बदली जा सकती है. जैसे, फ़ॉन्ट, रंग या अंडरलाइन.
  • पैराग्राफ़ की फ़ॉर्मैटिंग में बदलाव किया जा सकता है. जैसे, इंडेंट या लाइन स्पेसिंग.

वर्ण की फ़ॉर्मैटिंग बदलना

वर्ण फ़ॉर्मैट करने की सुविधा से, आपके दस्तावेज़ में टेक्स्ट वर्णों के रेंडर होने का तरीका तय होता है.

आपके लागू किए गए किसी भी फ़ॉर्मैट से, पैराग्राफ़ के TextStyle से इनहेरिट की गई डिफ़ॉल्ट फ़ॉर्मैटिंग बदल जाती है. इसके उलट, जिन वर्णों की फ़ॉर्मैटिंग सेट नहीं की जाती है वे पैराग्राफ़ की स्टाइल से इनहेरिट होते रहते हैं.

टेक्स्ट के वर्ण फ़ॉर्मैट को बदलने के लिए, batchUpdate का इस्तेमाल UpdateTextStyleRequest के साथ करें. आपको एक Range ऑब्जेक्ट देना होगा, जिसमें यह जानकारी शामिल हो:

  • यह एक segmentId है, जो यह बताता है कि टेक्स्ट किस हेडर, फ़ुटर, फ़ुटनोट या मुख्य जानकारी देने वाले सेक्शन में मौजूद है. अगर इसकी जानकारी नहीं दी गई है, तो यह टेक्स्ट मुख्य जानकारी देने वाले सेक्शन में मौजूद होता है.
  • startIndex और endIndex, जो फ़ॉर्मैट किए जाने वाले सेगमेंट में टेक्स्ट की रेंज तय करते हैं.
  • एक tabId, जो यह पहचान करता है कि किस टैब में टेक्स्ट है.

नीचे दिए गए उदाहरण में हेडर में शामिल टेक्स्ट पर कई टेक्स्ट स्टाइलिंग कार्रवाइयां की गई हैं:

  • इससे पहले से मौजूद वर्णों के फ़ॉन्ट को बोल्ड इटैलिक में सेट किया जाता है.
  • वर्णों के रंग को 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)
                .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()