Apache POI লাইব্রেরি ব্যবহার করে Microsoft Word ডকুমেন্টের (DOCX ফাইল) মধ্যে Paragraph এবং Run তৈরি করা সম্ভব। এই প্রক্রিয়াতে আমরা একাধিক টেক্সট স্টাইল (যেমন Bold, Italic, Underline) সহ Paragraph তৈরি করতে পারি।
এখানে আমরা XWPFDocument ব্যবহার করে Word ডকুমেন্টে Paragraph এবং Run তৈরি করার প্রক্রিয়া আলোচনা করব।
১. XWPFDocument দিয়ে Paragraph তৈরি করা
XWPFDocument ক্লাসটি DOCX ফাইলের ডকুমেন্ট তৈরি ও সম্পাদনা করার জন্য ব্যবহৃত হয়। XWPFParagraph একটি প্যারাগ্রাফ তৈরি করে এবং XWPFRun একটি রানের মাধ্যমে টেক্সট যুক্ত করা হয়, যেখানে আমরা টেক্সটের স্টাইল (Bold, Italic, Underline) নির্ধারণ করতে পারি।
উদাহরণ: Paragraph এবং Run তৈরি করা
import org.apache.poi.xwpf.usermodel.*;
import java.io.FileOutputStream;
import java.io.IOException;
public class CreateParagraphAndRunExample {
public static void main(String[] args) throws IOException {
// নতুন Word ডকুমেন্ট তৈরি
XWPFDocument document = new XWPFDocument();
// প্যারাগ্রাফ তৈরি করা
XWPFParagraph paragraph = document.createParagraph();
// রানের মাধ্যমে টেক্সট যোগ করা
XWPFRun run1 = paragraph.createRun();
run1.setText("Hello, ");
run1.setBold(true); // বোল্ড স্টাইল
XWPFRun run2 = paragraph.createRun();
run2.setText("this is a test document.");
run2.setItalic(true); // ইটালিক স্টাইল
// ফাইল সেভ করা
try (FileOutputStream out = new FileOutputStream("CreateParagraphAndRunExample.docx")) {
document.write(out);
}
document.close();
}
}
কোড ব্যাখ্যা:
- XWPFDocument এর মাধ্যমে নতুন একটি Word ডকুমেন্ট তৈরি করা হয়েছে।
- XWPFParagraph দিয়ে একটি প্যারাগ্রাফ তৈরি করা হয়েছে।
- XWPFRun এর মাধ্যমে প্যারাগ্রাফে টেক্সট যোগ করা হয়েছে, যেখানে প্রথম রানে "Hello," বোল্ড স্টাইল এবং দ্বিতীয় রানে "this is a test document." ইটালিক স্টাইল প্রয়োগ করা হয়েছে।
- FileOutputStream ব্যবহার করে ডকুমেন্টটি সেভ করা হয়েছে।
২. Multiple Runs with Different Styles
একই প্যারাগ্রাফে একাধিক রান ব্যবহার করে বিভিন্ন ধরনের স্টাইল (যেমন Bold, Italic, Underline) যুক্ত করা যেতে পারে।
উদাহরণ: একাধিক রান ব্যবহার করে Paragraph তৈরি করা
import org.apache.poi.xwpf.usermodel.*;
import java.io.FileOutputStream;
import java.io.IOException;
public class MultipleRunsInParagraphExample {
public static void main(String[] args) throws IOException {
// নতুন Word ডকুমেন্ট তৈরি
XWPFDocument document = new XWPFDocument();
// প্যারাগ্রাফ তৈরি করা
XWPFParagraph paragraph = document.createParagraph();
// প্রথম রান: Bold ও Underline
XWPFRun run1 = paragraph.createRun();
run1.setText("Apache POI ");
run1.setBold(true);
run1.setUnderline(UnderlinePatterns.SINGLE); // আন্ডারলাইন
// দ্বিতীয় রান: Italic ও Normal
XWPFRun run2 = paragraph.createRun();
run2.setText("makes it easy ");
run2.setItalic(true);
// তৃতীয় রান: Normal Text
XWPFRun run3 = paragraph.createRun();
run3.setText("to work with Word documents.");
// ফাইল সেভ করা
try (FileOutputStream out = new FileOutputStream("MultipleRunsInParagraphExample.docx")) {
document.write(out);
}
document.close();
}
}
কোড ব্যাখ্যা:
- প্রথম রানটি Bold এবং Underline এ সেট করা হয়েছে।
- দ্বিতীয় রানটি Italic স্টাইলে তৈরি করা হয়েছে।
- তৃতীয় রানটি সাধারণ টেক্সট হিসেবে লেখা হয়েছে।
- ফাইলটি সেভ করা হয়েছে এবং এতে বিভিন্ন ধরনের স্টাইল সহ একাধিক রান থাকবে।
৩. Run এর মাধ্যমে টেক্সট ফরম্যাটিং
XWPFRun এর মাধ্যমে টেক্সটের বিভিন্ন ফরম্যাটিং স্টাইল (Bold, Italic, Underline, Font Size, Font Family ইত্যাদি) কাস্টমাইজ করা যেতে পারে।
উদাহরণ: Run এর মাধ্যমে Font Size এবং Font Family সেট করা
import org.apache.poi.xwpf.usermodel.*;
import java.io.FileOutputStream;
import java.io.IOException;
public class RunFontFormattingExample {
public static void main(String[] args) throws IOException {
// নতুন Word ডকুমেন্ট তৈরি
XWPFDocument document = new XWPFDocument();
// প্যারাগ্রাফ তৈরি করা
XWPFParagraph paragraph = document.createParagraph();
// রানের মাধ্যমে টেক্সট যোগ করা
XWPFRun run = paragraph.createRun();
run.setText("This is a customized font example.");
// Font সাইজ এবং ফন্ট পরিবার সেট করা
run.setFontSize(14);
run.setFontFamily("Courier New");
// ফাইল সেভ করা
try (FileOutputStream out = new FileOutputStream("RunFontFormattingExample.docx")) {
document.write(out);
}
document.close();
}
}
কোড ব্যাখ্যা:
- XWPFRun ব্যবহার করে টেক্সট "This is a customized font example." যোগ করা হয়েছে।
- setFontSize এবং setFontFamily পদ্ধতি ব্যবহার করে টেক্সটের ফন্ট সাইজ এবং ফন্ট পরিবার কাস্টমাইজ করা হয়েছে।
- ফাইলটি সেভ করা হয়েছে এবং এতে কাস্টমাইজড ফন্ট স্টাইল থাকবে।
সারাংশ
- Apache POI লাইব্রেরি ব্যবহার করে Word ডকুমেন্টে Paragraph এবং Run তৈরি করা যায়।
- XWPFParagraph দিয়ে প্যারাগ্রাফ তৈরি করা হয় এবং XWPFRun দিয়ে প্যারাগ্রাফে স্টাইলসহ টেক্সট যোগ করা হয়।
- Run এর মাধ্যমে বিভিন্ন স্টাইল (যেমন Bold, Italic, Underline) ও Font Size, Font Family নির্ধারণ করা সম্ভব।
- এই পদ্ধতিতে Word ডকুমেন্টে ডাইনামিকভাবে ফরম্যাট করা টেক্সট তৈরি করা যেতে পারে।
Read more