Knowledgebase (2300)
XPS (XML Paper Specification) is a fixed-format document described by an XML-based language. It maintains a consistent appearance for documents, which is an ideal file format for publishing, archiving and transmitting. This article will demonstrate how to programmatically convert PowerPoint to XPS using Spire.Presentation for Java.
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>10.11.4</version>
</dependency>
</dependencies>
Convert PowerPoint to XPS
The detailed steps are as follows:
- Create a Presentation instance.
- Load a sample PowerPoint document using Presentation.loadFromFile() method.
- Save the PowerPoint document to XPS using Presentation.saveToFile(java.lang.String file, FileFormat fileFormat) method.
- Java
import com.spire.presentation.*;
public class PowerPointtoXPS {
public static void main(String[] args) throws Exception{
//Create a Presentation instance
Presentation ppt = new Presentation();
//Load a sample PowerPoint file
ppt.loadFromFile("E:\\Files\\test.pptx");
//Save to XPS file
ppt.saveToFile("toXPS.xps", FileFormat.XPS);
ppt.dispose();
}
}

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.
Page labels are used to identify each page visually on the screen or in print. This article demonstrates how to get the PDF page labels using Spire.PDF.
Below is the screenshot of the sample PDF document:

Detail steps:
Step 1: Create a PdfDocument instance and load the sample.pdf file.
PdfDocument pdf = new PdfDocument();
pdf.LoadFromFile("sample.pdf");
Step 2: Get the labels of the pages in the PDF file.
StringBuilder sb = new StringBuilder();
for (int i = 0; i < pdf.Pages.Count; i++)
{
sb.AppendLine(pdf.Pages[i].PageLabel);
}
Step 3: Save to a .txt file.
File.WriteAllText("PageLabels.txt", sb.ToString());
Output:

Full code:
using System.IO;
using System.Text;
using Spire.Pdf;
namespace Get_PDF_Page_Labels
{
class Program
{
static void Main(string[] args)
{
//Create a PdfDocument instance
PdfDocument pdf = new PdfDocument();
//Load the PDF file
pdf.LoadFromFile("sample.pdf");
//Create a StringBuilder instance
StringBuilder sb = new StringBuilder();
//Get the lables of the pages in the PDF file
for (int i = 0; i < pdf.Pages.Count; i++)
{
sb.AppendLine(pdf.Pages[i].PageLabel);
}
//Save to a .txt file
File.WriteAllText("PageLabels.txt", sb.ToString());
}
}
}
This article demonstrates how to align text within a table cell in PowerPoint using Spire.Presenatation for Java.
Code Snippets
import com.spire.presentation.*;
public class AlignTextInTableCell {
public static void main(String[] args) throws Exception {
//create a PowerPoint file
Presentation presentation = new Presentation();
//add a table
Double[] widths = new Double[]{100d, 200d, 100d, 100d};
Double[] heights = new Double[]{30d, 70d, 70d};
ITable table = presentation.getSlides().get(0).getShapes().appendTable(30,80, widths, heights);
table.setStylePreset(TableStylePreset.NONE);
//set the horizontal alignment for the cells in the first row
table.get(0, 0).getTextFrame().setText("Left");
table.get(0, 0).getTextFrame().getParagraphs().get(0).setAlignment(TextAlignmentType.LEFT);
table.get(1, 0).getTextFrame().setText("Horizontal Center");
table.get(1, 0).getTextFrame().getParagraphs().get(0).setAlignment(TextAlignmentType.CENTER);
table.get(2, 0).getTextFrame().setText("Right");
table.get(2, 0).getTextFrame().getParagraphs().get(0).setAlignment(TextAlignmentType.RIGHT);
table.get(3, 0).getTextFrame().setText("Justify");
table.get(3, 0).getTextFrame().getParagraphs().get(0).setAlignment(TextAlignmentType.JUSTIFY);
//Set the vertical alignment for the cells in the second row
table.get(0, 1).getTextFrame().setText("Top");
table.get(0, 1).setTextAnchorType(TextAnchorType.TOP);
table.get(1, 1).getTextFrame().setText("Vertical Center");
table.get(1, 1).setTextAnchorType(TextAnchorType.CENTER);
table.get(2, 1).getTextFrame().setText("Bottom");
table.get(2, 1).setTextAnchorType(TextAnchorType.BOTTOM);
//set the both horizontal and vertical alignment for the cells in the third row
table.get(0, 2).getTextFrame().setText("Top Left");
table.get(0, 2).getTextFrame().getParagraphs().get(0).setAlignment(TextAlignmentType.LEFT);
table.get(0, 2).setTextAnchorType(TextAnchorType.TOP);
table.get(1, 2).getTextFrame().setText("Center");
table.get(1, 2).getTextFrame().getParagraphs().get(0).setAlignment(TextAlignmentType.CENTER);
table.get(1, 2).setTextAnchorType(TextAnchorType.CENTER);
table.get(2, 2).getTextFrame().setText("Bottom Right");
table.get(2, 2).getTextFrame().getParagraphs().get(0).setAlignment(TextAlignmentType.RIGHT);
table.get(2, 2).setTextAnchorType(TextAnchorType.BOTTOM);
//save to file
presentation.saveToFile("output/Alignment.pptx", FileFormat.PPTX_2013);
presentation.dispose();
}
}
Output
