Word ডকুমেন্টে ইমেজ যোগ করা (JPEG, PNG)

Java Technologies - অ্যাপাচি পিওআই (ওয়ার্ড) Images এবং Pictures যোগ করা |
104
104

Apache POI ব্যবহার করে আপনি সহজেই Word ডকুমেন্টে ইমেজ যোগ করতে পারেন। এটি সাধারণত XWPFDocument ক্লাসের সাহায্যে করা হয়, যেখানে আপনি XWPFPicture বা XWPFRun ব্যবহার করে ইমেজ ইনসার্ট করতে পারেন। এই পদ্ধতিতে আপনি JPEG, PNG সহ বিভিন্ন ইমেজ ফর্ম্যাট ব্যবহার করতে পারেন।

নিম্নে দেখানো হয়েছে কিভাবে JPEG এবং PNG ফরম্যাটের ইমেজ Word ডকুমেন্টে যুক্ত করা যায়।


1. Word ডকুমেন্টে ইমেজ যোগ করা

ইমেজ যোগ করতে, আপনাকে প্রথমে ইমেজ ফাইলের পাথ নির্ধারণ করতে হবে এবং তারপর XWPFRun ক্লাসের মাধ্যমে সেই ইমেজটি প্যারাগ্রাফে যোগ করতে হবে।

কোড উদাহরণ:

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.util.Units;

import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;

public class AddImageToWord {
    public static void main(String[] args) throws IOException {
        // নতুন Word ডকুমেন্ট তৈরি
        XWPFDocument document = new XWPFDocument();

        // একটি প্যারাগ্রাফ তৈরি করা
        XWPFParagraph paragraph = document.createParagraph();

        // প্যারাগ্রাফে রান তৈরি করা
        XWPFRun run = paragraph.createRun();

        // ইমেজ যোগ করা (JPEG অথবা PNG)
        String imagePath = "path_to_your_image.jpg"; // ইমেজ ফাইলের পাথ
        try (FileInputStream fis = new FileInputStream(imagePath)) {
            run.addPicture(fis, XWPFDocument.PICTURE_TYPE_JPEG, imagePath, Units.toEMU(100), Units.toEMU(100)); // ইমেজ আকার ১০০x১০০ পিক্সেল
        }

        // Word ডকুমেন্ট সেভ করা
        try (FileOutputStream out = new FileOutputStream("word_with_image.docx")) {
            document.write(out);
        }

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

কোড ব্যাখ্যা:

  • createParagraph(): এটি একটি নতুন প্যারাগ্রাফ তৈরি করে।
  • createRun(): এটি প্যারাগ্রাফে একটি রান তৈরি করে, যেখানে আমরা টেক্সট বা ইমেজ ইনসার্ট করতে পারি।
  • addPicture(): এই মেথডটি ইমেজ ইনসার্ট করার জন্য ব্যবহৃত হয়। এটি ইমেজের ইনপুট স্ট্রিম, ইমেজ টাইপ (JPEG বা PNG), এবং সাইজ (EMU-তে) চায়।
  • Units.toEMU(100): ইমেজের সাইজ ১০০x১০০ পিক্সেল আকারে সেট করা হয়েছে।

এই কোডটির মাধ্যমে একটি JPEG বা PNG ইমেজ Word ডকুমেন্টে সফলভাবে যোগ করা যাবে।


2. ইমেজের আকার কাস্টমাইজ করা

ইমেজ যোগ করার সময় আপনি তার আকারও কাস্টমাইজ করতে পারেন। addPicture() মেথডে ইমেজের প্রস্থ এবং উচ্চতা পিক্সেলে বা EMU (English Metric Units) এ সেট করা হয়। Units.toEMU() পদ্ধতি ব্যবহার করে আপনি পিক্সেল থেকে EMU তে রূপান্তর করতে পারবেন।

কোড উদাহরণ:

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.util.Units;

import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;

public class ResizeImageInWord {
    public static void main(String[] args) throws IOException {
        // নতুন Word ডকুমেন্ট তৈরি
        XWPFDocument document = new XWPFDocument();

        // একটি প্যারাগ্রাফ তৈরি করা
        XWPFParagraph paragraph = document.createParagraph();

        // প্যারাগ্রাফে রান তৈরি করা
        XWPFRun run = paragraph.createRun();

        // ইমেজ যোগ করা এবং আকার কাস্টমাইজ করা
        String imagePath = "path_to_your_image.jpg"; // ইমেজ ফাইলের পাথ
        try (FileInputStream fis = new FileInputStream(imagePath)) {
            run.addPicture(fis, XWPFDocument.PICTURE_TYPE_JPEG, imagePath, Units.toEMU(150), Units.toEMU(150)); // ইমেজ আকার ১৫০x১৫০ পিক্সেল
        }

        // Word ডকুমেন্ট সেভ করা
        try (FileOutputStream out = new FileOutputStream("resized_word_with_image.docx")) {
            document.write(out);
        }

        System.out.println("আকার পরিবর্তন সহ ইমেজ Word ডকুমেন্টে সফলভাবে যোগ করা হয়েছে!");
    }
}

কোড ব্যাখ্যা:

  • Units.toEMU(150): এটি ইমেজের সাইজ ১৫০ পিক্সেলে রূপান্তরিত করে EMU ইউনিটে।
  • ইমেজের আকার ১৫০x১৫০ পিক্সেলে সেট করা হয়েছে।

এই কোডটি চালানোর পর, ইমেজটি কাস্টম আকারে Word ডকুমেন্টে যোগ করা হবে।


3. ইমেজের সাইজ স্বয়ংক্রিয়ভাবে ফিট করা

আপনি যদি ইমেজের সাইজটি স্বয়ংক্রিয়ভাবে ফিট করতে চান, তবে আপনাকে আকার নির্ধারণের পরিবর্তে aspect ratio মেনে চলতে হবে। যদিও POI লাইব্রেরি সাইজ স্বয়ংক্রিয়ভাবে কাস্টমাইজ করার জন্য সরাসরি কোনো পদ্ধতি প্রদান করে না, আপনি ইমেজের আসল আকার বের করে প্রোগ্রামেটিকভাবে সেটি সঠিক সাইজে কনভার্ট করতে পারেন।


সারাংশ

Apache POI ব্যবহার করে Word ডকুমেন্টে ইমেজ যোগ করা অত্যন্ত সহজ। আপনি JPEG বা PNG ফরম্যাটের ইমেজ ফাইল ইনপুট স্ট্রিম দিয়ে Word ডকুমেন্টে যোগ করতে পারেন। addPicture() মেথডটি ইমেজের আকার কাস্টমাইজ করার সুযোগ দেয় এবং Units.toEMU() পদ্ধতি ব্যবহার করে আপনি সাইজ নিয়ন্ত্রণ করতে পারেন। এইভাবে আপনি ইমেজ এবং টেক্সটের সাথে একটি পেশাদারী Word ডকুমেন্ট তৈরি করতে পারেন।


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

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

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

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