Spire.Presentation for Java
Java PowerPoint Library – Create Read Modify Print Convert PowerPoint Documents in Java
- Overview
- Features
- Support
- What's New
- Live Demo

Spire.Presentation for Java is a professional PowerPoint API that enables developers to create, read, write, convert and save PowerPoint documents in Java Applications. As an independent Java library, Spire.Presentation doesn't need Microsoft PowerPoint to be installed on system.
A rich set of features can be supported by Spire.Presentation for Java, such as inserting slides, chart, table, shapes, bullets, watermark, hyperlink, digital signatures, audio/video, header/footer, speaker notes, comments, and encrypting/decrypting PPT, paragraph settings, document properties settings, inserting/extracting images, extracting text, setting animation, creating SmartArt etc.
Spire.Presentation for Java supports converting PowerPoint document to images (PNG, JPG, TIFF, SVG), PDF, HTML, XPS and PPTX etc. It supports to convert ODP to PDF, convert images to PowerPoint in high quality.
-
Convert
-
Master
-
Watermark
-
Extract
-
eSign
-
Chart
-
SmartArt
-
Graphic
-
Note
-
Animation
Convert PowerPoint to PDF
Converting PowerPoint to PDF helps you maintain the layout and formatting of your presentation when viewed on different systems or devices.

Create Slide Masters
A slide master controls the design of all the slides based on it. Using a slide master makes it easier to create presentations that look consistent and visually appealing.

Add a Watermark
Watermarks are used to declare confidentiality, copyright, source, or other attributes of the document, or as a decoration to make the document more attractive. Both text watermarks and image watermarks can be added to presentations.

Extract Text and Images
If you only need the text and images of a PowerPoint document regardless of their formatting and layout, you can directly extract them from the document.

Digitally Sign PowerPoint Documents
A digital signature provides assurances about the validity and authenticity of your presentation. Once a PowerPoint document is digitally signed, any changes to the document will invalidate the signature.

Insert Charts
Charts in PowerPoint can help illustrate data, show trends or changes in data over time, and make the whole document more professional and attractive.

Insert a SmartArt
SmartArt is a way to combine text, shapes and colors into an image or illustration. SmartArt graphics let you easily create a visual representation of your information.

Insert Images and Shapes
Adding pictures and shapes can make your presentations more interesting and engaging. And you can customize your images by cropping, reordering, changing colors or adding other formatting and customize shape according to your own color palette, preferences.

Add Speaker Notes
Adding speaker notes to a PowerPoint presentation provides reference material for the speaker when they’re presenting a slideshow, allowing them to stay on track without forgetting the key points to deliver a flawless presentation.

Set Animations on Shapes in PowerPoint
Animation is a great way to emphasize important points, to control the flow of information, and to increase viewer interest in your presentation. You can animate almost every objects in PowerPoint slide to give them visual effects.

JAVA
Standalone Java API
100% independent Java PowerPoint API which
doesn't require Microsoft PowerPoint to be installed on system.
VERSION
- PPT - PowerPoint Presentation 97-2003
- PPS - PowerPoint SlideShow 97-2003
- PPTX - PowerPoint Presentation 2007/2010/2013/2016/2019
- PPSX - PowerPoint SlideShow 2007, 2010
OPERATION
Powerful Toolset, Multichannel Support
-
Work with PowerPoint Charts
-
Print PowerPoint Presentations
-
Work with SmartArt
-
Images and Shapes
-
Audio and Video
-
Protect Presentation Slides
-
Text and Image Watermark
-
Merge Split PowerPoint Document
-
Comments and Notes
-
Manage PowerPoint Tables
-
Set Animations on Shapes
-
Manage Hyperlink
-
Extract Text and Image
-
Replace Text
CONVERSION
Convert File Documents with High Quality
-
PDF
-
HTML
-
XPS
-
SVG
-
Image


PowerPoint Document

