सामान्य लेखन

Google Slides API की मदद से, प्रज़ेंटेशन पेजों पर एलिमेंट जोड़े जा सकते हैं और उनमें बदलाव किए जा सकते हैं. इस पेज पर दिए गए उदाहरणों से पता चलता है कि presentations.batchUpdate वाले तरीके का इस्तेमाल करके, आम तौर पर डेटा पढ़ने के कौनसे तरीके अपनाए जा सकते हैं.

इन उदाहरणों में इन वैरिएबल का इस्तेमाल किया गया है:

  • PRESENTATION_ID—इससे पता चलता है कि प्रज़ेंटेशन आईडी कहां दिया जाता है. प्रज़ेंटेशन के यूआरएल से, इस आईडी की वैल्यू देखी जा सकती है.
  • PAGE_ID—यह बताता है कि पेज ऑब्जेक्ट का आईडी कहां दिया जाता है. इसके लिए, यूआरएल से या एपीआई रीड रिक्वेस्ट का इस्तेमाल करके वैल्यू हासिल की जा सकती है.
  • PAGE_ELEMENT_ID—इससे पता चलता है कि पेज एलिमेंट ऑब्जेक्ट का आईडी कहां दिया जाता है. आपके पास, अपने बनाए गए एलिमेंट के लिए यह आईडी तय करने का विकल्प है. हालांकि, इसके लिए कुछ पाबंदियां लागू होती हैं. इसके अलावा, Slides API को अपने-आप आईडी बनाने की अनुमति भी दी जा सकती है. एलिमेंट आईडी को एपीआई के रीड रिक्वेस्ट की मदद से पाया जा सकता है.

ये उदाहरण, एचटीटीपी अनुरोधों के तौर पर दिए गए हैं, ताकि किसी भी भाषा में अनुरोध किया जा सके. Google API क्लाइंट लाइब्रेरी का इस्तेमाल करके, अलग-अलग भाषाओं में एक साथ कई बदलाव करने का तरीका जानने के लिए, आकार और टेक्स्ट जोड़ना लेख पढ़ें.

स्लाइड में टेक्स्ट बॉक्स जोड़ना

यहां दिए गए presentations.batchUpdate कोड सैंपल में, PAGE_ID से तय की गई स्लाइड में नया टेक्स्ट बॉक्स जोड़ने के लिए, CreateShapeRequest तरीके का इस्तेमाल करने का तरीका बताया गया है. इस टेक्स्ट बॉक्स में "मेरा जोड़ा गया टेक्स्ट बॉक्स" स्ट्रिंग शामिल है. अनुरोध के मुख्य हिस्से में दो अनुरोध बताए गए हैं—एक, टेक्स्ट बॉक्स का आकार बनाने के लिए (तय किए गए साइज़ और जगह के साथ) और दूसरा, उसमें टेक्स्ट डालने के लिए.

पहला अनुरोध, टेक्स्ट बॉक्स के लिए इस्तेमाल किए जाने वाले ऑब्जेक्ट आईडी की जानकारी देता है. इससे दूसरे अनुरोध को उसी एपीआई कॉल में इसका इस्तेमाल करने की अनुमति मिलती है, जिससे ओवरहेड कम हो जाता है.

स्लाइड में टेक्स्ट बॉक्स जोड़ने के लिए, अनुरोध का प्रोटोकॉल यहां दिया गया है:

POST https://slides.googleapis.com/v1/presentations/PRESENTATION_ID:batchUpdate
{
  "requests": [
    {
      "createShape": {
        "objectId": PAGE_ELEMENT_ID,
        "shapeType": "TEXT_BOX",
        "elementProperties": {
          "pageObjectId":  PAGE_ID,
          "size": {
            "width": {
              "magnitude": 150,
              "unit": "PT"
            },
            "height": {
              "magnitude": 50,
              "unit": "PT"
            }
          },
          "transform": {
            "scaleX": 1,
            "scaleY": 1,
            "translateX": 200,
            "translateY": 100,
            "unit": "PT"
          }
        }
      }
    },
    {
      "insertText": {
        "objectId": PAGE_ELEMENT_ID,
        "text": "My Added Text Box",
        "insertionIndex": 0
      }
    }
  ]
}

