টেক্সট ঢোকান, মুছুন এবং সরান

গুগল ডক্স এপিআই ব্যবহার করে আপনি একটি ডকুমেন্টে টেক্সট যোগ বা মুছে ফেলতে পারেন। টেক্সট সরানোর ক্ষেত্রে উভয় অপারেশনই জড়িত থাকে, যার আগে কন্টেন্টটি গেট ( get ) করতে হয়।

আপনি একটি ডকুমেন্টের যেকোনো ট্যাব সেগমেন্টে (বডি, হেডার, ফুটার বা ফুটনোট) টেক্সট যোগ বা মুছে ফেলতে পারেন। আরও তথ্যের জন্য, ‘ট্যাব নিয়ে কাজ করুন ’ দেখুন।

টেক্সট প্রবেশ করান

কোনো ডকুমেন্টে টেক্সট যোগ করতে, documents.batchUpdate মেথডটি ব্যবহার করুন এবং পেলোড হিসেবে টেক্সট ও লোকেশনসহ একটি InsertTextRequest অন্তর্ভুক্ত করুন।

নিম্নলিখিত কোড নমুনাটি দেখায় যে কীভাবে আপনি একটি ডকুমেন্টের মূল অংশে নির্দিষ্ট ইনডেক্স অবস্থানে একাধিক টেক্সট স্ট্রিং সন্নিবেশ করতে পারেন। উদাহরণটিতে তিনটি টার্গেট অফসেট (২৫, ৫০, এবং ৭৫) ব্যবহার করা হয়েছে এবং প্রতিটি অবস্থানে একটি দশ-অক্ষরের স্ট্রিং সন্নিবেশ করানো হয়েছে।

জাভা

List<Request> requests = new ArrayList<>();
requests.add(new Request().setInsertText(new InsertTextRequest()
        .setText(text1)
        .setLocation(new Location().setIndex(25).setTabId(<var>TAB_ID</var>))));

requests.add(new Request().setInsertText(new InsertTextRequest()
        .setText(text2)
        .setLocation(new Location().setIndex(50).setTabId(<var>TAB_ID</var>))));

requests.add(new Request().setInsertText(new InsertTextRequest()
        .setText(text3)
        .setLocation(new Location().setIndex(75).setTabId(<var>TAB_ID</var>))));

BatchUpdateDocumentRequest body = new BatchUpdateDocumentRequest().setRequests(requests);
BatchUpdateDocumentResponse response = docsService.documents()
        .batchUpdate(<var>DOCUMENT_ID</var>, body).execute();

পিএইচপি

$requests = array();

$requests[] = new Google_Service_Docs_Request(array(
    'insertText' => array(
        'text' => $text1,
        'location' => array(
            'index' => 25,
            'tabId' => <var>TAB_ID</var>,
        ),
    ),
));

$requests[] = new Google_Service_Docs_Request(array(
    'insertText' => array(
        'text' => $text2,
        'location' => array(
            'index' => 50,
            'tabId' => <var>TAB_ID</var>,
        ),
    ),
));

$requests[] = new Google_Service_Docs_Request(array(
    'insertText' => array(
        'text' => $text3,
        'location' => array(
            'index' => 75,
            'tabId' => <var>TAB_ID</var>,
        ),
    ),
));

$batchUpdateRequest = new Google_Service_Docs_BatchUpdateDocumentRequest(array(
    'requests' => $requests
));

$response = $service->documents->batchUpdate($<var>DOCUMENT_ID</var>, $batchUpdateRequest);

পাইথন

requests = [
        {
        'insertText': {
            'location': {
                'index': 25,
                'tabId': <var>TAB_ID</var>
            },
            'text': text1
        }
    },
                {
        'insertText': {
            'location': {
                'index': 50,
                'tabId': <var>TAB_ID</var>
            },
            'text': text2
        }
    },
                {
        'insertText': {
            'location': {
                'index': 75,
                'tabId': <var>TAB_ID</var>
            },
            'text': text3
        }
    },
]

result = service.documents().batchUpdate(
    documentId=<var>DOCUMENT_ID</var>, body={'requests': requests}).execute()