-
PNG
-
BMP
-
JPEG
-
EMF
-
TIFF
MAIN FUNCTION
Only Spire.Presentation for Java, No Microsoft Office Installed
Spire.Presentation for Java is a 100% independent Java PowerPoint library, it doesn't require Microsoft Office or any other 3rd party library to be installed on system.High Quality PowerPoint File Conversion
Spire.Presentation for Java supports converting PowerPoint document to images (PNG, JPG, TIFF, SVG), PDF, HTML, XPS and PPTX etc. It supports to convert ODP to PDF, convert images to PowerPoint in high quality.Easy Integration
Spire.Presentation for Java can be easily integrated into Java applications.Commercial Edition $799
Compared with the free version, the commercial edition has no slides limitation and is more comprehensive in processing PowerPoint files.
Free Edition $0
Free version is limited to 10 presentation slides when creating PPT and PPTX. When converting PowerPoint files to PDF, Image or XPS, you can only get the first 10 pages of the generated file.
GET STARTED
Free Trials for All Advanced Solutions
Here is a brief summary of Spire.Presentation for Java features.
Support Environment
- 100% Written in Java
- Supports 32-bit and 64-bit OS
- Works on Windows, Linux, Unix and Mac OS
- No Need to Install Additional Software
Support PowerPoint Version
- PPT - PowerPoint Presentation 97-2003
- PPS - PowerPoint SlideShow 97-2003
- PPTX - PowerPoint Presentation 2007, 2010, 2013, 2016 and 2019
- PPSX - PowerPoint SlideShow 2007, 2010
Conversion
- Convert PPT/PPTX to Image
- Convert PPT/PPTX to PDF
- Convert PPT to PPTX
- Convert PPT/PPTX to SVG
- Convert PPT/PPTX to HTML
- Convert PPT/PPTX to XPS
Protect
Slide
- Create, Remove, Hide and Clone Slide
- Change Slide Layout
- Add Master Slide
- Set Background
- Set Transitions
Paragraph and Text
Image and Shape
- Insert Image
- Insert Shape
- Fill Shape (with solid, gradient color or picture)
- Extract Image and Shape
- Set Animations
Table and Chart
- Create Table
- Create Combination Chart
- Create Doughnut Chart
- Save Chart as Image
- Merge Table Cell
Media
SmartArt
- Insert SmartArt
- Add and Remove Node
Comment and Note
We guarantee one business day Forum questions Reply. |
We guarantee one business day E-mail response. |
Free Customized service for OEM Users. |
|||||||||||
Skype name: iceblue.support |
Apply for a Free Trial License File. |
||||||||||||
This is the list of changelogs of Spire.Presentation for Java New release and hotfix. You can get the detail information of each version's new features and bug solutions.
Version: 10.4.0
Category | ID | Description |
Bug | SPIREPPT-2668 | Fixes the issue where the content was incorrect when converting PowerPoint to images. |
Bug | SPIREPPT-2669 | Fixes the issue where the text shadow effect was lost when converting PowerPoint to images. |
Bug | SPIREPPT-2672 | Fixes the issue where the text layout was incorrect when converting PowerPoint to images. |
Bug | SPIREPPT-2693 | Fixes the issue where the layout was incorrect when opening merged PowerPoint documents in WPS. |
Bug | SPIREPPT-2731 | Fixes the issue where the charts were incorrect when converting PowerPoint to PDF. |
Bug | SPIREPPT-2732 | Fixes the issue where the program hung when running the packaged .jar file after setting setCustomFontsFolder while converting a PowerPoint to HTML. |
Bug | SPIREPPT-2779 | Fixes the issue where the content auto-fit effect was incorrect in merged PowerPoint documents. |
Version: 10.3.7
Category | ID | Description |
New feature | SPIREPPT-2760 | Adds the setThreadScount (int count) method to set the number of threads used for converting PowerPoint to PDF.
presentation.getSaveToPdfOption().setThreadsCount(1); |
Version: 10.2.2
Category | ID | Description |
Bug | SPIREPPT-2669 | Fixes the issue that the shadow effect of text was lost when converting PowerPoint to images. |
Bug | SPIREPPT-2717 | Optimizes the function of adding annotations for specific text. |
Bug | SPIREPPT-2718 | Fixes the issue that it threw "StringIndexOutOfBoundsException" when adding annotations for specific text. |
Bug | SPIREPPT-2719 | Fixes the issue that the effect of converting PowerPoint to images was incorrect. |
Bug | SPIREPPT-2722 | Fixes the issue that it threw "Value cannot be null" when saving a PowerPoint document. |
Version: 10.1.3
Category | ID | Description |
Bug | SPIREPPT-2665 | Fixes the issue that merging PowerPoint documents resulted in document opening reporting a fix. |
Bug | SPIREPPT-2668 | Fixes the issue that there was incorrect content when converting PPTX to images. |
Bug | SPIREPPT-2670 | Fixes the issue that text wrapping errors occurred when converting PPTX to images. |
Bug | SPIREPPT-2672 | Fixes the issue that text layout was incorrect when converting PPTX to images. |
Bug | SPIREPPT-2673 | Fixes the issue that the image background was incorrect when converting PPTX to images. |
Bug | SPIREPPT-2680 | Fixes the issue that the program threw a 'java. lang. ClassCastException' when loading PowerPoint documents. |
Bug | SPIREPPT-2693 | Fixes the issue that content layout was incorrect when opening in WPS software after merging PowerPoint documents. |
Bug | SPIREPPT-2694 | Fixes the issue that adding annotations to specific text failed. |
Bug | SPIREPPT-2695 | Fixes the issue that the program threw a 'java. lang. NullPointer Exception' when converting PPTX to images. |
Version: 10.1.2
Category | ID | Description |
Bug | SPIREPPT-2700 | Fixes the issue that the shapes were incorrect when converting slides to images. |
Version: 9.12.3
Category | ID | Description |
Bug | SPIREPPT-2681 | Fixes the issue that the Chinese characters in the OLE object were garbled when converting PowerPoint to image |
Version: 9.11.3
Category | ID | Description |
Bug | SPIREPPT-2596 | Optimizes the clarity when converting PowerPoint to image. |
Bug | SPIREPPT-2624 | Fixes the issue that the program threw a "ClassCastException" error when using ISmartArtNode. getTextFrame(). getTextPosition(). |
Bug | SPIREPPT-2637 SPIREPPT-2650 SPIREPPT-2651 |
Fixes the issue that incorrect content layout existed when converting PowerPoint to images. |
Bug | SPIREPPT-2639 | Fixes the issue that incorrect effects occurred when using GroupShape. setTop(). |
Version: 9.10.2
Category | ID | Description |
New feature | SPIREPPT-2573 | Supports the FindFirstTextAsRange method for finding the first occurrence of text.
Presentation ppt = new Presentation(); ppt.loadFromFile(inputFile); String text = "create, read"; PortionEx textRange=ppt.getSlides().get(0).FindFirstTextAsRange(text); textRange.getFill().setFillType(FillFormatType.SOLID); textRange.getFill().getSolidColor().setColor(Color.red); textRange.setFontHeight(28); textRange.setLatinFont(new TextFont("Arial")); textRange.isBold(TriState.TRUE); textRange.isItalic(TriState.TRUE); textRange.setTextUnderlineType(TextUnderlineType.DOUBLE); textRange.setTextStrikethroughType(TextStrikethroughType.SINGLE); ppt.saveToFile(outputFile, FileFormat.PPTX_2016); ppt.dispose(); |
Bug | SPIREPPT-2614 | Fixes the issue that the program threw the NullPointerException exception when loading PPTX documents. |
Bug | SPIREPPT-2616 SPIREPPT-2617 |
Fixes the issue that incorrect content occurred when converting PPTX documents to images. |
Version: 9.9.2
Category | ID | Description |
New feature | SPIREPPT-2602 | Supports getting the names of all embedded fonts in a PowerPoint file.
ArrayList |
Bug | SPIREPPT-2597 | Fixes the issue that the program threw java.lang.ClassCastException when converting a PPTX document to a PPT document. |
Bug | SPIREPPT-2599 | Fixes the issue that the program threw java.lang.ClassCastException when calling table.distributeRows(0,1) method after adding a formula to a table cell. |
Bug | SPIREPPT-2601 | Fixes the issue that the program suspended when loading a PPTX document. |
Version: 9.8.3
Category | ID | Description |
New feature | SPIREPPT-2579 | Provides the ReplaceAndFormatText(String matchedString, String newValue, PortionFormatEx format) method to support setting format when replacing text.
Presentation ppt = new Presentation(); // Load a PowerPoint presentation from the specified file. ppt.loadFromFile(inputFile); // Create a new object to store the default text range formatting properties. PortionFormatEx format = new PortionFormatEx(); // Set the IsBold property of the text range formatting to true, making the text bold. format.isBold(TriState.TRUE); // Set the FillType property of the text range fill to Solid, indicating a solid fill color. format.getFill().setFillType(FillFormatType.SOLID); // Set the Color property of the solid fill color to red. format.getFill().getSolidColor().setColor(Color.red); // Set the FontHeight property of the text range formatting to 25, indicating the font size. format.setFontHeight(25); format.isBold(TriState.TRUE); // Replace all occurrences of the text "Spire.Presentation for .NET" with "Spire.PPT" and apply the specified formatting. ppt.ReplaceAndFormatText("Spire.Presentation for .NET", "Spire.PPT", format); // Save the modified presentation to the specified output file in the PPTX format compatible with PowerPoint 2016. ppt.saveToFile(outputFile, FileFormat.PPTX_2016); // Dispose of the Presentation object to free up resources ppt.dispose(); |
Bug | SPIREPPT-2544 | Fixes the issue that the content did not fit automatically after changing the page orientation. |
Bug | SPIREPPT-2562 | Fixes the issue that the formulas were incorrect when adding LatexMath. |
Bug | SPIREPPT-2577 | Fixes the issue where Chinese characters in formula were displayed as "x". |
Bug | SPIREPPT-2589 | Fixes the issue that the application threw the exception "java.lang.ClassCastException" when adding formulas in table cells. |
Bug | SPIREPPT-2593 | Fixes the issue that the application threw the exception "OutOfMemory" when loading PowerPoint files. |
Request free customized demo just for you. |
Tab 1
Upload

Convert to
Tab 2
Upload

Convert to
Tab 3
Add text
Text: | |
Font: | |
Font Size: | |
Color: | |
downloads
|
Add image
Image: |
Click here to browse files
|
![]() |
|
downloads
|
Tab 4
Set text watermark
Text: | |
Font: | |
Font Size: | |
Color: | |
Rotate: | |
downloads
|
Set image watermark
Image: |
Click here to browse files
|
![]() |
|
downloads
|
Tab 5
Data
salesPers | saleAmt | comPct | comAmt |
Joe | 250 | 150 | 99 |
Robert | 270 | 150 | 99 |
Michelle | 310 | 120 | 49 |
Erich | 330 | 120 | 49 |
Dafna | 360 | 150 | 141 |
Rob | 380 | 150 | 135 |
Option
If you don't find the function you want, please fill in a form to request a free demo from us. Make sure the demo you want meets the following requirements:
- It is a small project that implements a particular scenario.
- It relates to our libraries stored on E-iceblue online store.
- It costs less than 2 hours for us to complete it.
- It is not a bug report.
- It is not a feature request.