Apache POI লাইব্রেরি ব্যবহার করে PowerPoint স্লাইডে কাস্টম অ্যানিমেশন তৈরি করা সম্ভব হলেও, POI-এর XSLF API সরাসরি অ্যানিমেশন নিয়ে কাজ করতে সীমাবদ্ধ। তবে, কিছু মূল কৌশল এবং স্লাইডে অবজেক্ট অ্যাকশন তৈরি করার জন্য POI ব্যবহার করা যায়। আপনি অ্যাপাচি পিওআই-এ সাধারণ অ্যানিমেশন বা কাস্টম ট্রানজিশন প্রয়োগ করতে পারেন, যদিও জটিল অ্যানিমেশনগুলি (যেমন টাইমিং, এনিমেটেড অবজেক্ট বা মুভিং অবজেক্ট) করার জন্য আপনাকে বিশেষ কোনো সরঞ্জাম বা লাইব্রেরি ব্যবহার করতে হবে।
এই লেখায় আমরা দেখব কিভাবে Apache POI ব্যবহার করে PowerPoint স্লাইডে কিছু সাধারণ অ্যানিমেশন কার্যকলাপ তৈরি করা যায়।
Apache POI তে সরাসরি অ্যানিমেশন তৈরির জন্য কোনও বিল্ট-ইন সমর্থন নেই, তবে কিছু নির্দিষ্ট অ্যাকশন বা অ্যানিমেশন Transition প্রয়োগ করা যেতে পারে। PowerPoint স্লাইডে কিছু সহজ অ্যানিমেশন সংক্রান্ত কার্যকলাপের জন্য আপনি Slide Transition ও Actions ব্যবহার করতে পারেন।
PowerPoint স্লাইডের মাঝে অ্যানিমেশন করার একটি সাধারণ উপায় হলো স্লাইড ট্রানজিশন ব্যবহার করা। এই ধরনের ট্রানজিশন স্লাইড পরিবর্তনের সময় বিভিন্ন ফিল্টার বা ইফেক্ট প্রদান করে।
import org.apache.poi.xslf.usermodel.XMLSlideShow;
import org.apache.poi.xslf.usermodel.XSLFSlide;
import org.apache.poi.xslf.usermodel.XSLFSlideMaster;
import org.apache.poi.xslf.usermodel.XSLFTextBox;
import org.apache.poi.sl.usermodel.Transition;
import java.awt.Color;
import java.io.FileOutputStream;
import java.io.IOException;
public class SlideTransitionExample {
public static void main(String[] args) throws IOException {
// একটি নতুন PowerPoint স্লাইডশো তৈরি
XMLSlideShow ppt = new XMLSlideShow();
// একটি স্লাইড তৈরি
XSLFSlide slide = ppt.createSlide();
// একটি টেক্সট বক্স তৈরি এবং স্লাইডে যোগ করা
XSLFTextBox textBox = slide.createTextBox();
textBox.setText("Welcome to Apache POI!");
textBox.setAnchor(new java.awt.Rectangle(100, 100, 400, 100));
textBox.setFillColor(Color.CYAN);
// স্লাইড ট্রানজিশন যোগ করা (ফেড ট্রানজিশন)
slide.getTransition().setType(Transition.Type.FADE);
// PowerPoint ফাইল সেভ করা
try (FileOutputStream out = new FileOutputStream("slide_with_transition.pptx")) {
ppt.write(out);
}
System.out.println("PowerPoint স্লাইডে ট্রানজিশন সফলভাবে যোগ করা হয়েছে!");
}
}
PowerPoint স্লাইডের কোন বিশেষ অবজেক্টের (যেমন টেক্সট, ছবি, শেপ) উপর Action বা Hyperlink সেট করা যায়, যা আংশিক অ্যানিমেশন কার্যকলাপ হিসেবে কাজ করতে পারে।
import org.apache.poi.xslf.usermodel.XMLSlideShow;
import org.apache.poi.xslf.usermodel.XSLFSlide;
import org.apache.poi.xslf.usermodel.XSLFTextBox;
import java.awt.Color;
import java.io.FileOutputStream;
import java.io.IOException;
public class ObjectActionExample {
public static void main(String[] args) throws IOException {
// একটি নতুন PowerPoint স্লাইডশো তৈরি
XMLSlideShow ppt = new XMLSlideShow();
// একটি স্লাইড তৈরি
XSLFSlide slide = ppt.createSlide();
// একটি টেক্সট বক্স তৈরি
XSLFTextBox textBox = slide.createTextBox();
textBox.setText("Click here to go to the next slide!");
textBox.setAnchor(new java.awt.Rectangle(100, 100, 400, 100));
textBox.setFillColor(Color.YELLOW);
// টেক্সট বক্সের উপর Action (Hyperlink) যোগ করা
textBox.setAction("next"); // "next" বলে পরবর্তী স্লাইডে যাবে
// PowerPoint ফাইল সেভ করা
try (FileOutputStream out = new FileOutputStream("slide_with_action.pptx")) {
ppt.write(out);
}
System.out.println("PowerPoint স্লাইডে Action সফলভাবে যোগ করা হয়েছে!");
}
}
এখনো পর্যন্ত Apache POI-এর XSLF API সরাসরি কাস্টম অ্যানিমেশনগুলি (যেমন টাইমিং, মুভিং অবজেক্ট) সমর্থন করে না। আপনি যদি আরও জটিল অ্যানিমেশন যেমন ইনফ্লাইট এফেক্ট, রোটেশন, স্কেলিং বা এলিমেন্ট মুভমেন্ট চাচ্ছেন, তাহলে আপনাকে Microsoft PowerPoint এর ম্যানুয়াল অ্যানিমেশন ফিচার ব্যবহার করতে হবে অথবা কোন এডভান্সড লাইব্রেরি ব্যবহার করতে হবে।
Apache POI দিয়ে PowerPoint স্লাইডে সরাসরি কাস্টম অ্যানিমেশন তৈরি করা সম্ভব নয়, তবে আপনি Slide Transitions এবং Object Actions প্রয়োগ করে কিছু মৌলিক অ্যানিমেশন যোগ করতে পারেন। যেমন স্লাইড পরিবর্তনের সময় ট্রানজিশন ইফেক্ট ব্যবহার করা বা অবজেক্টের উপর Action (যেমন Hyperlink) সেট করা।
যদি আরও জটিল অ্যানিমেশন প্রয়োজন হয়, যেমন মুভিং অবজেক্ট, টেক্সট ফ্লাই ইন ইত্যাদি, তবে আপনাকে PowerPoint সফটওয়্যারের ম্যানুয়াল অ্যানিমেশন বা কোনো বিশেষ সফটওয়্যার ব্যবহার করতে হবে।
common.read_more