Multiple Image Handling Techniques

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

Apache POI লাইব্রেরি ব্যবহার করে Microsoft Word ডকুমেন্টে একাধিক ইমেজ যোগ করা বা পরিচালনা করা সহজ। এটি বিভিন্ন ইমেজ ফরম্যাট সমর্থন করে এবং XWPFRun এবং addPicture() পদ্ধতি ব্যবহার করে একাধিক ইমেজ সন্নিবেশ করা যায়। যখন একাধিক ইমেজ যোগ করতে হয়, তখন XWPFParagraph এবং XWPFRun এর মধ্যে একটি যথাযথ ভারসাম্য প্রয়োজন, যাতে ইমেজগুলিকে সঠিকভাবে ডকুমেন্টে স্থান দেওয়া যায়।

একাধিক ইমেজ যোগ করার পদক্ষেপ

  1. ডকুমেন্ট তৈরি করা: প্রথমে একটি .docx ফাইল তৈরি বা লোড করতে হবে।
  2. প্যারাগ্রাফ তৈরি করা: একাধিক ইমেজের জন্য বিভিন্ন প্যারাগ্রাফ তৈরি করতে হবে।
  3. ইমেজ যোগ করা: একাধিক ইমেজের জন্য addPicture() পদ্ধতি ব্যবহার করা হয়।
  4. ইমেজের সাইজ এবং অবস্থান নির্ধারণ করা: প্রতিটি ইমেজের জন্য সাইজ এবং অবস্থান কাস্টমাইজ করা যায়।

উদাহরণ ১: একাধিক ইমেজ যোগ করা (Sequentially)

এখানে একাধিক ইমেজের জন্য একটি সাধারণ উদাহরণ দেওয়া হল, যেখানে একের পর এক ইমেজ ডকুমেন্টে যোগ করা হচ্ছে:

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.*;

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

            // প্রথম প্যারাগ্রাফ তৈরি
            XWPFParagraph paragraph1 = document.createParagraph();
            XWPFRun run1 = paragraph1.createRun();

            // প্রথম ইমেজ যোগ করা
            String imagePath1 = "path_to_image1.png";  // প্রথম ইমেজের পাথ
            FileInputStream imageStream1 = new FileInputStream(imagePath1);
            run1.addPicture(imageStream1, XWPFDocument.PICTURE_TYPE_PNG, imagePath1, Units.toEMU(200), Units.toEMU(200));

            // দ্বিতীয় প্যারাগ্রাফ তৈরি
            XWPFParagraph paragraph2 = document.createParagraph();
            XWPFRun run2 = paragraph2.createRun();

            // দ্বিতীয় ইমেজ যোগ করা
            String imagePath2 = "path_to_image2.jpg";  // দ্বিতীয় ইমেজের পাথ
            FileInputStream imageStream2 = new FileInputStream(imagePath2);
            run2.addPicture(imageStream2, XWPFDocument.PICTURE_TYPE_JPEG, imagePath2, Units.toEMU(200), Units.toEMU(200));

            // তৃতীয় প্যারাগ্রাফ তৈরি
            XWPFParagraph paragraph3 = document.createParagraph();
            XWPFRun run3 = paragraph3.createRun();

            // তৃতীয় ইমেজ যোগ করা
            String imagePath3 = "path_to_image3.gif";  // তৃতীয় ইমেজের পাথ
            FileInputStream imageStream3 = new FileInputStream(imagePath3);
            run3.addPicture(imageStream3, XWPFDocument.PICTURE_TYPE_GIF, imagePath3, Units.toEMU(200), Units.toEMU(200));

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

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

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

কোডের ব্যাখ্যা

  1. XWPFDocument: একটি নতুন Word ডকুমেন্ট তৈরি করা হচ্ছে।
  2. XWPFParagraph: প্রতিটি ইমেজের জন্য আলাদা প্যারাগ্রাফ তৈরি করা হচ্ছে, যাতে প্রতিটি ইমেজ তার নিজস্ব প্যারাগ্রাফে যোগ হতে পারে।
  3. XWPFRun: প্রতিটি প্যারাগ্রাফে একটি run তৈরি হচ্ছে, যা ইমেজের ফরম্যাট এবং সাইজ নিয়ন্ত্রণ করে।
  4. addPicture(): এই পদ্ধতিটি প্রতিটি ইমেজ ফাইল সন্নিবেশ করতে ব্যবহার করা হচ্ছে। ইমেজের সাইজ কাস্টমাইজ করার জন্য Units.toEMU(200) ব্যবহার করা হয়েছে, যা EMU (English Metric Units) এ সাইজ নির্ধারণ করে।

উদাহরণ ২: একাধিক ইমেজ একটি প্যারাগ্রাফে যোগ করা

যদি একাধিক ইমেজ একই প্যারাগ্রাফে যোগ করতে চান, তাহলে আপনাকে একই XWPFParagraph এবং 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.*;

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

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

            // প্রথম ইমেজ যোগ করা
            String imagePath1 = "path_to_image1.png";
            FileInputStream imageStream1 = new FileInputStream(imagePath1);
            run.addPicture(imageStream1, XWPFDocument.PICTURE_TYPE_PNG, imagePath1, Units.toEMU(100), Units.toEMU(100));

            // দ্বিতীয় ইমেজ যোগ করা
            String imagePath2 = "path_to_image2.jpg";
            FileInputStream imageStream2 = new FileInputStream(imagePath2);
            run.addPicture(imageStream2, XWPFDocument.PICTURE_TYPE_JPEG, imagePath2, Units.toEMU(100), Units.toEMU(100));

            // তৃতীয় ইমেজ যোগ করা
            String imagePath3 = "path_to_image3.gif";
            FileInputStream imageStream3 = new FileInputStream(imagePath3);
            run.addPicture(imageStream3, XWPFDocument.PICTURE_TYPE_GIF, imagePath3, Units.toEMU(100), Units.toEMU(100));

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

            System.out.println("একাধিক ইমেজ একটি প্যারাগ্রাফে সফলভাবে যোগ করা হয়েছে!");

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

কোডের ব্যাখ্যা

  1. একই প্যারাগ্রাফে একাধিক ইমেজ: এখানে আমরা একটি XWPFParagraph এবং একটি XWPFRun ব্যবহার করেছি, যাতে একাধিক ইমেজ একই প্যারাগ্রাফে যোগ করা যায়।
  2. addPicture(): প্রতিটি ইমেজ আলাদাভাবে run এ যোগ করা হচ্ছে।

ইমেজের অবস্থান কাস্টমাইজ করা

  1. Alignment: আপনি ইমেজের অবস্থান কাস্টমাইজ করতে পারেন, যেমন left, center, বা right:

    paragraph.setAlignment(ParagraphAlignment.CENTER);
    
  2. Spacing: ইমেজের মধ্যে স্থান নির্ধারণ করতে setSpacingBefore() বা setSpacingAfter() ব্যবহার করতে পারেন।

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

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

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

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

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