बदलाव से जुड़ी कार्रवाइयां

Google Slides API का इस्तेमाल करके, PageElement लाइन बनाए रखते हुए पेज पर (टेक्स्ट बॉक्स, इमेज, टेबल, और बेसिक आकार) दिखाएं सीधे और संरक्षित बिंदु और समानांतर रेखाएं. इन्हें अफ़िनिटी ऑडियंस (एक जैसी पसंद वाले दर्शक) के तौर पर जाना जाता है ट्रांसफ़ॉर्मेशन. यहां दिए गए उदाहरणों में, पेज एलिमेंट में आम तौर पर होने वाले बदलावों को दिखाया गया है इसका इस्तेमाल करके presentations.batchUpdate तरीका.

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

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

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

तीर के आकार का उदाहरण

नीचे दिए गए उदाहरणों के लिए, मान लें कि तीर के आकार वाले पेज का उदाहरण मौजूद है और डेटा को बदलता है (जो presentations.pages.get तरीका अनुरोध). उदाहरण के तौर पर दिए गए आकार में, मेज़रमेंट का इस्तेमाल किया जाता है unit ईएमयू (अंग्रेज़ी मेट्रिक यूनिट) और पॉइंट (पॉइंट).

{
  "objectId": PAGE_ELEMENT_ID,
  "size": {
    "width": {
      "magnitude": 3000000,
      "unit": "EMU"
    },
    "height": {
      "magnitude": 3000000,
      "unit": "EMU"
    }
  },
  "transform": {
    "scaleX": 0.3,
    "scaleY": 0.12,
    "shearX": 0,
    "shearY": 0,
    "translateX": 2000000,
    "translateY":  550000,
    "unit": "EMU"
  },
  "shape": {
    "shapeType": "RIGHT_ARROW"
  }
}

किसी एलिमेंट को दूसरे एलिमेंट के साथ अलाइन करना

नीचे दिए गए presentations.batchUpdate कोड सैंपल, एक ही फ़ाइल में CreateShapeRequest सही जगह पर नई आकृतियां बनाने का तरीका पेज पर उदाहरण के तौर पर दिए गए ऐरो का आकार. दोनों मामलों में, X और Y नए आकार के ऊपरी बाएं कोने के निर्देशांकों की गणना करना ज़रूरी है.

पहले अनुरोध से 100 x 50 पॉइंट का रेक्टैंगल बनता है. इस रेक्टैंगल को बाईं ओर अलाइन किया जाता है तीर के आकार का बॉर्डर, लेकिन 50 पॉइंट (50 * 12,700 = 6,35,000 ईएमयू) पर रखा गया है ऊपर किनारे पर टैप करें. नए आयत का X निर्देशांक होना चाहिए तीर के X निर्देशांक की तरह ही होता है, ताकि इसके बाएं बॉर्डर को अलाइन रखा जा सके. द वाई निर्देशांक तीर के निशान के Y निर्देशांक और 50 pt के बराबर होता है, क्योंकि तीर के ऊपरी हिस्से से दूरी मापी जाती है. आयत के निर्देशांक इस तरह हैं इसलिए:

x" = 2000000 EMU
y" = 550000 + (50 * 12700) = 1185000 EMU

दूसरे अनुरोध पर, 40 पॉइंट चौड़ा सर्कल बनाया जाता है, जिसका हॉरिज़ॉन्टल हिस्सा एक जैसा होता है उदाहरण के तीर के रूप में बीच में रेखा, लेकिन 100 pt (12,70,000 EMU) पर दाईं ओर. सर्कल का X कोऑर्डिनेट, ऐरो का X कोऑर्डिनेट, ऐरो की चौड़ाई, और 100 पॉइंट. सेंटर-लाइन लागू करना नए सर्कल के लिए अलाइनमेंट के लिए दोनों की ऊंचाई को ध्यान में रखना ज़रूरी है तीर और वृत्त. सर्कल का Y निर्देशांक, तीर का Y निर्देशांक है साथ ही, तीर की आधी ऊंचाई घटाकर वृत्त की ऊंचाई का आधा हिस्सा जोड़ा जा सकता है. दोनों मामलों में, ऐरो से जुड़े स्केलिंग फ़ैक्टर को भी ध्यान में रखा जाना चाहिए. क्योंकि वे ऐरो की रेंडर की गई चौड़ाई और ऊंचाई पर असर डालते हैं. सर्कल की इसलिए:

