উপাদান অপারেশন

গুগল স্লাইডস এপিআই আপনাকে একটি PageElement রিসোর্স তৈরি এবং সম্পাদনা করার সুযোগ দেয়, যার মধ্যে টেক্সট বক্স, ছবি, টেবিল, সাধারণ আকার, লাইন এবং এমবেডেড ভিডিও অন্তর্ভুক্ত। এই পৃষ্ঠার উদাহরণগুলিতে presentations.batchUpdate পদ্ধতি ব্যবহার করে কিছু সাধারণ পেজ এলিমেন্ট অপারেশন দেখানো হয়েছে।

এই উদাহরণগুলিতে নিম্নলিখিত ভেরিয়েবলগুলি ব্যবহার করা হয়েছে:

  • PRESENTATION_ID — এটি নির্দেশ করে যে আপনি প্রেজেন্টেশন আইডি কোথায় প্রদান করবেন। আপনি প্রেজেন্টেশন ইউআরএল (URL) থেকে এই আইডির মানটি পেতে পারেন।
  • PAGE_ID — এটি নির্দেশ করে যে আপনি কোথায় পেজ অবজেক্ট আইডি প্রদান করবেন। আপনি URL থেকে অথবা একটি API রিড রিকোয়েস্ট ব্যবহার করে এর মান পেতে পারেন।
  • PAGE_ELEMENT_ID — এটি নির্দেশ করে যে আপনি কোথায় পেজ এলিমেন্ট অবজেক্ট আইডি প্রদান করবেন। আপনি আপনার তৈরি করা এলিমেন্টগুলোর জন্য ( কিছু সীমাবদ্ধতা সহ) এই আইডি নির্দিষ্ট করে দিতে পারেন অথবা স্লাইডস এপিআই-কে স্বয়ংক্রিয়ভাবে একটি তৈরি করার অনুমতি দিতে পারেন। একটি এপিআই রিড রিকোয়েস্টের মাধ্যমে এলিমেন্ট আইডিগুলো পুনরুদ্ধার করা যায়।

ভাষা নিরপেক্ষতার জন্য এই উদাহরণগুলো HTTP অনুরোধ হিসেবে উপস্থাপন করা হয়েছে। গুগল এপিআই ক্লায়েন্ট লাইব্রেরি ব্যবহার করে বিভিন্ন ভাষায় কীভাবে ব্যাচ আপডেট বাস্তবায়ন করতে হয় তা জানতে, নিম্নলিখিত নির্দেশিকাগুলো দেখুন:

টেক্সট বক্সে একটি বুলেট তালিকা যোগ করুন

নিম্নলিখিত presentations.batchUpdate কোড নমুনাটি দেখায় কিভাবে PAGE_ELEMENT_ID দ্বারা নির্দিষ্ট একটি খালি টেক্সট বক্সে টেক্সট ঢোকানোর জন্য InsertTextRequest পদ্ধতিটি ব্যবহার করতে হয়। এরপর নমুনাটি টেক্সট বক্সের সমস্ত টেক্সটকে একটি বুলেটযুক্ত তালিকায় রূপান্তর করতে CreateParagraphBulletsRequest পদ্ধতিটি ব্যবহার করে। তালিকার আইটেমগুলো \n অক্ষর দ্বারা পৃথক করা হয়, এবং ইন্ডেন্টেশন \t অক্ষর দ্বারা নিয়ন্ত্রিত হয়।

প্রেজেন্টেশন তৈরি করার জন্য অনুরোধ প্রোটোকলটি নিম্নরূপ:

POST https://slides.googleapis.com/v1/presentations/PRESENTATION_ID:batchUpdate
{
  "requests": [
    {
      "insertText": {
        "objectId": PAGE_ELEMENT_ID,
        "text": "My List\n\tItem 1\n\t\tItem 2\n\t\t\tItem 3",
        "insertionIndex": 0
      },
      "createParagraphBullets": {
        "objectId": PAGE_ELEMENT_ID,
        "bulletPreset": "BULLET_ARROW_DIAMOND_DISC",
        "textRange": {
          "type": "ALL"
        }
      }
    }
  ]
}

