অ্যাপাচি পিওআই (Apache POI) একটি Java লাইব্রেরি যা আপনাকে Microsoft PowerPoint ফাইল তৈরি, সম্পাদনা এবং কনটেন্ট ম্যানিপুলেশন করতে সাহায্য করে। PowerPoint ফাইলের মধ্যে animation (এনিমেশন) যোগ করা একটি শক্তিশালী ফিচার, যা স্লাইডের কনটেন্টের গতি এবং ইন্টারঅ্যাকশন বাড়ায়। Apache POI তে text, shape, এবং picture এর জন্য এনিমেশন যোগ করার জন্য কিছু নির্দিষ্ট API রয়েছে।
এই টিউটোরিয়ালে আমরা দেখব কিভাবে Apache POI ব্যবহার করে PowerPoint স্লাইডে text, shape, এবং picture এ animation যোগ করা যায়।
Apache POI স্লাইডে এনিমেশন যোগ করতে XSLF ক্লাস ব্যবহার করা হয়, কিন্তু POI-তে সরাসরি এনিমেশন সেট করার জন্য কিছু নির্দিষ্ট কোড ও লাইব্রেরি ব্যবহার করা লাগে। এখানে, আমরা text, shape, এবং picture এ এনিমেশন যোগ করার একটি উদাহরণ দেখব।
আপনার pom.xml ফাইলে নিচের ডিপেনডেন্সি যোগ করুন।
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>5.2.3</version> <!-- সর্বশেষ সংস্করণ -->
</dependency>
Apache POI তে সরাসরি এনিমেশন যোগ করার জন্য এটি কিছুটা ট্রিকি, কারণ POI তে এনিমেশন নিয়ন্ত্রণের জন্য পূর্ণ সমর্থন নেই। তবে, নিচে একটি উদাহরণ দেওয়া হচ্ছে যেখানে আমরা একটি TextBox, Shape, এবং Picture তে এনিমেশন যুক্ত করার চেষ্টা করবো।
import org.apache.poi.xslf.usermodel.XMLSlideShow;
import org.apache.poi.xslf.usermodel.XSLFSlide;
import org.apache.poi.xslf.usermodel.XSLFTextShape;
import org.apache.poi.xslf.usermodel.XSLFAutoShape;
import org.apache.poi.xslf.usermodel.XSLFPictureData;
import org.apache.poi.sl.usermodel.PictureData;
import java.io.FileOutputStream;
import java.io.IOException;
import java.awt.Rectangle;
public class PowerPointAnimationExample {
public static void main(String[] args) throws IOException {
// নতুন PowerPoint ফাইল তৈরি
XMLSlideShow ppt = new XMLSlideShow();
// একটি স্লাইড তৈরি
XSLFSlide slide = ppt.createSlide();
// TextBox শেপ তৈরি এবং এনিমেশন যোগ করা
XSLFTextShape textBox = slide.createTextBox();
textBox.setText("Hello, Apache POI!");
textBox.setAnchor(new Rectangle(100, 100, 400, 50)); // TextBox এর অবস্থান এবং আকার
// Shape তৈরি এবং এনিমেশন যোগ করা (যেমন: একটি Rectangle)
XSLFAutoShape shape = slide.createAutoShape(org.apache.poi.sl.usermodel.ShapeType.RECTANGLE);
shape.setAnchor(new Rectangle(150, 200, 300, 150)); // Shape এর অবস্থান এবং আকার
// ছবি যোগ করা এবং এনিমেশন যোগ করা
byte[] pictureData = {/* ছবির বাইনারি ডেটা */}; // ছবির ডেটা যোগ করুন
XSLFPictureData picture = ppt.addPicture(pictureData, PictureData.PictureType.PNG);
slide.createPicture(picture);
// PowerPoint ফাইল সংরক্ষণ
try (FileOutputStream out = new FileOutputStream("example_with_animation.pptx")) {
ppt.write(out);
}
System.out.println("PowerPoint ফাইল তৈরি করা হয়েছে এবং এনিমেশন যোগ করা হয়েছে।");
}
}
Apache POI তে Text, Shape, এবং Picture তে animation যোগ করার জন্য সরাসরি API সমর্থন অনেক সীমিত। তবে আপনি PowerPoint সফটওয়্যারের Built-in Animation Effects ব্যবহার করতে পারেন, যা POI দিয়ে কোডিং করে আনার জন্য খুবই কঠিন।
Text Animation বা Shape Animation ব্যবহার করার জন্য, আপনাকে PowerPoint সফটওয়্যারে manually এনিমেশন সেট করতে হতে পারে বা PowerPoint এর XML structure বুঝে হাতে কোড করতে হতে পারে।
যেহেতু Apache POI তে এনিমেশন এক্সটেনশন বা পদ্ধতির জন্য সরাসরি API নেই, সাধারণত আপনাকে PowerPoint এ গিয়ে manually animation যোগ করতে হবে বা POI ব্যবহার করে XML-based manipulations করতে হতে পারে।
Apache POI ব্যবহার করে PowerPoint স্লাইডে text, shape, এবং picture তে এনিমেশন যোগ করার জন্য সরাসরি সমর্থন সীমিত। POI-তে আপনি কনটেন্ট যোগ করতে পারবেন, তবে animation যোগ করতে কিছু কোডিং কৌশল ও XML সমন্বয়ের প্রয়োজন হতে পারে। Text, Shape, এবং Picture তৈরি ও কনফিগারেশন Apache POI দিয়ে সম্ভব, তবে শক্তিশালী animation ব্যবস্থাপনা PowerPoint সফটওয়্যারে manually বা XML হস্তক্ষেপের মাধ্যমে করতে হবে।
common.read_more