টেক্সট ফরম্যাট করুন

এই পৃষ্ঠায় গুগল ডক্স এপিআই ব্যবহার করে টেক্সট ফরম্যাট করার পদ্ধতি জানানো হয়েছে।

ফরম্যাটিং সম্পর্কে

আপনার ডকুমেন্টের টেক্সট কন্টেন্টে আপনি দুই ধরনের ফরম্যাটিং প্রয়োগ করতে পারেন:

  • আপনি ফন্ট, রঙ বা আন্ডারলাইনিং-এর মতো অক্ষরের বিন্যাস পরিবর্তন করতে পারেন।
  • আপনি অনুচ্ছেদের বিন্যাস, যেমন ইন্ডেন্টেশন বা লাইন স্পেসিং পরিবর্তন করতে পারেন।

অক্ষর বিন্যাস পরিবর্তন

ক্যারেক্টার ফরম্যাটিং আপনার ডকুমেন্টে টেক্সট ক্যারেক্টারগুলোর প্রদর্শন নির্ধারণ করে।

আপনার প্রয়োগ করা যেকোনো ফরম্যাটিং, মূল প্যারাগ্রাফের TextStyle থেকে প্রাপ্ত ডিফল্ট ফরম্যাটিংকে বাতিল করে দেয়। বিপরীতভাবে, যে অক্ষরগুলোর ফরম্যাটিং আপনি সেট করেন না, সেগুলো প্যারাগ্রাফের স্টাইলগুলোই অনুসরণ করতে থাকে।

টেক্সটের ক্যারেক্টার ফরম্যাটিং পরিবর্তন করতে, `UpdateTextStyleRequest`- এর সাথে batchUpdate ব্যবহার করুন। আপনাকে একটি `Range` অবজেক্ট প্রদান করতে হবে, যাতে নিম্নলিখিত তথ্যগুলো অন্তর্ভুক্ত থাকে:

  • একটি segmentId যা শনাক্ত করে যে টেক্সটটি কোন হেডার, ফুটার, ফুটনোট—অথবা, অনির্দিষ্ট থাকলে, বডিতে—রয়েছে।
  • startIndex এবং endIndex , যা ফরম্যাট করার জন্য সেগমেন্টের ভেতরের টেক্সটের পরিসীমা নির্ধারণ করে।
  • একটি tabId যা শনাক্ত করে কোন ট্যাবে লেখাটি রয়েছে।

নিম্নলিখিত উদাহরণটি হেডারে থাকা টেক্সটের উপর বিভিন্ন টেক্সট স্টাইলিং অপারেশন সম্পাদন করে:

  • ১ থেকে ৫ পর্যন্ত অক্ষরগুলোর ফন্ট বোল্ড ইটালিক করে।
  • ৬ থেকে ১০ নম্বর অক্ষরগুলোর রঙ blue ১৪-পয়েন্ট টাইমস নিউ রোমান ফন্টে সেট করে।
  • ১১-১৫ নম্বর হাইপারলিঙ্কগুলো www.example.com কে নির্দেশ করে।

এটি করার একটি সহজ উপায় হলো অনুরোধগুলির একটি তালিকা তৈরি করা এবং তারপরে একটি batchUpdate কল ব্যবহার করা:

জাভা

List requests = new ArrayList<>();
requests.add(new Request().setUpdateTextStyle(new UpdateTextStyleRequest()
        .setTextStyle(new TextStyle()
                .setBold(true)
                .setItalic(true))
        .setRange(new Range()
                .setStartIndex(1)
                .setEndIndex(5)
                .setTabId(TAB_ID))
        .setFields("bold")));

requests.add(new Request()
        .setUpdateTextStyle(new UpdateTextStyleRequest()
                .setRange(new Range()
                        .setStartIndex(6)
                        .setEndIndex(10)
                        .setTabId(TAB_ID))
                .setTextStyle(new TextStyle()
                        .setWeightedFontFamily(new WeightedFontFamily()
                                .setFontFamily("Times New Roman"))
                        .setFontSize(new Dimension()
                                .setMagnitude(14.0)
                                .setUnit("PT"))
                        .setForegroundColor(new OptionalColor()
                                .setColor(new Color().setRgbColor(new RgbColor()
                                        .setBlue(1.0F)
                                        .setGreen(0.0F)
                                        .setRed(0.0F)))))
                .setFields("foregroundColor,weightedFontFamily,fontSize")));

requests.add(new Request()
        .setUpdateTextStyle(new UpdateTextStyleRequest()
                .setRange(new Range()
                        .setStartIndex(11)
                        .setEndIndex(15)
                        .setTabId(TAB_ID))
                .setTextStyle(new TextStyle()
                        .setLink(new Link()
                                .setUrl("www.example.com")))
                .setFields("link")));


BatchUpdateDocumentRequest body = new BatchUpdateDocumentRequest().setRequests(requests);
BatchUpdateDocumentResponse response = docsService.documents()
        .batchUpdate("DOCUMENT_ID", body).execute();

পাইথন

requests = [
    {
        'updateTextStyle': {
            'range': {
                'startIndex': 1,
                'endIndex': 5,
                'tabId': 'TAB_ID'
            },
            'textStyle': {
                'bold': True,
                'italic': True
            },
            'fields': 'bold,italic'
        }
    },
    {
        'updateTextStyle': {
            'range': {
                'startIndex': 6,
                'endIndex': 10,
                'tabId': 'TAB_ID'
            },
            'textStyle': {
                'weightedFontFamily': {
                    'fontFamily': 'Times New Roman'
                },
                'fontSize': {
                    'magnitude': 14,
                    'unit': 'PT'
                },
                'foregroundColor': {
                    'color': {
                        'rgbColor': {
                            'blue': 1.0,
                            'green': 0.0,
                            'red': 0.0
                        }
                    }
                }
            },
            'fields': 'foregroundColor,weightedFontFamily,fontSize'
        }
    },
    {
        'updateTextStyle': {
            'range': {
                'startIndex': 11,
                'endIndex': 15,
                'tabId': 'TAB_ID'
            },
            'textStyle': {
                'link': {
                    'url': 'www.example.com'
                }
            },
            'fields': 'link'
        }
    }
]

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

অনুচ্ছেদ বিন্যাস পরিবর্তন

গুগল ডক্স এপিআই আপনাকে প্যারাগ্রাফ ফরম্যাটিং আপডেট করার সুযোগ দেয়, যা আপনার ডকুমেন্টে টেক্সটের ব্লকগুলো কীভাবে প্রদর্শিত হবে তা নির্ধারণ করে; এর মধ্যে অ্যালাইনমেন্ট এবং ইনডেন্টেশনের মতো বৈশিষ্ট্যও অন্তর্ভুক্ত।

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

নিচের উদাহরণটিতে একটি অনুচ্ছেদের জন্য নিম্নলিখিত বিন্যাস নির্দিষ্ট করা হয়েছে:

  • নামযুক্ত শৈলী হিসাবে একটি শিরোনাম
  • উপরে কাস্টম স্পেসিং
  • নিচে কাস্টম স্পেসিং
  • একটি প্রথা বাম সীমান্ত

অনুচ্ছেদের বাকি সমস্ত ফরম্যাটিং বৈশিষ্ট্য অন্তর্নিহিত নামযুক্ত স্টাইল থেকে উত্তরাধিকারসূত্রে প্রাপ্ত হতে থাকে।

জাভা

List requests = new ArrayList<>();
requests.add(new Request().setUpdateParagraphStyle(new UpdateParagraphStyleRequest()
        .setRange(new Range()
                .setStartIndex(1)
                .setEndIndex(10)
                .setTabId(TAB_ID))
        .setParagraphStyle(new ParagraphStyle()
                .setNamedStyleType("HEADING_1")
                .setSpaceAbove(new Dimension()
                        .setMagnitude(10.0)
                        .setUnit("PT"))
                .setSpaceBelow(new Dimension()
                        .setMagnitude(10.0)
                        .setUnit("PT")))
        .setFields("namedStyleType,spaceAbove,spaceBelow")
));

requests.add(new Request().setUpdateParagraphStyle(new UpdateParagraphStyleRequest()
        .setRange(new Range()
                .setStartIndex(10)
                .setEndIndex(20)
                .setTabId(TAB_ID))
        .setParagraphStyle(new ParagraphStyle()
                .setBorderLeft(new ParagraphBorder()
                        .setColor(new OptionalColor()
                                .setColor(new Color()
                                        .setRgbColor(new RgbColor()
                                                .setBlue(1.0F)
                                                .setGreen(0.0F)
                                                .setRed(0.0F)
                                        )
                                )
                        )
                        .setDashStyle("DASH")
                        .setPadding(new Dimension()
                                .setMagnitude(20.0)
                                .setUnit("PT"))
                        .setWidth(new Dimension()
                                .setMagnitude(15.0)
                                .setUnit("PT")
                        )
                )
        )
        .setFields("borderLeft")
));

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

পাইথন

requests = [
    {
        'updateParagraphStyle': {
            'range': {
                'startIndex': 1,
                'endIndex':  10,
                'tabId': TAB_ID
            },
            'paragraphStyle': {
                'namedStyleType': 'HEADING_1',
                'spaceAbove': {
                    'magnitude': 10.0,
                    'unit': 'PT'
                },
                'spaceBelow': {
                    'magnitude': 10.0,
                    'unit': 'PT'
                }
            },
            'fields': 'namedStyleType,spaceAbove,spaceBelow'
        }
    },
    {
        'updateParagraphStyle': {
            'range': {
                'startIndex': 10,
                'endIndex':  20,
                'tabId': TAB_ID
            },
            'paragraphStyle': {
                'borderLeft': {
                    'color': {
                        'color': {
                            'rgbColor': {
                                'blue': 1.0,
                                'green': 0.0,
                                'red': 0.0
                            }
                        }
                    },
                    'dashStyle': 'DASH',
                    'padding': {
                        'magnitude': 20.0,
                        'unit': 'PT'
                    },
                    'width': {
                        'magnitude': 15.0,
                        'unit': 'PT'
                    },
                }
            },
            'fields': 'borderLeft'
        }
    }
]

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