सामान्य लेखन

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

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

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

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

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

presentations.batchUpdate कोड सैंपल दिखाता है कि PAGE_ID से तय की गई किसी स्लाइड में, नया टेक्स्ट बॉक्स (जिसमें "My Added Text Box" स्ट्रिंग शामिल है) जोड़ने के लिए 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
      }
    }
  ]
}

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

टैग, टेक्स्ट बॉक्स या शेप होते हैं. इनका नाम, "account-holder-name" जैसी यूनीक स्ट्रिंग होती है.

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
      }
    }
  ]
}