List এবং Numbering

Java Technologies - অ্যাপাচি পিওআই (ওয়ার্ড)
195
195

Apache POI লাইব্রেরি ব্যবহার করে আপনি Microsoft Word ডকুমেন্টে List (তালিকা) এবং Numbering (নাম্বারিং) তৈরি করতে পারেন। এটি আপনাকে Bullet list (বুলেট তালিকা), Numbered list (নাম্বারড তালিকা) এবং Mixed list (মিশ্র তালিকা) তৈরি করতে সহায়তা করবে। Word ডকুমেন্টে তালিকা তৈরি করতে XWPFParagraph এবং XWPFRun ব্যবহার করা হয়।


তালিকা তৈরি করা (List)

Word ডকুমেন্টে Bullet List বা Numbered List তৈরি করার জন্য আপনাকে XWPFParagraph ক্লাসের setNumID() এবং setBullet() পদ্ধতি ব্যবহার করতে হবে।

Bullet List (বুলেট তালিকা) তৈরি করা

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

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

public class BulletListExample {
    public static void main(String[] args) {
        try {
            // নতুন Word ডকুমেন্ট তৈরি করা
            XWPFDocument document = new XWPFDocument();

            // বুলেট তালিকা তৈরি করার জন্য প্যারাগ্রাফ তৈরি করা
            XWPFParagraph paragraph1 = document.createParagraph();
            paragraph1.setBullet(true);
            XWPFRun run1 = paragraph1.createRun();
            run1.setText("Item 1");

            XWPFParagraph paragraph2 = document.createParagraph();
            paragraph2.setBullet(true);
            XWPFRun run2 = paragraph2.createRun();
            run2.setText("Item 2");

            XWPFParagraph paragraph3 = document.createParagraph();
            paragraph3.setBullet(true);
            XWPFRun run3 = paragraph3.createRun();
            run3.setText("Item 3");

            // Word ডকুমেন্ট সেভ করা
            FileOutputStream out = new FileOutputStream("bullet_list_example.docx");
            document.write(out);
            out.close();

            System.out.println("Word document created with bullet list.");
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

ব্যাখ্যা:

  • setBullet(true): এটি প্যারাগ্রাফে বুলেট তালিকা যুক্ত করে।
  • XWPFRun: এটি টেক্সট ফরম্যাটিং এবং কন্টেন্ট অ্যাড করার জন্য ব্যবহৃত হয়।

নাম্বারড তালিকা (Numbered List) তৈরি করা

নাম্বারড তালিকা তৈরি করতে XWPFParagraph এর setNumID() এবং setLevel() পদ্ধতি ব্যবহার করা হয়।

Numbered List (নাম্বারড তালিকা) তৈরি করা

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

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

public class NumberedListExample {
    public static void main(String[] args) {
        try {
            // নতুন Word ডকুমেন্ট তৈরি করা
            XWPFDocument document = new XWPFDocument();

            // নাম্বারড তালিকা তৈরি করার জন্য প্যারাগ্রাফ তৈরি করা
            XWPFParagraph paragraph1 = document.createParagraph();
            paragraph1.setNumID(1);  // নাম্বারড তালিকার জন্য 1 সেট করা
            XWPFRun run1 = paragraph1.createRun();
            run1.setText("First item");

            XWPFParagraph paragraph2 = document.createParagraph();
            paragraph2.setNumID(1);  // একই নাম্বারিং ধারাবাহিক রাখতে
            XWPFRun run2 = paragraph2.createRun();
            run2.setText("Second item");

            XWPFParagraph paragraph3 = document.createParagraph();
            paragraph3.setNumID(1);  // একই নাম্বারিং ধারাবাহিক রাখতে
            XWPFRun run3 = paragraph3.createRun();
            run3.setText("Third item");

            // Word ডকুমেন্ট সেভ করা
            FileOutputStream out = new FileOutputStream("numbered_list_example.docx");
            document.write(out);
            out.close();

            System.out.println("Word document created with numbered list.");
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

ব্যাখ্যা:

  • setNumID(1): এটি নাম্বারড তালিকার জন্য ১ নম্বর আইডি সেট করে।
  • setLevel(0): এটি নাম্বারড তালিকার স্তর নির্ধারণ করে, যাতে সাব-আইটেমের জন্য ইন্ডেন্টেশন তৈরি করা যায় (যদি প্রয়োজন হয়)।

মিশ্র তালিকা (Mixed List) তৈরি করা

আপনি একটি ডকুমেন্টে বুলেট তালিকা এবং নাম্বারড তালিকা একসাথে ব্যবহার করতে পারেন, যেমন মিশ্র তালিকা (Mixed List)। এই জন্য বিভিন্ন প্যারাগ্রাফে আলাদা আলাদা setBullet(true) এবং setNumID() ব্যবহার করা হবে।

Mixed List (মিশ্র তালিকা) তৈরি করা

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

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

public class MixedListExample {
    public static void main(String[] args) {
        try {
            // নতুন Word ডকুমেন্ট তৈরি করা
            XWPFDocument document = new XWPFDocument();

            // প্রথম বুলেট তালিকা আইটেম
            XWPFParagraph paragraph1 = document.createParagraph();
            paragraph1.setBullet(true);
            XWPFRun run1 = paragraph1.createRun();
            run1.setText("Bullet Item 1");

            // প্রথম নাম্বারড তালিকা আইটেম
            XWPFParagraph paragraph2 = document.createParagraph();
            paragraph2.setNumID(1);  // নাম্বারড তালিকার জন্য 1 সেট করা
            XWPFRun run2 = paragraph2.createRun();
            run2.setText("Numbered Item 1");

            // দ্বিতীয় বুলেট তালিকা আইটেম
            XWPFParagraph paragraph3 = document.createParagraph();
            paragraph3.setBullet(true);
            XWPFRun run3 = paragraph3.createRun();
            run3.setText("Bullet Item 2");

            // দ্বিতীয় নাম্বারড তালিকা আইটেম
            XWPFParagraph paragraph4 = document.createParagraph();
            paragraph4.setNumID(1);  // একই নাম্বারিং ধারাবাহিক রাখতে
            XWPFRun run4 = paragraph4.createRun();
            run4.setText("Numbered Item 2");

            // Word ডকুমেন্ট সেভ করা
            FileOutputStream out = new FileOutputStream("mixed_list_example.docx");
            document.write(out);
            out.close();

            System.out.println("Word document created with mixed list.");
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

ব্যাখ্যা:

  • setBullet(true): এটি বুলেট তালিকা তৈরি করে।
  • setNumID(1): এটি নাম্বারড তালিকা তৈরি করে।
  • আপনি চাইলে বুলেট এবং নাম্বারড তালিকাগুলোর মধ্যে মিশ্রণ তৈরি করতে পারেন।

তালিকা স্তর (List Level)

আপনি setLevel() ব্যবহার করে তালিকার স্তর নির্ধারণ করতে পারেন, যার মাধ্যমে সাব-লিস্ট তৈরি করা যায়।

উদাহরণ: তালিকার স্তর তৈরি করা

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

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

public class ListLevelExample {
    public static void main(String[] args) {
        try {
            // নতুন Word ডকুমেন্ট তৈরি করা
            XWPFDocument document = new XWPFDocument();

            // প্রথম নাম্বারড তালিকা আইটেম
            XWPFParagraph paragraph1 = document.createParagraph();
            paragraph1.setNumID(1);
            XWPFRun run1 = paragraph1.createRun();
            run1.setText("Main Item 1");

            // সাব-আইটেম (নাম্বারড তালিকার স্তর 1)
            XWPFParagraph paragraph2 = document.createParagraph();
            paragraph2.setNumID(1);
            paragraph2.setLevel(1);  // স্তর 1 (সাব-আইটেম)
            XWPFRun run2 = paragraph2.createRun();
            run2.setText("Sub Item 1.1");

            // আরো একটি সাব-আইটেম (নাম্বারড তালিকার স্তর 2)
            XWPFParagraph paragraph3 = document.createParagraph();
            paragraph3.setNumID(1);
            paragraph3.setLevel(2);  // স্তর 2 (আরো গভীর সাব-আইটেম)
            XWPFRun run3 = paragraph3.createRun();
            run3.setText("Sub Item 1.1.1");

            // Word ডকুমেন্ট সেভ করা
            FileOutputStream out = new FileOutputStream("list_with_levels.docx");
            document.write(out);
            out.close();

            System.out.println("Word document created with list levels.");
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

ব্যাখ্যা:

  • setLevel(1): এটি সাব-লিস্ট (স্তর 1) তৈরি করে।
  • setLevel(2): এটি আরও গভীর সাব-লিস্ট (স্তর 2) তৈরি করে।

সারাংশ

Apache POI লাইব্রেরি ব্যবহার করে আপনি Word ডকুমেন্টে List এবং Numbering তৈরির মাধ্যমে সহজেই তালিকা এবং নাম্বারড তালিকা তৈরি করতে পারেন। বুলেট তালিকা এবং নাম্বারড তালিকা, পাশাপাশি মিশ্র তালিকা এবং স্তরবিন্যস্ত তালিকা তৈরি করার জন্য এই লাইব্রেরি অত্যন্ত উপকারী।

common.content_added_by

Bullet List এবং Numbered List তৈরি করা

127
127

Apache POI লাইব্রেরি ব্যবহার করে আপনি Word ডকুমেন্টে Bullet List এবং Numbered List তৈরি করতে পারেন। XWPFParagraph ক্লাসটি ব্যবহার করে এই তালিকা তৈরি করা হয়, যেখানে আপনি list styleindentation কাস্টমাইজ করতে পারবেন।

এখানে আমরা দুটি তালিকা (Bullet এবং Numbered) তৈরি করার উদাহরণ দেখাবো।


Bullet List তৈরি করার উদাহরণ

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

import java.io.*;

public class BulletListExample {
    public static void main(String[] args) {
        try {
            // নতুন Word ডকুমেন্ট তৈরি করা
            XWPFDocument document = new XWPFDocument();

            // Bullet list প্যারাগ্রাফ তৈরি
            XWPFParagraph paragraph = document.createParagraph();
            paragraph.setStyle("ListBullet");

            // প্রথম আইটেম
            XWPFRun run = paragraph.createRun();
            run.setText("প্রথম আইটেম");

            // দ্বিতীয় আইটেম
            paragraph = document.createParagraph();
            paragraph.setStyle("ListBullet");
            run = paragraph.createRun();
            run.setText("দ্বিতীয় আইটেম");

            // তৃতীয় আইটেম
            paragraph = document.createParagraph();
            paragraph.setStyle("ListBullet");
            run = paragraph.createRun();
            run.setText("তৃতীয় আইটেম");

            // ডকুমেন্টটি সেভ করা
            FileOutputStream out = new FileOutputStream("bullet_list_example.docx");
            document.write(out);
            out.close();

            System.out.println("Bullet list সফলভাবে তৈরি হয়েছে!");
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

Numbered List তৈরি করার উদাহরণ

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

import java.io.*;

public class NumberedListExample {
    public static void main(String[] args) {
        try {
            // নতুন Word ডকুমেন্ট তৈরি করা
            XWPFDocument document = new XWPFDocument();

            // Numbered list প্যারাগ্রাফ তৈরি
            XWPFParagraph paragraph = document.createParagraph();
            paragraph.setStyle("ListNumber");

            // প্রথম আইটেম
            XWPFRun run = paragraph.createRun();
            run.setText("প্রথম আইটেম");

            // দ্বিতীয় আইটেম
            paragraph = document.createParagraph();
            paragraph.setStyle("ListNumber");
            run = paragraph.createRun();
            run.setText("দ্বিতীয় আইটেম");

            // তৃতীয় আইটেম
            paragraph = document.createParagraph();
            paragraph.setStyle("ListNumber");
            run = paragraph.createRun();
            run.setText("তৃতীয় আইটেম");

            // ডকুমেন্টটি সেভ করা
            FileOutputStream out = new FileOutputStream("numbered_list_example.docx");
            document.write(out);
            out.close();

            System.out.println("Numbered list সফলভাবে তৈরি হয়েছে!");
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

কোড বিশ্লেষণ:

  1. XWPFDocument: এটি একটি নতুন .docx ডকুমেন্ট তৈরি করে।
  2. createParagraph(): নতুন একটি প্যারাগ্রাফ তৈরি করা হয় যেখানে তালিকার আইটেম থাকবে।
  3. setStyle(): এটি প্যারাগ্রাফের স্টাইল সেট করে। Bullet list এর জন্য "ListBullet" এবং Numbered list এর জন্য "ListNumber" ব্যবহার করা হয়।
  4. createRun(): এটি প্যারাগ্রাফের মধ্যে একটি রান তৈরি করে, যা টেক্সট রাখবে।
  5. setText(): এটি টেক্সট সেট করে, যা তালিকার আইটেম হবে।
  6. FileOutputStream: ডকুমেন্টটি ফাইলে সেভ করা হয়।

তালিকা কাস্টমাইজেশন

আপনি তালিকাগুলির স্টাইল কাস্টমাইজ করতে পারেন, যেমন ফন্ট সাইজ, ফন্ট কালার, এবং অন্য স্টাইলগুলো:

১. ফন্ট এবং স্টাইল কাস্টমাইজ করা:

run.setFontFamily("Arial");
run.setFontSize(12);
run.setColor("0000FF");  // টেক্সট কালার ব্লু
run.setBold(true);  // বোল্ড
run.setItalic(true);  // ইটালিক

২. ইন্ডেন্টেশন পরিবর্তন করা:

paragraph.setIndentationLeft(500);  // বাম দিকে 500 পিক্সেল মার্জিন
paragraph.setIndentationRight(500); // ডান দিকে 500 পিক্সেল মার্জিন

৩. টেক্সট অ্যালাইনমেন্ট:

paragraph.setAlignment(ParagraphAlignment.LEFT);  // বাম দিকে অ্যালাইন

সারাংশ

Apache POI লাইব্রেরি ব্যবহার করে আপনি সহজেই Bullet List এবং Numbered List তৈরি করতে পারেন Word ডকুমেন্টে। আপনি XWPFParagraph ক্লাসের মাধ্যমে তালিকা আইটেমগুলির স্টাইল এবং ফরম্যাট কাস্টমাইজ করতে পারেন। উপরের উদাহরণগুলো আপনাকে Bullet ও Numbered list তৈরির পদ্ধতি সম্পর্কে ধারণা দিয়েছে, এবং কাস্টম স্টাইলিং অপশনগুলোও দেখিয়েছে।


common.content_added_by

List Items এর জন্য Custom Styling

133
133

Apache POI এর XWPF API ব্যবহার করে আপনি Word ডকুমেন্টে List Items (বুলেট পয়েন্ট বা নাম্বারিং সহ) তৈরি করতে পারেন এবং তাদের জন্য কাস্টম স্টাইলিং করতে পারেন। এখানে আমরা দেখবো কিভাবে List Items তৈরি এবং তাদের স্টাইলিং করা যায়, যেমন বুলেট পয়েন্ট, নাম্বারিং, ইন্ডেন্টেশন, এবং ফন্ট স্টাইল কাস্টমাইজ করা।


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

প্রথমে একটি Word ডকুমেন্টে বুলেট পয়েন্ট বা নাম্বারড তালিকা (ordered/unordered list) তৈরি করতে হবে। এর জন্য XWPFParagraph ক্লাস এবং XWPFRun ব্যবহার করা হবে।

Example: বুলেট পয়েন্ট তালিকা তৈরি করা

import org.apache.poi.xwpf.usermodel.*;
import java.io.FileOutputStream;
import java.io.IOException;

public class ListItemExample {
    public static void main(String[] args) throws IOException {
        // নতুন Word ডকুমেন্ট তৈরি
        XWPFDocument document = new XWPFDocument();

        // বুলেট পয়েন্ট তালিকা তৈরি
        XWPFParagraph bulletList = document.createParagraph();
        bulletList.setNumID(BigInteger.valueOf(1)); // বুলেট পয়েন্ট নাম্বার

        XWPFRun run1 = bulletList.createRun();
        run1.setText("প্রথম বুলেট পয়েন্ট");

        // দ্বিতীয় বুলেট পয়েন্ট
        XWPFParagraph bulletList2 = document.createParagraph();
        bulletList2.setNumID(BigInteger.valueOf(1));

        XWPFRun run2 = bulletList2.createRun();
        run2.setText("দ্বিতীয় বুলেট পয়েন্ট");

        // ডকুমেন্ট সংরক্ষণ
        FileOutputStream out = new FileOutputStream("BulletList.docx");
        document.write(out);
        out.close();

        System.out.println("বুলেট পয়েন্ট তালিকা তৈরি এবং সংরক্ষণ করা হয়েছে।");
    }
}

এখানে, setNumID() মেথডের মাধ্যমে তালিকায় বুলেট পয়েন্ট যোগ করা হয়েছে। BigInteger.valueOf(1) দ্বারা আমরা বুলেট পয়েন্টের জন্য নাম্বার সেট করেছি।


Step 2: নাম্বারড তালিকা (Ordered List) তৈরি করা

নাম্বারড তালিকা তৈরি করতে setNumID() মেথডের মাধ্যমে নাম্বারিং নির্ধারণ করা যায়।

Example: নাম্বারড তালিকা তৈরি করা

import org.apache.poi.xwpf.usermodel.*;
import java.io.FileOutputStream;
import java.io.IOException;
import java.math.BigInteger;

public class NumberedListExample {
    public static void main(String[] args) throws IOException {
        // নতুন Word ডকুমেন্ট তৈরি
        XWPFDocument document = new XWPFDocument();

        // নাম্বারড তালিকা তৈরি
        XWPFParagraph numberList = document.createParagraph();
        numberList.setNumID(BigInteger.valueOf(2)); // নাম্বারড তালিকা নাম্বার

        XWPFRun run1 = numberList.createRun();
        run1.setText("প্রথম নাম্বারড পয়েন্ট");

        // দ্বিতীয় নাম্বারড পয়েন্ট
        XWPFParagraph numberList2 = document.createParagraph();
        numberList2.setNumID(BigInteger.valueOf(2));

        XWPFRun run2 = numberList2.createRun();
        run2.setText("দ্বিতীয় নাম্বারড পয়েন্ট");

        // ডকুমেন্ট সংরক্ষণ
        FileOutputStream out = new FileOutputStream("NumberedList.docx");
        document.write(out);
        out.close();

        System.out.println("নাম্বারড তালিকা তৈরি এবং সংরক্ষণ করা হয়েছে।");
    }
}

এখানে, BigInteger.valueOf(2) ব্যবহার করে নাম্বারড তালিকায় নম্বরিং যোগ করা হয়েছে।


Step 3: Custom Styling (Font, Color, Indentation)

এখন আমরা দেখবো কিভাবে List Items এ কাস্টম স্টাইলিং যেমন ফন্ট স্টাইল, ফন্ট সাইজ, কালার, এবং ইন্ডেন্টেশন যোগ করা যায়।

Example: Custom Styling

import org.apache.poi.xwpf.usermodel.*;
import java.io.FileOutputStream;
import java.io.IOException;
import java.math.BigInteger;

public class CustomStyledList {
    public static void main(String[] args) throws IOException {
        // নতুন Word ডকুমেন্ট তৈরি
        XWPFDocument document = new XWPFDocument();

        // বুলেট পয়েন্ট তালিকা তৈরি
        XWPFParagraph bulletList = document.createParagraph();
        bulletList.setNumID(BigInteger.valueOf(1)); // বুলেট পয়েন্ট নাম্বার

        // প্রথম বুলেট পয়েন্টের কাস্টম স্টাইলিং
        XWPFRun run1 = bulletList.createRun();
        run1.setText("কাস্টম স্টাইল সহ বুলেট পয়েন্ট");
        run1.setBold(true); // বোল্ড
        run1.setFontSize(14); // ফন্ট সাইজ
        run1.setFontFamily("Arial"); // ফন্ট
        run1.setColor("FF0000"); // কালার (লাল)

        // দ্বিতীয় বুলেট পয়েন্টের কাস্টম স্টাইলিং
        XWPFParagraph bulletList2 = document.createParagraph();
        bulletList2.setNumID(BigInteger.valueOf(1));

        XWPFRun run2 = bulletList2.createRun();
        run2.setText("দ্বিতীয় কাস্টম স্টাইল সহ বুলেট পয়েন্ট");
        run2.setItalic(true); // ইটালিক
        run2.setFontSize(12); // ফন্ট সাইজ

        // ডকুমেন্ট সংরক্ষণ
        FileOutputStream out = new FileOutputStream("StyledBulletList.docx");
        document.write(out);
        out.close();

        System.out.println("কাস্টম স্টাইল সহ বুলেট পয়েন্ট তালিকা তৈরি এবং সংরক্ষণ করা হয়েছে।");
    }
}

Custom Styling Options:

  • setBold(true): টেক্সটকে বোল্ড করা।
  • setItalic(true): টেক্সটকে ইটালিক করা।
  • setFontSize(14): ফন্ট সাইজ নির্ধারণ করা।
  • setFontFamily("Arial"): ফন্ট ফ্যামিলি নির্ধারণ করা।
  • setColor("FF0000"): টেক্সটের কালার নির্ধারণ করা (এখানে "FF0000" হল লাল রঙ)।

Step 4: ইন্ডেন্টেশন যোগ করা

List Items এ ইন্ডেন্টেশন (indentation) যোগ করা যায় যাতে প্রতিটি আইটেমের মধ্যে স্থান থাকে।

Example: ইন্ডেন্টেশন সেট করা

// বুলেট পয়েন্টে বাম দিকের ইন্ডেন্টেশন
bulletList.setIndentationLeft(360);  // বাম দিকের 360 পিক্সেল ইন্ডেন্টেশন

// বুলেট পয়েন্টে ডান দিকের ইন্ডেন্টেশন
bulletList.setIndentationRight(360); // ডান দিকের 360 পিক্সেল ইন্ডেন্টেশন

এটি টেবিল বা তালিকা আইটেমগুলোর মধ্যে আরও প্যাডিং বা স্পেস তৈরি করবে।


সারাংশ

Apache POI এর XWPF API ব্যবহার করে আপনি Word ডকুমেন্টে List Items তৈরি এবং তাদের কাস্টম স্টাইলিং করতে পারেন। এখানে আমরা দেখলাম কিভাবে বুলেট পয়েন্ট বা নাম্বারড তালিকা তৈরি করা যায় এবং সেগুলোর ফন্ট স্টাইল, কালার, ইন্ডেন্টেশন, এবং লাইনের সাইজ কাস্টমাইজ করা যায়। এটি Word ডকুমেন্টকে আরও সুন্দর এবং পাঠযোগ্য করে তোলে।


common.content_added_by

Nested List তৈরি এবং ম্যানেজ করা

141
141

Apache POI এর মাধ্যমে Microsoft Word ডকুমেন্টে Nested List তৈরি এবং ম্যানেজ করা সম্ভব। Ordered Lists (যেমন ১, ২, ৩) এবং Unordered Lists (যেমন •, ♦) উভয় ধরনের লিস্ট তৈরি করা যায়। Nested Lists হল লিস্টের মধ্যে আরেকটি লিস্ট থাকা, যা মেনু বা সাব-পয়েন্ট হিসেবে ব্যবহৃত হয়। এখানে আমরা দেখব কিভাবে Nested Lists তৈরি করা যায় এবং সেগুলোর ফরম্যাটিং কিভাবে করতে হয়।


১. Unordered List (বুলেট পয়েন্ট লিস্ট)

একটি Unordered List (যে লিস্টে প্রতিটি আইটেমের আগে বুলেট পয়েন্ট থাকে) তৈরি করা হয় XWPFParagraph এবং XWPFRun ব্যবহার করে। যখন একটি লিস্টের মধ্যে অন্য একটি লিস্ট তৈরি করা হয়, তখন এটি Nested List হিসেবে বিবেচিত হয়।

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

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

public class UnorderedNestedListExample {
    public static void main(String[] args) throws IOException {
        XWPFDocument document = new XWPFDocument();

        // প্রথম লিস্ট আইটেম তৈরি
        XWPFParagraph paragraph1 = document.createParagraph();
        paragraph1.setNumID(1);  // Unordered List (Bullet points)
        XWPFRun run1 = paragraph1.createRun();
        run1.setText("Item 1");

        // Nested লিস্ট (দ্বিতীয় স্তরের আইটেম)
        XWPFParagraph paragraph2 = document.createParagraph();
        paragraph2.setNumID(2);  // Nested List
        XWPFRun run2 = paragraph2.createRun();
        run2.setText("Sub-item 1 under Item 1");

        // Nested আরও একটি লিস্ট
        XWPFParagraph paragraph3 = document.createParagraph();
        paragraph3.setNumID(3);  // আরও একটি Nested Sub-item
        XWPFRun run3 = paragraph3.createRun();
        run3.setText("Sub-item 2 under Item 1");

        // অন্য একটি আইটেম তৈরি
        XWPFParagraph paragraph4 = document.createParagraph();
        paragraph4.setNumID(1);  // প্রথম স্তরের আইটেম
        XWPFRun run4 = paragraph4.createRun();
        run4.setText("Item 2");

        // ডকুমেন্ট সেভ করা
        FileOutputStream out = new FileOutputStream("unordered_nested_list_example.docx");
        document.write(out);
        out.close();
    }
}

এখানে, প্রথমে একটি Unordered List তৈরি করা হয়েছে, এরপর তার মধ্যে একটি Nested List তৈরি করা হয়েছে। setNumID() মেথডের মাধ্যমে লিস্টের স্তর এবং টাইপ নিয়ন্ত্রণ করা হয়েছে।


২. Ordered List (নম্বরযুক্ত লিস্ট)

Ordered List বা নম্বরযুক্ত লিস্টও একইভাবে তৈরি করা যায়, তবে এখানে setNumID() এর মাধ্যমে লিস্টের আইটেমগুলো ক্রমানুসারে ১, ২, ৩ ইত্যাদি আকারে প্রদর্শিত হবে। Nested List তৈরি করার জন্য এটি একইভাবে ব্যবহার করা যায়।

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

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

public class OrderedNestedListExample {
    public static void main(String[] args) throws IOException {
        XWPFDocument document = new XWPFDocument();

        // প্রথম লিস্ট আইটেম তৈরি
        XWPFParagraph paragraph1 = document.createParagraph();
        paragraph1.setNumID(1);  // Ordered List (Numbered)
        XWPFRun run1 = paragraph1.createRun();
        run1.setText("Item 1");

        // Nested লিস্ট (দ্বিতীয় স্তরের আইটেম)
        XWPFParagraph paragraph2 = document.createParagraph();
        paragraph2.setNumID(2);  // Nested List
        XWPFRun run2 = paragraph2.createRun();
        run2.setText("Sub-item 1 under Item 1");

        // Nested আরও একটি লিস্ট
        XWPFParagraph paragraph3 = document.createParagraph();
        paragraph3.setNumID(3);  // আরও একটি Nested Sub-item
        XWPFRun run3 = paragraph3.createRun();
        run3.setText("Sub-item 2 under Item 1");

        // অন্য একটি আইটেম তৈরি
        XWPFParagraph paragraph4 = document.createParagraph();
        paragraph4.setNumID(1);  // প্রথম স্তরের আইটেম
        XWPFRun run4 = paragraph4.createRun();
        run4.setText("Item 2");

        // ডকুমেন্ট সেভ করা
        FileOutputStream out = new FileOutputStream("ordered_nested_list_example.docx");
        document.write(out);
        out.close();
    }
}

এখানে Ordered List তৈরি করা হয়েছে, এবং তার মধ্যে Nested List তৈরির পদ্ধতি একই।


৩. List Formatting (লিস্ট ফরম্যাটিং)

আপনি Nested List এর বিভিন্ন স্তরের জন্য আলাদা ফরম্যাট প্রয়োগ করতে পারেন। যেমন, প্রতিটি স্তরের জন্য আলাদা বুলেট বা নম্বর ব্যবহার করা বা কাস্টম স্টাইল প্রয়োগ করা। এর জন্য XWPFParagraph এবং XWPFRun এর মাধ্যমে List ফরম্যাটিং করা যায়।

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

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

public class CustomListFormattingExample {
    public static void main(String[] args) throws IOException {
        XWPFDocument document = new XWPFDocument();

        // প্রথম লিস্ট আইটেম তৈরি
        XWPFParagraph paragraph1 = document.createParagraph();
        paragraph1.setNumID(1);  // Ordered List
        XWPFRun run1 = paragraph1.createRun();
        run1.setText("Item 1");

        // Nested লিস্ট (দ্বিতীয় স্তরের আইটেম)
        XWPFParagraph paragraph2 = document.createParagraph();
        paragraph2.setNumID(2);  // Nested List
        XWPFRun run2 = paragraph2.createRun();
        run2.setText("Sub-item 1 under Item 1");

        // Nested আরও একটি লিস্ট (তৃতীয় স্তর)
        XWPFParagraph paragraph3 = document.createParagraph();
        paragraph3.setNumID(3);  // আরও Nested Sub-item
        XWPFRun run3 = paragraph3.createRun();
        run3.setText("Sub-item 2 under Item 1");

        // অন্য একটি আইটেম তৈরি
        XWPFParagraph paragraph4 = document.createParagraph();
        paragraph4.setNumID(1);  // প্রথম স্তরের আইটেম
        XWPFRun run4 = paragraph4.createRun();
        run4.setText("Item 2");

        // ডকুমেন্ট সেভ করা
        FileOutputStream out = new FileOutputStream("custom_list_formatting_example.docx");
        document.write(out);
        out.close();
    }
}

এখানে Nested List এর প্রতিটি স্তরকে আলাদা NumID এর মাধ্যমে আলাদা ফরম্যাটিং করা হয়েছে।


৪. সারাংশ

Apache POI এর মাধ্যমে Nested List তৈরি করা এবং ম্যানেজ করা খুবই সহজ। Ordered List এবং Unordered List তৈরির জন্য setNumID() মেথড ব্যবহার করা হয়। Nested List তৈরি করার জন্য সঠিকভাবে Paragraph এবং Run এর সাহায্যে স্তরভিত্তিক লিস্ট তৈরির কাজ করা হয়। এর মাধ্যমে আপনি Word ডকুমেন্টে সুন্দর এবং সঠিকভাবে ফরম্যাটেড লিস্ট তৈরি করতে পারবেন।

common.content_added_by

List এবং Numbering এর বিন্যাস পরিবর্তন

145
145

Apache POI ব্যবহার করে Microsoft Word (DOCX) ডকুমেন্টে লিস্ট (সংখ্যাবাচক এবং অকারণীয় তালিকা) তৈরি এবং সেগুলোর বিন্যাস (Numbering এবং Bullet) পরিবর্তন করা সম্ভব। আপনি Ordered List (সংখ্যাবাচক তালিকা) এবং Unordered List (বুলেট পয়েন্ট তালিকা) তৈরি করতে পারবেন এবং তাদের স্টাইল, ইনডেন্টেশন এবং নম্বরিং কাস্টমাইজ করতে পারবেন।

এখানে আমরা দেখবো কিভাবে লিস্ট তৈরি এবং তাদের বিন্যাস পরিবর্তন করা যায়।


১. Ordered List (সংখ্যাবাচক তালিকা) তৈরি এবং বিন্যাস পরিবর্তন

Ordered List এর মাধ্যমে আপনি একটি তালিকায় আইটেম গুলোর সিকোয়েন্স বা ক্রম (নম্বরিং) প্রদর্শন করতে পারেন।

উদাহরণ: Ordered List তৈরি করা এবং বিন্যাস পরিবর্তন

import org.apache.poi.xwpf.usermodel.XWPFDocument;
import org.apache.poi.xwpf.usermodel.XWPFParagraph;
import org.apache.poi.xwpf.usermodel.XWPFRun;

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

public class NumberedListExample {
    public static void main(String[] args) throws IOException {
        // একটি নতুন Word ডকুমেন্ট তৈরি করা
        XWPFDocument document = new XWPFDocument();

        // Ordered List (সংখ্যাবাচক তালিকা) তৈরি করা
        String[] items = {"প্রথম আইটেম", "দ্বিতীয় আইটেম", "তৃতীয় আইটেম"};

        // প্রতিটি আইটেমের জন্য একটি প্যারাগ্রাফ তৈরি করা
        for (String item : items) {
            XWPFParagraph paragraph = document.createParagraph();
            paragraph.setNumID(1); // এটি Ordered List নির্ধারণ করে

            XWPFRun run = paragraph.createRun();
            run.setText(item);
        }

        // Word ডকুমেন্ট সেভ করা
        try (FileOutputStream out = new FileOutputStream("OrderedList.docx")) {
            document.write(out);
        }

        System.out.println("Ordered List with customized numbering created successfully!");
    }
}

কোড ব্যাখ্যা:

  • setNumID(1): এই মেথডটি সংখ্যাবাচক তালিকার আইটেম নির্ধারণ করে।
  • আপনি এখানে NumID ব্যবহার করে তালিকার জন্য ভিন্ন ভিন্ন নম্বর বা স্টাইল নির্ধারণ করতে পারেন।

২. Unordered List (বুলেট পয়েন্ট তালিকা) তৈরি এবং বিন্যাস পরিবর্তন

Unordered List বা Bullet List একটি সাধারণ তালিকা যেখানে বুলেট পয়েন্টের মাধ্যমে আইটেমগুলো প্রদর্শিত হয়।

উদাহরণ: Unordered List তৈরি করা এবং বিন্যাস পরিবর্তন

import org.apache.poi.xwpf.usermodel.XWPFDocument;
import org.apache.poi.xwpf.usermodel.XWPFParagraph;
import org.apache.poi.xwpf.usermodel.XWPFRun;

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

public class BulletListExample {
    public static void main(String[] args) throws IOException {
        // একটি নতুন Word ডকুমেন্ট তৈরি করা
        XWPFDocument document = new XWPFDocument();

        // Unordered List (বুলেট পয়েন্ট তালিকা) তৈরি করা
        String[] items = {"প্রথম আইটেম", "দ্বিতীয় আইটেম", "তৃতীয় আইটেম"};

        // প্রতিটি আইটেমের জন্য একটি প্যারাগ্রাফ তৈরি করা
        for (String item : items) {
            XWPFParagraph paragraph = document.createParagraph();
            paragraph.setNumID(0); // এটি Unordered List নির্ধারণ করে

            XWPFRun run = paragraph.createRun();
            run.setText(item);
        }

        // Word ডকুমেন্ট সেভ করা
        try (FileOutputStream out = new FileOutputStream("BulletList.docx")) {
            document.write(out);
        }

        System.out.println("Unordered (Bullet) List created successfully!");
    }
}

কোড ব্যাখ্যা:

  • setNumID(0): এটি বুলেট পয়েন্ট তালিকার আইটেম নির্ধারণ করে।
  • আপনি NumID পরিবর্তন করে বিভিন্ন ধরনের বুলেট পয়েন্ট স্টাইল ব্যবহার করতে পারেন।

৩. নম্বরিং এবং বুলেট পয়েন্ট তালিকার বিন্যাস কাস্টমাইজেশন

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

উদাহরণ: কাস্টম নম্বরিং এবং বুলেট পয়েন্ট বিন্যাস

import org.apache.poi.xwpf.usermodel.XWPFDocument;
import org.apache.poi.xwpf.usermodel.XWPFParagraph;
import org.apache.poi.xwpf.usermodel.XWPFRun;

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

public class CustomListExample {
    public static void main(String[] args) throws IOException {
        // একটি নতুন Word ডকুমেন্ট তৈরি করা
        XWPFDocument document = new XWPFDocument();

        // কাস্টম নম্বরিং স্টাইল তৈরি
        String[] items = {"প্রথম আইটেম", "দ্বিতীয় আইটেম", "তৃতীয় আইটেম"};

        // Ordered List (সংখ্যাবাচক তালিকা) তৈরি করা
        for (String item : items) {
            XWPFParagraph paragraph = document.createParagraph();
            paragraph.setNumID(2); // কাস্টম নম্বরিং স্টাইলের জন্য ID নির্বাচন

            XWPFRun run = paragraph.createRun();
            run.setText(item);
        }

        // Bullet List (বুলেট পয়েন্ট তালিকা) তৈরি করা
        String[] bulletItems = {"একটি বুলেট পয়েন্ট", "আরেকটি বুলেট পয়েন্ট"};

        for (String bulletItem : bulletItems) {
            XWPFParagraph bulletParagraph = document.createParagraph();
            bulletParagraph.setNumID(3); // কাস্টম বুলেট স্টাইলের জন্য ID নির্বাচন

            XWPFRun bulletRun = bulletParagraph.createRun();
            bulletRun.setText(bulletItem);
        }

        // Word ডকুমেন্ট সেভ করা
        try (FileOutputStream out = new FileOutputStream("CustomListExample.docx")) {
            document.write(out);
        }

        System.out.println("Custom ordered and bullet list created successfully!");
    }
}

কোড ব্যাখ্যা:

  • setNumID(2): এখানে NumID ২ ব্যবহার করা হয়েছে কাস্টম নম্বরিং স্টাইলের জন্য।
  • setNumID(3): এখানে NumID ৩ ব্যবহার করা হয়েছে কাস্টম বুলেট পয়েন্ট স্টাইলের জন্য।

আপনি NumID পরিবর্তন করে বিভিন্ন নম্বরিং বা বুলেট স্টাইল ব্যবহার করতে পারেন।


সারাংশ

Apache POI এর মাধ্যমে Microsoft Word (DOCX) ডকুমেন্টে Ordered List (সংখ্যাবাচক তালিকা) এবং Unordered List (বুলেট পয়েন্ট তালিকা) তৈরি এবং কাস্টমাইজ করা সম্ভব। আপনি NumID ব্যবহার করে তালিকার নম্বরিং স্টাইল এবং বুলেট পয়েন্ট স্টাইল নিয়ন্ত্রণ করতে পারেন। এছাড়া, আপনি তালিকার ইনডেন্টেশন, নম্বরিং ফরম্যাট এবং বুলেট পয়েন্ট শৈলী কাস্টমাইজ করতে পারেন।

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

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

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

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