सामान्य लेखन

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 कोड सैंपल में बताया गया है कि DeleteTextRequest PAGE_ELEMENT_ID के बताए गए आकार में मौजूद टेक्स्ट के एक हिस्से को बदलने के लिए, कैसे इस्तेमाल किया जाता है. इसे पूरा करने के लिए, पहले ज़ीरो-आधारित startIndex का इस्तेमाल करके टेक्स्ट को मिटाएं और फिर उस जगह पर नया टेक्स्ट डालें. इस उदाहरण में, मूल टेक्स्ट स्ट्रिंग "मेरा आकार टेक्स्ट: ?" को "मेरा आकार टेक्स्ट: ट्रेपज़ॉइड" से बदल दिया गया है.

इस अनुरोध से सिर्फ़ तय आकार वाले टेक्स्ट पर असर पड़ता है. प्रज़ेंटेशन में हर जगह टेक्स्ट बदलने के लिए, 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
      }
    }
  ]
}