Apache POI ব্যবহার করে Microsoft Word ডকুমেন্টে ইমেজ (ছবি) যোগ করা এবং তার আকার (size) ও অবস্থান (position) নিয়ন্ত্রণ করা যেতে পারে। এর মাধ্যমে আপনি ডকুমেন্টে ইমেজের আকার কাস্টমাইজ করতে পারেন এবং ইমেজটি ডকুমেন্টের নির্দিষ্ট স্থানে রাখতে পারেন।
এই প্রক্রিয়ায়, XWPFRun এবং XWPFPicture এর মাধ্যমে ইমেজটি ডকুমেন্টে যোগ করা হয় এবং ইমেজের আকার এবং অবস্থান নিয়ন্ত্রণ করা হয়।
Apache POI এর মাধ্যমে আপনি Word ডকুমেন্টে ছবি যোগ করতে পারেন এবং ছবি নির্দিষ্ট আকারে কনফিগার করতে পারেন। নিচে দেখানো হলো কিভাবে ইমেজের আকার এবং অবস্থান নিয়ন্ত্রণ করা যায়।
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.FileOutputStream;
import java.io.FileInputStream;
import java.io.IOException;
public class ImageSizeAndPositionExample {
public static void main(String[] args) throws IOException {
// নতুন ডকুমেন্ট তৈরি করা
XWPFDocument document = new XWPFDocument();
// প্যারাগ্রাফ তৈরি করা
XWPFParagraph paragraph = document.createParagraph();
// রান (Run) তৈরি করা, যার মাধ্যমে ইমেজ যোগ হবে
XWPFRun run = paragraph.createRun();
// ইমেজ যোগ করার জন্য ইনপুট স্ট্রিম তৈরি করা
try (FileInputStream imageStream = new FileInputStream("image.jpg")) {
// ইমেজটি ডকুমেন্টে যোগ করা
run.addPicture(imageStream, XWPFDocument.PICTURE_TYPE_JPEG, "image.jpg",
Units.toEMU(200), Units.toEMU(100)); // ইমেজের আকার নির্ধারণ (প্রস্থ 200pt, উচ্চতা 100pt)
}
// ডকুমেন্ট সংরক্ষণ
try (FileOutputStream out = new FileOutputStream("ImageSizeAndPositionExample.docx")) {
document.write(out);
}
System.out.println("ইমেজ সফলভাবে আকার এবং অবস্থান সহ যোগ করা হয়েছে!");
}
}
ইমেজের অবস্থান নিয়ন্ত্রণ করতে আপনি XWPFPicture এবং XWPFRun ব্যবহার করে ইমেজের alignment এবং positioning কাস্টমাইজ করতে পারেন। সাধারণত, ইমেজের alignment (যেমন, বাম, ডান, সেন্টার) নিয়ন্ত্রণ করা হয় এবং প্রিন্টিং পেজের মধ্যে ইমেজের সঠিক স্থানে তা বসানো হয়।
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.xwpf.usermodel.ParagraphAlignment;
import org.apache.poi.util.Units;
import java.io.FileOutputStream;
import java.io.FileInputStream;
import java.io.IOException;
public class ImageAlignmentExample {
public static void main(String[] args) throws IOException {
// নতুন ডকুমেন্ট তৈরি করা
XWPFDocument document = new XWPFDocument();
// প্যারাগ্রাফ তৈরি করা
XWPFParagraph paragraph = document.createParagraph();
// প্যারাগ্রাফের alignment নির্ধারণ করা (সেন্টার আলাইন)
paragraph.setAlignment(ParagraphAlignment.CENTER);
// রান (Run) তৈরি করা
XWPFRun run = paragraph.createRun();
// ইমেজ যোগ করার জন্য ইনপুট স্ট্রিম তৈরি করা
try (FileInputStream imageStream = new FileInputStream("image.jpg")) {
// ইমেজটি ডকুমেন্টে যোগ করা
run.addPicture(imageStream, XWPFDocument.PICTURE_TYPE_JPEG, "image.jpg",
Units.toEMU(200), Units.toEMU(100)); // আকার নির্ধারণ করা (200pt প্রস্থ, 100pt উচ্চতা)
}
// ডকুমেন্ট সংরক্ষণ
try (FileOutputStream out = new FileOutputStream("ImageAlignmentExample.docx")) {
document.write(out);
}
System.out.println("ইমেজ সফলভাবে সেন্টারে অবস্থান সহ যোগ করা হয়েছে!");
}
}
আপনি যদি আরও নির্দিষ্ট অবস্থানে ইমেজ রাখতে চান, তাহলে XWPFPicture এর মাধ্যমে ইমেজটির anchor বা position কাস্টমাইজ করতে পারবেন।
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.FileOutputStream;
import java.io.FileInputStream;
import java.io.IOException;
public class CustomImagePositionExample {
public static void main(String[] args) throws IOException {
XWPFDocument document = new XWPFDocument();
// প্যারাগ্রাফ তৈরি করা
XWPFParagraph paragraph = document.createParagraph();
// রান (Run) তৈরি করা
XWPFRun run = paragraph.createRun();
// ইমেজ যোগ করার জন্য ইনপুট স্ট্রিম তৈরি করা
try (FileInputStream imageStream = new FileInputStream("image.jpg")) {
// ইমেজটির অবস্থান কাস্টমাইজ করা
run.addPicture(imageStream, XWPFDocument.PICTURE_TYPE_JPEG, "image.jpg",
Units.toEMU(200), Units.toEMU(100)); // আকার নির্ধারণ করা (200pt প্রস্থ, 100pt উচ্চতা)
}
// ডকুমেন্ট সংরক্ষণ
try (FileOutputStream out = new FileOutputStream("CustomImagePositionExample.docx")) {
document.write(out);
}
System.out.println("ইমেজ কাস্টম অবস্থান সহ সফলভাবে যোগ করা হয়েছে!");
}
}
এই কোডে আপনি XWPFRun এর মাধ্যমে ইমেজের আকার এবং অবস্থান নির্ধারণ করতে পারেন এবং addPicture মেথডের মাধ্যমে ইমেজের বিভিন্ন প্যারামিটার কাস্টমাইজ করতে পারেন।
Apache POI ব্যবহার করে Word ডকুমেন্টে ইমেজ যোগ করা এবং তার আকার ও অবস্থান নিয়ন্ত্রণ করা খুবই সহজ। আপনি XWPFRun এবং XWPFPicture এর মাধ্যমে ইমেজটি যোগ করতে পারেন এবং তার আকার নির্ধারণ করতে Units.toEMU() ব্যবহার করতে পারেন। এছাড়াও, ইমেজের alignment কাস্টমাইজ করে আপনি তা সেন্টার, লেফট বা রাইটে অবস্থান করতে পারেন। addPicture() মেথডের মাধ্যমে ইমেজের আকার এবং অবস্থান সঠিকভাবে নিয়ন্ত্রণ করা সম্ভব।
common.read_more