जावा में PowerPoint स्लाइड्स में इमेज कैसे जोड़ें

जावा में PowerPoint स्लाइड्स में इमेज कैसे जोड़ें

Aspose.Slides FOSS में छवियों को picture frames के रूप में एम्बेड किया जाता है, ऐसी आकृतियाँ जो एक छवि को धारण करती हैं और किसी अन्य आकृति की तरह स्थित, आकार बदल और शैलीबद्ध की जा सकती हैं। छवि डेटा एक बार prs.getImages() संग्रह में संग्रहीत किया जाता है और फ्रेम द्वारा संदर्भित किया जाता है।


पूर्वापेक्षाएँ

<dependency>
  <groupId>org.aspose.slides.foss</groupId>
  <artifactId>aspose-slides-foss</artifactId>
  <version>1.0.0</version>
</dependency>

फ़ाइल से एक छवि जोड़ें

import org.aspose.slides.foss.Presentation;
import org.aspose.slides.foss.ISlide;
import org.aspose.slides.foss.IPPImage;
import org.aspose.slides.foss.IPictureFrame;
import org.aspose.slides.foss.ILayoutSlide;
import org.aspose.slides.foss.ShapeType;
import org.aspose.slides.foss.export.SaveFormat;
import java.nio.file.Files;
import java.nio.file.Paths;

try (Presentation prs = new Presentation()) {
    ISlide slide = prs.getSlides().get(0);

    // Load image into the presentation's image collection
    byte[] imageData = Files.readAllBytes(Paths.get("photo.jpg"));
    IPPImage img = prs.getImages().addImage(imageData);

    // Add a picture frame at (x=50, y=50, width=400, height=300) in points
    IPictureFrame frame = slide.getShapes().addPictureFrame(
        ShapeType.RECTANGLE,
        50, 50, 400, 300,
        img
    );

    prs.save("with-image.pptx", SaveFormat.PPTX);
}

addPictureFrame हस्ताक्षर:

addPictureFrame(shapeType, x, y, width, height, image) -> IPictureFrame

सभी आयाम points में हैं (1 point = 1/72 इंच)। एक मानक 10 x 7.5 इंच स्लाइड के लिए, निर्देशांक स्थान 720 x 540 points है।


स्ट्रीम से एक छवि जोड़ें

यदि आपके पास पहले से ही छवि InputStream के रूप में है (उदाहरण के लिए, URL से डाउनलोड की गई या डेटाबेस से पढ़ी गई):

import org.aspose.slides.foss.Presentation;
import org.aspose.slides.foss.ISlide;
import org.aspose.slides.foss.IPPImage;
import org.aspose.slides.foss.IPictureFrame;
import org.aspose.slides.foss.ILayoutSlide;
import org.aspose.slides.foss.ShapeType;
import org.aspose.slides.foss.export.SaveFormat;
import java.io.FileInputStream;

try (Presentation prs = new Presentation();
     FileInputStream fis = new FileInputStream("logo.png")) {
    IPPImage img = prs.getImages().addImage(fis);

    prs.getSlides().get(0).getShapes().addPictureFrame(
        ShapeType.RECTANGLE,
        200, 100, 300, 200,
        img
    );
    prs.save("logo-slide.pptx", SaveFormat.PPTX);
}

विभिन्न स्लाइड्स में कई छवियां जोड़ें

import org.aspose.slides.foss.Presentation;
import org.aspose.slides.foss.ISlide;
import org.aspose.slides.foss.IPPImage;
import org.aspose.slides.foss.IPictureFrame;
import org.aspose.slides.foss.ILayoutSlide;
import org.aspose.slides.foss.ShapeType;
import org.aspose.slides.foss.export.SaveFormat;
import java.nio.file.Files;
import java.nio.file.Paths;

String[] imageFiles = {"slide1.jpg", "slide2.jpg", "slide3.jpg"};

try (Presentation prs = new Presentation()) {
    ILayoutSlide layout = prs.getSlides().get(0).getLayoutSlide();

    // Ensure enough slides exist
    while (prs.getSlides().size() < imageFiles.length) {
        prs.getSlides().addEmptySlide(layout);
    }

    for (int i = 0; i < imageFiles.length; i++) {
        if (!Files.exists(Paths.get(imageFiles[i]))) continue;
        byte[] data = Files.readAllBytes(Paths.get(imageFiles[i]));
        IPPImage img = prs.getImages().addImage(data);
        prs.getSlides().get(i).getShapes().addPictureFrame(
            ShapeType.RECTANGLE, 0, 0, 720, 540, img
        );
    }

    prs.save("multi-image.pptx", SaveFormat.PPTX);
}

एक मौजूदा प्रस्तुति में छवियों की गिनती

import org.aspose.slides.foss.Presentation;
import org.aspose.slides.foss.ISlide;
import org.aspose.slides.foss.IPPImage;
import org.aspose.slides.foss.IPictureFrame;
import org.aspose.slides.foss.ILayoutSlide;
import org.aspose.slides.foss.ShapeType;
import org.aspose.slides.foss.export.SaveFormat;

try (Presentation prs = new Presentation("with-image.pptx")) {
    System.out.println("Presentation contains "
        + prs.getImages().size() + " image(s)");
}

prs.getImages() संग्रह सभी स्लाइड्स में साझा किया जाता है: एक ही इमेज बाइट्स को केवल एक बार संग्रहीत किया जाता है, भले ही चित्र फ्रेम कई स्लाइड्स पर दिखाई दे।


संबंधित देखें

 हिन्दी