टेक्स्ट में बदलाव करना और उसे आकर्षक बनाना

टेक्स्ट रेंज का इस्तेमाल करके, टेक्स्ट में बदलाव किया जा सकता है और स्टाइल में बदलाव किया जा सकता है. इन्हें TextRange टाइप. TextRange किसी आकृति में मौजूद टेक्स्ट के सेगमेंट को दिखाता है या डालें. किसी आकार या तालिका सेल पर getText() को कॉल करने से टेक्स्ट की वह रेंज जिसमें पूरा टेक्स्ट शामिल होता है.

अगर टेक्स्ट के किसी आकार में फ़िट होने के तरीके में बदलाव करने के लिए कोई तरीका इस्तेमाल किया जाता है, तो अपने-आप टेक्स्ट फ़िट होने की कोई सेटिंग आकार पर लागू की गई फ़ाइलें निष्क्रिय हो जाती हैं.

टेक्स्ट रेंज का इस्तेमाल करना

टेक्स्ट रेंज में दो इंडेक्स होते हैं, जो टेक्स्ट के सेगमेंट की सीमा तय करते हैं टेक्स्ट रेंज के तहत कवर किया जाता है: शुरुआती इंडेक्स और एंड इंडेक्स. आपके पास यह तय करने का विकल्प है कि ये इंडेक्स, getStartIndex() और getEndIndex() फ़ंक्शन का इस्तेमाल करते हैं.

किसी टेक्स्ट रेंज का कॉन्टेंट पढ़ने के लिए, asString() या asRenderedString() फ़ंक्शन.

किसी टेक्स्ट रेंज से सबरेंज वापस पाने के लिए, getRange() फ़ंक्शन का इस्तेमाल करें.

नीचे दी गई स्क्रिप्ट पहली स्लाइड पर एक टेक्स्ट बॉक्स बनाती है और उसका टेक्स्ट कॉन्टेंट सेट करती है से "नमस्ते दुनिया!" इसके बाद, यह उस सब-रेंज को हासिल कर लेता है जिसमें सिर्फ़ "नमस्ते" शामिल होता है.

Slides/style/style.gs
try {
  // Get the first slide of active presentation
  const slide = SlidesApp.getActivePresentation().getSlides()[0];
  // Insert shape in the slide with dimensions
  const shape = slide.insertShape(SlidesApp.ShapeType.TEXT_BOX, 100, 200, 300, 60);
  const textRange = shape.getText();
  // Set text in TEXT_BOX
  textRange.setText('Hello world!');
  console.log('Start: ' + textRange.getStartIndex() + '; End: ' +
    textRange.getEndIndex() + '; Content: ' + textRange.asString());
  const subRange = textRange.getRange(0, 5);
  console.log('Sub-range Start: ' + subRange.getStartIndex() + '; Sub-range End: ' +
    subRange.getEndIndex() + '; Sub-range Content: ' + subRange.asString());
} catch (err) {
  // TODO (developer) - Handle exception
  console.log('Failed with an error %s ', err.message);
}

आकार या टेबल सेल के ज़रिए दिखाई जाने वाली टेक्स्ट रेंज में हमेशा पूरा टेक्स्ट शामिल होगा, भले ही टेक्स्ट को शामिल करके मिटा दिया जाए. इसलिए, ऊपर दिए गए उदाहरण से ये लॉग स्टेटमेंट:

Start: 0; End: 13; Content: Hello world!
Start: 0; End: 5; Content: Hello

टेक्स्ट डालना और मिटाना

टेक्स्ट के आकार और टेबल की सेल शामिल करने और मिटाने के लिए, टेक्स्ट की रेंज.

  • insertText() और appendText() की मदद से टेक्स्ट शामिल किया जा सकता है.
  • setText(), टेक्स्ट रेंज के टेक्स्ट को दिए गए टेक्स्ट से बदल देता है.
  • clear(), टेक्स्ट रेंज में से टेक्स्ट को मिटाता है.

नीचे दी गई स्क्रिप्ट में, इन फ़ंक्शन के इस्तेमाल के बारे में बताया गया है:

Slides/style/style.gs
try {
  // Get the first slide of active presentation
  const slide = SlidesApp.getActivePresentation().getSlides()[0];
  // Insert shape in the slide with dimensions
  const shape = slide.insertShape(SlidesApp.ShapeType.TEXT_BOX, 100, 200, 300, 60);
  const textRange = shape.getText();
  textRange.setText('Hello world!');
  textRange.clear(6, 11);
  // Insert text in TEXT_BOX
  textRange.insertText(6, 'galaxy');
  console.log('Start: ' + textRange.getStartIndex() + '; End: ' +
    textRange.getEndIndex() + '; Content: ' + textRange.asString());
} catch (err) {
  // TODO (developer) - Handle exception
  console.log('Failed with an error %s ', err.message);
}