स्लाइड में इमेज जोड़ना

यहां दिए गए presentations.batchUpdate कोड सैंपल में, PAGE_ID से तय की गई स्लाइड में इमेज जोड़ने के लिए, CreateImageRequest तरीके का इस्तेमाल करने का तरीका बताया गया है. एपीआई, IMAGE_URL का इस्तेमाल करके इमेज को वापस लाता है. इस अनुरोध से, स्लाइड में इमेज का स्केल भी तय होता है और उसे सही जगह पर भी रखा जाता है.

स्लाइड में इमेज जोड़ने के लिए, अनुरोध का प्रोटोकॉल यहां दिया गया है:

POST https://slides.googleapis.com/v1/presentations/PRESENTATION_ID:batchUpdate
{
  "requests": [
    {
      "createImage": {
        "url": IMAGE_URL,
        "elementProperties": {
          "pageObjectId":  PAGE_ID,
          "size": {
            "width": {
              "magnitude": 30,
              "unit": "PT"
            },
            "height": {
              "magnitude": 30,
              "unit": "PT"
            }
          },
          "transform": {
            "scaleX": 1,
            "scaleY": 1,
            "translateX": 200,
            "translateY": 100,
            "unit": "PT"
          }
        }
      }
    }
  ]
}

पेज या पेज एलिमेंट मिटाना

यहां दिए गए presentations.batchUpdate कोड सैंपल में, दो अलग-अलग अनुरोधों का इस्तेमाल करके, PAGE_ELEMENT_ID से तय किए गए पेज एलिमेंट और PAGE_ID से तय की गई स्लाइड को मिटाने के लिए, DeleteObjectRequest तरीके का इस्तेमाल करने का तरीका बताया गया है.

किसी पेज या पेज एलिमेंट को मिटाने के लिए, अनुरोध का प्रोटोकॉल यहां दिया गया है:

POST https://slides.googleapis.com/v1/presentations/PRESENTATION_ID:batchUpdate
{
  "requests": [
    {
      "deleteObject": {
        "objectId": PAGE_ELEMENT_ID
      },
      "deleteObject": {
        "objectId":  PAGE_ID
      }
    }
  ]
}

किसी खास आकार में मौजूद टेक्स्ट में बदलाव करना

यहां दिए गए presentations.batchUpdate कोड सैंपल में, PAGE_ELEMENT_ID से तय किए गए आकार में मौजूद टेक्स्ट के किसी हिस्से को बदलने के लिए, DeleteTextRequest तरीके का इस्तेमाल करने का तरीका बताया गया है. ऐसा करने के लिए, पहले शून्य से शुरू होने वाले startIndex का इस्तेमाल करके टेक्स्ट मिटाएं. इसके बाद, उस जगह पर नया टेक्स्ट डालें. इस उदाहरण में, ओरिजनल टेक्स्ट स्ट्रिंग "My Shape Text: ????" को "My Shape Text: Trapezoid" से बदल दिया गया है.

इस अनुरोध का असर सिर्फ़ किसी खास आकार के टेक्स्ट पर पड़ता है. प्रज़ेंटेशन में मौजूद टेक्स्ट को हर जगह बदलने के लिए, ReplaceAllTextRequest वाला तरीका अपनाएं.

किसी खास आकार में टेक्स्ट में बदलाव करने के लिए, अनुरोध का प्रोटोकॉल यहां दिया गया है:

