common.skill

টেক্সট ম্যানিপুলেশন

Java Technologies - অ্যাপাচি পিওআই (পাওয়ারপয়েন্ট)
134
134

Apache POI হল একটি শক্তিশালী লাইব্রেরি যা Java-এ মাইক্রোসফট অফিস ফাইল ফরম্যাটগুলি (যেমন Excel, Word, PowerPoint) প্রক্রিয়া করতে ব্যবহৃত হয়। PowerPoint ফাইলগুলির মধ্যে টেক্সট ম্যানিপুলেশন করার জন্য Apache POI ব্যবহার করে আপনি সহজেই টেক্সট যোগ, সম্পাদনা এবং ফরম্যাট করতে পারেন। POI-এর XSLF (PowerPoint 2007 এবং পরবর্তী সংস্করণের জন্য) এবং HSLF (PowerPoint 97-2003 সংস্করণের জন্য) দুটি API পাওয়া যায় যা PowerPoint ফাইলের টেক্সট ম্যানিপুলেশন করতে ব্যবহৃত হয়। এখানে আমরা XSLF API দিয়ে টেক্সট ম্যানিপুলেশন দেখাব।

XSLF API দিয়ে PowerPoint ফাইলে টেক্সট ম্যানিপুলেশন

XSLF API এর মাধ্যমে আপনি PowerPoint প্রেজেন্টেশনে স্লাইডে টেক্সট যোগ করতে, টেক্সট ফরম্যাট করতে এবং টেক্সট পরিবর্তন করতে পারেন।

PowerPoint ফাইলের টেক্সট ম্যানিপুলেশনের জন্য পদক্ষেপসমূহ

  1. PowerPoint ফাইল তৈরি বা খুলুন
  2. টেক্সট বক্স তৈরি করুন বা টেক্সট পরিবর্তন করুন
  3. ফন্ট, আকার, এবং স্টাইল কাস্টমাইজ করুন
  4. ফাইল সেভ করুন

১. PowerPoint ফাইলে টেক্সট যোগ করা

import org.apache.poi.xslf.usermodel.*;
import java.io.*;

public class PowerPointTextManipulation {
    public static void main(String[] args) throws IOException {
        // PowerPoint প্রেজেন্টেশন তৈরি করুন
        XMLSlideShow ppt = new XMLSlideShow();

        // একটি স্লাইড তৈরি করুন
        XSLFSlide slide = ppt.createSlide();

        // স্লাইডে একটি টেক্সট বক্স তৈরি করুন
        XSLFTextBox textBox = slide.createTextBox();
        XSLFTextParagraph paragraph = textBox.addNewTextParagraph();
        paragraph.addNewTextRun().setText("Hello, Apache POI!"); // টেক্সট যোগ করুন

        // ফাইল সংরক্ষণ করুন
        try (FileOutputStream out = new FileOutputStream("PowerPointWithText.pptx")) {
            ppt.write(out);
        }
        System.out.println("PowerPoint ফাইল তৈরি হয়েছে এবং টেক্সট যোগ করা হয়েছে!");
    }
}

২. টেক্সট ফরম্যাটিং (ফন্ট, আকার এবং স্টাইল পরিবর্তন)

XSLF API ব্যবহার করে আপনি PowerPoint স্লাইডে টেক্সটের ফন্ট, আকার এবং স্টাইল কাস্টমাইজ করতে পারেন। যেমন, আপনি টেক্সটের আকার বাড়াতে, ফন্ট পরিবর্তন করতে এবং রঙ যোগ করতে পারেন।

import org.apache.poi.xslf.usermodel.*;
import org.apache.poi.sl.usermodel.TextParagraph;
import org.apache.poi.sl.usermodel.TextRun;
import java.io.*;

public class PowerPointTextFormatting {
    public static void main(String[] args) throws IOException {
        // PowerPoint প্রেজেন্টেশন তৈরি করুন
        XMLSlideShow ppt = new XMLSlideShow();

        // একটি স্লাইড তৈরি করুন
        XSLFSlide slide = ppt.createSlide();

        // স্লাইডে একটি টেক্সট বক্স তৈরি করুন
        XSLFTextBox textBox = slide.createTextBox();
        XSLFTextParagraph paragraph = textBox.addNewTextParagraph();

        // টেক্সট যোগ করুন
        XSLFTextRun textRun = paragraph.addNewTextRun();
        textRun.setText("Hello, Apache POI!");  // টেক্সট যোগ করা

        // ফন্ট এবং আকার পরিবর্তন
        textRun.setFontFamily("Arial");
        textRun.setFontSize(24.0);
        textRun.setBold(true);
        textRun.setItalic(true);

        // রঙ পরিবর্তন
        textRun.setFontColor(java.awt.Color.RED);

        // ফাইল সংরক্ষণ করুন
        try (FileOutputStream out = new FileOutputStream("FormattedPowerPoint.pptx")) {
            ppt.write(out);
        }
        System.out.println("PowerPoint ফাইল তৈরি হয়েছে এবং টেক্সট ফরম্যাট করা হয়েছে!");
    }
}

৩. টেক্সট প্যারাগ্রাফ এবং লাইনের ফরম্যাটিং