x = 2000000 + (0.3 * 3000000) + (100 * 12700) = 4170000 EMU
y = 550000 + (0.5 * 0.12 * 3000000) - (0.5 * 40 * 12700) = 476000 EMU

किसी एलिमेंट को दूसरे एलिमेंट के साथ अलाइन करने के लिए, अनुरोध प्रोटोकॉल इस तरह का है:

POST https://slides.googleapis.com/v1/presentations/PRESENTATION_ID:batchUpdate
{
  "requests": [
    {
      "createShape": {
        "shapeType": "RECTANGLE",
        "elementProperties": {
          "pageObjectId": PAGE_ID,
          "size": {
            "width": {
              "magnitude": 100,
              "unit": "PT"
            },
            "height": {
              "magnitude": 50,
              "unit": "PT"
            }
          },
          "transform": {
            "scaleX": 1,
            "scaleY": 1,
            "translateX": 2000000,
            "translateY": 1185000,
            "unit": "EMU"
          }
        }
      }
    },
    {
      "createShape": {
        "shapeType": "ELLIPSE",
        "elementProperties": {
          "pageObjectId": PAGE_ID,
          "size": {
            "width": {
              "magnitude": 40,
              "unit": "PT"
            },
            "height": {
              "magnitude": 40,
              "unit": "PT"
            }
          },
          "transform": {
            "scaleX": 1,
            "scaleY": 1,
            "translateX": 4170000,
            "translateY":  476000,
            "unit": "EMU"
          }
        }
      }
    }
  ]
}

किसी एलिमेंट को एक जगह से दूसरी जगह ले जाना

नीचे दिए गए presentations.batchUpdate कोड सैंपल, एक ही फ़ाइल में UpdatePageElementTransformRequest ऐरो के आकार का उदाहरण पेज एलिमेंट का अनुवाद करने का तरीका दो अलग-अलग तरीकों से काम करता है.

बैच में पहला अनुरोध तीर को (X,Y) = (2000000, 150000) पर ले जाता है ईएमयू कोऑर्डिनेट (बिलकुल सही अनुवाद का इस्तेमाल करके applyMode). बैच में दूसरे अनुरोध पर, ऐरो को वहां से आगे ले जाया गया है. इस बार 40,000 EMU हैं दाईं ओर और 35,000 EMU ऊपर की ओर (तुलनात्मक अनुवाद applyMode का इस्तेमाल करके). transformation1 मैट्रिक का इस्तेमाल किया गया है इन्हें एलिमेंट के साइज़ और ओरिएंटेशन में बदलाव से बचने के लिए बनाया गया है.

दोनों अनुरोधों को एक्ज़ीक्यूट करने के बाद, ऐरो का ऊपरी बायां कोना (X,Y) पर बना रहता है = (2040000, 115000) ईएमयू कोऑर्डिनेट.

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

POST https://slides.googleapis.com/v1/presentations/PRESENTATION_ID:batchUpdate
{
  "requests": [
    {
      "updatePageElementTransform": {
        "objectId": PAGE_ELEMENT_ID,
        "applyMode": "ABSOLUTE",
        "transform": {
            "scaleX": 0.3,
            "scaleY": 0.12,
            "translateX": 2000000,
            "translateY":  150000,
            "unit": "EMU"
        }
      }
    },
    {
      "updatePageElementTransform": {
        "objectId": PAGE_ELEMENT_ID,
        "applyMode": "RELATIVE",
        "transform": {
            "scaleX": 1,
            "scaleY": 1,
            "translateX":  40000,
            "translateY": -35000,
            "unit": "EMU"
        }
      }
    }
  ]
}

