মৌলিক লেখা

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

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

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

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

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

নিম্নলিখিত 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 কোড নমুনাটি দেখায় কিভাবে DeleteObjectRequest পদ্ধতি ব্যবহার করে দুটি পৃথক অনুরোধের মাধ্যমে PAGE_ELEMENT_ID দ্বারা নির্দিষ্ট পৃষ্ঠা উপাদান এবং PAGE_ID দ্বারা নির্দিষ্ট স্লাইডটি মুছে ফেলা যায়।

একটি পৃষ্ঠা বা পৃষ্ঠার উপাদান মুছে ফেলার জন্য অনুরোধ প্রোটোকলটি নিম্নরূপ:

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 পদ্ধতি ব্যবহার করে একটি shape ট্যাগের একক ইনস্ট্যান্সকে একটি ছবি দিয়ে প্রতিস্থাপন করা যায়, যেখানে ছবিটির অবস্থান একই রাখা হয় এবং ট্যাগের আকারের সাথে মানানসই করে স্কেল করা হয়, সাথে ছবির অ্যাস্পেক্ট রেশিওও ​​অক্ষুণ্ণ রাখা হয়।

এই অনুরোধটি একটি ছবির পরিবর্তে অন্য একটি ছবি প্রতিস্থাপন করতেও ব্যবহার করা যেতে পারে। এই অনুরোধটিতে প্রথমে নতুন ছবিটি যোগ করা হয় এবং তারপর ট্যাগটি মুছে ফেলা হয়।

CreateImageRequest মেথডটি শুধুমাত্র একটি নির্দিষ্ট শেপ প্রতিস্থাপন করে। একটি প্রেজেন্টেশনের মধ্যে সর্বত্র ট্যাগ শেপ প্রতিস্থাপন করতে, ReplaceAllShapesWithImageRequest মেথডটি ব্যবহার করুন।

`shape` ট্যাগের নিম্নলিখিত 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 দ্বারা নির্দিষ্ট স্লাইডে অবস্থান করে। যে ছবিটি আকৃতিটিকে প্রতিস্থাপন করবে তা নির্দিষ্ট করার জন্য, API-টি 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
      }
    }
  ]
}