في منشور مدونتنا السابق، استكشفنا واجهة برمجة تطبيقات Apache POI XSLF من أجل إنشاء وتحديث ملف Microsoft PowerPoint PPTX باستخدام Java. يتيح لك Apache POI for Java العمل مع ملفات PPT وPPTX من داخل تطبيقات Java الخاصة بك دون الدخول في تفاصيل تنسيق الملف الداخلي لهذه التطبيقات. في هذه المقالة، سنتناول تفاصيل كيفية استخدام Apache POI API لإدراج صورة في PPTX باستخدام Java. سنلقي نظرة أيضًا على كيفية قراءة معلومات الصورة من ملف PPTX باستخدام Java.

متطلبات النظام

قبل البدء، تأكد من أن نظامك يلبي المتطلبات التالية.

  • JDK - Java SE 2 JDK 1.5 أو أعلى
  • الذاكرة – 1 جيجا رام
  • نظام التشغيل – ويندوز/ لينكس/ ماك أو إس

تثبيت Apache POI لـ Java

ستحتاج إلى بيئة تطوير Java مثل Eclipse أو IntelliJ IDEA أو أي بيئة تطوير متكاملة أخرى تناسبك للعمل مع مكتبة Apache POI في تطبيقك. التالي هو إضافة تبعية Apache POI Maven في ملف pom.xml الخاص بالتطبيق الخاص بك كما هو موضح أدناه.

<dependency>
    <groupId>org.apache.poi</groupId>
    <artifactId>poi</artifactId>
    <version>5.0.0</version>
</dependency>
<dependency>
    <groupId>org.apache.commons</groupId>
    <artifactId>commons-compress</artifactId>
    <version>1.23.0</version>
</dependency>
<dependency>
    <groupId>commons-io</groupId>
    <artifactId>commons-io</artifactId>
    <version>2.7</version>
</dependency>
<dependency>
    <groupId>org.apache.poi</groupId>
    <artifactId>poi-ooxml</artifactId>
    <version>5.2.3</version>
</dependency>

مكتبة جافا لإضافة صورة إلى ملف PPTX

في هذه المرحلة، نفترض أن بيئة التطوير الخاصة بك جاهزة ويمكننا البدء بكتابة التعليمات البرمجية لإضافة الصور إلى ملف عرض تقديمي لـ PowerPoint. يتم تحقيق ذلك باستخدام طريقة ** createPicture () ** لفئة XSLFSlide. يتضمن إدراج صورة إلى شريحة في PowerPoint الخطوات التالية.

  • إنشاء مثيل لفئة XMLSlideShow
  • أضف شريحة إلى العرض التقديمي عن طريق استدعاء الأسلوب createSlide في مثيل العرض التقديمي من الخطوة 1
  • قم بتحميل الصورة من الملف كمصفوفة بايت وأضفها إلى مثيل XSLFpictureData
  • قم باستدعاء الأسلوب createPicture في مثيل الشريحة
  • احفظ العرض التقديمي في الإخراج

يوضح نموذج التعليمات البرمجية التالي هذه الخطوات.

//creating a presentation 
XMLSlideShow pptx = new XMLSlideShow();
  
//creating a slide in it 
XSLFSlide slide = pptx.createSlide();
  
//reading an image
File image = new File("fileformat.png");
  
//converting it into a byte array
byte[] picture = IOUtils.toByteArray(new FileInputStream(image));
  
//adding the image to the presentation
XSLFPictureData idx = pptx.addPicture(picture, PictureType.PNG);
  
//creating a slide with given picture on it
XSLFPictureShape pic = slide.createPicture(idx);
  
//creating a file object 
File file = new File("imagetopresentation.pptx");
FileOutputStream out = new FileOutputStream(file);
  
//saving the changes to a file
pptx.write(out);
out.close();

قراءة معلومات الصورة من ملف PPTX

باستخدام Apache POI API لـ Java، يمكنك قراءة بيانات جميع الصور من داخل ملف PPTX باستخدام طريقة getPictureData() للفئة XMLSlideShow. يوضح نموذج التعليمات البرمجية التالي هذه الوظيفة عن طريق قراءة الصور من العرض التقديمي.

//open an existing presentation 
File file = new File("imagetopresentation.pptx");
XMLSlideShow pptx = new XMLSlideShow(new FileInputStream(file));
  
//reading all the images from the presentation
for(XSLFPictureData data : pptx.getPictureData()){
     byte[] bytes = data.getData();
     String fileName = data.getFileName();
     PictureType pictureFormat = data.getType();
     System.out.println("picture name: " + fileName);
     System.out.println("picture format: " + pictureFormat);
 }

 //saving the changes to a file
 FileOutputStream out = new FileOutputStream(file);
 pptx.write(out);
 out.close();

خاتمة

تتيح لك مكونات Apache POI للعمل مع ملفات العروض التقديمية لـ PowerPoint إدراج الصور في ملفات PowerPoint PPT وPPTX من داخل تطبيق Java الخاص بك. كما يتيح لك قراءة معلومات الصورة من الصور الموجودة على الشرائح. في مدوناتنا القادمة، سنوضح أيضًا استخدام مكونات Apache POI Java للعمل مع عروض PowerPoint التقديمية. ابقي على اتصال.