Apache POI লাইব্রেরি ব্যবহার করে আপনি PowerPoint ফাইলের স্লাইডে ছবি যোগ করতে পারেন এবং PictureFrame এর মাধ্যমে ছবির অবস্থান, আকার এবং অন্যান্য গুণাবলী পরিবর্তন করতে পারেন। PictureFrame ব্যবহার করে আপনি ছবির আকার পরিবর্তন, রিসাইজ, রোটেট, এবং অন্যান্য ম্যানিপুলেশন করতে পারবেন।
এখানে Apache POI এর মাধ্যমে PowerPoint (PPTX) ফাইলের স্লাইডে ছবি যোগ করার এবং ছবি ম্যানিপুলেশন করার উদাহরণ দেওয়া হয়েছে।
PictureFrame ব্যবহার করে PowerPoint স্লাইডে ছবি যোগ করতে, XSLF API ব্যবহার করা হয় (PowerPoint 2007 এবং তার পরবর্তী সংস্করণ - PPTX)।
নীচে একটি উদাহরণ দেওয়া হলো, যেখানে XSLF API ব্যবহার করে PowerPoint স্লাইডে ছবি যোগ করা হচ্ছে এবং তার আকার এবং অবস্থান পরিবর্তন করা হচ্ছে:
import org.apache.poi.xslf.usermodel.*;
import org.apache.poi.sl.usermodel.PictureData;
import java.io.*;
public class PowerPointPictureManipulation {
public static void main(String[] args) throws IOException {
// নতুন PowerPoint তৈরি করা
XMLSlideShow ppt = new XMLSlideShow();
// স্লাইড তৈরি করা
XSLFSlide slide = ppt.createSlide();
// ছবির ইনপুট স্ট্রীম
InputStream imageStream = new FileInputStream("image.jpg");
byte[] pictureData = imageStream.readAllBytes();
// ছবিটি PPTX ফাইলে যুক্ত করা
int pictureIndex = ppt.addPicture(pictureData, PictureData.PictureType.JPEG);
// ছবির আকার এবং অবস্থান নির্ধারণ করা
XSLFPictureData picture = ppt.createPicture(pictureIndex);
picture.setAnchor(new java.awt.Rectangle(100, 100, 400, 300)); // Position and size
// ফাইল সংরক্ষণ করা
FileOutputStream out = new FileOutputStream("picture_in_pptx.pptx");
ppt.write(out);
out.close();
System.out.println("PowerPoint ফাইল তৈরি এবং ছবি যোগ করা হয়েছে!");
}
}
new java.awt.Rectangle(x, y, width, height)
এর মাধ্যমে ছবির অবস্থান এবং আকার কনফিগার করা হয়েছে।এটি PowerPoint স্লাইডে একটি ছবি যোগ করবে এবং তার আকার ও অবস্থান নির্ধারণ করবে।
PowerPoint স্লাইডে ছবির রোটেশন করতে, আপনি XSLFPicture (যেটি PictureFrame এর উপধারা) ব্যবহার করে ছবিটি রোটেট করতে পারেন। যদিও Apache POI সরাসরি রোটেশন করার জন্য কোনো মেথড সরবরাহ করে না, তবে আপনি ছবির অবস্থান পরিবর্তন করে রোটেশন সিমুলেট করতে পারেন।
নোট: XSLF API তে ছবি রোটেট করার জন্য কোনো সরাসরি মেথড নেই, তবে আপনি ছবির সঠিক অবস্থান এবং সাইজের সাথে কিছু পরিবর্তন করে চিহ্নিত রোটেশন ইফেক্ট সিমুলেট করতে পারেন।
PictureFrame ব্যবহার করে ছবির আকার পরিবর্তন করার জন্য, setAnchor()
মেথডে নতুন আকার নির্ধারণ করা হয়।
// নতুন আকারে ছবির সাইজ পরিবর্তন করা
picture.setAnchor(new java.awt.Rectangle(200, 200, 600, 450)); // New size (width=600, height=450)
এই কোডের মাধ্যমে ছবির আকার পরিবর্তন করা হবে। আপনি এখানে width এবং height মান পরিবর্তন করে ছবির আকার কমাতে বা বাড়াতে পারেন।
এখানে একটি উদাহরণ দেওয়া হলো, যেখানে PowerPoint স্লাইডে ছবি এবং টেক্সট একসাথে ব্যবহার করা হচ্ছে।
import org.apache.poi.xslf.usermodel.*;
import org.apache.poi.sl.usermodel.PictureData;
import java.awt.Color;
import java.io.*;
public class PowerPointTextAndPictureExample {
public static void main(String[] args) throws IOException {
// নতুন PowerPoint তৈরি করা
XMLSlideShow ppt = new XMLSlideShow();
// স্লাইড তৈরি করা
XSLFSlide slide = ppt.createSlide();
// ছবি যোগ করা
InputStream imageStream = new FileInputStream("image.jpg");
byte[] pictureData = imageStream.readAllBytes();
int pictureIndex = ppt.addPicture(pictureData, PictureData.PictureType.JPEG);
XSLFPictureData picture = ppt.createPicture(pictureIndex);
picture.setAnchor(new java.awt.Rectangle(100, 100, 400, 300)); // Image Position and Size
// টেক্সট বক্স তৈরি করা
XSLFTextBox textBox = slide.createTextBox();
textBox.setText("Hello, this is a formatted text box!");
// টেক্সট ফরম্যাটিং
XSLFTextParagraph p = textBox.addNewTextParagraph();
XSLFTextRun r = p.addNewTextRun();
r.setFontSize(20.0);
r.setFontColor(Color.RED);
r.setText("Formatted Text Example");
// টেক্সট বক্সের অবস্থান নির্ধারণ
textBox.setAnchor(new java.awt.Rectangle(150, 450, 400, 50));
// ফাইল সংরক্ষণ করা
FileOutputStream out = new FileOutputStream("image_and_text.pptx");
ppt.write(out);
out.close();
System.out.println("PowerPoint ফাইল তৈরি এবং ছবি ও টেক্সট যোগ করা হয়েছে!");
}
}
Apache POI এর XSLF API ব্যবহার করে আপনি PowerPoint স্লাইডে ছবি যোগ করতে পারেন এবং PictureFrame এর মাধ্যমে ছবির আকার, অবস্থান এবং অন্যান্য বৈশিষ্ট্য ম্যানিপুলেট করতে পারেন। আপনি ছবির সাইজ পরিবর্তন, রিসাইজ, রোটেশন এবং টেক্সট ম্যানিপুলেশন একত্রে করতে পারেন। এই ফিচারগুলি PowerPoint ফাইল তৈরি এবং সম্পাদনা করতে সহজ এবং শক্তিশালী উপায় সরবরাহ করে।
আপনার যদি আরও কোন প্রশ্ন থাকে বা নির্দিষ্ট কোনো উদাহরণ সম্পর্কে জানতে চান, আমাকে জানাতে পারেন!
common.read_more