Presentation Using Templates
This guide explains the process of creating a new presentation file from an existing template file using UniOffice.
Sample input
Template file

Before you begin
You should get your API key from your UniCloud account.
If this is your first time using UniOffice SDK, follow this guide to set up a local development environment.
Clone the project repository
In your terminal, clone the examples repository. It contains the Go code we will be using for this guide.
git clone https://github.com/unidoc/unioffice-examples
To get the example navigate to the path presentation/use-template folder in the unioffice-examples directory.
cd unioffice-examples/presentation/use-template/
How it works
The import section imports the necessary UniOffice packages and Go libraries.
The init function sets the license key.
The main function which is defined in lines 25-90, generates the modified presentation file. In this function the template presentation file is opened and presentation.Presentation object is instantiated.
Lines 29-31 print the layout information of the slides. The for loop in lines 34-36, remove the existing template slides. Line 37, obtains the layout of the template file using ppt.GetLayoutByName("Title and Caption") and saves it to a variable for later use.
In lines 37-44, a new slide is created from the template layout. Then the place-holder’s title and body of the template file are modified by updating the text content in lines 46-49. The remaining code i.e. lines 51-86, adds new slides with paragraph texts and other properties from the template layout. Then finally, the presentation is written to file in line 87 using ppt.SaveToFile("mod.pptx").
Run the code
Run this command to create the presentation from the template file.
go run main.go
Sample output
Modified presentation.

Terminal output.
0 LL Title Slide / title
1 LL Title and Content / obj
2 LL Section Header / secHead
3 LL Two Content / twoObj
4 LL Comparison / twoTxTwoObj
5 LL Title Only / titleOnly
6 LL Blank / blank
7 LL Content with Caption / objTx
8 LL Picture with Caption / picTx
9 LL Panoramic Picture with Caption /
10 LL Title and Caption /
11 LL Quote with Caption /
12 LL Name Card /
13 LL Quote Name Card /
14 LL True or False /
15 LL Title and Vertical Text / vertTx
16 LL Vertical Title and Text / vertTitleAndTx