NiFi এর XSLFTextParagraph এবং XSLFTextRun ব্যবহার করে টেক্সট প্যারাগ্রাফ এবং লাইনের ফরম্যাটিং করতে পারবেন।

import org.apache.poi.xslf.usermodel.*;
import org.apache.poi.sl.usermodel.TextParagraph;
import org.apache.poi.sl.usermodel.TextRun;
import java.io.*;

public class PowerPointTextParagraphFormatting {
    public static void main(String[] args) throws IOException {
        // PowerPoint প্রেজেন্টেশন তৈরি করুন
        XMLSlideShow ppt = new XMLSlideShow();

        // একটি স্লাইড তৈরি করুন
        XSLFSlide slide = ppt.createSlide();

        // স্লাইডে একটি টেক্সট বক্স তৈরি করুন
        XSLFTextBox textBox = slide.createTextBox();
        XSLFTextParagraph paragraph1 = textBox.addNewTextParagraph();
        paragraph1.addNewTextRun().setText("First Line - Bold and Red");  // প্রথম লাইন টেক্সট যোগ করুন
        XSLFTextRun run1 = paragraph1.getTextRuns().get(0);
        run1.setFontSize(16.0);
        run1.setBold(true);
        run1.setFontColor(java.awt.Color.RED);

        XSLFTextParagraph paragraph2 = textBox.addNewTextParagraph();
        paragraph2.addNewTextRun().setText("Second Line - Italic and Blue"); // দ্বিতীয় লাইন টেক্সট
        XSLFTextRun run2 = paragraph2.getTextRuns().get(0);
        run2.setFontSize(16.0);
        run2.setItalic(true);
        run2.setFontColor(java.awt.Color.BLUE);

        // ফাইল সংরক্ষণ করুন
        try (FileOutputStream out = new FileOutputStream("FormattedParagraphPowerPoint.pptx")) {
            ppt.write(out);
        }
        System.out.println("PowerPoint ফাইল তৈরি হয়েছে এবং টেক্সট প্যারাগ্রাফ ফরম্যাট করা হয়েছে!");
    }
}

৪. টেক্সট হাইপারলিঙ্ক যোগ করা

XSLF API দিয়ে আপনি PowerPoint স্লাইডে হাইপারলিঙ্কও যোগ করতে পারেন, যা সাধারণত URL বা নির্দিষ্ট স্লাইডে লিঙ্ক করার জন্য ব্যবহৃত হয়।

import org.apache.poi.xslf.usermodel.*;
import java.io.*;

public class PowerPointHyperlink {
    public static void main(String[] args) throws IOException {
        // PowerPoint প্রেজেন্টেশন তৈরি করুন
        XMLSlideShow ppt = new XMLSlideShow();

        // একটি স্লাইড তৈরি করুন
        XSLFSlide slide = ppt.createSlide();

        // স্লাইডে একটি টেক্সট বক্স তৈরি করুন
        XSLFTextBox textBox = slide.createTextBox();
        XSLFTextParagraph paragraph = textBox.addNewTextParagraph();
        XSLFTextRun textRun = paragraph.addNewTextRun();
        textRun.setText("Click here to visit Apache POI website.");

        // টেক্সট এর মধ্যে হাইপারলিঙ্ক যোগ করুন
        textRun.setHyperlink("https://poi.apache.org/");

        // ফাইল সংরক্ষণ করুন
        try (FileOutputStream out = new FileOutputStream("HyperlinkPowerPoint.pptx")) {
            ppt.write(out);
        }
        System.out.println("PowerPoint ফাইল তৈরি হয়েছে এবং হাইপারলিঙ্ক যোগ করা হয়েছে!");
    }
}

উপসংহার

Apache POI এর XSLF API ব্যবহারে PowerPoint ফাইলে টেক্সট ম্যানিপুলেশন করা খুবই সহজ। আপনি PowerPoint স্লাইডে টেক্সট যোগ করতে পারেন, টেক্সটের ফন্ট, আকার এবং স্টাইল পরিবর্তন করতে পারেন, টেক্সট প্যারাগ্রাফের মধ্যে বিভিন্ন ফরম্যাট করতে পারেন, এবং এমনকি হাইপারলিঙ্কও যোগ করতে পারেন। এই API অত্যন্ত নমনীয় এবং আধুনিক PowerPoint ফাইল (PPTX) তৈরি ও সম্পাদনা করার জন্য অত্যন্ত কার্যকরী।

common.content_added_by

TextBox তৈরি করা

162
162

Apache POI লাইব্রেরি ব্যবহার করে আপনি PowerPoint ফাইলের স্লাইডে TextBox তৈরি করতে পারেন। এটি PowerPoint ফাইল তৈরি এবং সম্পাদনা করার জন্য একটি গুরুত্বপূর্ণ বৈশিষ্ট্য। এখানে, আমরা দেখব কিভাবে Apache POI এর মাধ্যমে PPTX ফাইলে TextBox তৈরি করা যায়।

এখানে আমরা XSLF API ব্যবহার করব, কারণ এটি PPTX (নতুন PowerPoint ফাইল ফরম্যাট) ফাইলের জন্য ব্যবহৃত হয়।


PowerPoint ফাইলে TextBox তৈরি করার উদাহরণ (PPTX)

কোড:

import org.apache.poi.xslf.usermodel.XMLSlideShow;
import org.apache.poi.xslf.usermodel.XSLFSlide;
import org.apache.poi.xslf.usermodel.XSLFTextBox;
import org.apache.poi.xslf.usermodel.XSLFTextShape;

import java.io.FileOutputStream;
import java.io.IOException;

public class CreateTextBoxInPPTX {
    public static void main(String[] args) {
        try {
            // নতুন PowerPoint স্লাইডশো তৈরি করা
            XMLSlideShow ppt = new XMLSlideShow();

            // একটি স্লাইড তৈরি করা
            XSLFSlide slide = ppt.createSlide();

            // স্লাইডে টেক্সট বক্স তৈরি করা
            XSLFTextBox textBox = slide.createTextBox();
            XSLFTextShape shape = textBox;
            shape.setText("Hello, Apache POI! This is a TextBox on PowerPoint!");

            // PowerPoint ফাইল সেভ করা
            try (FileOutputStream out = new FileOutputStream("example.pptx")) {
                ppt.write(out);
            }

            System.out.println("PowerPoint presentation with TextBox created successfully.");
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

ব্যাখ্যা:

  1. XMLSlideShow: এটি একটি নতুন PowerPoint শো তৈরি করতে ব্যবহৃত হয়।
  2. XSLFSlide: একটি নতুন স্লাইড তৈরি করে। এটি PowerPoint ফাইলের একটি পৃষ্ঠা।
  3. XSLFTextBox: এটি স্লাইডে একটি টেক্সট বক্স তৈরি করতে ব্যবহৃত হয়। আপনি এই বক্সে টেক্সট যোগ করতে পারেন।
  4. XSLFTextShape: এটি টেক্সট বক্সের শেপের প্রতিনিধিত্ব করে এবং .setText() মেথডের মাধ্যমে আপনি টেক্সট সেট করতে পারেন।
  5. FileOutputStream: এটি তৈরি করা PowerPoint ফাইলটি সেভ করতে ব্যবহৃত হয়।

এটি একটি .pptx ফাইল তৈরি করবে এবং তার মধ্যে একটি স্লাইড থাকবে, যেখানে "Hello, Apache POI! This is a TextBox on PowerPoint!" টেক্সট থাকবে।


টেক্সট বক্সের আকার এবং অবস্থান পরিবর্তন

যদি আপনি টেক্সট বক্সের আকার এবং অবস্থান পরিবর্তন করতে চান, তাহলে আপনি setAnchor মেথড ব্যবহার করতে পারেন। এই মেথডের মাধ্যমে আপনি টেক্সট বক্সের অবস্থান এবং আকার নির্ধারণ করতে পারেন।

উদাহরণ:

import org.apache.poi.xslf.usermodel.XMLSlideShow;
import org.apache.poi.xslf.usermodel.XSLFSlide;
import org.apache.poi.xslf.usermodel.XSLFTextBox;
import org.apache.poi.xslf.usermodel.XSLFTextShape;

import java.io.FileOutputStream;
import java.io.IOException;
import java.awt.Rectangle;

public class CreateTextBoxWithPosition {
    public static void main(String[] args) {
        try {
            // নতুন PowerPoint স্লাইডশো তৈরি করা
            XMLSlideShow ppt = new XMLSlideShow();

            // একটি স্লাইড তৈরি করা
            XSLFSlide slide = ppt.createSlide();

            // স্লাইডে টেক্সট বক্স তৈরি করা
            XSLFTextBox textBox = slide.createTextBox();
            XSLFTextShape shape = textBox;
            shape.setText("Hello, Apache POI! This is a TextBox with position!");

            // টেক্সট বক্সের অবস্থান এবং আকার নির্ধারণ করা (x, y, width, height)
            textBox.setAnchor(new Rectangle(100, 100, 400, 50));  // x, y, width, height

            // PowerPoint ফাইল সেভ করা
            try (FileOutputStream out = new FileOutputStream("example_with_position.pptx")) {
                ppt.write(out);
            }

            System.out.println("PowerPoint presentation with positioned TextBox created successfully.");
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

ব্যাখ্যা:

  • setAnchor(new Rectangle(x, y, width, height)): এখানে আপনি টেক্সট বক্সের অবস্থান (x, y) এবং আকার (width, height) নির্ধারণ করতে পারেন। Rectangle কনস্ট্রাকটর দ্বারা টেক্সট বক্সের সঠিক পজিশন এবং আকার সেট করা হয়।
    • x, y: টেক্সট বক্সের শুরু পয়েন্ট (উপরের বাম কোণ)।
    • width, height: টেক্সট বক্সের প্রস্থ এবং উচ্চতা।

এটি একটি PowerPoint ফাইল তৈরি করবে যেখানে একটি স্লাইড থাকবে এবং সেই স্লাইডে একটি টেক্সট বক্স নির্দিষ্ট অবস্থানে থাকবে।


সারাংশ

Apache POI লাইব্রেরি ব্যবহার করে আপনি সহজেই PowerPoint ফাইলে TextBox তৈরি করতে পারেন এবং সেটির মধ্যে টেক্সট যোগ করতে পারেন। আপনি চাইলে TextBox এর আকার এবং অবস্থানও কাস্টমাইজ করতে পারবেন, যা আপনার প্রয়োজন অনুযায়ী একটি কাস্টম স্লাইড তৈরি করতে সহায়ক। POI এর XSLF API ব্যবহার করে আপনি নতুন .pptx ফাইল তৈরি করতে এবং PowerPoint কন্টেন্ট পরিবর্তন করতে পারবেন।

common.content_added_by

টেক্সট ফরম্যাটিং (Font, Size, Color)

166
166

Apache POI লাইব্রেরি ব্যবহার করে আপনি PowerPoint ফাইলের টেক্সটকে ফরম্যাট করতে পারেন, যেমন ফন্ট, সাইজ, রঙ ইত্যাদি। এটি HSLF (PPT) এবং XSLF (PPTX) API এর মাধ্যমে করা যায়। এই গাইডে আমরা দেখব কিভাবে টেক্সট ফরম্যাটিং যেমন ফন্ট, সাইজ এবং রঙ PowerPoint স্লাইডে ব্যবহার করা যায়।


PowerPoint টেক্সট ফরম্যাটিং (Font, Size, Color) - HSLF API (PPT)

PowerPoint 2003 (PPT) ফাইলের জন্য HSLF API ব্যবহার করা হয়। নিচে একটি উদাহরণ দেওয়া হলো যেখানে PowerPoint স্লাইডে টেক্সটের ফন্ট, সাইজ এবং রঙ সেট করা হচ্ছে:

উদাহরণ: PowerPoint 2003 (PPT) এ টেক্সট ফরম্যাটিং

import org.apache.poi.hslf.usermodel.*;

import java.awt.Color;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;

public class PowerPointTextFormatting {
    public static void main(String[] args) throws IOException {
        // বিদ্যমান PowerPoint ফাইল লোড করা
        FileInputStream inputStream = new FileInputStream("existing.ppt");
        HSLFSlideShow ppt = new HSLFSlideShow(inputStream);

        // স্লাইড নির্বাচন করা
        HSLFSlide slide = ppt.getSlides().get(0);

        // টেক্সট বক্স তৈরি করা
        HSLFTextBox title = new HSLFTextBox();
        title.setText("Formatted Text Example");

        // টেক্সট ফরম্যাটিং
        title.setFontSize(24.0);  // Font Size
        title.setFontColor(new Color(255, 0, 0));  // Font Color (Red)
        title.setFont("Arial");  // Font Family

        // স্লাইডে টেক্সট বক্স যোগ করা
        title.setAnchor(new java.awt.Rectangle(100, 100, 400, 50));
        slide.addShape(title);

        // ফাইল সংরক্ষণ করা
        FileOutputStream out = new FileOutputStream("formatted.ppt");
        ppt.write(out);
        out.close();

        System.out.println("PowerPoint ফাইল ফরম্যাট করা হয়েছে!");
    }
}

এই কোডটি একটি PowerPoint স্লাইডে "Formatted Text Example" টেক্সট যোগ করবে এবং এর ফন্ট সাইজ, রঙ এবং ফন্ট ফ্যামিলি সেট করবে।


PowerPoint টেক্সট ফরম্যাটিং (Font, Size, Color) - XSLF API (PPTX)

PowerPoint 2007 এবং পরবর্তী সংস্করণের জন্য XSLF API ব্যবহার করা হয়। নিচে একটি উদাহরণ দেওয়া হলো যেখানে PowerPoint 2007 বা তার পরবর্তী সংস্করণে (PPTX) টেক্সটের ফন্ট, সাইজ এবং রঙ সেট করা হচ্ছে।

উদাহরণ: PowerPoint 2007 (PPTX) এ টেক্সট ফরম্যাটিং

import org.apache.poi.xslf.usermodel.*;
import java.awt.Color;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;

public class PowerPointTextFormattingPPTX {
    public static void main(String[] args) throws IOException {
        // বিদ্যমান PowerPoint ফাইল লোড করা
        FileInputStream inputStream = new FileInputStream("existing.pptx");
        XMLSlideShow ppt = new XMLSlideShow(inputStream);

        // স্লাইড নির্বাচন করা
        XSLFSlide slide = ppt.getSlides().get(0);

        // টেক্সট বক্স তৈরি করা
        XSLFTextBox title = slide.createTextBox();
        title.setText("Formatted Text Example");

        // টেক্সট ফরম্যাটিং
        title.setFontSize(24.0);  // Font Size
        title.setFontColor(new Color(255, 0, 0));  // Font Color (Red)
        title.setFont("Arial");  // Font Family

        // স্লাইডে টেক্সট বক্স যোগ করা
        title.setAnchor(new java.awt.Rectangle(100, 100, 400, 50));

        // ফাইল সংরক্ষণ করা
        FileOutputStream out = new FileOutputStream("formatted.pptx");
        ppt.write(out);
        out.close();

        System.out.println("PowerPoint ফাইল ফরম্যাট করা হয়েছে!");
    }
}

এটি একটি PowerPoint স্লাইডে "Formatted Text Example" টেক্সট যোগ করবে এবং তার ফন্ট সাইজ, রঙ এবং ফন্ট ফ্যামিলি সেট করবে। এতে টেক্সটের রঙ রেড (255, 0, 0) সেট করা হয়েছে।


PowerPoint টেক্সট ফরম্যাটিং - রঙ সেট করা

আপনি setFontColor মেথড ব্যবহার করে PowerPoint স্লাইডে টেক্সটের রঙ নির্ধারণ করতে পারেন। উদাহরণস্বরূপ, রঙ Red (255, 0, 0) হতে পারে, অথবা আপনি Color.decode("#HEXCODE") ব্যবহার করে কাস্টম রঙও সেট করতে পারেন।

title.setFontColor(new Color(255, 0, 0));  // Red Color
// অথবা
title.setFontColor(Color.decode("#00FF00"));  // Green Color using HEX

PowerPoint টেক্সট ফরম্যাটিং - ফন্ট সাইজ এবং ফন্ট পরিবর্তন

  • ফন্ট সাইজ: আপনি setFontSize মেথড ব্যবহার করে টেক্সটের সাইজ পরিবর্তন করতে পারেন।

    title.setFontSize(18.0);  // Font Size 18
    
  • ফন্ট পরিবর্তন: আপনি setFont মেথড ব্যবহার করে টেক্সটের ফন্ট ফ্যামিলি পরিবর্তন করতে পারেন।

    title.setFont("Times New Roman");  // Font Family
    

PowerPoint টেক্সট ফরম্যাটিং - বোল্ড, ইটালিক, আন্ডারলাইন

PowerPoint স্লাইডে টেক্সট বোল্ড, ইটালিক বা আন্ডারলাইন করতে XSLF বা HSLF API এর RichTextRun ব্যবহার করতে হয়। নিচে একটি উদাহরণ:

import org.apache.poi.xslf.usermodel.*;
import org.apache.poi.sl.usermodel.TextParagraph;

import java.io.FileOutputStream;
import java.io.IOException;

public class PowerPointTextStyleExample {
    public static void main(String[] args) throws IOException {
        // নতুন PowerPoint তৈরি করা
        XMLSlideShow ppt = new XMLSlideShow();

        // স্লাইড তৈরি করা
        XSLFSlide slide = ppt.createSlide();

        // টেক্সট বক্স তৈরি করা
        XSLFTextBox textBox = slide.createTextBox();
        XSLFTextParagraph p = textBox.addNewTextParagraph();
        XSLFTextRun r = p.addNewTextRun();
        r.setText("Bold, Italic, and Underlined Text");

        // ফন্ট স্টাইল সেট করা
        r.setBold(true);  // বোল্ড
        r.setItalic(true);  // ইটালিক
        r.setUnderline(true);  // আন্ডারলাইন

        // ফাইল সংরক্ষণ করা
        FileOutputStream out = new FileOutputStream("formatted_text_style.pptx");
        ppt.write(out);
        out.close();

        System.out.println("PowerPoint ফাইল ফরম্যাট করা হয়েছে!");
    }
}

এটি PowerPoint স্লাইডে "Bold, Italic, and Underlined Text" যোগ করবে এবং সেই টেক্সটের ফন্ট স্টাইল বোল্ড, ইটালিক এবং আন্ডারলাইন করবে।


সারাংশ

Apache POI এর XSLF এবং HSLF API ব্যবহার করে PowerPoint স্লাইডে টেক্সট ফরম্যাটিং করা সম্ভব। আপনি ফন্ট সাইজ, ফন্ট ফ্যামিলি, রঙ, বোল্ড, ইটালিক এবং আন্ডারলাইন স্টাইলসহ বিভিন্ন ফরম্যাটিং অপশন ব্যবহার করতে পারেন। এর মাধ্যমে আপনি PowerPoint ফাইলের কন্টেন্ট কাস্টমাইজ এবং স্টাইলিশ করতে পারেন।

common.content_added_by

Bullets এবং Numbering যুক্ত করা

155
155

অ্যাপাচি পিওআই (Apache POI) লাইব্রেরি ব্যবহার করে PowerPoint ফাইল (.pptx) তৈরি এবং সম্পাদনা করা যায়। PowerPoint স্লাইডে bullets এবং numbering যোগ করা একটি সাধারণ প্রয়োগ। এটি ব্যবহারকারীকে স্লাইডে তালিকা তৈরি করতে এবং সাজানো (ordered) বা অগণিত (unordered) তালিকা তৈরি করতে সহায়ক।

এই টিউটোরিয়ালে, আমরা দেখাবো কীভাবে অ্যাপাচি পিওআই ব্যবহার করে PowerPoint স্লাইডে bullets এবং numbering যুক্ত করা যায়।


PowerPoint স্লাইডে Bullets এবং Numbering যুক্ত করা

প্রয়োজনীয় ডিপেনডেন্সি

Maven বা Gradle ব্যবহার করে অ্যাপাচি পিওআই ডিপেনডেন্সি যুক্ত করা প্রয়োজন।

Maven Dependency:

<dependency>
    <groupId>org.apache.poi</groupId>
    <artifactId>poi-ooxml</artifactId>
    <version>5.2.3</version> <!-- সর্বশেষ সংস্করণ -->
</dependency>

Gradle Dependency:

dependencies {
    implementation 'org.apache.poi:poi-ooxml:5.2.3' // সর্বশেষ সংস্করণ
}

Bullets যুক্ত করা

PowerPoint স্লাইডে bulleted lists তৈরি করতে, আমরা XSLFTextShape ব্যবহার করবো, যা setText() মেথডের মাধ্যমে টেক্সট যোগ করে এবং bulleted style সেট করতে সাহায্য করবে।

Step 1: Bulleted List তৈরি করা

import org.apache.poi.xslf.usermodel.*;

import java.io.FileOutputStream;
import java.io.IOException;

public class BulletPointExample {
    public static void main(String[] args) throws IOException {
        XMLSlideShow ppt = new XMLSlideShow();

        // স্লাইড তৈরি করা
        XSLFSlide slide = ppt.createSlide();
        
        // Bullet list তৈরি করা
        XSLFTextBox textBox = slide.createTextBox();
        XSLFTextParagraph paragraph = textBox.addNewTextParagraph();

        // Bullet style সেট করা
        paragraph.setBullet(true);
        paragraph.setBulletStyle(BulletStyle.SYMBOL);
        paragraph.setBulletCharacter((char) 8226);  // • (Bullet character)

        // Bulleted list items যোগ করা
        XSLFTextRun run1 = paragraph.addNewTextRun();
        run1.setText("First bullet point");

        XSLFTextParagraph paragraph2 = textBox.addNewTextParagraph();
        paragraph2.setBullet(true);
        paragraph2.setBulletCharacter((char) 8226);
        XSLFTextRun run2 = paragraph2.addNewTextRun();
        run2.setText("Second bullet point");

        // PowerPoint ফাইল তৈরি করা
        FileOutputStream out = new FileOutputStream("bulleted_list.pptx");
        ppt.write(out);
        out.close();
        ppt.close();
    }
}

Code Breakdown:

  1. XSLFTextBox ব্যবহার করে স্লাইডে একটি টেক্সট বক্স তৈরি করা হয়।
  2. XSLFTextParagraph এর setBullet(true) মেথডের মাধ্যমে বুলেট পয়েন্ট সক্রিয় করা হয়।
  3. BulletStyle.SYMBOL দিয়ে বুলেট স্টাইল নির্ধারণ করা হয়েছে (এটি সাধারণত "•" চিহ্ন ব্যবহার করবে)।
  4. পরে XSLFTextRun এর মাধ্যমে তালিকায় আউটপুটের টেক্সট যোগ করা হয়।

Numbering যুক্ত করা

PowerPoint স্লাইডে numbered lists (সংখ্যা দিয়ে তালিকা) তৈরি করতে, একইভাবে XSLFTextParagraph ব্যবহার করা হয়, তবে এখানে numbering ফিচার ব্যবহার করতে হবে।

Step 2: Numbered List তৈরি করা

import org.apache.poi.xslf.usermodel.*;

import java.io.FileOutputStream;
import java.io.IOException;

public class NumberedListExample {
    public static void main(String[] args) throws IOException {
        XMLSlideShow ppt = new XMLSlideShow();

        // স্লাইড তৈরি করা
        XSLFSlide slide = ppt.createSlide();
        
        // Numbered list তৈরি করা
        XSLFTextBox textBox = slide.createTextBox();
        XSLFTextParagraph paragraph = textBox.addNewTextParagraph();

        // Numbering style সেট করা
        paragraph.setNumbered(true);
        paragraph.setNumberingStart(1);  // Numbering শুরু হবে ১ থেকে

        // Numbered list items যোগ করা
        XSLFTextRun run1 = paragraph.addNewTextRun();
        run1.setText("First numbered item");

        XSLFTextParagraph paragraph2 = textBox.addNewTextParagraph();
        paragraph2.setNumbered(true);
        paragraph2.setNumberingStart(2);  // পরবর্তী আইটেমের জন্য ২ থেকে শুরু হবে
        XSLFTextRun run2 = paragraph2.addNewTextRun();
        run2.setText("Second numbered item");

        // PowerPoint ফাইল তৈরি করা
        FileOutputStream out = new FileOutputStream("numbered_list.pptx");
        ppt.write(out);
        out.close();
        ppt.close();
    }
}

Code Breakdown:

  1. XSLFTextBox এবং XSLFTextParagraph ব্যবহার করে স্লাইডে একটি টেক্সট বক্স তৈরি করা হয়।
  2. paragraph.setNumbered(true) এর মাধ্যমে numbering সক্রিয় করা হয়।
  3. setNumberingStart(1) মেথড ব্যবহার করে numbering শুরু করার সংখ্যা নির্ধারণ করা হয়।
  4. পরবর্তী আইটেমের জন্য, setNumberingStart(2) দিয়ে সংখ্যার পরবর্তী ক্রম সেট করা হয়।

Bullets এবং Numbering এর মধ্যে পার্থক্য

বৈশিষ্ট্যBulleted ListNumbered List
এনভেলপএকক চিহ্ন (•) দ্বারা প্রতিটি আইটেম শুরু হয়সংখ্যার মাধ্যমে প্রতিটি আইটেম শুরু হয়
ব্যবহারআনঅর্ডারড তালিকা (unordered list)অর্ডারড তালিকা (ordered list)
কনফিগারেশনparagraph.setBullet(true)paragraph.setNumbered(true)
স্টাইলBulletStyle.SYMBOL বা BulletStyle.NUMBERsetNumberingStart() দিয়ে সংখ্যা নির্ধারণ

সারাংশ

অ্যাপাচি পিওআই (Apache POI) ব্যবহার করে PowerPoint স্লাইডে bullets এবং numbering তালিকা যোগ করা সহজ। XSLFTextParagraph এর setBullet(true) এবং setNumbered(true) মেথড ব্যবহার করে আপনি বুলেট এবং নম্বরযুক্ত তালিকা তৈরি করতে পারেন। এগুলি PowerPoint প্রেজেন্টেশনে তালিকা তৈরি করতে ব্যবহৃত হয়, যা প্রেজেন্টেশনের কনটেন্ট আরও সুসংগঠিত এবং পাঠযোগ্য করে তোলে।


common.content_added_by

Text Alignment এবং Paragraph Formatting

157
157

অ্যাপাচি পিওআই (Apache POI) Java ভিত্তিক একটি লাইব্রেরি যা মাইক্রোসফট অফিস ফাইলগুলির সাথে কাজ করার জন্য ব্যবহৃত হয়। PowerPoint (.ppt এবং .pptx) ফাইলের মধ্যে টেক্সটের অ্যালাইনমেন্ট এবং প্যারাগ্রাফ ফরম্যাটিং অ্যাপ্লাই করার জন্য, Apache POI এর XSLF (নতুন .pptx ফাইল) এবং HSLF (পুরোনো .ppt ফাইল) মডিউল ব্যবহার করা যেতে পারে।

এই গাইডে আমরা দেখব কিভাবে Apache POI ব্যবহার করে PowerPoint ফাইলের টেক্সট অ্যালাইনমেন্ট এবং প্যারাগ্রাফ ফরম্যাটিং সম্পাদনা করা যায়।

১. XSLF (PowerPoint .pptx) ফাইলের জন্য Text Alignment এবং Paragraph Formatting

Apache POI XSLF মডিউলটি .pptx ফাইল ফরম্যাটের জন্য ব্যবহৃত হয়। আপনি XSLF ব্যবহার করে PowerPoint স্লাইডে টেক্সটের অ্যালাইনমেন্ট এবং প্যারাগ্রাফ ফরম্যাটিং করতে পারবেন।

১.১ Maven ডিপেনডেন্সি

প্রথমে আপনার Maven প্রোজেক্টে Apache POI এর poi-ooxml ডিপেনডেন্সি যোগ করুন:

<dependency>
    <groupId>org.apache.poi</groupId>
    <artifactId>poi-ooxml</artifactId>
    <version>5.2.3</version> <!-- NiFi ব্যবহারকারীর নির্দিষ্ট ভার্সন চেক করুন -->
</dependency>

১.২ Text Alignment এবং Paragraph Formatting (XSLF)

import org.apache.poi.xslf.usermodel.XMLSlideShow;
import org.apache.poi.xslf.usermodel.XSLFSlide;
import org.apache.poi.xslf.usermodel.XSLFTextBox;
import org.apache.poi.xslf.usermodel.XSLFTextParagraph;
import org.apache.poi.xslf.usermodel.XSLFTextRun;
import java.awt.Rectangle;
import java.io.FileOutputStream;
import java.io.IOException;

public class PowerPointTextFormatting {
    public static void main(String[] args) throws IOException {
        // নতুন PowerPoint প্রেজেন্টেশন তৈরি
        XMLSlideShow ppt = new XMLSlideShow();

        // একটি স্লাইড তৈরি করা
        XSLFSlide slide = ppt.createSlide();

        // স্লাইডে টেক্সট বক্স তৈরি করা
        XSLFTextBox textBox = slide.createTextBox();
        textBox.setAnchor(new Rectangle(100, 100, 400, 200));

        // প্যারাগ্রাফ ফরম্যাটিং সেট করা
        XSLFTextParagraph paragraph = textBox.addNewTextParagraph();
        paragraph.setAlignment(org.apache.poi.sl.usermodel.TextParagraph.Alignment.CENTER); // টেক্সট সেন্টার অ্যালাইনমেন্ট

        // টেক্সট রান সেট করা
        XSLFTextRun textRun = paragraph.addNewTextRun();
        textRun.setText("Hello, Apache POI with Text Alignment!");

        // টেক্সট ফরম্যাটিং
        textRun.setFontSize(24.0); // ফন্ট সাইজ
        textRun.setBold(true); // বোল্ড
        textRun.setItalic(true); // ইটালিক

        // PowerPoint ফাইল সংরক্ষণ করা
        try (FileOutputStream out = new FileOutputStream("formatted_presentation.pptx")) {
            ppt.write(out);
        }

        System.out.println("PowerPoint ফাইল তৈরি হয়েছে!");
    }
}

১.৩ Text Alignment:

  • TextParagraph.Alignment.LEFT: বাম সজ্জিত টেক্সট।
  • TextParagraph.Alignment.CENTER: কেন্দ্র সজ্জিত টেক্সট।
  • TextParagraph.Alignment.RIGHT: ডান সজ্জিত টেক্সট।
  • TextParagraph.Alignment.JUSTIFY: পুরো লাইনের জন্য টেক্সট সজ্জিত করা।

এই কোডে, আমরা টেক্সট বক্সের মধ্যে একটি প্যারাগ্রাফ তৈরি করেছি এবং তার জন্য সেন্টার অ্যালাইনমেন্ট সেট করেছি। আপনি চাইলে LEFT, RIGHT, বা JUSTIFY আলাইনমেন্টও ব্যবহার করতে পারেন।

১.৪ Paragraph Formatting:

আপনি প্রতিটি প্যারাগ্রাফের ফরম্যাটও কাস্টমাইজ করতে পারেন:

  • Indentation: প্যারাগ্রাফের প্রথম লাইন বা পুরো প্যারাগ্রাফের জন্য ইনডেন্টেশন কনফিগার করা।
  • Line Spacing: প্যারাগ্রাফের মধ্যে লাইনের মধ্যে ফাঁকা জায়গা তৈরি করা।
paragraph.setIndentLevel(1); // প্রথম লাইন ইন্ডেন্টেশন
paragraph.setLineSpacing(20.0); // লাইনের মাঝে স্পেস

২. HSLF (PowerPoint .ppt) ফাইলের জন্য Text Alignment এবং Paragraph Formatting

HSLF মডিউলটি পুরোনো .ppt ফাইল ফরম্যাটের জন্য ব্যবহৃত হয়। এটি ব্যবহারের জন্য একইভাবে টেক্সট অ্যালাইনমেন্ট এবং প্যারাগ্রাফ ফরম্যাটিং করতে পারেন।

২.১ HSLF Example (PowerPoint .ppt)

import org.apache.poi.hslf.usermodel.HSLFSlideShow;
import org.apache.poi.hslf.usermodel.HSLFSlide;
import org.apache.poi.hslf.usermodel.HSLFTextBox;
import org.apache.poi.hslf.usermodel.HSLFTextParagraph;
import org.apache.poi.hslf.usermodel.HSLFTextRun;
import java.awt.Rectangle;
import java.io.FileOutputStream;
import java.io.IOException;

public class PowerPointTextFormattingHSLF {
    public static void main(String[] args) throws IOException {
        // নতুন PowerPoint .ppt ফাইল তৈরি
        HSLFSlideShow ppt = new HSLFSlideShow();

        // একটি স্লাইড তৈরি করা
        HSLFSlide slide = ppt.createSlide();

        // স্লাইডে টেক্সট বক্স তৈরি করা
        HSLFTextBox textBox = new HSLFTextBox();
        textBox.setBounds(new Rectangle(100, 100, 400, 200));
        slide.addShape(textBox);

        // প্যারাগ্রাফ ফরম্যাটিং সেট করা
        HSLFTextParagraph paragraph = textBox.addNewTextParagraph();
        paragraph.setAlignment(HSLFTextParagraph.Alignment.CENTER); // টেক্সট সেন্টার অ্যালাইনমেন্ট

        // টেক্সট রান সেট করা
        HSLFTextRun textRun = paragraph.addNewTextRun();
        textRun.setText("Hello, Apache POI with Text Alignment!");

        // টেক্সট ফরম্যাটিং
        textRun.setFontSize(24.0); // ফন্ট সাইজ
        textRun.setBold(true); // বোল্ড
        textRun.setItalic(true); // ইটালিক

        // PowerPoint .ppt ফাইল সংরক্ষণ করা
        try (FileOutputStream out = new FileOutputStream("formatted_presentation.ppt")) {
            ppt.write(out);
        }

        System.out.println("PowerPoint .ppt ফাইল তৈরি হয়েছে!");
    }
}

এই কোডের মাধ্যমে .ppt ফাইলের জন্যও একই ধরনের টেক্সট অ্যালাইনমেন্ট এবং ফরম্যাটিং কাস্টমাইজ করা হয়।


৩. সারাংশ

অ্যাপাচি পিওআই (Apache POI) PowerPoint ফাইলের টেক্সট অ্যালাইনমেন্ট এবং প্যারাগ্রাফ ফরম্যাটিং করার জন্য শক্তিশালী টুল। XSLF (নতুন .pptx ফাইল) এবং HSLF (পুরোনো .ppt ফাইল) উভয় মডিউলই টেক্সট অ্যালাইনমেন্ট এবং প্যারাগ্রাফ ফরম্যাটিংয়ের জন্য কাস্টমাইজেশনের অনেক অপশন প্রদান করে। আপনি বিভিন্ন প্রোপার্টি যেমন টেক্সট সাইজ, বোল্ড, ইটালিক, অ্যালাইনমেন্ট, লাইনের স্পেসিং এবং ইনডেন্টেশন ব্যবহার করে আপনার PowerPoint ফাইলটিকে প্রয়োজনমতো সাজাতে পারবেন।

common.content_added_by
টপ রেটেড অ্যাপ

স্যাট অ্যাকাডেমী অ্যাপ

আমাদের অল-ইন-ওয়ান মোবাইল অ্যাপের মাধ্যমে সীমাহীন শেখার সুযোগ উপভোগ করুন।

ভিডিও
লাইভ ক্লাস
এক্সাম
ডাউনলোড করুন
Promotion