यह स्क्रिप्ट पहली स्लाइड पर एक टेक्स्ट बॉक्स बनाती है और उसका टेक्स्ट कॉन्टेंट सेट करती है से "नमस्ते दुनिया!" इसके बाद, यह 6 से 11 तक के वर्णों को मिटा देता है ("दुनिया"), और "गैलेक्सी" टेक्स्ट डालता है इंडेक्स 6 पर होना चाहिए. ऊपर दिए गए उदाहरण से यह लॉग स्टेटमेंट देखें:

Start: 0; End: 14; Content: Hello galaxy!

खोजें और बदलें

ग्लोबल बनाने के लिए, प्रज़ेंटेशन या पेज पर replaceAllText() फ़ंक्शन का इस्तेमाल करें पूरे प्रज़ेंटेशन या किसी खास पेज पर उसे ढूंढें और बदलें.

TextRange पर find() फ़ंक्शन, रेंज. 'ढूंढें और बदलें' ऐक्शन के लिए, इसे setText() के साथ इस्तेमाल किया जा सकता है या टेबल की सेल में सेव किया जाता है.

पैराग्राफ़, सूची आइटम, और रन

TextRange फ़ंक्शन उपलब्ध कराता है, ताकि टेक्स्ट इकाइयों के काम के कलेक्शन दिखाए जा सकें. इनमें से कुछ फ़ंक्शन में ये शामिल हैं:

  • getParagraphs(),, जो टेक्स्ट रेंज को ओवरलैप करने वाले सभी पैराग्राफ़ उपलब्ध कराता है. ऐप्लिकेशन पैराग्राफ़, टेक्स्ट का एक क्रम है, जो न्यूलाइन वर्ण के साथ खत्म होता है, "\n".
  • getListParagraphs(),, जो मौजूदा टेक्स्ट रेंज में सूची के आइटम दिखाता है.
  • getRuns(),, जो टेक्स्ट रन की जानकारी देता है और टेक्स्ट की मौजूदा रेंज को ओवरलैप करता है. ऐप्लिकेशन टेक्स्ट रन, टेक्स्ट का वह सेगमेंट है जिसमें सभी वर्णों का टेक्स्ट एक जैसा होता है स्टाइल.

टेक्स्ट स्टाइलिंग

टेक्स्ट स्टाइल, आपके प्रज़ेंटेशन में टेक्स्ट के वर्णों को रेंडर करने के तरीके तय करता है, जिसमें फ़ॉन्ट, रंग, और हाइपरलिंक शामिल किया गया है.

किसी टेक्स्ट रेंज का getTextStyle() फ़ंक्शन, एक TextStyle ऑब्जेक्ट देता है. इसका इस्तेमाल टेक्स्ट को शैली में ढालना. TextStyle ऑब्जेक्ट वही टेक्स्ट कवर करता है जो अपने पैरंट TextRange के मुताबिक है.

Slides/style/style.gs
try {
  // Get the first slide of active presentation
  const slide = SlidesApp.getActivePresentation().getSlides()[0];
  // Insert shape in the slide with dimensions
  const shape = slide.insertShape(SlidesApp.ShapeType.TEXT_BOX, 100, 200, 300, 60);
  const textRange = shape.getText();
  // Set text in TEXT_BOX
  textRange.setText('Hello ');
  // Append text in TEXT_BOX
  const insertedText = textRange.appendText('world!');
  // Style the text with url,bold
  insertedText.getTextStyle()
      .setBold(true)
      .setLinkUrl('www.example.com')
      .setForegroundColor('#ff0000');
  const helloRange = textRange.getRange(0, 5);
  console.log('Text: ' + helloRange.asString() + '; Bold: ' + helloRange.getTextStyle().isBold());
  console.log('Text: ' + insertedText.asString() + '; Bold: ' +
    insertedText.getTextStyle().isBold());
  console.log('Text: ' + textRange.asString() + '; Bold: ' + textRange.getTextStyle().isBold());
} catch (err) {
  // TODO (developer) - Handle exception
  console.log('Failed with an error %s ', err.message);
}

ऊपर दिया गया उदाहरण पहले पहली स्लाइड पर एक टेक्स्ट बॉक्स बनाता है और कॉन्टेंट को "नमस्ते" पर भेजें. इसके बाद, इसमें "world!" टेक्स्ट जुड़ जाता है. जोड़ा गया नया टेक्स्ट बोल्ड की गई है, जो www.example.com से लिंक है, और उसका रंग सेट है से लाल रंग में बदल दें.

