Apache POI HSLF
مكتبة Java لـ Microsoft ® تنسيقات ملف العرض التقديمي PPT
أضف الشرائح والصور إلى العروض التقديمية ، وقم بتحويل ملفات PPT باستخدام واجهة برمجة تطبيقات Java مجانية مفتوحة المصدر.
ما هو Apache POI HSLF؟
Apache POI HSLF هو تطبيق Java خالص لقراءة أو إنشاء أو تعديل أو تقديم عروض PowerPoint التقديمية. يوفر طريقة لقراءة أو إنشاء أو تعديل تنسيق ملف عروض PowerPoint التقديمية PPT. يوفر دعمًا لاستخراج البيانات مثل النصوص والصور والأصوات والكائنات المضمنة والمزيد من عروض PowerPoint التقديمية.
كما أنه يدعم رسم شكل على شريحة ، وإضافة الارتباطات التشعبية والجداول والصور وتخصيص الرؤوس والتذييلات وإنشاء قوائم ذات تعداد نقطي واسترداد الأصوات المضمنة وغير ذلك الكثير.
الشروع في العمل مع Apache POI HSLF
بادئ ذي بدء ، تحتاج إلى تثبيت Java Development Kit (JDK) على نظامك. إذا كان لديك بالفعل ، فانتقل إلى تنزيل صفحة Apache POI للحصول على أحدث إصدار ثابت في أرشيف. قم باستخراج محتويات ملف ZIP في أي دليل حيث يمكن ربط المكتبات المطلوبة ببرنامج Java الخاص بك. هذا كل شيء!
تعتبر الإشارة إلى Apache POI في مشروع Java المستند إلى Maven أبسط. كل ما تحتاجه هو إضافة التبعية التالية في ملف pom.xml الخاص بك والسماح لـ IDE بجلب ملفات Apache POI Jar والإشارة إليها.
تبعية Apache POI Maven
<!-- https://mvnrepository.com/artifact/org.apache.poi/poi -->
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-scratchpad</artifactId>
<version>4.1.0</version>
</dependency>
إنشاء PPT جديد أو تعديل العروض الحالية ديناميكيًا
يتيح Apache POI HSLF للمبرمجين إنشاء عروض PowerPoint تقديمية جديدة بتنسيقات ملفات PPT. يمكن للمطورين أيضًا تحويل عرض تقديمي موجود وفقًا لاحتياجاتهم. تدعم واجهة برمجة التطبيقات أيضًا ميزات لاستخراج البيانات مثل النصوص والصور والأصوات والكائنات المضمنة وما إلى ذلك من عروض PowerPoint التقديمية.
قم بإنشاء ملف PPT - Java
// create a new PPT file
FileOutputStream fileOutputStream = new FileOutputStream(new File("Slide.ppt"));
// create a new slide show
HSLFSlideShow xmlSlideShow = new HSLFSlideShow();
// save file
xmlSlideShow.write(fileOutputStream);
أضف الشرائح والصور وتخصيص الرأس والتذييل إلى PPT
يمكن للمطورين إضافة شرائح جديدة بسهولة وتعديل الشرائح الحالية وفقًا لاحتياجاتهم الخاصة داخل عرض PPT باستخدام Apache HSLF API. يمكن للمطورين الآن إضافة رؤوس وتذييلات مخصصة إلى عروضهم التقديمية. يوفر أيضًا دعمًا كاملاً لإضافة عنوان لشريحة ، وإنشاء شريحة بتخطيط محدد مسبقًا ، والعمل مع خلفية الشريحة / الشكل ، وغير ذلك الكثير.
أدخل الصور في PPT عبر Java
- قم بإنشاء ملف PPT جديد باستخدام FileOutputStream وتمرير مثيل ملف جديد () مع اسم ملف الإخراج كسلسلة
- أضف عرض شرائح جديدًا باستخدام طريقة HSLFSlideShow ()
- أضف شريحة جديدة باستخدام طريقة createSlide ()
- احصل على وحدات بايت الصورة باستخدام طريقة IOUtils.toByteArray () وقم بتمرير صورتك فيها عبر طريقة FileInputStream ()
- أضف صورة إلى شريحتك باستخدام طريقة hslfSlideShow.addPicture (picture ، HSLFPictureData.PictureType.PNG). يقبل الأسلوب بايت الصورة ونوع الصورة كوسائط
- كتابة وحفظ الملف
إضافة صورة في PPT - جافا
// create a new PPT file
FileOutputStream fileOutputStream = new FileOutputStream(new File("AddImage.ppt"));
// create a new slide show
HSLFSlideShow hslfSlideShow = new HSLFSlideShow();
// create slide
HSLFSlide slide = hslfSlideShow.createSlide();
// load image
byte[] picture = IOUtils.toByteArray(new FileInputStream(new File("apache-poi-logo-min.png")));
// add image
HSLFPictureData hslfPictureData = hslfSlideShow.addPicture(picture, HSLFPictureData.PictureType.PNG);
HSLFPictureShape pictureShape = slide.createPicture(hslfPictureData);
// save file
hslfSlideShow.write(fileOutputStream);
// close stream
fileOutputStream.close();
تحويل الشرائح إلى تنسيقات الصور باستخدام Java API
تمكن Apache POI HSLF API مطوري البرامج من تحويل كل شريحة من عرض PowerPoint التقديمي إلى تنسيق ملف صورة داخل تطبيقات Java الخاصة بهم. يمكنك التقاط شرائح في كائن java.awt.Graphics2D (أو أي كائن آخر) وتسلسله إلى تنسيق PNG أو JPEG. يمكن أن تكون الصور المدعومة بتنسيق JPEG و PNG و DIB وما إلى ذلك.
تحويل PPT إلى صورة - جافا
//open an existing PPT file
HSLFSlideShow hslfSlideShow = new HSLFSlideShow(new FileInputStream(new File("PPTtoImage.ppt")));
// get dimensions
Dimension pgsize = hslfSlideShow.getPageSize();
java.util.List slide = hslfSlideShow.getSlides();
for (int i = 0; i < slide.size(); i++) {
BufferedImage img = new BufferedImage(pgsize.width, pgsize.height,BufferedImage.TYPE_INT_RGB);
Graphics2D graphics = img.createGraphics();
// clear the drawing area
graphics.setPaint(Color.white);
graphics.fill(new Rectangle2D.Float(0, 0, pgsize.width, pgsize.height));
// render
slide.get(i).draw(graphics);
// create image
FileOutputStream out = new FileOutputStream("PPTtoImage.png");
javax.imageio.ImageIO.write(img, "png", out);
out.close();
}