টেক্সট, ছবি এবং Shape যোগ করা

PowerPoint ফাইল ম্যানিপুলেশন (HSLF এবং XSLF) - অ্যাপাচি পিওআই (Apache POI) - Java Technologies

317

Apache POI লাইব্রেরি ব্যবহার করে Microsoft Word ডকুমেন্টে (DOCX) টেক্সট, ছবি, এবং Shape (যেমন রেকটেঙ্গেল, সার্কেল ইত্যাদি) যোগ করা সম্ভব। এই প্রক্রিয়াতে আমরা XWPFDocument ব্যবহার করে টেক্সট এবং ছবি যোগ করব, এবং XWPFPicture এবং XWPFShape ব্যবহার করে শেপ যোগ করব।


১. টেক্সট যোগ করা

XWPFParagraph এবং XWPFRun ব্যবহার করে Word ডকুমেন্টে টেক্সট যোগ করা হয়। প্রতিটি প্যারাগ্রাফে এক বা একাধিক রান থাকে, এবং প্রতিটি রান একটি টেক্সট সেগমেন্টের জন্য ব্যবহৃত হয়।

উদাহরণ: টেক্সট যোগ করা

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

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

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

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

        // রান তৈরি এবং টেক্সট যোগ করা
        XWPFRun run = paragraph.createRun();
        run.setText("Hello, this is a sample text in a Word document.");

        // ফাইল সেভ করা
        try (FileOutputStream out = new FileOutputStream("TextInWordDocument.docx")) {
            document.write(out);
        }

        document.close();
    }
}

২. ছবি যোগ করা

Word ডকুমেন্টে ছবি যোগ করতে XWPFPictureData এবং XWPFPicture ব্যবহার করা হয়। আমরা ছবি যোগ করার জন্য ছবির পথ বা বাইনারি ডেটা ব্যবহার করতে পারি।

উদাহরণ: ছবি যোগ করা

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

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

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

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

        // ছবি যোগ করা (যেমন PNG বা JPEG)
        String imagePath = "path_to_image.jpg";  // আপনার ছবি ফাইলের পাথ দিন
        XWPFPictureData pictureData = document.addPictureData(new FileInputStream(imagePath), XWPFDocument.PICTURE_TYPE_JPEG);

        // ছবি সন্নিবেশ করা
        XWPFRun run = paragraph.createRun();
        run.addPicture(new FileInputStream(imagePath), XWPFDocument.PICTURE_TYPE_JPEG, imagePath, Units.toEMU(200), Units.toEMU(100));  // ইমেজ সাইজ 200x100

        // ফাইল সেভ করা
        try (FileOutputStream out = new FileOutputStream("WordWithImage.docx")) {
            document.write(out);
        }

        document.close();
    }
}

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

  1. addPictureData পদ্ধতি ব্যবহার করে ছবি ফাইলটি ডকুমেন্টে যুক্ত করা হয়।
  2. run.addPicture পদ্ধতি ব্যবহার করে সেই ছবিটি প্যারাগ্রাফে সন্নিবেশ করা হয়।
  3. Units.toEMU(200) দিয়ে ছবির সাইজ 200 পিক্সেল x 100 পিক্সেলে কনভার্ট করা হয়।

৩. Shape (চিত্র) যোগ করা

Word ডকুমেন্টে শেপ (যেমন রেকটেঙ্গেল, সার্কেল) যোগ করতে XWPFShape ব্যবহার করা হয়। এখানে আমরা একটি রেকটেঙ্গেল শেপ তৈরি করব এবং সেটি ডকুমেন্টে সন্নিবেশ করব।

উদাহরণ: Shape (Rectangle) যোগ করা

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

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

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

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

        // Shape (Rectangle) তৈরি করা
        XWPFRun run = paragraph.createRun();
        run.setText("This is a rectangle shape below:");

        // Shape সন্নিবেশ করা (Rectangle)
        XWPFPictureData pictureData = document.createPictureData();
        pictureData.setPictureType(XWPFPictureData.PICTURE_TYPE_EMF); // EMF picture type
        pictureData.setPictureData(new byte[]{});  // Shape data in bytes

        // Shape properties সেট করা
        XWPFShape shape = paragraph.createShape();
        shape.setShapeType(XWPFPictureData.PICTURE_TYPE_EMF); // Example shape type
        shape.setWidth(200);
        shape.setHeight(100);
        shape.setTop(50);
        shape.setLeft(100);

        // ফাইল সেভ করা
        try (FileOutputStream out = new FileOutputStream("WordWithShape.docx")) {
            document.write(out);
        }

        document.close();
    }
}

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

  1. XWPFShape ব্যবহার করে একটি শেপ (এখানে রেকটেঙ্গেল) তৈরি করা হয়েছে।
  2. setShapeType, setWidth, setHeight ইত্যাদি পদ্ধতি ব্যবহার করে শেপটির আকার এবং অবস্থান নির্ধারণ করা হয়েছে।
  3. ডকুমেন্টে শেপ সন্নিবেশ করার পর, ফাইল সেভ করা হয়েছে।

সারাংশ

  • Apache POI লাইব্রেরি ব্যবহার করে Word ডকুমেন্টে টেক্সট, ছবি, এবং Shape যোগ করা যায়।
  • XWPFParagraph এবং XWPFRun দিয়ে টেক্সট যোগ করা হয়।
  • XWPFPictureData এবং XWPFPicture ব্যবহার করে ছবি ডকুমেন্টে সন্নিবেশ করা হয়।
  • XWPFShape ব্যবহার করে Word ডকুমেন্টে বিভিন্ন ধরনের শেপ (যেমন রেকটেঙ্গেল, সার্কেল) যোগ করা যায়।
Content added By
Promotion

Are you sure to start over?

Loading...