Apache POI এর XWPF API ব্যবহার করে আপনি Word ডকুমেন্টে Section Break (অধ্যায় বিভাজক) তৈরি করতে পারেন, যা ডকুমেন্টের বিভিন্ন অংশে আলাদা ফরম্যাট বা লেআউট প্রয়োগ করতে সাহায্য করে। Section Break ব্যবহার করে আপনি ডকুমেন্টের পৃষ্ঠা নির্ধারণ, মার্জিন, হেডার/ফুটার এবং অন্যান্য ফরম্যাটিং পরিবর্তন করতে পারেন। এখানে আমরা দেখবো কিভাবে Section Break ব্যবহার করা যায় এবং এর বিভিন্ন কৌশল কীভাবে প্রয়োগ করা যায়।
Word ডকুমেন্টে Section Break তৈরি করতে XWPFParagraph এবং XWPFRun এর সাথে SectPr (Section Property) ব্যবহার করতে হয়। এটি ডকুমেন্টের মধ্যে একটি নতুন সেকশন যোগ করবে, যা তার পৃষ্ঠা সজ্জা এবং স্টাইল পরিবর্তন করার অনুমতি দেয়।
import org.apache.poi.xwpf.usermodel.*;
import java.io.FileOutputStream;
import java.io.IOException;
public class SectionBreakExample {
public static void main(String[] args) throws IOException {
// নতুন Word ডকুমেন্ট তৈরি
XWPFDocument document = new XWPFDocument();
// প্রথম প্যারাগ্রাফ যোগ করা
XWPFParagraph paragraph1 = document.createParagraph();
XWPFRun run1 = paragraph1.createRun();
run1.setText("এই প্যারাগ্রাফটি সেকশন 1 এর অংশ।");
// সেকশন ব্রেক যোগ করা
XWPFParagraph sectionBreak = document.createParagraph();
sectionBreak.setPageBreak(true); // পৃষ্ঠার ব্রেক তৈরি
sectionBreak.setAlignment(ParagraphAlignment.CENTER); // সেকশন ব্রেকের সেন্টার এলাইনমেন্ট
// সেকেন্ড প্যারাগ্রাফ যোগ করা
XWPFParagraph paragraph2 = document.createParagraph();
XWPFRun run2 = paragraph2.createRun();
run2.setText("এই প্যারাগ্রাফটি সেকশন 2 এর অংশ।");
// ডকুমেন্ট সংরক্ষণ
FileOutputStream out = new FileOutputStream("SectionBreakExample.docx");
document.write(out);
out.close();
System.out.println("Section Break সহ ডকুমেন্ট তৈরি এবং সংরক্ষণ করা হয়েছে।");
}
}
এখানে, setPageBreak(true)
ব্যবহার করা হয়েছে যাতে একটি সেকশন ব্রেক যোগ করা যায়। এর মাধ্যমে পৃষ্ঠা ভেঙে একটি নতুন সেকশন শুরু হয়।
Word ডকুমেন্টে বিভিন্ন ধরনের Section Break ব্যবহার করা যেতে পারে:
এখানে SectPr
ব্যবহার করে Section Break-এর ধরন কাস্টমাইজ করা যেতে পারে।
Section Break ব্যবহার করার মাধ্যমে আপনি পৃষ্ঠা বা সেকশনের ফরম্যাট কাস্টমাইজ করতে পারবেন। উদাহরণস্বরূপ, আপনি মার্জিন, হেডার/ফুটার পরিবর্তন বা পৃষ্ঠা নম্বর নির্ধারণ করতে পারেন।
import org.apache.poi.xwpf.usermodel.*;
import org.apache.poi.xwpf.usermodel.XWPFDocument;
import org.apache.xmlbeans.XmlCursor;
import java.io.FileOutputStream;
import java.io.IOException;
public class SectionBreakLayoutExample {
public static void main(String[] args) throws IOException {
// নতুন Word ডকুমেন্ট তৈরি
XWPFDocument document = new XWPFDocument();
// প্রথম প্যারাগ্রাফ
XWPFParagraph paragraph1 = document.createParagraph();
XWPFRun run1 = paragraph1.createRun();
run1.setText("এই প্যারাগ্রাফটি সেকশন 1 এর অংশ।");
// সেকশন ব্রেক (Next Page)
XWPFParagraph sectionBreak1 = document.createParagraph();
sectionBreak1.setPageBreak(true); // পৃষ্ঠা ব্রেক
// সেকেন্ড প্যারাগ্রাফ
XWPFParagraph paragraph2 = document.createParagraph();
XWPFRun run2 = paragraph2.createRun();
run2.setText("এই প্যারাগ্রাফটি সেকশন 2 এর অংশ।");
// সেকশন ব্রেকের জন্য Layout কাস্টমাইজেশন
XWPFSection section = document.createSection();
section.setOrientation(PageOrientation.LANDSCAPE); // পৃষ্ঠা পটভূমি ল্যান্ডস্কেপ মোডে সেট করা
section.setMarginTop(1000); // উপরের মার্জিন 1000 পিক্সেল সেট করা
// ডকুমেন্ট সংরক্ষণ
FileOutputStream out = new FileOutputStream("SectionBreakWithLayout.docx");
document.write(out);
out.close();
System.out.println("Section Break সহ কাস্টম লেআউট তৈরি এবং সংরক্ষণ করা হয়েছে।");
}
}
এখানে, setOrientation(PageOrientation.LANDSCAPE)
ব্যবহার করে পৃষ্ঠা উলম্ব থেকে অনতর ল্যান্ডস্কেপে পরিবর্তিত হয়েছে এবং setMarginTop()
মেথডের মাধ্যমে উপরের মার্জিন কাস্টমাইজ করা হয়েছে।
Section Break ব্যবহার করে আপনি সেকশনের জন্য আলাদা হেডার এবং ফুটার তৈরি করতে পারেন। যেমন, প্রথম সেকশনের হেডার আলাদা এবং দ্বিতীয় সেকশনের হেডার আলাদা হতে পারে।
import org.apache.poi.xwpf.usermodel.*;
import java.io.FileOutputStream;
import java.io.IOException;
public class SectionHeaderFooterExample {
public static void main(String[] args) throws IOException {
// নতুন Word ডকুমেন্ট তৈরি
XWPFDocument document = new XWPFDocument();
// প্রথম প্যারাগ্রাফ
XWPFParagraph paragraph1 = document.createParagraph();
XWPFRun run1 = paragraph1.createRun();
run1.setText("এই প্যারাগ্রাফটি সেকশন 1 এর অংশ।");
// সেকশন ব্রেক (Next Page)
XWPFParagraph sectionBreak = document.createParagraph();
sectionBreak.setPageBreak(true);
// সেকেন্ড প্যারাগ্রাফ
XWPFParagraph paragraph2 = document.createParagraph();
XWPFRun run2 = paragraph2.createRun();
run2.setText("এই প্যারাগ্রাফটি সেকশন 2 এর অংশ।");
// সেকশন 1 এর জন্য হেডার
XWPFHeader header1 = document.createHeader(HeaderFooterType.DEFAULT);
XWPFParagraph headerParagraph1 = header1.createParagraph();
headerParagraph1.createRun().setText("সেকশন 1 হেডার");
// সেকশন 2 এর জন্য হেডার
XWPFHeader header2 = document.createHeader(HeaderFooterType.FIRST);
XWPFParagraph headerParagraph2 = header2.createParagraph();
headerParagraph2.createRun().setText("সেকশন 2 হেডার");
// ডকুমেন্ট সংরক্ষণ
FileOutputStream out = new FileOutputStream("SectionWithHeaderFooter.docx");
document.write(out);
out.close();
System.out.println("Section Break সহ হেডার এবং ফুটার তৈরি এবং সংরক্ষণ করা হয়েছে।");
}
}
এখানে, XWPFHeader ক্লাস ব্যবহার করে সেকশন ভিত্তিক হেডার তৈরি করা হয়েছে।
Apache POI এর XWPF API ব্যবহার করে আপনি Word ডকুমেন্টে Section Break তৈরি করতে পারেন, যা ডকুমেন্টের বিভিন্ন অংশের ফরম্যাট আলাদা করতে সাহায্য করে। Section Break ব্যবহারের মাধ্যমে আপনি পৃষ্ঠা নম্বর, মার্জিন, পৃষ্ঠা অরিয়েন্টেশন এবং হেডার/ফুটার কাস্টমাইজ করতে পারেন। এটি ডকুমেন্টের সজ্জা এবং ডিজাইনকে আরও সুন্দর এবং কার্যকরী করে তোলে।
common.read_more