Word Templates তৈরি এবং ব্যবহার করা

Java Technologies - অ্যাপাচি পিওআই (ওয়ার্ড) Templates এবং Document Generation |
130
130

Apache POI লাইব্রেরি ব্যবহার করে আপনি Word Templates তৈরি এবং ব্যবহার করতে পারেন। Word Templates হলো এমন ডকুমেন্ট যা একটি নির্দিষ্ট কাঠামো বা ফর্ম্যাট অনুসরণ করে, এবং পরবর্তীতে এই টেমপ্লেট ব্যবহার করে নতুন ডকুমেন্ট তৈরি করা যায়। টেমপ্লেট ব্যবহার করার সুবিধা হল, আপনি একই ধরনের ডকুমেন্ট বারবার তৈরি করতে পারেন, শুধুমাত্র কিছু নির্দিষ্ট তথ্য পরিবর্তন করে।

এখানে আমরা দেখাবো কীভাবে একটি Word Template তৈরি করা যায় এবং কিভাবে Apache POI দিয়ে তা ব্যবহার করা যায়।


Word Template তৈরি করার উদাহরণ

ধরা যাক, আপনি একটি Certificate Template তৈরি করতে চান যা পরবর্তীতে বিভিন্ন নাম এবং তারিখ সহ ব্যবহার করা যাবে। প্রথমে একটি টেমপ্লেট তৈরি করতে হবে, যা placeholder টেক্সট ধারণ করবে। তারপর আপনি এই টেমপ্লেটটি ব্যবহার করে নতুন ডকুমেন্ট তৈরি করবেন।

টেমপ্লেট তৈরি (Word Template .docx)

  1. Microsoft Word ব্যবহার করে একটি সাধারণ Certificate Template তৈরি করুন।
    • একটি প্যারাগ্রাফে লিখুন: "This certificate is awarded to {Name} for their excellent performance on {Date}."
    • {Name} এবং {Date} হল placeholder টেক্সট।
  2. টেমপ্লেটটি certificate_template.docx নামে সেভ করুন।

টেমপ্লেট ব্যবহার করে নতুন Word ডকুমেন্ট তৈরি করা

এখন Apache POI ব্যবহার করে আমরা এই টেমপ্লেট থেকে একটি নতুন ডকুমেন্ট তৈরি করব, যেখানে {Name} এবং {Date} এর জায়গায় বাস্তবিক মান (নাম এবং তারিখ) প্রবেশ করবে।

import org.apache.poi.xwpf.usermodel.*;

import java.io.*;
import java.util.*;

public class WordTemplateExample {
    public static void main(String[] args) {
        try {
            // টেমপ্লেট ফাইল লোড করা
            FileInputStream templateFile = new FileInputStream("certificate_template.docx");
            XWPFDocument templateDoc = new XWPFDocument(templateFile);

            // টেমপ্লেটের সমস্ত প্যারাগ্রাফ খুঁজে বের করা
            List<XWPFParagraph> paragraphs = templateDoc.getParagraphs();

            // টেমপ্লেটের মধ্যে placeholder টেক্সট প্রতিস্থাপন করা
            for (XWPFParagraph paragraph : paragraphs) {
                for (XWPFRun run : paragraph.getRuns()) {
                    String text = run.getText(0);
                    if (text != null) {
                        // {Name} এবং {Date} প্রতিস্থাপন করা
                        text = text.replace("{Name}", "John Doe")
                                   .replace("{Date}", "2024-12-17");
                        run.setText(text, 0);
                    }
                }
            }

            // নতুন ডকুমেন্টটি সেভ করা
            FileOutputStream out = new FileOutputStream("new_certificate.docx");
            templateDoc.write(out);
            out.close();

            System.out.println("নতুন ডকুমেন্ট সফলভাবে তৈরি করা হয়েছে!");

        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

কোড বিশ্লেষণ:

  1. FileInputStream: এটি টেমপ্লেট ফাইলটি লোড করার জন্য ব্যবহৃত হয়।
  2. XWPFDocument: এটি টেমপ্লেট ডকুমেন্টকে প্যার্স করার জন্য ব্যবহার করা হয়।
  3. getParagraphs(): টেমপ্লেটের সব প্যারাগ্রাফ সংগ্রহ করে।
  4. getRuns(): প্রতিটি প্যারাগ্রাফের মধ্যে Run খুঁজে বের করে, যেখানে টেক্সট থাকে।
  5. replace(): placeholder টেক্সট (যেমন {Name} এবং {Date}) আসল মানে প্রতিস্থাপন করা হয়।
  6. FileOutputStream: নতুন ডকুমেন্টটি সেভ করতে ব্যবহৃত হয়।

এই কোডটি একটি নতুন certificate ডকুমেন্ট তৈরি করবে, যেখানে {Name} এবং {Date} যথাক্রমে "John Doe" এবং "2024-12-17" দিয়ে প্রতিস্থাপিত হবে।


টেমপ্লেটের মধ্যে বিভিন্ন ধরনের placeholder ব্যবহার

আপনি চাইলে Word Template-এ বিভিন্ন ধরনের placeholder ব্যবহার করতে পারেন, যেমন:

  • {CompanyName}: কোম্পানির নাম
  • {EmployeeName}: কর্মচারীর নাম
  • {Date}: তারিখ

এই প্লেসহোল্ডারগুলির মান পরিবর্তন করতে আপনি কোডের মধ্যে replace() মেথড ব্যবহার করতে পারেন।

উদাহরণ:

text = text.replace("{CompanyName}", "ABC Corp")
           .replace("{EmployeeName}", "Jane Smith")
           .replace("{Date}", "2024-12-17");

সারাংশ

Apache POI লাইব্রেরি ব্যবহার করে আপনি Word Template তৈরি এবং ব্যবহার করতে পারেন। একটি টেমপ্লেট ডকুমেন্টে placeholder টেক্সট রেখে পরবর্তীতে সেই টেমপ্লেটটি ব্যবহার করে ডকুমেন্টের ভেতরে বাস্তবিক তথ্য যেমন নাম, তারিখ, বা অন্যান্য ডেটা প্রতিস্থাপন করা হয়। এই পদ্ধতিটি পুনরাবৃত্ত কাজকে সহজ এবং দ্রুত করে তোলে, এবং এটি কাস্টম ডকুমেন্ট তৈরির জন্য খুবই উপকারী।


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

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

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

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