Apache POI লাইব্রেরি ব্যবহার করে আপনি Word ডকুমেন্টের পেজ লেআউট এবং মার্জিন কনফিগারেশন সেট করতে পারেন। পেজ লেআউটের মধ্যে পৃষ্ঠার অরিয়েন্টেশন (Portrait/Landscape), মার্জিন, পৃষ্ঠার সাইজ ইত্যাদি অন্তর্ভুক্ত থাকে। আপনি যদি ডকুমেন্টের একটি নির্দিষ্ট সেকশনে পেজ লেআউট পরিবর্তন করতে চান, তবে XWPF প্যাকেজ ব্যবহার করে এটি সম্ভব।
Word ডকুমেন্টে পেজ লেআউট কনফিগারেশন করতে XWPFDocument এবং CTPageMar (যা CTPage এর অংশ) ব্যবহার করতে হয়। এই কনফিগারেশন আপনি পেজের সাইজ, অরিয়েন্টেশন এবং মার্জিন সেট করতে পারবেন।
পোর্ট্রেট এবং ল্যান্ডস্কেপ অরিয়েন্টেশন পরিবর্তন করতে পেজ লেআউটের জন্য CTPage কনফিগারেশন ব্যবহার করা হয়।
import org.apache.poi.xwpf.usermodel.*;
import org.apache.xmlbeans.XmlCursor;
import java.io.FileOutputStream;
import java.io.IOException;
public class PageOrientationExample {
public static void main(String[] args) {
try {
// নতুন Word ডকুমেন্ট তৈরি করা
XWPFDocument document = new XWPFDocument();
// প্রথম প্যারাগ্রাফ
XWPFParagraph paragraph1 = document.createParagraph();
XWPFRun run1 = paragraph1.createRun();
run1.setText("This is a Portrait page.");
// নতুন পৃষ্ঠা যোগ করা (ল্যান্ডস্কেপ)
XWPFParagraph paragraph2 = document.createParagraph();
paragraph2.setPageBreak(true); // নতুন পৃষ্ঠা তৈরি
// ল্যান্ডস্কেপ অরিয়েন্টেশন সেট করা
XmlCursor cursor = document.getDocument().newCursor();
cursor.selectPath("./*");
cursor.toNextToken();
cursor.setName("w:sectPr");
cursor.insertNamespace("w", "http://schemas.openxmlformats.org/wordprocessingml/2006/main");
cursor.insertElement("w:pgSz");
cursor.insertAttribute("w:orient", "landscape");
// দ্বিতীয় প্যারাগ্রাফে লেখা
XWPFParagraph paragraph3 = document.createParagraph();
XWPFRun run2 = paragraph3.createRun();
run2.setText("This is a Landscape page.");
// Word ডকুমেন্ট সেভ করা
FileOutputStream out = new FileOutputStream("page_orientation_example.docx");
document.write(out);
out.close();
System.out.println("Word document created with page orientation.");
} catch (IOException e) {
e.printStackTrace();
}
}
}
পৃষ্ঠার মার্জিন সেট করতে CTPageMar (Page Margin) কনফিগারেশন ব্যবহার করা হয়। মার্জিনের প্রস্থ নির্ধারণ করতে আপনি left, right, top, bottom এ মান সেট করতে পারেন।
import org.apache.poi.xwpf.usermodel.*;
import org.apache.xmlbeans.XmlCursor;
import java.io.FileOutputStream;
import java.io.IOException;
public class PageMarginExample {
public static void main(String[] args) {
try {
// নতুন Word ডকুমেন্ট তৈরি করা
XWPFDocument document = new XWPFDocument();
// প্রথম প্যারাগ্রাফ
XWPFParagraph paragraph1 = document.createParagraph();
XWPFRun run1 = paragraph1.createRun();
run1.setText("This page has custom margins.");
// পৃষ্ঠার মার্জিন কনফিগারেশন
XmlCursor cursor = document.getDocument().newCursor();
cursor.selectPath("./*");
cursor.toNextToken();
cursor.setName("w:sectPr");
cursor.insertNamespace("w", "http://schemas.openxmlformats.org/wordprocessingml/2006/main");
// মার্জিন সেট করা
cursor.insertElement("w:pgMar");
cursor.insertAttribute("w:left", "1440"); // Left margin (1 inch)
cursor.insertAttribute("w:right", "1440"); // Right margin (1 inch)
cursor.insertAttribute("w:top", "1440"); // Top margin (1 inch)
cursor.insertAttribute("w:bottom", "1440");// Bottom margin (1 inch)
// Word ডকুমেন্ট সেভ করা
FileOutputStream out = new FileOutputStream("page_margin_example.docx");
document.write(out);
out.close();
System.out.println("Word document created with custom page margins.");
} catch (IOException e) {
e.printStackTrace();
}
}
}
পৃষ্ঠার সাইজ কনফিগার করতে w:pgSz ব্যবহার করা হয়, যা সাধারণত A4 বা Letter সাইজের পৃষ্ঠা নির্ধারণে সহায়ক।
import org.apache.poi.xwpf.usermodel.*;
import org.apache.xmlbeans.XmlCursor;
import java.io.FileOutputStream;
import java.io.IOException;
public class PageSizeExample {
public static void main(String[] args) {
try {
// নতুন Word ডকুমেন্ট তৈরি করা
XWPFDocument document = new XWPFDocument();
// প্রথম প্যারাগ্রাফ
XWPFParagraph paragraph1 = document.createParagraph();
XWPFRun run1 = paragraph1.createRun();
run1.setText("This page has custom size A4.");
// পৃষ্ঠার সাইজ কনফিগারেশন (A4)
XmlCursor cursor = document.getDocument().newCursor();
cursor.selectPath("./*");
cursor.toNextToken();
cursor.setName("w:sectPr");
cursor.insertNamespace("w", "http://schemas.openxmlformats.org/wordprocessingml/2006/main");
cursor.insertElement("w:pgSz");
cursor.insertAttribute("w:w", "11906"); // A4 width in twips (8.27 inches)
cursor.insertAttribute("w:h", "16838"); // A4 height in twips (11.69 inches)
// Word ডকুমেন্ট সেভ করা
FileOutputStream out = new FileOutputStream("page_size_example.docx");
document.write(out);
out.close();
System.out.println("Word document created with A4 page size.");
} catch (IOException e) {
e.printStackTrace();
}
}
}
Apache POI লাইব্রেরি ব্যবহার করে আপনি Word ডকুমেন্টের পেজ লেআউট এবং মার্জিন কনফিগারেশন করতে পারেন। আপনি পোর্ট্রেট এবং ল্যান্ডস্কেপ অরিয়েন্টেশন, মার্জিন (left, right, top, bottom) এবং পৃষ্ঠার সাইজ (A4, Letter) সহজেই কনফিগার করতে পারেন। এই কনফিগারেশনগুলি ডকুমেন্টের লেআউট এবং পেজের ফরম্যাট নিয়ন্ত্রণ করতে সাহায্য করে।
Apache POI লাইব্রেরি ব্যবহার করে আপনি Word ডকুমেন্ট এর পেজ সাইজ এবং Orientation কাস্টমাইজ করতে পারেন। আপনি পেজ সাইজ (যেমন A4, Letter) এবং Orientation (Portrait অথবা Landscape) নির্ধারণ করতে পারেন XWPFDocument এবং XWPFStyle ক্লাসের মাধ্যমে।
এখানে একটি উদাহরণ দেখানো হলো, যেখানে A4 সাইজ এবং Landscape Orientation সেট করা হয়েছে।
import org.apache.poi.xwpf.usermodel.*;
import java.io.*;
import org.apache.poi.ss.usermodel.PageSize;
public class PageSizeAndOrientationExample {
public static void main(String[] args) {
try {
// নতুন Word ডকুমেন্ট তৈরি করা
XWPFDocument document = new XWPFDocument();
// পেজ সাইজ এবং Orientation কাস্টমাইজেশন
XWPFStyle style = document.createStyle();
CTPageSize pageSize = style.getCTStyle().addNewPgSz();
// পেজ সাইজ সেট করা (A4)
pageSize.setW(11906); // A4 পেজের প্রস্থ (1/20th of a point)
pageSize.setH(16838); // A4 পেজের উচ্চতা (1/20th of a point)
// Orientation সেট করা (Landscape)
pageSize.setOrient(STPageOrientation.LANDSCAPE);
// প্রথম প্যারাগ্রাফ তৈরি
XWPFParagraph paragraph = document.createParagraph();
XWPFRun run = paragraph.createRun();
run.setText("এই ডকুমেন্টটি A4 সাইজ এবং Landscape Orientation এ তৈরি করা হয়েছে।");
// ডকুমেন্টটি সেভ করা
FileOutputStream out = new FileOutputStream("document_with_page_size_and_orientation.docx");
document.write(out);
out.close();
System.out.println("পেজ সাইজ এবং Orientation সফলভাবে সেট করা হয়েছে!");
} catch (IOException e) {
e.printStackTrace();
}
}
}
এই কোডটি একটি Word ডকুমেন্ট তৈরি করবে, যার পেজ সাইজ হবে A4 এবং Orientation হবে Landscape।
আপনি চাইলে অন্যান্য পেজ সাইজ (যেমন Letter, Legal) এবং Orientation (Portrait) সেট করতে পারেন।
// Letter পেজ সাইজ (21600 x 27936 1/20th of a point)
pageSize.setW(12240); // প্রস্থ
pageSize.setH(15840); // উচ্চতা
// Portrait Orientation (ডিফল্ট)
pageSize.setOrient(STPageOrientation.PORTRAIT);
// Legal পেজ সাইজ (21600 x 34560 1/20th of a point)
pageSize.setW(12240); // প্রস্থ
pageSize.setH(19440); // উচ্চতা
// Landscape Orientation
pageSize.setOrient(STPageOrientation.LANDSCAPE);
Apache POI লাইব্রেরি ব্যবহার করে আপনি Word ডকুমেন্ট এর পেজ সাইজ এবং Orientation কাস্টমাইজ করতে পারেন। XWPFStyle এবং CTPageSize ক্লাসের মাধ্যমে আপনি A4, Letter, Legal সাইজ এবং Portrait বা Landscape Orientation সেট করতে পারবেন। এর মাধ্যমে আপনি ডকুমেন্টের লেআউট সম্পূর্ণভাবে কাস্টমাইজ করতে পারেন।
Apache POI এর XWPF API ব্যবহার করে আপনি Word ডকুমেন্ট-এর মার্জিন (Margins) এবং Indentation (ইন্ডেন্টেশন) কনফিগার করতে পারেন। মার্জিন এবং ইন্ডেন্টেশন কনফিগার করে আপনি ডকুমেন্টের টেক্সটের অবস্থান, সন্নিবেশ (alignment), এবং পৃষ্ঠা সজ্জা নিয়ন্ত্রণ করতে পারবেন। এখানে, আমরা মার্জিন এবং ইন্ডেন্টেশন কিভাবে কনফিগার করা যায়, তা দেখব।
Word ডকুমেন্টে মার্জিন পরিবর্তন করার জন্য, আপনাকে XWPFDocument এর XWPFSection ক্লাস ব্যবহার করতে হবে। মার্জিনগুলো সাধারণত top, bottom, left, এবং right হিসাবে কনফিগার করা যায়।
import org.apache.poi.xwpf.usermodel.*;
import org.apache.poi.xwpf.usermodel.XWPFDocument;
import java.io.FileOutputStream;
import java.io.IOException;
import org.apache.xmlbeans.XmlCursor;
public class MarginExample {
public static void main(String[] args) throws IOException {
// নতুন Word ডকুমেন্ট তৈরি
XWPFDocument document = new XWPFDocument();
// সেকশন তৈরি করা
XWPFSection section = document.createSection();
// মার্জিন কনফিগার করা
section.setMarginTop(1000); // উপরের মার্জিন 1000 পিক্সেল
section.setMarginBottom(1000); // নীচের মার্জিন 1000 পিক্সেল
section.setMarginLeft(1500); // বামের মার্জিন 1500 পিক্সেল
section.setMarginRight(1500); // ডানের মার্জিন 1500 পিক্সেল
// প্রথম প্যারাগ্রাফ যোগ করা
XWPFParagraph paragraph1 = document.createParagraph();
XWPFRun run1 = paragraph1.createRun();
run1.setText("এটি মার্জিন কনফিগার করা একটি প্যারাগ্রাফ।");
// ডকুমেন্ট সংরক্ষণ
FileOutputStream out = new FileOutputStream("MarginExample.docx");
document.write(out);
out.close();
System.out.println("মার্জিন কনফিগার করা ডকুমেন্ট তৈরি এবং সংরক্ষণ করা হয়েছে।");
}
}
এখানে, setMarginTop(), setMarginBottom(), setMarginLeft(), এবং setMarginRight() মেথডগুলো ব্যবহার করে মার্জিন কনফিগার করা হয়েছে। এই মার্জিনগুলি পৃষ্ঠার চারপাশে টেক্সটের অবস্থান নির্ধারণ করবে।
Indentation (ইন্ডেন্টেশন) একটি প্যারাগ্রাফের মধ্যে প্রথম লাইনের বা পুরো প্যারাগ্রাফের টেক্সটকে নির্দিষ্ট পরিমাণে সরে দেওয়া হয়। এটি সাধারণত left indentation, right indentation, এবং first line indentation হিসেবে কনফিগার করা হয়।
import org.apache.poi.xwpf.usermodel.*;
import java.io.FileOutputStream;
import java.io.IOException;
public class IndentationExample {
public static void main(String[] args) throws IOException {
// নতুন Word ডকুমেন্ট তৈরি
XWPFDocument document = new XWPFDocument();
// প্রথম প্যারাগ্রাফ যোগ করা
XWPFParagraph paragraph1 = document.createParagraph();
paragraph1.setAlignment(ParagraphAlignment.LEFT); // বাম পাশে এলাইনমেন্ট
// ইন্ডেন্টেশন কনফিগার করা
paragraph1.setIndentationLeft(720); // বাম দিকে 720 পিক্সেল ইন্ডেন্টেশন
paragraph1.setIndentationRight(720); // ডান দিকে 720 পিক্সেল ইন্ডেন্টেশন
paragraph1.setIndentationFirstLine(720); // প্রথম লাইনের জন্য 720 পিক্সেল ইন্ডেন্টেশন
XWPFRun run1 = paragraph1.createRun();
run1.setText("এটি একটি প্যারাগ্রাফ, যেখানে বাম ও ডান দিকের ইন্ডেন্টেশন এবং প্রথম লাইনের ইন্ডেন্টেশন কনফিগার করা হয়েছে।");
// ডকুমেন্ট সংরক্ষণ
FileOutputStream out = new FileOutputStream("IndentationExample.docx");
document.write(out);
out.close();
System.out.println("ইন্ডেন্টেশন কনফিগার করা ডকুমেন্ট তৈরি এবং সংরক্ষণ করা হয়েছে।");
}
}
এখানে:
আপনি ইন্ডেন্টেশনটি পিক্সেল হিসেবে কনফিগার করতে পারেন।
আপনি একই ডকুমেন্টে মার্জিন এবং ইন্ডেন্টেশন একসাথে কনফিগার করতে পারেন, যা টেক্সটের অবস্থান এবং সজ্জা আরও নিয়ন্ত্রণে সহায়ক হবে।
import org.apache.poi.xwpf.usermodel.*;
import java.io.FileOutputStream;
import java.io.IOException;
public class MarginAndIndentationExample {
public static void main(String[] args) throws IOException {
// নতুন Word ডকুমেন্ট তৈরি
XWPFDocument document = new XWPFDocument();
// সেকশন তৈরি করা
XWPFSection section = document.createSection();
// মার্জিন কনফিগার করা
section.setMarginTop(1000); // উপরের মার্জিন 1000 পিক্সেল
section.setMarginBottom(1000); // নীচের মার্জিন 1000 পিক্সেল
section.setMarginLeft(1500); // বামের মার্জিন 1500 পিক্সেল
section.setMarginRight(1500); // ডানের মার্জিন 1500 পিক্সেল
// প্যারাগ্রাফ তৈরি এবং ইন্ডেন্টেশন কনফিগার করা
XWPFParagraph paragraph1 = document.createParagraph();
paragraph1.setIndentationLeft(720); // বাম দিকে 720 পিক্সেল ইন্ডেন্টেশন
paragraph1.setIndentationFirstLine(720); // প্রথম লাইনে ইন্ডেন্টেশন
XWPFRun run1 = paragraph1.createRun();
run1.setText("এটি মার্জিন এবং ইন্ডেন্টেশন একসাথে কনফিগার করা একটি প্যারাগ্রাফ।");
// ডকুমেন্ট সংরক্ষণ
FileOutputStream out = new FileOutputStream("MarginAndIndentationExample.docx");
document.write(out);
out.close();
System.out.println("মার্জিন এবং ইন্ডেন্টেশন একসাথে কনফিগার করা ডকুমেন্ট তৈরি এবং সংরক্ষণ করা হয়েছে।");
}
}
এখানে, মার্জিন এবং ইন্ডেন্টেশন একসাথে কনফিগার করা হয়েছে, যা ডকুমেন্টের টেক্সটের অবস্থান এবং প্রেজেন্টেশনকে আরও নিয়ন্ত্রিত করবে।
Apache POI এর XWPF API ব্যবহার করে আপনি মার্জিন এবং ইন্ডেন্টেশন কনফিগার করে Word ডকুমেন্টের ফরম্যাটিং নিয়ন্ত্রণ করতে পারেন। মার্জিন কনফিগার করার মাধ্যমে পৃষ্ঠার চারপাশে টেক্সটের অবস্থান নির্ধারণ করা যায়, এবং ইন্ডেন্টেশন কনফিগার করে প্যারাগ্রাফের প্রথম লাইনের বা পুরো প্যারাগ্রাফের টেক্সটকে সরে দেওয়া যায়। এটি ডকুমেন্টের গঠন এবং পঠনযোগ্যতাকে সহজ এবং সুন্দর করে তোলে।
Apache POI ব্যবহার করে আপনি Microsoft Word ডকুমেন্টে কাস্টম Page Layout তৈরি করতে পারেন। কাস্টম পেজ লেআউটের মধ্যে পেজ অরিয়েন্টেশন (Landscape বা Portrait), পেজ সাইজ, মার্জিন, এবং অন্যান্য স্টাইলিং অপশন অন্তর্ভুক্ত থাকতে পারে। এই সমস্ত কাস্টমাইজেশনগুলি পেজ লেআউটকে আরও নির্দিষ্ট বা প্রোফেশনাল করে তোলে।
নিচে একটি উদাহরণ দেওয়া হলো, যেখানে কাস্টম Page Layout সেটআপ করা হয়েছে যেমন পেজ অরিয়েন্টেশন, সাইজ, মার্জিন ইত্যাদি।
আপনি একটি কাস্টম পেজ অরিয়েন্টেশন এবং সাইজ সেট করতে পারেন। এখানে Portrait এবং Landscape উভয় ধরনের অরিয়েন্টেশন ব্যবহার করা হয়েছে।
import org.apache.poi.xwpf.usermodel.*;
import java.io.FileOutputStream;
import java.io.IOException;
public class CustomPageLayoutExample {
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.");
// পেজ অরিয়েন্টেশন পরিবর্তন (Landscape)
XWPFSection section2 = document.createSection();
section2.setOrientation(Orientation.LANDSCAPE); // Landscape Orientation
// দ্বিতীয় Section (Landscape)
XWPFParagraph para2 = document.createParagraph();
para2.setAlignment(ParagraphAlignment.CENTER);
XWPFRun run2 = para2.createRun();
run2.setText("This is the second section with Landscape orientation.");
// ডকুমেন্ট সেভ করা
FileOutputStream out = new FileOutputStream("custom_page_layout_example.docx");
document.write(out);
out.close();
}
}
এখানে, প্রথম Section-এ Portrait অরিয়েন্টেশন ব্যবহার করা হয়েছে এবং দ্বিতীয় Section-এ Landscape অরিয়েন্টেশন দেওয়া হয়েছে।
Microsoft Word ডকুমেন্টে পেজ সাইজ কাস্টমাইজ করা সম্ভব। আপনি একটি নির্দিষ্ট সাইজ যেমন A4, A3 বা কাস্টম সাইজ নির্ধারণ করতে পারেন। এখানে A4 সাইজ এবং কাস্টম সাইজের উদাহরণ দেখানো হয়েছে।
import org.apache.poi.xwpf.usermodel.*;
import org.apache.poi.xwpf.usermodel.XWPFFooter;
import java.io.FileOutputStream;
import java.io.IOException;
import org.apache.poi.xwpf.usermodel.XWPFDocument;
import org.apache.poi.xwpf.usermodel.XWPFParagraph;
import org.apache.poi.xwpf.usermodel.XWPFRun;
public class CustomPageSizeExample {
public static void main(String[] args) throws IOException {
XWPFDocument document = new XWPFDocument();
// প্রথম Section (A4 সাইজ)
XWPFParagraph para1 = document.createParagraph();
para1.setAlignment(ParagraphAlignment.CENTER);
XWPFRun run1 = para1.createRun();
run1.setText("This is the first section with A4 size.");
// কাস্টম পেজ সাইজ (উদাহরণ হিসেবে 6x9 inch সাইজ)
XWPFSection section2 = document.createSection();
section2.setPageSize(6 * 72, 9 * 72); // 6x9 inch
// দ্বিতীয় Section (কাস্টম সাইজ)
XWPFParagraph para2 = document.createParagraph();
para2.setAlignment(ParagraphAlignment.LEFT);
XWPFRun run2 = para2.createRun();
run2.setText("This is the second section with a custom page size (6x9 inches).");
// ডকুমেন্ট সেভ করা
FileOutputStream out = new FileOutputStream("custom_page_size_example.docx");
document.write(out);
out.close();
}
}
এখানে, A4 সাইজের একটি Section তৈরি করা হয়েছে এবং পরবর্তী Section-এ একটি কাস্টম সাইজ (6x9 inches) প্রয়োগ করা হয়েছে।
পেজের মার্জিন কাস্টমাইজ করা হলে, পুরো পেজের চারপাশে ডকুমেন্টের কনটেন্টের অবস্থান পরিবর্তিত হয়। আপনি top, bottom, left, এবং right মার্জিন কাস্টমাইজ করতে পারেন।
import org.apache.poi.xwpf.usermodel.*;
import java.io.FileOutputStream;
import java.io.IOException;
public class CustomPageMarginExample {
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 margins.");
// সেকেন্ড Section (কাস্টম মার্জিন)
XWPFParagraph para2 = document.createParagraph();
para2.setAlignment(ParagraphAlignment.CENTER);
para2.createRun().setText("\n\n---- Section Break ----\n\n");
// মার্জিন কাস্টমাইজ করা
XWPFSection section2 = document.createSection();
section2.setMargins(72, 72, 72, 72); // top, right, bottom, left মার্জিন (1 inch)
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("custom_page_margin_example.docx");
document.write(out);
out.close();
}
}
এখানে, প্রথম Section-এ ডিফল্ট মার্জিন ব্যবহার করা হয়েছে এবং দ্বিতীয় Section-এ 1 inch মার্জিন (top, right, bottom, left) কাস্টমাইজ করা হয়েছে।
প্রতিটি Section এর জন্য আলাদা হেডার ও ফুটার ব্যবহার করা যেতে পারে। আপনি হেডার এবং ফুটারে কাস্টম টেক্সট, পেজ নাম্বার বা অন্যান্য ফরম্যাটিং যোগ করতে পারেন।
import org.apache.poi.xwpf.usermodel.*;
import java.io.FileOutputStream;
import java.io.IOException;
public class CustomHeaderFooterExample {
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 with header.");
// দ্বিতীয় Section Header
XWPFHeader header2 = document.createHeader(HeaderFooterType.DEFAULT);
XWPFParagraph paraHeader2 = header2.createParagraph();
XWPFRun runHeader2 = paraHeader2.createRun();
runHeader2.setText("Header for Section 2");
// দ্বিতীয় Section Body
XWPFParagraph para2 = document.createParagraph();
para2.setAlignment(ParagraphAlignment.LEFT);
XWPFRun run2 = para2.createRun();
run2.setText("This is the second section with a different header.");
// ডকুমেন্ট সেভ করা
FileOutputStream out = new FileOutputStream("custom_header_footer_example.docx");
document.write(out);
out.close();
}
}
এখানে, দুটি আলাদা Section-এর জন্য আলাদা Header যোগ করা হয়েছে।
Apache POI ব্যবহার করে আপনি Microsoft Word ডকুমেন্টে কাস্টম পেজ লেআউট তৈরি করতে পারেন। পেজ অরিয়েন্টেশন, সাইজ, মার্জিন, হেডার, ফুটার এবং অন্যান্য ফরম্যাটিং কাস্টমাইজেশন এর মাধ্যমে ডকুমেন্টের লেআউট সহজেই নিয়ন্ত্রণ করা সম্ভব। এই ফিচারগুলি আপনাকে একটি পেশাদারী ডকুমেন্ট ডিজাইন করতে সহায়তা করবে, বিশেষত যখন আপনার পেজ লেআউটটি নির্দিষ্ট স্ট্যান্ডার্ড বা ডিজাইন অনুসরণ করতে হবে।
Apache POI ব্যবহার করে Microsoft Word (DOCX) ডকুমেন্টে column layout তৈরি এবং কাস্টমাইজ করা সম্ভব। কলাম ব্যবহার করে আপনি ডকুমেন্টের কন্টেন্টকে বিভিন্ন সেগমেন্টে বিভক্ত করতে পারেন, যেমন পত্রিকা বা সংবাদপত্রের মতো সেগমেন্টেশন। এটি বিশেষভাবে দীর্ঘ টেক্সট কন্টেন্ট বা ফর্ম্যাটেড ডকুমেন্ট তৈরি করার জন্য উপকারী।
এখানে আমরা দেখবো কিভাবে columns তৈরি করা যায় এবং layout কাস্টমাইজ করা যায়।
Word ডকুমেন্টে কলাম ব্যবহারের জন্য সাধারণত section breaks ব্যবহার করা হয়, যা নির্দিষ্ট অংশে একাধিক কলাম নির্ধারণ করে।
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.XWPFSection;
import java.io.FileOutputStream;
import java.io.IOException;
public class ColumnLayoutExample {
public static void main(String[] args) throws IOException {
// একটি নতুন Word ডকুমেন্ট তৈরি করা
XWPFDocument document = new XWPFDocument();
// একটি প্যারাগ্রাফ যোগ করা
XWPFParagraph paragraph1 = document.createParagraph();
XWPFRun run1 = paragraph1.createRun();
run1.setText("এটি কলাম লেআউটের উদাহরণ।");
// সেকশন ব্রেক ব্যবহার করে দুটি কলাম তৈরি করা
XWPFSection section = document.createSection();
section.getSectPr().getCols().setNumColumns(2); // কলাম সংখ্যা সেট করা
// প্রথম কলামে কন্টেন্ট যোগ করা
XWPFParagraph paragraph2 = section.createParagraph();
XWPFRun run2 = paragraph2.createRun();
run2.setText("প্রথম কলামে কিছু কন্টেন্ট।");
// সেকেন্ড কলামে কন্টেন্ট যোগ করা
XWPFParagraph paragraph3 = section.createParagraph();
XWPFRun run3 = paragraph3.createRun();
run3.setText("দ্বিতীয় কলামে কিছু কন্টেন্ট।");
// Word ডকুমেন্ট সেভ করা
try (FileOutputStream out = new FileOutputStream("ColumnLayoutExample.docx")) {
document.write(out);
}
System.out.println("Column Layout created successfully!");
}
}
কলাম লেআউটের মধ্যে আপনি column width, spacing, এবং line spacing কাস্টমাইজ করতে পারেন। এই কাস্টমাইজেশনগুলি কলামের উপস্থিতি এবং ব্যবহারিক প্রভাবকে উন্নত করতে সহায়তা করবে।
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.XWPFSection;
import java.io.FileOutputStream;
import java.io.IOException;
public class CustomColumnLayoutExample {
public static void main(String[] args) throws IOException {
// একটি নতুন Word ডকুমেন্ট তৈরি করা
XWPFDocument document = new XWPFDocument();
// সেকশন ব্রেক ব্যবহার করে দুটি কলাম তৈরি করা
XWPFSection section = document.createSection();
section.getSectPr().getCols().setNumColumns(2); // কলাম সংখ্যা সেট করা
section.getSectPr().getCols().setColumnWidth(3000); // কলামের প্রস্থ কাস্টমাইজ করা (পয়েন্টে)
// কলামগুলির মধ্যে স্পেসিং কাস্টমাইজ করা
section.getSectPr().getCols().setColumnSpacing(500); // কলামের মধ্যে স্পেসিং কাস্টমাইজ করা
// প্রথম কলামে কন্টেন্ট যোগ করা
XWPFParagraph paragraph1 = section.createParagraph();
XWPFRun run1 = paragraph1.createRun();
run1.setText("প্রথম কলামের কন্টেন্ট।");
// সেকেন্ড কলামে কন্টেন্ট যোগ করা
XWPFParagraph paragraph2 = section.createParagraph();
XWPFRun run2 = paragraph2.createRun();
run2.setText("দ্বিতীয় কলামের কন্টেন্ট।");
// Word ডকুমেন্ট সেভ করা
try (FileOutputStream out = new FileOutputStream("CustomColumnLayoutExample.docx")) {
document.write(out);
}
System.out.println("Custom Column Layout with width and spacing created successfully!");
}
}
কলামের মধ্যে বিভিন্ন ধরনের কন্টেন্ট স্টাইল যেমন bold, italic, এবং underline ব্যবহার করে কন্টেন্টের বিভিন্ন বিভাগ তৈরি করা সম্ভব। কলামের মধ্যে ইনডেন্টেশন এবং ফন্ট সাইজ কাস্টমাইজ করাও করা যেতে পারে।
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.XWPFSection;
import java.io.FileOutputStream;
import java.io.IOException;
public class StyledColumnLayoutExample {
public static void main(String[] args) throws IOException {
// একটি নতুন Word ডকুমেন্ট তৈরি করা
XWPFDocument document = new XWPFDocument();
// সেকশন ব্রেক ব্যবহার করে দুটি কলাম তৈরি করা
XWPFSection section = document.createSection();
section.getSectPr().getCols().setNumColumns(2); // কলাম সংখ্যা সেট করা
// প্রথম কলামে কন্টেন্ট যোগ করা
XWPFParagraph paragraph1 = section.createParagraph();
XWPFRun run1 = paragraph1.createRun();
run1.setText("প্রথম কলামের কন্টেন্ট, ফন্ট সাইজ ১২ এবং বোল্ড।");
run1.setFontSize(12);
run1.setBold(true);
// সেকেন্ড কলামে কন্টেন্ট যোগ করা
XWPFParagraph paragraph2 = section.createParagraph();
XWPFRun run2 = paragraph2.createRun();
run2.setText("দ্বিতীয় কলামে কন্টেন্ট, ইটালিক এবং আন্ডারলাইন সহ।");
run2.setItalic(true);
run2.setUnderline(true);
// Word ডকুমেন্ট সেভ করা
try (FileOutputStream out = new FileOutputStream("StyledColumnLayoutExample.docx")) {
document.write(out);
}
System.out.println("Styled Column Layout created successfully!");
}
}
Apache POI ব্যবহার করে Microsoft Word (DOCX) ডকুমেন্টে column layout তৈরি করা সম্ভব এবং আপনি columns এর সংখ্যা, প্রস্থ, স্পেসিং কাস্টমাইজ করতে পারেন। Multiple columns এর মধ্যে বিভিন্ন content styles যেমন bold, italic, এবং underline যোগ করা যায়, যাতে কলামের মধ্যে ভিন্ন ভিন্ন ফরম্যাটিং করতে পারেন। কলাম লেআউট ব্যবহারের মাধ্যমে আপনি দীর্ঘ ডকুমেন্টগুলোকে আরো পড়তে সুবিধাজনক এবং visually appealing বানাতে পারবেন।
common.read_more