এই অনুরোধটি এইরকম দেখতে একটি বুলেটযুক্ত তালিকা তৈরি করতে পারে:

বুলেট তালিকা রেসিপির ফলাফল।

স্লাইডে একটি আকৃতি যোগ করুন

নিম্নলিখিত presentations.batchUpdate কোড নমুনাটি দেখায় কিভাবে PAGE_ID দ্বারা নির্দিষ্ট একটি স্লাইডে একটি তরঙ্গ আকৃতি যোগ করতে CreateShapeRequest পদ্ধতিটি ব্যবহার করতে হয়। এই অনুরোধটি আকৃতির ধরন নির্দিষ্ট করে, তারপর স্লাইডে আকৃতিটিকে স্কেল করে এবং তার অবস্থান নির্ধারণ করে। এরপর এটি সেই আকৃতিতে টেক্সট যোগ করার জন্য InsertTextRequest পদ্ধতিটি ব্যবহার করে। অনুরোধটি লাইনের আইডি PAGE_ELEMENT_ID তে সেট করে।

স্লাইডে একটি শেপ যোগ করার জন্য অনুরোধ প্রোটোকলটি নিম্নরূপ:

POST https://slides.googleapis.com/v1/presentations/PRESENTATION_ID:batchUpdate
{
  "requests": [
    {
      "createShape": {
        "objectId": PAGE_ELEMENT_ID,
        "elementProperties": {
          "pageObjectId": PAGE_ID,
          "size": {
            "width": {
              "magnitude": 3000000,
              "unit": "EMU"
            },
            "height": {
              "magnitude": 3000000,
              "unit": "EMU"
            }
          },
          "transform": {
            "scaleX": 0.6807,
            "scaleY": 0.4585,
            "translateX": 6583050,
            "translateY": 1673950,
            "unit": "EMU"
          }
        },
        "shapeType": "WAVE"
      }
    },
    {
      "insertText": {
        "objectId": PAGE_ELEMENT_ID,
        "text": "My Wave Shape",
        "insertionIndex": 0
      }
    }
  ]
}

স্লাইডে একটি ভিডিও যোগ করুন

নিম্নলিখিত presentations.batchUpdate কোড স্যাম্পলটি দেখায় কিভাবে PAGE_ID দ্বারা নির্দিষ্ট একটি স্লাইডে ভিডিও এম্বেড করার জন্য CreateVideoRequest মেথডটি ব্যবহার করতে হয়। এই রিকোয়েস্টটি স্লাইডে ভিডিওটির স্কেল ও অবস্থান নির্ধারণ করে এবং ভিডিওটির আইডি PAGE_ELEMENT_ID তে সেট করে। সোর্স ভিডিওটির অনন্য শনাক্তকারী VIDEO_ID তে সেট করা হয়। উদাহরণস্বরূপ, https://www.youtube.com/watch?v=7U3axjORYZ0 এ থাকা ইউটিউব ভিডিওটির আইডি হলো 7U3axjORYZ0

স্লাইডে ভিডিও যোগ করার অনুরোধ প্রোটোকলটি নিম্নরূপ:

POST https://slides.googleapis.com/v1/presentations/PRESENTATION_ID:batchUpdate
{
  "requests": [
    {
      "createVideo": {
        "objectId": PAGE_ELEMENT_ID,
        "elementProperties": {
          "pageObjectId": PAGE_ID,
          "size": {
            "width": {
              "magnitude": 12000,
              "unit": "EMU"
            },
            "height": {
              "magnitude": 9000,
              "unit": "EMU"
            }
          },
          "transform": {
            "scaleX": 381,
            "scaleY": 381,
            "translateX": 152400,
            "translateY": 152400,
            "unit": "EMU"
          }
        },
        "source": "YOUTUBE",
        "id": VIDEO_ID
      }
    }
  ]
}

