Different Sections এ ভিন্ন Formatting

Java Technologies - অ্যাপাচি পিওআই (ওয়ার্ড) Page Break এবং Section Break |
175
175

Apache POI ব্যবহার করে আপনি Microsoft Word ডকুমেন্টে বিভিন্ন Section তৈরি এবং প্রতিটি Section এর জন্য আলাদা Formatting প্রয়োগ করতে পারেন। Word ডকুমেন্টে Section গুলি আলাদা আলাদা পেজ, পেজ মার্জিন, পেজ অরিয়েন্টেশন, হেডিং, ফুটার, বা পেজ নাম্বারিং কাস্টমাইজ করতে সহায়তা করে। এটি একাধিক ধরনের কনটেন্ট স্টাইল এবং ফরম্যাটিং অ্যাপ্লাই করার জন্য অত্যন্ত কার্যকরী।

এখানে আমরা দেখব কিভাবে Section Break ব্যবহার করে আলাদা আলাদা Formatting তৈরি করা যায়।


১. Section Break তৈরি করা

ডকুমেন্টে 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 (হেডার ও ফুটার)

প্রতিটি 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 সেট করা হয়েছে।


৩. Page Orientation (পেজ অরিয়েন্টেশন)

আপনি প্রতিটি 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 অরিয়েন্টেশনে তৈরি করা হয়েছে।


৪. Page Margin (পেজ মার্জিন)

প্রতিটি 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 প্রয়োগ করতে পারেন। আপনি পেজ মার্জিন, পেজ অরিয়েন্টেশন, হেডার, ফুটার এবং অন্যান্য ফরম্যাটিং কাস্টমাইজ করতে পারেন। এই ফিচারগুলি ডকুমেন্টের ভিজ্যুয়াল প্রেজেন্টেশনকে আরও সুন্দর এবং কার্যকরী করে তোলে।

common.content_added_by
টপ রেটেড অ্যাপ

স্যাট অ্যাকাডেমী অ্যাপ

আমাদের অল-ইন-ওয়ান মোবাইল অ্যাপের মাধ্যমে সীমাহীন শেখার সুযোগ উপভোগ করুন।

ভিডিও
লাইভ ক্লাস
এক্সাম
ডাউনলোড করুন
Promotion