सामान्य लेखन

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

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

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

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

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

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

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

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

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 कोड सैंपल CreateImageRequest तरीके का इस्तेमाल करके, PAGE_ID के बताए गए किसी स्लाइड में इमेज जोड़ने के तरीके के बारे में बताता है. एपीआई, 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 का इस्तेमाल करके टेक्स्ट मिटाएं और फिर उस जगह पर नया टेक्स्ट डालें. इस उदाहरण में, मूल टेक्स्ट स्ट्रिंग "My शेप टेक्स्ट: •?" की जगह "My Size 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
      }
    }
  ]
}