একটি উপাদান কপি এবং সম্পাদনা করুন

নিম্নলিখিত presentations.batchUpdate কোড নমুনাটি দেখায় কিভাবে DuplicateObjectRequest পদ্ধতি ব্যবহার করে একটি বিদ্যমান শেপ ( PAGE_ELEMENT_ID দ্বারা নির্দিষ্ট) থেকে একটি অনুলিপি ( COPY_ELEMENT_ID দ্বারা নির্দিষ্ট) তৈরি করা যায়।

পরবর্তী অনুরোধগুলি তখন ডুপ্লিকেট অবজেক্টটিতে নিম্নলিখিত পরিবর্তনগুলি করে:

  • ব্যাকগ্রাউন্ডের রঙ LIGHT2 থিমের রঙে সেট করে।
  • অনুলিপিটিকে পৃষ্ঠার নিচে নামিয়ে দেয় (মূল আকৃতিটির অবস্থান থেকে)।
  • টেক্সটের ফন্ট ১৮-পয়েন্ট জর্জিয়াতে সেট করে।
  • লেখাটি পরিবর্তন করে "My Shape Copy" করা হয়েছে।

এখানের অনুরোধগুলিতে ফিল্ড মাস্ক ব্যবহার করা হয় আকৃতির সেইসব বৈশিষ্ট্য (যেমন আউটলাইন স্টাইল) অপরিবর্তিত রাখার জন্য, যা পরিবর্তন করা হয় না। ফিল্ড মাস্ক ব্যবহার করলে পারফরম্যান্সও উন্নত হয়।

স্লাইড কপি করার বিষয়ে আরও তথ্যের জন্য, ‘কপি এ স্লাইড’ নমুনাটি দেখুন।

একটি এলিমেন্ট কপি এবং সম্পাদনা করার জন্য অনুরোধ প্রোটোকলটি নিম্নরূপ:

POST https://slides.googleapis.com/v1/presentations/PRESENTATION_ID:batchUpdate
{
  "requests": [
    {
      "duplicateObject": {
        "objectId": PAGE_ELEMENT_ID,
        "objectIds": {
          PAGE_ELEMENT_ID: COPY_ELEMENT_ID
        }
      }
    },
    {
      "updateShapeProperties": {
        "objectId": COPY_ELEMENT_ID,
        "fields": "shapeBackgroundFill.solidFill.color",
        "shapeProperties": {
          "shapeBackgroundFill": {
            "solidFill": {
              "color": {
                "themeColor": "LIGHT2"
              }
            }
          }
        }
      }
    },
    {
      "updatePageElementTransform": {
        "objectId": COPY_ELEMENT_ID,
        "applyMode": "RELATIVE",
        "transform": {
          "scaleX": 1,
          "scaleY": 1,
          "translateX": 0,
          "translateY": 1250000,
          "unit": "EMU"
        }
      }
    },
    {
      "updateTextStyle": {
        "objectId": COPY_ELEMENT_ID,
        "fields": "fontFamily,fontSize",
        "textRange": {
          "type": "ALL"
        },
        "style": {
          "fontFamily": "Georgia",
          "fontSize": {
            "magnitude": 18,
            "unit": "PT"
          }
        }
      }
    },
    {
      "deleteText": {
        "objectId": COPY_ELEMENT_ID,
        "textRange": {
          "type": "ALL"
        }
      }
    },
    {
      "insertText": {
        "objectId": COPY_ELEMENT_ID,
        "text": "My Shape Copy",
        "insertionIndex": 0
      }
    }
  ]
}

এই আপডেটগুলোর পর একটি আকৃতি এবং তার অনুলিপি দেখতে কেমন হতে পারে, তা এখানে দেওয়া হলো:

একটি এলিমেন্ট রেসিপির ফলাফল কপি ও সম্পাদনা করুন।

একটি ছবি বা ভিডিওর রূপরেখা সম্পাদনা করুন

