חלץ תמונות מ-PowerPoint PPT ב-Java

במקרים מסוימים, ייתכן שיהיה עליך לחלץ תמונות ממצגות PowerPoint יחד עם הטקסט. כדי להשיג זאת, מאמר זה מכסה כיצד לחלץ תמונות מ-PowerPoint PPT או PPTX ב-Java. תלמדו גם איך לחלץ תמונות רק מהרקעים או מהצורות בשקופיות PPT.

Java API לחילוץ תמונות מ-PowerPoint PPT

Aspose.Slides עבור Java הוא API פופולרי ועשיר בתכונות המאפשר לך ליצור ולתפעל מצגות PowerPoint בצורה חלקה. אנו נשתמש ב-API זה לחילוץ תמונות מקבצי PPT/PPTX. אתה יכול להוריד את ה-JAR של API או להתקין אותו באמצעות התצורות הבאות של Maven.

מאגר:

<repository>
    <id>AsposeJavaAPI</id>
    <name>Aspose Java API</name>
    <url>https://repository.aspose.com/repo/</url>
</repository>

תלות:

<dependency>
    <groupId>com.aspose</groupId>
    <artifactId>aspose-slides</artifactId>
    <version>22.1</version>
    <classifier>jdk16</classifier>
</dependency>

חלץ תמונות מ-PowerPoint PPT ב-Java

במצגות PowerPoint, כל התמונות בהן נעשה שימוש בשקופיות מאוחסנות באוסף תמונות. ניתן לגשת לאוסף זה ולשמור כל תמונה כקובץ. להלן השלבים לחילוץ כל התמונות במצגת PPT ב-Java.

  • ראשית, השתמש במחלקה Presentation כדי לטעון את מצגת PPT/PPTX.
  • לאחר מכן, גש לאוסף התמונות במצגת באמצעות שיטת Presentation.getImages().
  • לבסוף, קבל סוג ופורמט של כל תמונה ושמור אותה.

דוגמת הקוד הבאה מראה כיצד לחלץ תמונות מקובץ PowerPoint PPTX ב-Java.

// טען את המצגת
Presentation pres = new Presentation("presentation.pptx");

int imageIndex = 1;
String imageType = "";
String imagePath = "Image_";

// עברו בלולאה בין תמונות
for (IPPImage image : pres.getImages()) {
  // קבל סוג תמונה
  imageType = image.getContentType();
  imageType = imageType.substring(imageType.indexOf("/") + 1, imageType.length());

  // שמור תמונה
  try {
    ImageIO.write(image.getSystemImage(), imageType, new File(imagePath + imageIndex + "." + imageType.toString()));
  } catch (IOException ex) {
    System.out.println(ex.getMessage());
  }
  imageIndex++;
}

חלץ תמונות מצורות PPTX ב-Java

ניתן גם לחלץ תמונות רק מהצורות בשקופיות PPT. להלן השלבים כדי להשיג זאת.

  • ראשית, השתמש במחלקה Presentation כדי לטעון את קובץ המצגת.
  • לאחר מכן, השתמש בשיטת Presentation.getSlides() כדי לגשת לאיסוף שקופיות.
  • עבור כל שקופית, גש לצורות שלה באמצעות שיטת ISlide.getShapes().
  • בצע את השלבים הבאים עבור כל צורה בקולקציה:
    • בדוק אם הצורה היא צורה אוטומטית ומלאה בתמונה ולאחר מכן חלץ את התמונה שלה באמצעות שיטת getImage().
    • בדוק אם הצורה היא מסגרת תמונה ואז חלץ את התמונה שלה בשיטת getImage().
    • לבסוף, שמור את התמונה כקובץ.

דוגמת הקוד הבאה מראה כיצד לחלץ תמונות מצורות ב-PPT באמצעות Java.

// טען את המצגת
Presentation pres = new Presentation("presentation.pptx");

com.aspose.slides.IPPImage img = null;
int slideIndex = 0;
String imageType = "";
boolean isImageFound = false;