किसी एलिमेंट को दिखाएं

नीचे दिए गए presentations.batchUpdate कोड सैंपल, एक ही फ़ाइल में UpdatePageElementTransformRequest ऐरो के आकार का उदाहरण पेज एलिमेंट को दिखाने का तरीका पेज पर उसकी जगह बदले बिना, उसके बीच में हॉरिज़ॉन्टल तौर पर या स्केलिंग.

ऐसा करने के लिए बुनियादी जानकारी का इस्तेमाल किया जाता है ट्रांसफ़ॉर्म को एलिमेंट के रेफ़रंस में करें फ़्रेम का इस्तेमाल करें. साफ़ तौर पर कहा जाए, तो रेफ़रंस फ़्रेम शिफ़्ट और रिफ़्लेक्शन को, UpdatePageElementTransformRequest तरीका, लेकिन इन ट्रांसफ़ॉर्मेशन के प्रॉडक्ट का पहले से आकलन करना बेहतर होता है. और फिर उस गुणनफल को एक अनुरोध में लागू करें.

अनुवाद में बदलाव होने पर, तीर के आकार के बीच में जाकर उसे मूल जगह पर ले जाया जाता है और उससे दूर ले जाया जाता है. पैरामीटर वैल्यू को साफ़ तौर पर समझने के लिए, कैलकुलेशन के तौर पर किया जाता है.

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

POST https://slides.googleapis.com/v1/presentations/PRESENTATION_ID:batchUpdate
{
  "requests": [
    {
      "updatePageElementTransform": {
        "objectId": PAGE_ELEMENT_ID,
        "applyMode": "RELATIVE",
        "transform": {
            "scaleX":  1,
            "scaleY":  1,
            "translateX": -2000000 - 0.5 * 0.3  * 3000000,
            "translateY":  -550000 - 0.5 * 0.12 * 3000000,
            "unit": "EMU"
        }
      }
    },
    {
      "updatePageElementTransform": {
        "objectId": PAGE_ELEMENT_ID,
        "applyMode": "RELATIVE",
        "transform": {
            "scaleX": -1,
            "scaleY":  1,
            "unit": "EMU"
        }
      }
    },
    {
      "updatePageElementTransform": {
        "objectId": PAGE_ELEMENT_ID,
        "applyMode": "RELATIVE",
        "transform": {
            "scaleX":  1,
            "scaleY":  1,
            "translateX":  2000000 + 0.5 * 0.3  * 3000000,
            "translateY":   550000 + 0.5 * 0.12 * 3000000,
            "unit": "EMU"
        }
      }
    }
  ]
}

किसी एलिमेंट का साइज़ बदलना

नीचे दिए गए presentations.batchUpdate कोड सैंपल, एक ही फ़ाइल में UpdatePageElementTransformRequest उदाहरण के तौर पर ऐरो के आकार पेज एलिमेंट को 50% स्केल करने का तरीका ज़्यादा चौड़ा और मौजूदा ऊंचाई का सिर्फ़ 80% हिस्सा है. हालांकि, यह तीर के बीच में ही रहेगा उसी स्थिति में हो और इसके ओरिएंटेशन को बनाए रखा हो.

ऐसा बेसिक स्केलिंग का इस्तेमाल करके किया जाता है ट्रांसफ़ॉर्म को एलिमेंट के रेफ़रंस में करें फ़्रेम का इस्तेमाल करें. साफ़ तौर पर कहा जाए, तो रेफ़रंस फ़्रेम शिफ़्ट और स्केलिंग को UpdatePageElementTransformRequest तरीका, लेकिन इन ट्रांसफ़ॉर्मेशन के प्रॉडक्ट का पहले से आकलन करना बेहतर होता है. और फिर उस गुणनफल को एक अनुरोध में लागू करें.

