Compared with text and images, videos are more engaging to people. By including videos in your presentation, you can easily capture the attention of your audience, explain complex concepts in an efficient and easy-to-understand way as well as make the presentation look more dynamic and creative. In this article, you will learn how to insert, replace or extract videos in PowerPoint in Java using Spire.Presentation for Java.
- Insert a Video into a PowerPoint Presentation
- Replace a Video in a PowerPoint Presentation
- Extract Videos from a PowerPoint Presentation
Install Spire.Presentation for Java
First of all, you're required to add the Spire.Presentation.jar file as a dependency in your Java program. The JAR file can be downloaded from this link. If you use Maven, you can easily import the JAR file in your application by adding the following code to your project's pom.xml file.
<repositories> <repository> <id>com.e-iceblue</id> <name>e-iceblue</name> <url>https://repo.e-iceblue.com/nexus/content/groups/public/</url> </repository> </repositories> <dependencies> <dependency> <groupId>e-iceblue</groupId> <artifactId>spire.presentation</artifactId> <version>9.10.2</version> </dependency> </dependencies>
Insert a Video into a PowerPoint Presentation in Java
By inserting a video into your presentation, you can share the video with your audience instantly without having to look for it on your computer while presenting. The following steps demonstrate how to insert a video into a PowerPoint presentation:
- Create an instance of the Presentation class.
- Load a PowerPoint document using Presentation.loadFromFile() method.
- Get a specific slide by its index using Presentation.getSlides().get(int) method.
- Create an instance of the Rectangle2D class.
- Add a video to the slide using ISlide.getShapes().appendVideoMedia(String, Rectangle2D) method.
- Set a thumbnail image for the video using IVideo.getPictureFill().getPicture().setUrl() method.
- Save the result document using Presentation.SaveToFile() method.
- Java
import com.spire.presentation.*; import com.spire.presentation.drawing.FillFormatType; import java.awt.*; import java.awt.geom.Rectangle2D; public class InsertVideo { public static void main(String []args) throws Exception { //Create a Presentation instance Presentation presentation = new Presentation(); //Load a PowerPoint document presentation.loadFromFile("Input.pptx"); //Get the first slide ISlide slide = presentation.getSlides().get(0); //Add description text Rectangle2D.Double rec_title = new Rectangle2D.Double(50, 280, 160, 50); IAutoShape shape_title = slide.getShapes().appendShape(ShapeType.RECTANGLE, rec_title); shape_title.getLine().setFillType(FillFormatType.NONE); shape_title.getFill().setFillType(FillFormatType.NONE); ParagraphEx para_title = new ParagraphEx(); para_title.setText("Video:"); para_title.setAlignment(TextAlignmentType.CENTER); para_title.getTextRanges().get(0).setLatinFont(new TextFont("Myriad Pro Light")); para_title.getTextRanges().get(0).setFontHeight(32); para_title.getTextRanges().get(0).isBold(TriState.TRUE); para_title.getTextRanges().get(0).getFill().setFillType(FillFormatType.SOLID); para_title.getTextRanges().get(0).getFill().getSolidColor().setColor(Color.gray); shape_title.getTextFrame().getParagraphs().append(para_title); //Add a video to the first slide Rectangle2D.Double videoRect = new Rectangle2D.Double(presentation.getSlideSize().getSize().getWidth() / 2 - 125, 240, 240, 130); IVideo video = slide.getShapes().appendVideoMedia("Video.mp4", videoRect); //Set a thumbnail image for the video video.getPictureFill().getPicture().setUrl("https://cdn.e-iceblue.com/Picture.png"); //Save the result document presentation.saveToFile("InsertVideo.pptx", FileFormat.PPTX_2013); } }
Replace a Video in a PowerPoint Presentation in Java
If you think an existing video cannot support your statements well, you can replace it with another suitable one. The following steps demonstrate how to replace an existing video with another video in a PowerPoint presentation:
- Create an instance of the Presentation class.
- Load a PowerPoint document using Presentation.loadFromFile() method.
- Get a specific slide by its index using Presentation.getSlides().get(int) method.
- Load a video into a byte array.
- Add the loaded video to the video collection of the document using Presentation.getVideos().append(byte[]) method.
- Loop through all shapes on the slide and find the video shape.
- Replace the original video with the loaded video using IVideo.setEmbeddedVideoData() method. Then change the thumbnail image of the video using IVideo.getPictureFill().getPicture().setUrl() method.
- Save the result document using Presentation.saveToFile() method.
- Java
import com.spire.presentation.*; import java.io.File; import java.io.FileInputStream; public class ReplaceVideo { public static void main(String []args) throws Exception { //Create a Presentation instance Presentation ppt = new Presentation(); //Load a PowerPoint document ppt.loadFromFile("InsertVideo.pptx"); //Get the first slide ISlide iSlide = ppt.getSlides().get(0); //Load a video into a byte array File file = new File("NewVideo.mp4"); FileInputStream fileInputStream = new FileInputStream(file); byte[] data = new byte[(int) file.length()]; fileInputStream.read(data); //Add the loaded video to the video collection of the document VideoData videoData = ppt.getVideos().append(data); //Loop through all shapes on the first slide for (Object shape : iSlide.getShapes()) { //Check if the current shape is of IVideo type if (shape instanceof IVideo) { IVideo video = (IVideo) shape; //Replace the original video with the loaded video video.setEmbeddedVideoData(videoData); //Change the thumbnail image of the video video.getPictureFill().getPicture().setUrl("https://cdn.e-iceblue.com/Picture1.png"); } } //Save the result document ppt.saveToFile("ReplaceVideo.pptx", FileFormat.PPTX_2013); } }
Extract Videos from a PowerPoint Presentation in Java
If you like the videos in a PowerPoint presentation and want to use them in other places, you can extract and save them to your disk. The following steps demonstrate how to extract videos from a PowerPoint presentation:
- Create an instance of the Presentation class.
- Load a PowerPoint document using Presentation.LoadFromFile() method.
- Loop through all slides in the document.
- Loop through all shapes on each slide.
- Find the video shapes, then save the videos to disk using IVideo.getEmbeddedVideoData().saveToFile() method.
- Java
import com.spire.presentation.*; public class ExtractVideo { public static void main(String []args) throws Exception { //Create a Presentation instance Presentation presentation = new Presentation(); //Load a PowerPoint document presentation.loadFromFile("ReplaceVideo.pptx"); int i = 0; //Specify the output file path String videoPath = String.format("Videos/Video{0}.mp4", i); //Loop through all slides in the document for (Object slideObj : presentation.getSlides()) { ISlide slide = (ISlide) slideObj; //Loop through all shapes on each slide for (Object shapeObj : slide.getShapes()) { IShape shape = (IShape) shapeObj; //Check if the shape is of IVideo type if (shape instanceof IVideo) { //Save the video to the specified path ((IVideo) shape).getEmbeddedVideoData().saveToFile(videoPath); i++; } } } } }
Apply for a Temporary License
If you'd like to remove the evaluation message from the generated documents, or to get rid of the function limitations, please request a 30-day trial license for yourself.