// לולאה דרך שקופיות
for (int i = 0; i < pres.getSlides().size(); i++) {
  slideIndex++;

  // גישה לשקופית
  ISlide sl = pres.getSlides().get_Item(i);

 for (int j = 0; j < sl.getShapes().size(); j++) {
    // גש לצורה
    IShape sh = sl.getShapes().get_Item(j);

    // בדוק אם זו צורה אוטומטית
    if (sh instanceof IAutoShape) {
      IAutoShape ashp = (IAutoShape) sh;
      if (ashp.getFillFormat().getFillType() == FillType.Picture) {
        img = ashp.getFillFormat().getPictureFillFormat().getPicture().getImage();
        imageType = img.getContentType();
        imageType = imageType.substring(0, imageType.indexOf("/") + 1);
        isImageFound = true;
      }
    }

    // אם הצורה היא מסגרת תמונה
    else if (sh instanceof IPictureFrame) {
      IPictureFrame pf = (IPictureFrame) sh;
      img = pf.getPictureFormat().getPicture().getImage();
      imageType = img.getContentType();
      imageType = imageType.substring(imageType.indexOf("/") + 1, imageType.length());
      isImageFound = true;
    }

    // הגדר את פורמט התמונה הרצוי
    if (isImageFound) {
      try {
        ImageIO.write(img.getSystemImage(), imageType,
            new File("Slide_" + slideIndex + "_Shape_" + j + "." + imageType));
      } catch (IOיוצא מן הכלל ex) {
        // יוצא מן הכלל
      }
    }
    isImageFound = false;
  }
}

חילוץ תמונה של Java מרקע PPT Slide

תרחיש אפשרי נוסף יכול להיות חילוץ תמונות המשמשות רק כרקע שקופיות. השלבים הבאים מראים כיצד לחלץ תמונות רקע של שקופיות ב-Java.

דגימת הקוד הבאה מראה כיצד לחלץ תמונות מרקע שקופיות ב-PPT ב-Java.

// טען את המצגת
Presentation pres = new Presentation("presentation.pptx");

com.aspose.slides.IPPImage img = null;
com.aspose.slides.IPPImage backImage = null;

String ImagePath = "BackImage_";
int slideIndex = 0;
String imageType = "";
for (int i = 0; i < pres.getSlides().size(); i++) {
  slideIndex++;

  // גישה לשקופית
  ISlide sl = pres.getSlides().get_Item(i);

  // בדוק אם הרקע מלא בתמונה
  if (sl.getBackground().getFillFormat().getFillType() == FillType.Picture) {
    // קבלו את תמונת הרקע
    backImage = sl.getBackground().getFillFormat().getPictureFillFormat().getPicture().getImage();

    // שמור תמונה
    BufferedImage image = backImage.getSystemImage();
    imageType = backImage.getContentType();
    imageType = imageType.substring(imageType.indexOf("/") + 1, imageType.length());

    try {
      ImageIO.write(image, imageType,
          new File(ImagePath + "Slide_" + slideIndex + "." + imageType.toString()));
    } catch (IOException ex) {
      // קרא הודעת חריג
    }
  } else {
    // בדוק אם לפריסת השקופית יש רקע תמונה
    if (sl.getLayoutSlide().getBackground().getFillFormat().getFillType() == FillType.Picture) {

      // קבלו את תמונת הרקע
      backImage = sl.getLayoutSlide().getBackground().getFillFormat().getPictureFillFormat().getPicture()
          .getImage();

      // שמור תמונה
      BufferedImage image = backImage.getSystemImage();
      imageType = backImage.getContentType();
      imageType = imageType.substring(imageType.indexOf("/") + 1, imageType.length());

      try {
        ImageIO.write(image, imageType,
            new File(ImagePath + "LayoutSlide_" + slideIndex + "." + imageType.toString()));
      } catch (IOException ex) {
        // קרא הודעת חריג
      }
    }
  }
}

Java PPT Image Extraction API - קבל רישיון חינם

Aspose מציעה רישיון זמני בחינם לחילוץ תמונות מ-PowerPoint PPT ללא מגבלות הערכה. אתה יכול לשיג אחד לעצמך.

סיכום

במאמר זה, הדגמנו כיצד לחלץ תמונות מ-PowerPoint PPT/PPTX ב-Java. בנוסף, סקרנו כיצד לחלץ תמונות מרקע הצורה או השקופיות בנפרד. חוץ מזה, אתה יכול לקרוא עוד על Aspose.Slides עבור Java על ידי ביקור בתיעוד. כמו כן, אתה יכול לפרסם את השאילתות שלך בפורום שלנו.

ראה גם