Replacing text or image one-by-one manually is time consuming and inefficient, especially when dealing with a large document with a huge amount of data. In this article, I will demonstrate how to replace text and image in PowerPoint programmatically in Java using Free Spire.Presentation for Java library.
Contents
- Add dependencies
- Replace text with new text
- Replace image with new image
Add Dependencies
There are two ways to include Free Spire.Presentation for Java in your Java project. For maven projects, add the following dependencies to your project’s pom.xml file:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | <repositories> <repository> <id>com.e-iceblue</id> <name>e-iceblue</name> <url>http: //repo.e-iceblue.com/nexus/content/groups/public/</url> </repository> </repositories> <dependencies> <dependency> <groupId> e-iceblue </groupId> <artifactId>spire.presentation.free</artifactId> <version> 3.9 . 0 </version> </dependency> </dependencies> |
For non-maven projects, download Free Spire.Presentation for Java pack, extract the zip file, then add Free Spire.Presentation.jar in the lib folder into your project as a dependency.
Replace text with new text
You can use the replaceFirstText(String matchedString, String newValue, boolean caseSensitive) or the replaceAllText(String matchedString, String newValue, boolean caseSensitive) methods provided by ISlide class to replace the first occurrence of a text or all the occurrences of a text in a PowerPoint slide.
The input PowerPoint document:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | import com.spire.presentation.FileFormat; import com.spire.presentation.ISlide; import com.spire.presentation.Presentation; public class ReplaceText { public static void main(String []args) throws Exception { //Create a Presentation instance Presentation ppt = new Presentation(); //Load a PowerPoint document ppt.loadFromFile( "Sample.pptx" ); //Get the first slide ISlide slide = ppt.getSlides().get( 0 ); //Replace the first occurrence of a text //slide.replaceFirstText("Old String", "New String", false); //Replace all the occurrences of a text slide.replaceAllText( "Old String" , "New String" , false ); //Save the document ppt.saveToFile( "ReplaceText.pptx" , FileFormat.PPTX_2013); } } |
Output:
Replace image with new image
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 | import com.spire.presentation.*; import com.spire.presentation.drawing.IImageData; import javax.imageio.ImageIO; import java.awt.image.BufferedImage; import java.io.FileInputStream; public class ReplaceImage { public static void main(String []args) throws Exception { //Create a Presentation instance Presentation presentation= new Presentation(); //Load the sample PowerPoint document presentation.loadFromFile( "C:\\Users\\Administrator\\Desktop\\Input.pptx" ); //Add an image to the image collection String imagePath = "C:\\Users\\Administrator\\Desktop\\Rabbit.png" ; BufferedImage bufferedImage = ImageIO.read( new FileInputStream(imagePath)); IImageData image = presentation.getImages().append(bufferedImage); //Get the shape collection from the first slide ShapeCollection shapes = presentation.getSlides().get( 0 ).getShapes(); //Loop through the shape collection for ( int i = 0 ; i < shapes.getCount(); i++) { //Determine if a shape is a picture if (shapes.get(i) instanceof SlidePicture) { //Fill the shape with a new image ((SlidePicture) shapes.get(i)).getPictureFill().getPicture().setEmbedImage(image); } } //Save the document presentation.saveToFile( "ReplaceImage.pptx" , FileFormat.PPTX_2013); } } |
Output:
Comments
Post a Comment