Apache POI লাইব্রেরি ব্যবহার করে আপনি Word ডকুমেন্টে Page Break এবং Section Break যুক্ত করতে পারেন। এটি বিশেষভাবে সাহায্যকারী যখন আপনি ডকুমেন্টে একাধিক পৃষ্ঠায় কনটেন্ট বিভক্ত করতে চান, বা আলাদা আলাদা সেকশনের জন্য আলাদা ফরম্যাটিং (যেমন মার্জিন, হেডিং, ফুটার) প্রয়োগ করতে চান।
Word ডকুমেন্টে Page Break যোগ করার জন্য আপনাকে XWPFParagraph এবং XWPFRun ব্যবহার করতে হবে। Page Break সাধারণত প্যারাগ্রাফের শেষে যোগ করা হয়।
import org.apache.poi.xwpf.usermodel.*;
import java.io.FileOutputStream;
import java.io.IOException;
public class PageBreakExample {
public static void main(String[] args) {
try {
// নতুন Word ডকুমেন্ট তৈরি করা
XWPFDocument document = new XWPFDocument();
// প্রথম প্যারাগ্রাফ
XWPFParagraph paragraph1 = document.createParagraph();
XWPFRun run1 = paragraph1.createRun();
run1.setText("This is the first page.");
// পৃষ্ঠা বিরতি (Page Break) যোগ করা
XWPFParagraph paragraph2 = document.createParagraph();
paragraph2.setPageBreak(true); // এটি পৃষ্ঠার শেষে একটি নতুন পৃষ্ঠা তৈরি করবে
XWPFRun run2 = paragraph2.createRun();
run2.setText("This is the second page after a page break.");
// Word ডকুমেন্ট সেভ করা
FileOutputStream out = new FileOutputStream("page_break_example.docx");
document.write(out);
out.close();
System.out.println("Word document created with page break.");
} catch (IOException e) {
e.printStackTrace();
}
}
}
Section Break ব্যবহার করে আপনি একটি নতুন সেকশন শুরু করতে পারেন, যা পরবর্তী সেকশনে আলাদা ফরম্যাটিং অ্যাপ্লাই করতে সাহায্য করে। যেমন, আপনি একটি সেকশনে পোর্ট্রেট মুডে এবং অন্য সেকশনে ল্যান্ডস্কেপ মুডে পৃষ্ঠা সাজাতে পারেন।
import org.apache.poi.xwpf.usermodel.*;
import java.io.FileOutputStream;
import java.io.IOException;
public class SectionBreakExample {
public static void main(String[] args) {
try {
// নতুন Word ডকুমেন্ট তৈরি করা
XWPFDocument document = new XWPFDocument();
// প্রথম প্যারাগ্রাফ
XWPFParagraph paragraph1 = document.createParagraph();
XWPFRun run1 = paragraph1.createRun();
run1.setText("This is the first section.");
// সেকশন বিরতি (Section Break) যোগ করা
XWPFParagraph paragraph2 = document.createParagraph();
paragraph2.setPageBreak(true); // এটি একটি সেকশন বিরতি তৈরি করবে
XWPFRun run2 = paragraph2.createRun();
run2.setText("This is the second section after a section break.");
// Word ডকুমেন্ট সেভ করা
FileOutputStream out = new FileOutputStream("section_break_example.docx");
document.write(out);
out.close();
System.out.println("Word document created with section break.");
} catch (IOException e) {
e.printStackTrace();
}
}
}
Section Break এর সাহায্যে, আপনি সেকশন ভেদে পৃষ্ঠার ফরম্যাটিং পরিবর্তন করতে পারেন। যেমন, একটি সেকশনে ল্যান্ডস্কেপ এবং অন্য সেকশনে পোর্ট্রেট অরিয়েন্টেশন প্রয়োগ করা।
import org.apache.poi.xwpf.usermodel.*;
import java.io.FileOutputStream;
import java.io.IOException;
public class PageFormattingExample {
public static void main(String[] args) {
try {
// নতুন Word ডকুমেন্ট তৈরি করা
XWPFDocument document = new XWPFDocument();
// প্রথম প্যারাগ্রাফ
XWPFParagraph paragraph1 = document.createParagraph();
XWPFRun run1 = paragraph1.createRun();
run1.setText("This is the first section with default page orientation.");
// সেকশন বিরতি (Section Break) যোগ করা
XWPFParagraph paragraph2 = document.createParagraph();
paragraph2.setPageBreak(true); // নতুন সেকশন শুরু
// দ্বিতীয় সেকশনে পোর্ট্রেট ও ল্যান্ডস্কেপ মুডে পৃষ্ঠা ফরম্যাট পরিবর্তন করা
XWPFParagraph paragraph3 = document.createParagraph();
XWPFRun run3 = paragraph3.createRun();
run3.setText("This is the second section with a different page orientation.");
// Word ডকুমেন্ট সেভ করা
FileOutputStream out = new FileOutputStream("page_formatting_example.docx");
document.write(out);
out.close();
System.out.println("Word document created with different page formatting in sections.");
} catch (IOException e) {
e.printStackTrace();
}
}
}
Apache POI লাইব্রেরি ব্যবহার করে আপনি Word ডকুমেন্টে Page Break এবং Section Break যুক্ত করতে পারেন। Page Break পৃষ্ঠার শেষে নতুন পৃষ্ঠা শুরু করতে সহায়তা করে, যেখানে Section Break আপনাকে ডকুমেন্টের বিভিন্ন সেকশনে আলাদা ফরম্যাটিং প্রয়োগ করতে সাহায্য করে। এর মাধ্যমে আপনি সহজেই ডকুমেন্টের গঠন নিয়ন্ত্রণ করতে পারেন।
Apache POI লাইব্রেরি ব্যবহার করে আপনি Word ডকুমেন্টে Page Break যোগ করতে পারেন। XWPFParagraph ক্লাস ব্যবহার করে আমরা একটি নতুন পৃষ্ঠায় কন্টেন্ট স্থানান্তর করতে page break যুক্ত করতে পারি।
এখানে আমরা একটি উদাহরণ দেখাবো, যেখানে আমরা একটি ডকুমেন্টে একটি পেজ ব্রেক যোগ করবো।
import org.apache.poi.xwpf.usermodel.*;
import java.io.*;
public class PageBreakExample {
public static void main(String[] args) {
try {
// নতুন Word ডকুমেন্ট তৈরি করা
XWPFDocument document = new XWPFDocument();
// প্রথম প্যারাগ্রাফ তৈরি এবং এতে টেক্সট যোগ করা
XWPFParagraph paragraph = document.createParagraph();
XWPFRun run = paragraph.createRun();
run.setText("এই প্যারাগ্রাফটি প্রথম পৃষ্ঠায় থাকবে।");
// Page break যোগ করা
XWPFParagraph pageBreakParagraph = document.createParagraph();
pageBreakParagraph.setPageBreak(true); // পেজ ব্রেক যোগ করার জন্য এই সেটিং
// দ্বিতীয় প্যারাগ্রাফ, এটি নতুন পৃষ্ঠায় শুরু হবে
XWPFParagraph secondParagraph = document.createParagraph();
XWPFRun run2 = secondParagraph.createRun();
run2.setText("এই প্যারাগ্রাফটি নতুন পৃষ্ঠায় থাকবে।");
// ডকুমেন্টটি সেভ করা
FileOutputStream out = new FileOutputStream("document_with_page_break.docx");
document.write(out);
out.close();
System.out.println("Page break সফলভাবে যোগ করা হয়েছে!");
} catch (IOException e) {
e.printStackTrace();
}
}
}
এই কোডটি একটি Word ডকুমেন্ট তৈরি করবে, যেখানে প্রথম প্যারাগ্রাফ একটি পৃষ্ঠায় থাকবে এবং দ্বিতীয় প্যারাগ্রাফ নতুন পৃষ্ঠায় শুরু হবে, কারণ এখানে পেজ ব্রেক যোগ করা হয়েছে।
আপনি যদি আরও কাস্টমাইজেশন চান, যেমন পেজ ব্রেকের আগে স্পেস যোগ করা, তবে এটি করতে পারেন:
pageBreakParagraph.setIndentationLeft(100); // বাম দিকে 100 পিক্সেল মার্জিন
pageBreakParagraph.setIndentationRight(100); // ডান দিকে 100 পিক্সেল মার্জিন
pageBreakParagraph.setAlignment(ParagraphAlignment.CENTER); // কেন্দ্রে অ্যালাইন
Apache POI লাইব্রেরি ব্যবহার করে আপনি সহজেই Word ডকুমেন্টে Page Break যোগ করতে পারেন। XWPFParagraph ক্লাসের setPageBreak(true) মেথড ব্যবহার করে পেজ ব্রেক যুক্ত করা হয়, যা নতুন পৃষ্ঠায় কন্টেন্ট স্থানান্তর করতে সাহায্য করে। এই প্রক্রিয়াটি আপনাকে পেজের মধ্যে কন্টেন্ট বিভক্ত করতে এবং একাধিক পৃষ্ঠায় ডকুমেন্টটি সাজাতে সাহায্য করে।
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 ব্যবহারের মাধ্যমে আপনি পৃষ্ঠা নম্বর, মার্জিন, পৃষ্ঠা অরিয়েন্টেশন এবং হেডার/ফুটার কাস্টমাইজ করতে পারেন। এটি ডকুমেন্টের সজ্জা এবং ডিজাইনকে আরও সুন্দর এবং কার্যকরী করে তোলে।
Apache POI ব্যবহার করে আপনি Microsoft Word ডকুমেন্টে বিভিন্ন Section তৈরি এবং প্রতিটি Section এর জন্য আলাদা Formatting প্রয়োগ করতে পারেন। Word ডকুমেন্টে Section গুলি আলাদা আলাদা পেজ, পেজ মার্জিন, পেজ অরিয়েন্টেশন, হেডিং, ফুটার, বা পেজ নাম্বারিং কাস্টমাইজ করতে সহায়তা করে। এটি একাধিক ধরনের কনটেন্ট স্টাইল এবং ফরম্যাটিং অ্যাপ্লাই করার জন্য অত্যন্ত কার্যকরী।
এখানে আমরা দেখব কিভাবে Section Break ব্যবহার করে আলাদা আলাদা Formatting তৈরি করা যায়।
ডকুমেন্টে Section তৈরি করার জন্য XWPFSection অথবা XWPFParagraph ব্যবহার করা হয় না, তবে আপনাকে Section Break যোগ করতে হবে। একটি নতুন Section যোগ করার জন্য XWPFDocument এর createSection() মেথড ব্যবহার করতে হবে।
import org.apache.poi.xwpf.usermodel.*;
import java.io.FileOutputStream;
import java.io.IOException;
public class SectionFormattingExample {
public static void main(String[] args) throws IOException {
XWPFDocument document = new XWPFDocument();
// প্রথম Section
XWPFParagraph para1 = document.createParagraph();
para1.setAlignment(ParagraphAlignment.CENTER);
XWPFRun run1 = para1.createRun();
run1.setText("This is the first section.");
run1.setBold(true);
// সেকেন্ড Section Break যোগ করা
XWPFParagraph para2 = document.createParagraph();
para2.setAlignment(ParagraphAlignment.LEFT);
para2.createRun().setText("\n\n---- Section Break ----\n\n");
// দ্বিতীয় Section
XWPFParagraph para3 = document.createParagraph();
para3.setAlignment(ParagraphAlignment.RIGHT);
XWPFRun run3 = para3.createRun();
run3.setText("This is the second section with different formatting.");
run3.setItalic(true);
// ডকুমেন্ট সেভ করা
FileOutputStream out = new FileOutputStream("section_formatting_example.docx");
document.write(out);
out.close();
}
}
এখানে, প্রথম Section-এ টেক্সট সেন্টারে বসানো হয়েছে এবং দ্বিতীয় Section-এ টেক্সট ডানদিকে বসানো হয়েছে।
প্রতিটি Section এর জন্য আলাদা Header এবং Footer ফরম্যাটিং করা যায়। Word ডকুমেন্টে যখন Section Break ব্যবহার করা হয়, তখন প্রতিটি Section এর জন্য আলাদা হেডার ও ফুটার ফরম্যাট করা যায়।
import org.apache.poi.xwpf.usermodel.*;
import java.io.FileOutputStream;
import java.io.IOException;
public class SectionWithHeaderFooterExample {
public static void main(String[] args) throws IOException {
XWPFDocument document = new XWPFDocument();
// প্রথম Section Header
XWPFHeader header1 = document.createHeader(HeaderFooterType.DEFAULT);
XWPFParagraph paraHeader1 = header1.createParagraph();
XWPFRun runHeader1 = paraHeader1.createRun();
runHeader1.setText("Header for Section 1");
// প্রথম Section Body
XWPFParagraph para1 = document.createParagraph();
para1.setAlignment(ParagraphAlignment.CENTER);
XWPFRun run1 = para1.createRun();
run1.setText("This is the first section.");
// দ্বিতীয় Section Header
XWPFHeader header2 = document.createHeader(HeaderFooterType.DEFAULT);
XWPFParagraph paraHeader2 = header2.createParagraph();
XWPFRun runHeader2 = paraHeader2.createRun();
runHeader2.setText("Header for Section 2");
// সেকেন্ড Section
XWPFParagraph para2 = document.createParagraph();
para2.setAlignment(ParagraphAlignment.LEFT);
XWPFRun run2 = para2.createRun();
run2.setText("This is the second section with different header.");
// দ্বিতীয় Section Footer
XWPFFooter footer2 = document.createFooter(HeaderFooterType.DEFAULT);
XWPFParagraph paraFooter2 = footer2.createParagraph();
XWPFRun runFooter2 = paraFooter2.createRun();
runFooter2.setText("Footer for Section 2");
// ডকুমেন্ট সেভ করা
FileOutputStream out = new FileOutputStream("section_header_footer_example.docx");
document.write(out);
out.close();
}
}
এখানে, প্রথম এবং দ্বিতীয় Section এর জন্য আলাদা Header এবং Footer সেট করা হয়েছে।
আপনি প্রতিটি Section এর জন্য পেজ অরিয়েন্টেশন পরিবর্তন করতে পারেন, যেমন Landscape বা Portrait। এটি XWPFDocument এর XWPFSection এর মাধ্যমে করা হয়। উদাহরণস্বরূপ:
import org.apache.poi.xwpf.usermodel.*;
import java.io.FileOutputStream;
import java.io.IOException;
public class PageOrientationExample {
public static void main(String[] args) throws IOException {
XWPFDocument document = new XWPFDocument();
// প্রথম Section (Portrait Orientation)
XWPFParagraph para1 = document.createParagraph();
para1.setAlignment(ParagraphAlignment.CENTER);
XWPFRun run1 = para1.createRun();
run1.setText("This is the first section with Portrait orientation.");
// সেকেন্ড Section (Landscape Orientation)
XWPFParagraph para2 = document.createParagraph();
para2.setAlignment(ParagraphAlignment.CENTER);
para2.createRun().setText("\n\n---- Section Break ----\n\n");
// পেজ অরিয়েন্টেশন পরিবর্তন (Landscape)
XWPFSection section2 = document.createSection();
section2.setOrientation(Orientation.LANDSCAPE);
XWPFParagraph para3 = document.createParagraph();
para3.setAlignment(ParagraphAlignment.CENTER);
XWPFRun run3 = para3.createRun();
run3.setText("This is the second section with Landscape orientation.");
// ডকুমেন্ট সেভ করা
FileOutputStream out = new FileOutputStream("page_orientation_example.docx");
document.write(out);
out.close();
}
}
এখানে প্রথম Section Portrait অরিয়েন্টেশনে রাখা হয়েছে এবং দ্বিতীয় Section Landscape অরিয়েন্টেশনে তৈরি করা হয়েছে।
প্রতিটি Section এর জন্য পেজ মার্জিনও আলাদা করা যেতে পারে। setMargins() মেথড ব্যবহার করে আপনি Section-এর জন্য মার্জিন কাস্টমাইজ করতে পারেন।
import org.apache.poi.xwpf.usermodel.*;
import java.io.FileOutputStream;
import java.io.IOException;
public class PageMarginExample {
public static void main(String[] args) throws IOException {
XWPFDocument document = new XWPFDocument();
// প্রথম Section (ডিফল্ট মার্জিন)
XWPFParagraph para1 = document.createParagraph();
para1.setAlignment(ParagraphAlignment.CENTER);
XWPFRun run1 = para1.createRun();
run1.setText("This is the first section with default margin.");
// সেকেন্ড Section (কাস্টম মার্জিন)
XWPFParagraph para2 = document.createParagraph();
para2.setAlignment(ParagraphAlignment.CENTER);
para2.createRun().setText("\n\n---- Section Break ----\n\n");
// মার্জিন কাস্টমাইজ করা
XWPFSection section2 = document.createSection();
section2.setMargins(50, 50, 50, 50); // top, right, bottom, left
XWPFParagraph para3 = document.createParagraph();
para3.setAlignment(ParagraphAlignment.CENTER);
XWPFRun run3 = para3.createRun();
run3.setText("This is the second section with custom margins.");
// ডকুমেন্ট সেভ করা
FileOutputStream out = new FileOutputStream("page_margin_example.docx");
document.write(out);
out.close();
}
}
এখানে, দ্বিতীয় Section এর জন্য পেজ মার্জিন কাস্টমাইজ করা হয়েছে।
Apache POI এর মাধ্যমে Section Break ব্যবহার করে আপনি Word ডকুমেন্টে বিভিন্ন Section তৈরি করতে পারেন এবং প্রতিটি Section এর জন্য আলাদা Formatting প্রয়োগ করতে পারেন। আপনি পেজ মার্জিন, পেজ অরিয়েন্টেশন, হেডার, ফুটার এবং অন্যান্য ফরম্যাটিং কাস্টমাইজ করতে পারেন। এই ফিচারগুলি ডকুমেন্টের ভিজ্যুয়াল প্রেজেন্টেশনকে আরও সুন্দর এবং কার্যকরী করে তোলে।
Apache POI ব্যবহার করে Microsoft Word (DOCX) ডকুমেন্টে একাধিক পেজ হ্যান্ডেল করা যেতে পারে। সাধারণত, Word ডকুমেন্টে পেজ ব্রেক ব্যবহার করে নতুন পেজ তৈরি করা হয়। আপনি যখন একাধিক পেজের ডকুমেন্ট তৈরি করতে চান, তখন পেজ ব্রেক ব্যবহার করে সেগুলো আলাদা আলাদা পেজে বিভক্ত করতে পারেন।
এখানে আমরা দেখবো কিভাবে multiple pages তৈরি করা হয় এবং page breaks কিভাবে ইনসার্ট করা হয়।
পেজ ব্রেক ব্যবহার করে আপনি একটি পেজের শেষে আরেকটি পেজ শুরু করতে পারবেন। এটি সাধারণত লম্বা ডকুমেন্ট বা অনেক তথ্যের জন্য প্রয়োজন হয়।
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 MultiplePagesExample {
public static void main(String[] args) throws IOException {
// একটি নতুন Word ডকুমেন্ট তৈরি করা
XWPFDocument document = new XWPFDocument();
// প্রথম পেজের কন্টেন্ট
XWPFParagraph paragraph1 = document.createParagraph();
XWPFRun run1 = paragraph1.createRun();
run1.setText("এটি প্রথম পেজের কন্টেন্ট।");
// পেজ ব্রেক যোগ করা
document.createParagraph().createRun().addBreak(); // পেজ ব্রেক
// দ্বিতীয় পেজের কন্টেন্ট
XWPFParagraph paragraph2 = document.createParagraph();
XWPFRun run2 = paragraph2.createRun();
run2.setText("এটি দ্বিতীয় পেজের কন্টেন্ট।");
// পেজ ব্রেক যোগ করা (আরেকটি পেজের জন্য)
document.createParagraph().createRun().addBreak(); // দ্বিতীয় পেজ ব্রেক
// তৃতীয় পেজের কন্টেন্ট
XWPFParagraph paragraph3 = document.createParagraph();
XWPFRun run3 = paragraph3.createRun();
run3.setText("এটি তৃতীয় পেজের কন্টেন্ট।");
// Word ডকুমেন্ট সেভ করা
try (FileOutputStream out = new FileOutputStream("MultiplePagesExample.docx")) {
document.write(out);
}
System.out.println("Multiple pages with page breaks created successfully!");
}
}
আপনি কাস্টম স্টাইল ব্যবহার করে পেজ ব্রেকের পরে বিভিন্ন ধরনের ফরম্যাটিং বা স্টাইল অ্যাপ্লাই করতে পারেন। যেমন, পেজ ব্রেকের পর প্যারাগ্রাফের ফন্ট সাইজ বা স্টাইল পরিবর্তন করা।
import org.apache.poi.xwpf.usermodel.XWPFDocument;
import org.apache.poi.xwpf.usermodel.XWPFParagraph;
import org.apache.poi.xwpf.usermodel.XWPFRun;
import org.apache.poi.xwpf.usermodel.XWPFStyles;
import java.io.FileOutputStream;
import java.io.IOException;
public class StyledMultiplePagesExample {
public static void main(String[] args) throws IOException {
// একটি নতুন Word ডকুমেন্ট তৈরি করা
XWPFDocument document = new XWPFDocument();
// প্রথম পেজের কন্টেন্ট
XWPFParagraph paragraph1 = document.createParagraph();
XWPFRun run1 = paragraph1.createRun();
run1.setText("এটি প্রথম পেজের কন্টেন্ট।");
// পেজ ব্রেক যোগ করা
document.createParagraph().createRun().addBreak(); // পেজ ব্রেক
// দ্বিতীয় পেজে কাস্টম ফন্ট এবং সাইজ সহ কন্টেন্ট
XWPFParagraph paragraph2 = document.createParagraph();
XWPFRun run2 = paragraph2.createRun();
run2.setText("এটি দ্বিতীয় পেজের কন্টেন্ট, যা কাস্টম স্টাইলে প্রদর্শিত হচ্ছে।");
run2.setFontSize(14); // ফন্ট সাইজ সেট করা
run2.setBold(true); // বোল্ড টেক্সট
// তৃতীয় পেজের কন্টেন্ট
document.createParagraph().createRun().addBreak(); // দ্বিতীয় পেজ ব্রেক
XWPFParagraph paragraph3 = document.createParagraph();
XWPFRun run3 = paragraph3.createRun();
run3.setText("এটি তৃতীয় পেজের কন্টেন্ট, কাস্টম স্টাইল সহ।");
run3.setItalic(true); // ইটালিক টেক্সট
// Word ডকুমেন্ট সেভ করা
try (FileOutputStream out = new FileOutputStream("StyledMultiplePages.docx")) {
document.write(out);
}
System.out.println("Multiple pages with custom styles 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 PageSetupExample {
public static void main(String[] args) throws IOException {
// একটি নতুন Word ডকুমেন্ট তৈরি করা
XWPFDocument document = new XWPFDocument();
// পেজ সেটআপ কাস্টমাইজ করা (এটা ডকুমেন্টের মূল পেজ সেটিংস পরিবর্তন করবে)
document.getDocument().getBody().getSectPr().getPgMar().setTop(720); // টপ মার্জিন
document.getDocument().getBody().getSectPr().getPgMar().setBottom(720); // বটম মার্জিন
document.getDocument().getBody().getSectPr().getPgMar().setLeft(720); // লেফট মার্জিন
document.getDocument().getBody().getSectPr().getPgMar().setRight(720); // রাইট মার্জিন
// প্রথম পেজের কন্টেন্ট
XWPFParagraph paragraph1 = document.createParagraph();
XWPFRun run1 = paragraph1.createRun();
run1.setText("এটি কাস্টম মার্জিন সহ প্রথম পেজ।");
// পেজ ব্রেক যোগ করা
document.createParagraph().createRun().addBreak(); // পেজ ব্রেক
// দ্বিতীয় পেজের কন্টেন্ট
XWPFParagraph paragraph2 = document.createParagraph();
XWPFRun run2 = paragraph2.createRun();
run2.setText("এটি দ্বিতীয় পেজ, যেখানে কাস্টম মার্জিন রয়েছে।");
// Word ডকুমেন্ট সেভ করা
try (FileOutputStream out = new FileOutputStream("PageSetupExample.docx")) {
document.write(out);
}
System.out.println("Document with custom page setup created successfully!");
}
}
Apache POI ব্যবহার করে Microsoft Word (DOCX) ডকুমেন্টে multiple pages তৈরি করা সম্ভব এবং page breaks যোগ করে সেগুলিকে আলাদা আলাদা পেজে বিভক্ত করা যায়। এছাড়া, page setup যেমন margin এবং orientation কাস্টমাইজ করা, এবং পেজ ব্রেকের পরে বিভিন্ন ধরনের font styling যেমন bold, italic, font size কাস্টমাইজ করা যায়।
common.read_more