अनुवाद में बदलाव होने पर, तीर के आकार के बीच में जाकर उसे मूल जगह पर ले जाया जाता है और उससे दूर ले जाया जाता है. पैरामीटर वैल्यू को साफ़ तौर पर समझने के लिए, कैलकुलेशन के तौर पर किया जाता है.

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

POST https://slides.googleapis.com/v1/presentations/PRESENTATION_ID:batchUpdate
{
  "requests": [
    {
      "updatePageElementTransform": {
          "objectId": PAGE_ELEMENT_ID,
          "applyMode": "RELATIVE",
          "transform": {
              "scaleX":  1,
              "scaleY":  1,
              "translateX": -2000000 - 0.5 * 0.3  * 3000000,
              "translateY":  -550000 - 0.5 * 0.12 * 3000000,
              "unit": "EMU"
          }
      }
    },
    {
      "updatePageElementTransform": {
        "objectId": PAGE_ELEMENT_ID,
        "applyMode": "RELATIVE",
        "transform": {
            "scaleX": 1.5,
            "scaleY": 0.8,
            "unit": "EMU"
        }
      }
    },
    {
      "updatePageElementTransform": {
        "objectId": PAGE_ELEMENT_ID,
        "applyMode": "RELATIVE",
        "transform": {
            "scaleX":  1,
            "scaleY":  1,
            "translateX":  2000000 + 0.5 * 0.3  * 3000000,
            "translateY":   550000 + 0.5 * 0.12 * 3000000,
            "unit": "EMU"
        }
      }
    }
  ]
}

किसी एलिमेंट को उसके बीच में घुमाएं

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

ऐसा बुनियादी रोटेशन का इस्तेमाल करके किया जाता है ट्रांसफ़ॉर्म को एलिमेंट के रेफ़रंस में करें फ़्रेम का इस्तेमाल करें. साफ़ तौर पर कहा जाए, तो रेफ़रंस फ़्रेम के शिफ़्ट और रोटेशन को तीन अलग-अलग कॉल के साथ दिखाया जाता है UpdatePageElementTransformRequest तरीका, लेकिन इन ट्रांसफ़ॉर्मेशन के प्रॉडक्ट का पहले से आकलन करना बेहतर होता है. और फिर उस गुणनफल को एक ही अनुरोध में लागू करें

अनुवाद में बदलाव होने पर, तीर के आकार के बीच में जाकर उसे मूल जगह पर ले जाया जाता है और उससे दूर ले जाया जाता है. पैरामीटर वैल्यू को साफ़ तौर पर समझने के लिए, कैलकुलेशन के तौर पर किया जाता है.

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

POST https://slides.googleapis.com/v1/presentations/PRESENTATION_ID:batchUpdate
{
  "requests": [
    {
      "updatePageElementTransform": {
          "objectId": PAGE_ELEMENT_ID,
          "applyMode": "RELATIVE",
          "transform": {
              "scaleX":  1,
              "scaleY":  1,
              "translateX": -2000000 - 0.5 * 0.3  * 3000000,
              "translateY":  -550000 - 0.5 * 0.12 * 3000000,
              "unit": "EMU"
          }
      }
    },
    {
      "updatePageElementTransform": {
        "objectId": PAGE_ELEMENT_ID,
        "applyMode": "RELATIVE",
        "transform": {
            "scaleX":  cos(35 * (pi/180)),
            "scaleY":  cos(35 * (pi/180)),
            "shearX":  sin(35 * (pi/180)),
            "shearY": -sin(35 * (pi/180)),
            "unit": "EMU"
        }
      }
    },
    {
      "updatePageElementTransform": {
        "objectId": PAGE_ELEMENT_ID,
        "applyMode": "RELATIVE",
        "transform": {
            "scaleX":  1,
            "scaleY":  1,
            "translateX":  2000000 + 0.5 * 0.3  * 3000000,
            "translateY":   550000 + 0.5 * 0.12 * 3000000,
            "unit": "EMU"
        }
      }
    }
  ]
}