নিম্নলিখিত presentations.batchUpdate কোড স্যাম্পলটি দেখায় কিভাবে IMAGE_ELEMENT_ID দ্বারা নির্দিষ্ট একটি ছবির আউটলাইন চেহারা আপডেট করতে UpdateImagePropertiesRequest মেথডটি ব্যবহার করতে হয়। এটি VIDEO_ELEMENT_ID দ্বারা নির্দিষ্ট একটি এমবেডেড ভিডিওর আউটলাইন চেহারা আপডেট করতে UpdateVideoPropertiesRequest মেথডটিও ব্যবহার করে।

অনুরোধগুলি অবজেক্টটিতে নিম্নলিখিত পরিবর্তনগুলি করে:

  • আংশিক স্বচ্ছতা সহ ছবির আউটলাইনের রঙ ACCENT5 থিমের রঙে সেট করে।
  • ভিডিওর আউটলাইনের রঙকে কোনো স্বচ্ছতা ছাড়াই ACCENT1 থিম রঙে সেট করে।
  • উভয়ের আউটলাইন ওয়েট ৩-পয়েন্টে সেট করে।
  • ছবির আউটলাইন স্টাইলকে SOLID হিসেবে সেট করে।
  • ভিডিওর আউটলাইন স্টাইলকে DASH_DOT হিসেবে সেট করে।

UpdateImagePropertiesRequest এবং UpdateVideoPropertiesRequest উভয় মেথডই শুধুমাত্র ইমেজ এবং ভিডিওর আউটলাইনের চেহারা পরিবর্তন করতে পারে। অন্য সব প্রপার্টি রিড-অনলি। ভবিষ্যতের এপিআই পরিবর্তন থেকে কোডকে সুরক্ষিত রাখতে, এখানকার রিকোয়েস্টগুলোতে ফিল্ড মাস্ক ব্যবহার করা হয়, যা নির্দিষ্ট করে যে শুধুমাত্র আউটলাইনটিই পরিবর্তন করা হবে। ফিল্ড মাস্ক ব্যবহার করলে পারফরম্যান্সও উন্নত হয়।

একটি ছবি বা ভিডিওর আউটলাইন সম্পাদনা করার জন্য অনুরোধ প্রোটোকলটি নিম্নরূপ:

POST https://slides.googleapis.com/v1/presentations/PRESENTATION_ID:batchUpdate
{
  "requests": [
    {
      "updateImageProperties": {
        "objectId": IMAGE_ELEMENT_ID,
        "fields": "outline",
        "imageProperties": {
          "outline": {
            "dashStyle": "SOLID",
            "outlineFill": {
              "solidFill": {
                "alpha": 0.8,
                "color": {
                  "themeColor": "ACCENT5"
                }
              }
            },
            "weight": {
              "magnitude": 3,
              "unit": "PT"
            }
          }
        }
      }
    },
    {
      "updateVideoProperties": {
        "objectId": VIDEO_ELEMENT_ID,
        "fields": "outline",
        "videoProperties": {
          "outline": {
            "dashStyle": "DASH_DOT",
            "outlineFill": {
              "solidFill": {
                "alpha": 0.8,
                "color": {
                  "themeColor": "ACCENT1"
                }
              }
            },
            "weight": {
              "magnitude": 3,
              "unit": "PT"
            }
          }
        }
      }
    }
  ]
}

এই আপডেটগুলোর পর একটি ছবি এবং এর সাথে যুক্ত ভিডিওটি দেখতে কেমন হতে পারে, তা এখানে দেওয়া হলো:

ছবি ও ভিডিওর মাধ্যমে প্রণালীর রূপরেখা ফলাফল।

একটি আকৃতির রূপরেখা সম্পাদনা করুন

নিম্নলিখিত presentations.batchUpdate কোড নমুনাটি দেখায় কিভাবে UpdateShapePropertiesRequest পদ্ধতিটি ব্যবহার করে একটি বিদ্যমান শেপ ( PAGE_ELEMENT_ID দ্বারা নির্দিষ্ট) নেওয়া হয় এবং এর আউটলাইনের চেহারা আপডেট করা হয়।