POST https://slides.googleapis.com/v1/presentations/PRESENTATION_ID:batchUpdate
{
  "requests": [
    {
      "deleteText": {
        "objectId": PAGE_ELEMENT_ID,
        "textRange": {
          "type": "FROM_START_INDEX",
          "startIndex": 15
        }
      }
    },
    {
      "insertText": {
        "objectId": PAGE_ELEMENT_ID,
        "text": "Trapezoid",
        "insertionIndex": 15
      }
    }
  ]
}

किसी शेप टैग को इमेज से बदलना

टैग, टेक्स्ट बॉक्स या ऐसे आकार होते हैं जिनका नाम यूनीक स्ट्रिंग होता है, जैसे कि "खाता-धारक-नाम".

यहां दिए गए presentations.batchUpdate कोड सैंपल में, CreateImageRequest तरीके का इस्तेमाल करके, आकार वाले टैग के किसी एक इंस्टेंस को इमेज से बदलने का तरीका बताया गया है. इसमें, इमेज के आसपेक्ट रेशियो को बनाए रखते हुए, टैग के साइज़ में फ़िट करने के लिए, इमेज की पोज़िशन को बनाए रखा गया है और उसे स्केल किया गया है.

इस अनुरोध का इस्तेमाल, एक इमेज को दूसरी इमेज से बदलने के लिए भी किया जा सकता है. अनुरोध में, नई इमेज जोड़ने के बाद टैग मिटाना शामिल है.

CreateImageRequest तरीका, सिर्फ़ किसी खास आकार को बदलता है. प्रज़ेंटेशन में मौजूद सभी जगहों पर टैग आकार बदलने के लिए, ReplaceAllShapesWithImageRequest का इस्तेमाल करें.

शेप टैग में ये PageElement प्रॉपर्टी होती हैं. इन्हें presentations.pages.get अनुरोध का इस्तेमाल करके देखा जा सकता है:

{
  "objectId": PAGE_ELEMENT_ID,
  "size": {
    "width": {
      "magnitude": 3000000,
      "unit": "EMU"
    },
    "height": {
      "magnitude": 3000000,
      "unit": "EMU"
    }
  },
  "transform": {
    "scaleX": 1.13,
    "scaleY": 0.62,
    "translateX": 4800000,
    "translateY":  450000,
    "unit": "EMU"
  },
  "shape": {
    "shapeType": "RECTANGLE"
  }
}

यह आकार, PAGE_ID से तय की गई स्लाइड पर मौजूद है. आकार की जगह इस्तेमाल होने वाली इमेज तय करने के लिए, एपीआई IMAGE_URL का इस्तेमाल करके इमेज को वापस लाता है. CreateImageRequest वाला तरीका, इमेज के आसपेक्ट रेशियो को बनाए रखते हुए, उसे टैग के साइज़ तक सीमित करता है. इसके लिए, इमेज का साइज़, टैग के साइज़ और स्केल के प्रॉडक्ट पर सेट किया जाता है. साथ ही, इमेज के स्केल फ़ैक्टर को 1 पर सेट किया जाता है. ज़्यादा जानकारी के लिए, अस्पेक्ट रेशियो बनाए रखना लेख पढ़ें.

किसी शेप टैग को इमेज से बदलने के लिए, अनुरोध का प्रोटोकॉल यहां दिया गया है:

POST https://slides.googleapis.com/v1/presentations/PRESENTATION_ID:batchUpdate
{
  "requests": [
    {
      "createImage": {
        "url": IMAGE_URL,
        "elementProperties": {
          "pageObjectId":  PAGE_ID,
          "size": {
            "width": {
              "magnitude": 3000000 * 1.13,
              "unit": "EMU"
            },
            "height": {
              "magnitude": 3000000 * 0.62,
              "unit": "EMU"
            }
          },
          "transform": {
            "scaleX": 1,
            "scaleY": 1,
            "translateX": 4800000,
            "translateY": 450000,
            "unit": "PT"
          }
        }
      }
    },
    {
      "deleteObject": {
        "objectId": PAGE_ELEMENT_ID
      }
    }
  ]
}