Apache POI লাইব্রেরি ব্যবহার করে আপনি Microsoft Word ডকুমেন্টে List (তালিকা) এবং Numbering (নাম্বারিং) তৈরি করতে পারেন। এটি আপনাকে Bullet list (বুলেট তালিকা), Numbered list (নাম্বারড তালিকা) এবং Mixed list (মিশ্র তালিকা) তৈরি করতে সহায়তা করবে। Word ডকুমেন্টে তালিকা তৈরি করতে XWPFParagraph এবং XWPFRun ব্যবহার করা হয়।
Word ডকুমেন্টে Bullet List বা Numbered List তৈরি করার জন্য আপনাকে XWPFParagraph ক্লাসের setNumID() এবং setBullet() পদ্ধতি ব্যবহার করতে হবে।
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();
}
}
}
নাম্বারড তালিকা তৈরি করতে XWPFParagraph এর setNumID() এবং setLevel() পদ্ধতি ব্যবহার করা হয়।
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();
}
}
}
আপনি একটি ডকুমেন্টে বুলেট তালিকা এবং নাম্বারড তালিকা একসাথে ব্যবহার করতে পারেন, যেমন মিশ্র তালিকা (Mixed List)। এই জন্য বিভিন্ন প্যারাগ্রাফে আলাদা আলাদা setBullet(true) এবং setNumID() ব্যবহার করা হবে।
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();
}
}
}
আপনি 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();
}
}
}
Apache POI লাইব্রেরি ব্যবহার করে আপনি Word ডকুমেন্টে List এবং Numbering তৈরির মাধ্যমে সহজেই তালিকা এবং নাম্বারড তালিকা তৈরি করতে পারেন। বুলেট তালিকা এবং নাম্বারড তালিকা, পাশাপাশি মিশ্র তালিকা এবং স্তরবিন্যস্ত তালিকা তৈরি করার জন্য এই লাইব্রেরি অত্যন্ত উপকারী।
Apache POI লাইব্রেরি ব্যবহার করে আপনি Word ডকুমেন্টে Bullet List এবং Numbered List তৈরি করতে পারেন। XWPFParagraph ক্লাসটি ব্যবহার করে এই তালিকা তৈরি করা হয়, যেখানে আপনি list style ও indentation কাস্টমাইজ করতে পারবেন।
এখানে আমরা দুটি তালিকা (Bullet এবং Numbered) তৈরি করার উদাহরণ দেখাবো।
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();
}
}
}
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();
}
}
}
"ListBullet"
এবং Numbered list এর জন্য "ListNumber"
ব্যবহার করা হয়।আপনি তালিকাগুলির স্টাইল কাস্টমাইজ করতে পারেন, যেমন ফন্ট সাইজ, ফন্ট কালার, এবং অন্য স্টাইলগুলো:
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 তৈরির পদ্ধতি সম্পর্কে ধারণা দিয়েছে, এবং কাস্টম স্টাইলিং অপশনগুলোও দেখিয়েছে।
Apache POI এর XWPF API ব্যবহার করে আপনি Word ডকুমেন্টে List Items (বুলেট পয়েন্ট বা নাম্বারিং সহ) তৈরি করতে পারেন এবং তাদের জন্য কাস্টম স্টাইলিং করতে পারেন। এখানে আমরা দেখবো কিভাবে List Items তৈরি এবং তাদের স্টাইলিং করা যায়, যেমন বুলেট পয়েন্ট, নাম্বারিং, ইন্ডেন্টেশন, এবং ফন্ট স্টাইল কাস্টমাইজ করা।
প্রথমে একটি Word ডকুমেন্টে বুলেট পয়েন্ট বা নাম্বারড তালিকা (ordered/unordered list) তৈরি করতে হবে। এর জন্য XWPFParagraph ক্লাস এবং XWPFRun ব্যবহার করা হবে।
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)
দ্বারা আমরা বুলেট পয়েন্টের জন্য নাম্বার সেট করেছি।
নাম্বারড তালিকা তৈরি করতে setNumID() মেথডের মাধ্যমে নাম্বারিং নির্ধারণ করা যায়।
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) ব্যবহার করে নাম্বারড তালিকায় নম্বরিং যোগ করা হয়েছে।
এখন আমরা দেখবো কিভাবে List Items এ কাস্টম স্টাইলিং যেমন ফন্ট স্টাইল, ফন্ট সাইজ, কালার, এবং ইন্ডেন্টেশন যোগ করা যায়।
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("কাস্টম স্টাইল সহ বুলেট পয়েন্ট তালিকা তৈরি এবং সংরক্ষণ করা হয়েছে।");
}
}
List Items এ ইন্ডেন্টেশন (indentation) যোগ করা যায় যাতে প্রতিটি আইটেমের মধ্যে স্থান থাকে।
// বুলেট পয়েন্টে বাম দিকের ইন্ডেন্টেশন
bulletList.setIndentationLeft(360); // বাম দিকের 360 পিক্সেল ইন্ডেন্টেশন
// বুলেট পয়েন্টে ডান দিকের ইন্ডেন্টেশন
bulletList.setIndentationRight(360); // ডান দিকের 360 পিক্সেল ইন্ডেন্টেশন
এটি টেবিল বা তালিকা আইটেমগুলোর মধ্যে আরও প্যাডিং বা স্পেস তৈরি করবে।
Apache POI এর XWPF API ব্যবহার করে আপনি Word ডকুমেন্টে List Items তৈরি এবং তাদের কাস্টম স্টাইলিং করতে পারেন। এখানে আমরা দেখলাম কিভাবে বুলেট পয়েন্ট বা নাম্বারড তালিকা তৈরি করা যায় এবং সেগুলোর ফন্ট স্টাইল, কালার, ইন্ডেন্টেশন, এবং লাইনের সাইজ কাস্টমাইজ করা যায়। এটি Word ডকুমেন্টকে আরও সুন্দর এবং পাঠযোগ্য করে তোলে।
Apache POI এর মাধ্যমে Microsoft Word ডকুমেন্টে Nested List তৈরি এবং ম্যানেজ করা সম্ভব। Ordered Lists (যেমন ১, ২, ৩) এবং Unordered Lists (যেমন •, ♦) উভয় ধরনের লিস্ট তৈরি করা যায়। Nested Lists হল লিস্টের মধ্যে আরেকটি লিস্ট থাকা, যা মেনু বা সাব-পয়েন্ট হিসেবে ব্যবহৃত হয়। এখানে আমরা দেখব কিভাবে Nested Lists তৈরি করা যায় এবং সেগুলোর ফরম্যাটিং কিভাবে করতে হয়।
একটি 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 বা নম্বরযুক্ত লিস্টও একইভাবে তৈরি করা যায়, তবে এখানে 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 তৈরির পদ্ধতি একই।
আপনি 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 ডকুমেন্টে সুন্দর এবং সঠিকভাবে ফরম্যাটেড লিস্ট তৈরি করতে পারবেন।
Apache POI ব্যবহার করে Microsoft Word (DOCX) ডকুমেন্টে লিস্ট (সংখ্যাবাচক এবং অকারণীয় তালিকা) তৈরি এবং সেগুলোর বিন্যাস (Numbering এবং Bullet) পরিবর্তন করা সম্ভব। আপনি Ordered List (সংখ্যাবাচক তালিকা) এবং Unordered 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!");
}
}
Unordered List বা Bullet 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!");
}
}
আপনি টেবিলের মতো স্টাইল কাস্টমাইজ করতে পারেন, যেমন ইনডেন্টেশন, নম্বরিং ফরম্যাট, এবং বুলেট স্টাইল।
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!");
}
}
আপনি NumID পরিবর্তন করে বিভিন্ন নম্বরিং বা বুলেট স্টাইল ব্যবহার করতে পারেন।
Apache POI এর মাধ্যমে Microsoft Word (DOCX) ডকুমেন্টে Ordered List (সংখ্যাবাচক তালিকা) এবং Unordered List (বুলেট পয়েন্ট তালিকা) তৈরি এবং কাস্টমাইজ করা সম্ভব। আপনি NumID ব্যবহার করে তালিকার নম্বরিং স্টাইল এবং বুলেট পয়েন্ট স্টাইল নিয়ন্ত্রণ করতে পারেন। এছাড়া, আপনি তালিকার ইনডেন্টেশন, নম্বরিং ফরম্যাট এবং বুলেট পয়েন্ট শৈলী কাস্টমাইজ করতে পারেন।
common.read_more