स्टाइल पढ़ते समय, रेंज में एक से ज़्यादा वैल्यू होने पर फ़ंक्शन शून्य दिखाता है स्टाइल के लिए. इसलिए, ऊपर दिया गया सैंपल ये लॉग स्टेटमेंट बनाता है:

Text: Hello; Bold: false
Text: world!; Bold: true
Text: Hello world!; Bold: null

टेक्स्ट पर कई दूसरी स्टाइल लागू की जा सकती हैं. ज़्यादा जानकारी के लिए ये TextStyle रेफ़रंस दस्तावेज़ में दिए गए हैं.

पैराग्राफ़ स्टाइलिंग

पैराग्राफ़ स्टाइल पूरे पैराग्राफ़ पर लागू होती हैं और इनमें टेक्स्ट अलाइनमेंट और लाइन जैसी चीज़ें शामिल होती हैं के बीच के अंतर पर टैप करें. TextRange में getParagraphStyle() फ़ंक्शन, ParagraphStyle देता है ऑब्जेक्ट का इस्तेमाल करें.

नीचे दिए गए उदाहरण में, पहली स्लाइड में चार के साथ एक टेक्स्ट बॉक्स बनाया गया है पहले तीन पैराग्राफ़ को बीच में अलाइन करता है.

Slides/style/style.gs
try {
  // Get the first slide of active presentation
  const slide = SlidesApp.getActivePresentation().getSlides()[0];
  // Insert shape in the slide with dimensions
  const shape = slide.insertShape(SlidesApp.ShapeType.TEXT_BOX, 50, 50, 300, 300);
  const textRange = shape.getText();
  // Set the text in the shape/TEXT_BOX
  textRange.setText('Paragraph 1\nParagraph2\nParagraph 3\nParagraph 4');
  const paragraphs = textRange.getParagraphs();
  // Style the paragraph alignment center.
  for (let i = 0; i <= 3; i++) {
    const paragraphStyle = paragraphs[i].getRange().getParagraphStyle();
    paragraphStyle.setParagraphAlignment(SlidesApp.ParagraphAlignment.CENTER);
  }
} catch (err) {
  // TODO (developer) - Handle exception
  console.log('Failed with an error %s ', err.message);
}

लिस्ट स्टाइलिंग

ParagraphStyle की तरह, ListStyle का इस्तेमाल सभी पैराग्राफ़ को स्टाइल करने के लिए किया जा सकता है जो पैरंट टेक्स्ट की रेंज को ओवरलैप करते हैं.

Slides/style/style.gs
try {
  // Get the first slide of active presentation
  const slide = SlidesApp.getActivePresentation().getSlides()[0];
  // Insert shape in the slide with dimensions
  const shape = slide.insertShape(SlidesApp.ShapeType.TEXT_BOX, 50, 50, 300, 300);
  // Add and style the list
  const textRange = shape.getText();
  textRange.appendText('Item 1\n')
      .appendText('\tItem 2\n')
      .appendText('\t\tItem 3\n')
      .appendText('Item 4');
  // Preset patterns of glyphs for lists in text.
  textRange.getListStyle().applyListPreset(SlidesApp.ListPreset.DIGIT_ALPHA_ROMAN);
  const paragraphs = textRange.getParagraphs();
  for (let i = 0; i < paragraphs.length; i++) {
    const listStyle = paragraphs[i].getRange().getListStyle();
    console.log('Paragraph ' + (i + 1) + '\'s nesting level: ' + listStyle.getNestingLevel());
  }
} catch (err) {
  // TODO (developer) - Handle exception
  console.log('Failed with an error %s ', err.message);
}

ऊपर दिए गए उदाहरण से पहली स्लाइड पर एक टेक्स्ट बॉक्स बनाया गया है, जिसमें चार पैराग्राफ़ हैं: दूसरा पैराग्राफ़ एक बार इंडेंट किया गया और तीसरा पैराग्राफ़ इंडेंट किया गया दो बार. इसके बाद, यह सभी पैराग्राफ़ पर सूची प्रीसेट को लागू करता है. आखिर में, हर पैराग्राफ़ का नेस्टिंग स्तर लॉग किया गया है. (पैराग्राफ़ का नेस्टिंग स्तर पैराग्राफ़ के टेक्स्ट से पहले टैब की संख्या.) इसलिए ऊपर दी गई स्क्रिप्ट ये लॉग स्टेटमेंट:

Paragraph 1's nesting level: 0
Paragraph 2's nesting level: 1
Paragraph 3's nesting level: 2
Paragraph 4's nesting level: 0