Convert PPT and PPTX to JPG in Java

Looking for an Online PPT to JPG Converter?

Before jumping into the Java code, if you need a quick online tool to convert PowerPoint (PPT, PPTX) to JPG without coding, check out our online converter:
Aspose PPT to JPG Converter

If you’re a developer looking for a programmatic solution, continue reading to learn how to convert PowerPoint slides to JPG using Aspose.Slides for Java.

About PowerPoint to JPG Conversion

With Aspose.Slides API you can convert PowerPoint PPT or PPTX presentation to JPG image. It is also possible to convert PPT/PPTX to JPEG, PNG or SVG. With this features it’s easy to implement your own presentation viewer, create  the thumbnail for every slide. This may be useful if you want to protect presentation slides from copywriting, demonstrate presentation in read-only mode. Aspose.Slides allows to convert the whole presentation or a certain slide into image formats. 

todo:image_alt_text

Convert PowerPoint PPT/PPTX to JPG

Here are the steps to convert PPT/PPTX to JPG:

  1. Create an instance of Presentation type.
  2. Get the slide object of ISlide type from Presentation.getSlides() collection.
  3. Create the thumbnail of each slide and then convert it into JPG. ISlide.getImage(float scaleX, float scaleY) method is used to get a thumbnail of a slide, it returns Images object as a result. getImage method has to be called from the needed slide of ISlide type, the scales of the resulting thumbnail are passed into the method.
  4. After you get the slide thumbnail, call [IImage.save(String formatName, int imageFormat)](https://reference.aspose.com/slides/java/com.aspose.slides/IImage#save(String formatName, int imageFormat)) method from the thumbnail object. Pass the resulting file name and the image format into it. 
Presentation pres = new Presentation("PowerPoint-Presentation.pptx");
try {
    for (ISlide sld : pres.getSlides()) {
        // Creates a full scale image
        IImage slideImage = sld.getImage(1f, 1f);

        // Saves the image to disk in JPEG format
        try {
              slideImage.save(String.format("Slide_%d.jpg", sld.getSlideNumber()), ImageFormat.Jpeg);
        } finally {
             if (slideImage != null) slideImage.dispose();
        }
    }
} finally {
    if (pres != null) pres.dispose();
}

Convert PowerPoint PPT/PPTX to JPG with Customized Dimensions

To change the dimension of the resulting thumbnail and JPG image, you can set the ScaleX and ScaleY values by passing them into the ISlide.getImage(float scaleX, float scaleY) methods:

Presentation pres = new Presentation("PowerPoint-Presentation.pptx");
try {
    // Defines dimensions
    int desiredX = 1200;
    int desiredY = 800;
    // Gets scaled values of X and Y
    float ScaleX = (float) (1.0 / pres.getSlideSize().getSize().getWidth()) * desiredX;
    float ScaleY = (float) (1.0 / pres.getSlideSize().getSize().getHeight()) * desiredY;

    for (ISlide sld : pres.getSlides())
    {
        // Creates a full scale image
        IImage slideImage = sld.getImage(ScaleX, ScaleY);

        // Saves the image to disk in JPEG format
        try {
              slideImage.save(String.format("Slide_%d.jpg", sld.getSlideNumber()), ImageFormat.Jpeg);
        } finally {
             if (slideImage != null) slideImage.dispose();
        }
    }
} finally {
    if (pres != null) pres.dispose();
}

Render Comments When Saving Slides as Images

Aspose.Slides for Java provides a facility that allows you to render comments in a presentation’s slides when you are converting those slides into images. This Java code demonstrates the operation:

Presentation pres = new Presentation("presentation.pptx");
try {
    NotesCommentsLayoutingOptions notesOptions = new NotesCommentsLayoutingOptions();
    notesOptions.setNotesPosition(NotesPositions.BottomTruncated);

    IRenderingOptions opts = new RenderingOptions();
    opts.setSlidesLayoutOptions(notesOptions);

    for (ISlide sld : pres.getSlides()) {
        IImage slideImage = sld.getImage(opts, new Dimension(740, 960));
        try {
             slideImage.save(String.format("Slide_%d.png", sld.getSlideNumber()));
        } finally {
                     if (slideImage != null) slideImage.dispose();
                }
    }
} finally {
    if (pres != null) pres.dispose();
}

FAQ

Does this method support batch conversion?

Yes, Aspose.Slides allows batch conversion of multiple slides to JPG in a single operation.

Does the conversion support SmartArt, charts, and other complex objects?

Yes, Aspose.Slides renders all content, including SmartArt, charts, tables, shapes, and more. However, the rendering accuracy may vary slightly compared to PowerPoint, especially when using custom or missing fonts.

Are there any limitations on the number of slides that can be processed?

Aspose.Slides itself does not impose any strict limits on the number of slides you can process. However, you may encounter out-of-memory error when working with large presentations or high-resolution images.

See Also

See other options to convert PPT/PPTX into image like: