Skip to main content

Generate PowerPoint Document from Template in Java

 

Generating a PowerPoint document from scratch is painful and time consuming, but it would be much easier if you use a template with pre-designed formats. In this article, I will introduce how to generate PowerPoint document from existing template in Java using Free Spire.Presentation for Java library.

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.

The following is the input PowerPoint template which contains placeholder text:


In the following example, I will show you how to generate a PowerPoint document from the template by replacing the placeholder text.


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
import com.spire.presentation.*;
 
import java.util.HashMap;
import java.util.Map;
 
public class CreatePptFromTemplate {
    public static void main(String []args) throws Exception {
        //create a Presentation instance
        Presentation presentation = new Presentation();
 
        //load the template PowerPoint document
        presentation.loadFromFile("C:\\Users\\Administrator\\Desktop\\Sample.pptx");
 
        //get the first slide
        ISlide slide= presentation.getSlides().get(0);
 
        //create a map of values for the template
        Map<String, String> map = new HashMap<>();
        map.put("firstName","Alex");
        map.put("lastName","Anderson");
        map.put("gender","Male");
        map.put("mobilePhone","+0044 85430000");
        map.put("email","alex.anderson@myemail.com");
        map.put("homeAddress","123 High Street");
        map.put("dateOfBirth","6th June, 1986");
        map.put("education","University of South Florida, September 2013 - June 2017");
        map.put("employmentHistory","Automation Inc. November 2013 - Present");
 
        //replace the placeholder text in the template
        for (Map.Entry<String, String> entry : map.entrySet()) {
            slide.replaceAllText("${" + entry.getKey() + "}", entry.getValue(), true);
        }
 
        //save the result document
        presentation.saveToFile("ReplaceText.pptx", FileFormat.PPTX_2013);
    }
}

The following is the output PowerPoint document:


Conclusion

From this example, you can see it’s very easy to deal with PowerPoint objects with Free Spire.Presentation for Java library. The library provides rich capabilities to work with PowerPoint documents, you can explore more about it by visiting the documentation.

Thanks for reading and happy coding!





Comments

Popular posts from this blog

3 Ways to Generate Word Documents from Templates in Java

A template is a document with pre-applied formatting like styles, tabs, line spacing and so on. You can quickly generate a batch of documents with the same structure based on the template. In this article, I am going to show you the different ways to generate Word documents from templates programmatically in Java using Free Spire.Doc for Java library. Prerequisite First of all, you need to add needed dependencies for including Free Spire.Doc for Java into your Java project. There are two ways to do that. If you use maven, you need to add the following code to your project’s pom.xml file. <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>               <g

Simple Java Code to Convert Excel to PDF in Java

This article demonstrates a simple solution to convert an Excel file to PDF in Java by using free Excel API – Free Spire.XLS for Java . The following examples illustrate two possibilities to convert Excel to PDF:      Convert the whole Excel file to PDF     Convert a particular Excel Worksheet to PDF Before start with coding, you need to Download Free Spire.XLS for Java package , unzip it and import Spire.Xls.jar file from the lib folder in your project as a denpendency. 1. Convert the whole Excel file to PDF Spire.XLS for Java provides saveToFile method in Workbook class that enables us to easily save a whole Excel file to PDF. import com.spire.xls.FileFormat; import com.spire.xls.Workbook; public class ExcelToPDF {     public static void main(String[] args){         //Create a Workbook         Workbook workbook = new Workbook();         workbook.loadFromFile( "Sample.xlsx" );         //Fit to page         workbook.getConverterSetting().setShee

Insert and Extract OLE objects in Word in Java

You can use OLE (Object Linking and Embedding) to include content from other programs, such as another Word document, an Excel or PowerPoint document to an existing Word document. This article demonstrates how to insert and extract embedded OLE objects in a Word document in Java by using Free Spire.Doc for Java API.   Add dependencies First of all, you need to add needed dependencies for including Free Spire.Doc for Java into your Java project. There are two ways to do that. If you use maven, you need to add the following code to your project’s pom.xml file.     <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>