অনুরোধগুলি অবজেক্টটিতে নিম্নলিখিত পরিবর্তনগুলি করে:

  • আংশিক স্বচ্ছতা সহ আউটলাইনের রঙ ACCENT5 থিমের রঙে সেট করে।
  • আউটলাইনের পুরুত্ব ৩-পয়েন্টে সেট করে।
  • আউটলাইন স্টাইলকে LONG_DASH এ সেট করে।

এখানের অনুরোধগুলিতে ফিল্ড মাস্ক ব্যবহার করা হয় আকৃতির অপরিবর্তিত বৈশিষ্ট্যগুলি (যেমন আকৃতির ফিল কালার) অক্ষুণ্ণ রাখার জন্য। ফিল্ড মাস্ক ব্যবহার করলে পারফরম্যান্সও উন্নত হয়।

একটি আকৃতির রূপরেখা সম্পাদনা করার জন্য অনুরোধ প্রোটোকলটি নিম্নরূপ:

POST https://slides.googleapis.com/v1/presentations/PRESENTATION_ID:batchUpdate
{
  "requests": [
    {
      "updateShapeProperties": {
        "objectId": PAGE_ELEMENT_ID,
        "fields": "outline",
        "shapeProperties": {
          "outline": {
            "dashStyle": "LONG_DASH",
            "outlineFill": {
              "solidFill": {
                "alpha": 0.6,
                "color": {
                  "themeColor": "ACCENT5"
                }
              }
            },
            "weight": {
              "magnitude": 3,
              "unit": "PT"
            }
          }
        }
      }
    }
  ]
}

এই আপডেটগুলোর পর আকৃতিটি দেখতে কেমন হতে পারে তা এখানে দেওয়া হলো:

রেসিপির ফলাফলের রূপরেখা সম্পাদনা করুন।

একটি আকৃতি বা টেক্সট বক্সে টেক্সট ফরম্যাট করুন

নিম্নলিখিত presentations.batchUpdate কোড নমুনাটি দেখায় কিভাবে UpdateTextStyleRequest পদ্ধতি ব্যবহার করে একটি বিদ্যমান শেপ ( PAGE_ELEMENT_ID দ্বারা নির্দিষ্ট) নেওয়া হয় এবং এর টেক্সটের চেহারা আপডেট করা হয়।

অনুরোধগুলি অবজেক্টটিতে নিম্নলিখিত পরিবর্তনগুলি করে:

  • টেক্সটের রঙ ACCENT5 থিমের রঙে সেট করে।
  • ফন্টটিকে বোল্ড, ইটালিক ১৮-পয়েন্ট করসিভা হিসেবে সেট করে।
  • পাঠ্যের নিচে দাগ দেয়।

এখানের অনুরোধগুলিতে ফিল্ড মাস্ক ব্যবহার করা হয় টেক্সট স্টাইলের সেইসব বৈশিষ্ট্য (যেমন ব্যাকগ্রাউন্ড কালার, লিঙ্ক বা বেসলাইন অফসেট) অপরিবর্তিত রাখার জন্য, যা পরিবর্তন করা হয় না। ফিল্ড মাস্ক ব্যবহার করলে পারফরম্যান্সও উন্নত হয়।

শেপ বা টেক্সট বক্সের মধ্যে টেক্সট ফরম্যাট করার জন্য অনুরোধ প্রোটোকলটি নিচে দেওয়া হলো:

POST https://slides.googleapis.com/v1/presentations/PRESENTATION_ID:batchUpdate
{
  "requests": [
    {
      "updateTextStyle": {
        "objectId": PAGE_ELEMENT_ID,
        "fields": "foregroundColor,bold,italic,fontFamily,fontSize,underline",
        "style": {
          "foregroundColor": {
            "opaqueColor": {
              "themeColor": "ACCENT5"
            }
          },
          "bold": true,
          "italic": true,
          "underline": true,
          "fontFamily": "Corsiva",
          "fontSize": {
            "magnitude": 18,
            "unit": "PT"
          }
        },
        "textRange": {
          "type": "ALL"
        }
      }
    }
  ]
}

এই আপডেটগুলোর পর শেপ টেক্সটটি দেখতে এইরকম হতে পারে:

টেক্সট ফরম্যাট রেসিপি সম্পাদনা করুন ফলাফল।

গুগল শিটস থেকে একটি চার্ট ইম্পোর্ট করুন

নিম্নলিখিত presentations.batchUpdate কোড নমুনাটি দেখায় কিভাবে CreateSheetsChartRequest পদ্ধতি ব্যবহার করে একটি শীট থেকে চার্ট ইম্পোর্ট করতে হয় এবং PAGE_ID দ্বারা নির্দিষ্ট স্লাইডে তা স্থাপন করতে হয়।

অনুরোধটির জন্য স্প্রেডশিট আইডি (যা SPREADSHEET_ID দ্বারা নির্দিষ্ট করা হয়) এবং স্প্রেডশিট চার্ট আইডি (যা SPREADSHEET_CHART_ID দ্বারা নির্দিষ্ট করা হয়) প্রয়োজন। স্লাইডস প্রেজেন্টেশনের মধ্যে থাকা চার্ট আইডিটি PRESENTATION_CHART_ID দ্বারা নির্দিষ্ট করা হয়।

এই অনুরোধটি স্লাইডস চার্টের LinkingMode 'লিঙ্কড' ( LINKED এ সেট করে, যাতে উৎস স্প্রেডশিটের চার্ট আপডেট হলে আপনি এমবেড করা চার্টটিও আপডেট করতে পারেন।

শীটস থেকে চার্ট ইম্পোর্ট করার জন্য অনুরোধ প্রোটোকলটি নিম্নরূপ:

POST https://slides.googleapis.com/v1/presentations/PRESENTATION_ID:batchUpdate
{
  "requests": [
    {
      "createSheetsChart": {
        "objectId": PRESENTATION_CHART_ID,
        "spreadsheetId": SPREADSHEET_ID,
        "chartId": SPREADSHEET_CHART_ID,
        "linkingMode": "LINKED",
        "elementProperties": {
          "pageObjectId": PAGE_ID,
          "size": {
            "width": {
              "magnitude": 4000000,
              "unit": "EMU"
            },
            "height": {
              "magnitude": 4000000,
              "unit": "EMU"
            }
          },
          "transform": {
            "scaleX": 1,
            "scaleY": 1,
            "translateX": 100000,
            "translateY": 100000,
            "unit": "EMU"
          }
      }
    }
  ]
}

শীটস থেকে একটি চার্ট রিফ্রেশ করুন

নিম্নলিখিত presentations.batchUpdate কোড নমুনাটি দেখায় কিভাবে একটি প্রেজেন্টেশনে লিঙ্ক করা চার্ট রিফ্রেশ করতে RefreshSheetsChartRequest পদ্ধতিটি ব্যবহার করতে হয়, যা শীটস সোর্স স্প্রেডশীট থেকে সেই চার্টের সর্বশেষ সংস্করণ দিয়ে এটিকে প্রতিস্থাপন করে। এই অনুরোধটির জন্য স্লাইডস প্রেজেন্টেশনের মধ্যে থাকা চার্ট আইডি প্রয়োজন (যা PRESENTATION_CHART_ID দ্বারা নির্দিষ্ট করা হয়)।

শীটস থেকে একটি চার্ট রিফ্রেশ করার অনুরোধ প্রোটোকলটি নিম্নরূপ:

POST https://slides.googleapis.com/v1/presentations/PRESENTATION_ID:batchUpdate
{
  "requests": [
    {
      "refreshSheetsChart": {
        "objectId": PRESENTATION_CHART_ID
      }
    }
  ]
}