প্রতিটি ইনসারশনের ফলে, সন্নিবেশিত টেক্সটের আকার অনুযায়ী সমস্ত উচ্চতর ইনডেক্স বৃদ্ধি পায়। উদাহরণটি এই ইনডেক্স পরিবর্তনের ফলাফল আগে থেকেই গণনা করে রাখে, যাতে পরবর্তী ইনসারশনগুলো নতুন, সংশোধিত অফসেটে ঘটে। সুতরাং, ২৫, ৫০, এবং ৭৫-এর মূল টার্গেট অফসেটে ইনসার্ট করার জন্য, প্রকৃত ইনসারশন ইনডেক্সগুলো হলো:

  • প্রথমবার যোগ করলে ২৫ নম্বর অফসেটে ১০টি অক্ষর যুক্ত হবে।
  • দ্বিতীয়বার যোগ করার ফলে ৫০+১০=৬০ অফসেটে ১০টি অক্ষর যুক্ত হবে।
  • তৃতীয় সংযোজনে ৭৫+১০+১০=৯৫ অফসেটে ১০টি অক্ষর যুক্ত হয়।

টেক্সট মুছে ফেলুন

কোনো ডকুমেন্ট থেকে টেক্সট মুছে ফেলার জন্য, প্রথমে একটি Range তৈরি করুন যা মুছে ফেলার জন্য টেক্সটের পরিসরকে সংজ্ঞায়িত করবে। তারপর documents.batchUpdate মেথডটি ব্যবহার করুন এবং এর মধ্যে একটি DeleteContentRangeRequest অন্তর্ভুক্ত করুন।

নিম্নলিখিত কোড নমুনাটি দেখায় যে আপনি কীভাবে একটি ডকুমেন্টের মূল অংশে ১০ থেকে ২৪ নম্বর ইন্ডেক্সের মধ্যবর্তী টেক্সট মুছে ফেলতে পারেন।

জাভা

List<Request> requests = new ArrayList<>();
requests.add(new Request().setDeleteContentRange(
        new DeleteContentRangeRequest()
                .setRange(new Range()
                        .setStartIndex(10)
                        .setEndIndex(24)
                        .setTabId(<var>TAB_ID</var>))
    ));

BatchUpdateDocumentRequest body = new BatchUpdateDocumentRequest().setRequests(requests);
BatchUpdateDocumentResponse response = docsService.documents()
        .batchUpdate(<var>DOCUMENT_ID</var>, body).execute();

পিএইচপি

$requests = array();
$requests[] = new Google_Service_Docs_Request(array(
    'deleteContentRange' => array(
        'range' => array(
            'startIndex' => 10,
            'endIndex' => 24,
            'tabId' => <var>TAB_ID</var>
        ),
    ),
));

$batchUpdateRequest = new Google_Service_Docs_BatchUpdateDocumentRequest(array(
    'requests' => $requests
));

$response = $service->documents->batchUpdate(<var>DOCUMENT_ID</var>, $batchUpdateRequest);

পাইথন

requests = [
    {
        'deleteContentRange': {
            'range': {
                'startIndex': 10,
                'endIndex': 24,
                'tabId': <var>TAB_ID</var>
            }

        }

    },
]
result = service.documents().batchUpdate(
    documentId=<var>DOCUMENT_ID</var>, body={'requests': requests}).execute()

সংযোজনের মতোই, টেক্সট মুছে ফেললে ঐ অংশের পরবর্তী সমস্ত টেক্সটের ইন্ডেক্স পরিবর্তিত হয়ে যায়। এক্ষেত্রেও, উল্টো দিক থেকে লিখলে ইন্ডেক্সের ব্যবস্থাপনা সহজ হতে পারে।

টেক্সট সরান

টেক্সট সরাতে হলে, আপনাকে এক জায়গা থেকে তা মুছে দিয়ে অন্য কোথাও ইনসার্ট করতে হবে। কন্টেন্ট ডিলিট করলে সেটির কোনো কপি তৈরি হয় না (ক্লিপবোর্ডের মতো কোনো সমতুল্য ধারণা নেই), তাই আপনার ইনসার্ট টেক্সট রিকোয়েস্টে ব্যবহারের জন্য প্রথমে রেঞ্জটির কন্টেন্ট এক্সট্র্যাক্ট করতে হবে।