Spire. PDF for Java

Java PDF Library - Developing PDF in JavaJava PDF Library – Create Read Modify Print Convert PDF Documents in Java

Professional Java Library to process PDF documents

This is the list of changelogs of Spire.PDF for Java New release and hotfix. You can get the detail information of each version's new features and bug solutions.

Download Spire.PDF for Java to start a free trial:

Version: 9.5.6

Category ID Description
Bug SPIREPDF-5976 Fixes the issue that the text was truncated when filling cells.
Bug SPIREPDF-5984 Fixes the issue that the application threw "NullPointerException" when converting OFD to PDF.

Version: 9.4.9

Category ID Description
New feature SPIREPDF-5855 Supports determining whether a PDF stream document is encrypted or not.
boolean result = PdfDocument.isPasswordProtected(PDFstream);
Bug SPIREPDF-5323 Fixed the issue that content was cropped after converting PDF to images.
Bug SPIREPDF-5652 Fixed the issue that text content displayed incorrectly due to extra characters before and after the font name when converting PDF to Word.
Bug SPIREPDF-5878 Fixed the issue that a exception "java.lang.NullPointerException: Cannot invoke 'java.io.InputStream.close()' because 'a' is null" occurred when using the product with reflection.
Bug SPIREPDF-5879 Fixed the issue that memory overflowed when converting PDF to images.
Bug SPIREPDF-5914 Fixed the issue that the bold font effect lost after converting PDF to HTML.
Bug SPIREPDF-5926 Fixed the issue that the program threw StringIndexOutOfBoundsException exception when converting PDF to images.

Version: 9.3.11

Category ID Description
Bug SPIREPDF-5221 Optimizes memory usage when compressing images.
Bug SPIREPDF-5727 Fixes the issue that the document size increased a lot after adding watermark.
Bug SPIREPDF-5828 Fixes the issue that the converted PDF/A1A document failed to veraPDF verification.
Bug SPIREPDF-5842 Fixes the issue that the application threw "NullPointerException" when converting PDF to HTML.
Bug SPIREPDF-5861 Fixes the issue that the character overlapped when converting PDF to SVG.
Bug SPIREPDF-5880 Fixes the issue that removing PDF editing permission was invalid.

Version: 9.3.6

Category ID Description
New feature SPIREPDF-5796 Optimizes memory consumption when printing PDF documents.
New feature SPIREPDF-5833 Supports scaling when printing PDF documents.
pdfDocument.getPrintSettings().selectSinglePageLayout
(PdfSinglePageScalingMode.Custom_Sacle, true, customScaling);
Bug SPIREPDF-5536 Fixes the issue that the application threw "java.lang.NullPointerException" when extracting table content.
Bug SPIREPDF-5558 Fixes the issue that some spaces were lost when extracting tables to CSV
Bug SPIREPDF-5750 Fixes the issue that the stamp was lost after loading the document and re-saving.
Bug SPIREPDF-5762 Fixes the issue that the application threw "NullPointerException" when saving encrypted PDF documents.
Bug SPIREPDF-5803 Fixes the issue that the checkbox positions changed after flattening PDF forms.
Bug SPIREPDF-5822 Fixes the issue that the Square annotation types could not set transparency.
Bug SPIREPDF-5827 Fixes the issue that the application threw "OutOfMemoryError" when converting PDFs to PDFA1B after applying a license.
Bug SPIREPDF-5834 Fixes the issue that the application threw "Invalid date string" error when converting PDFs to PDFA3A in Italian environment.

Version: 9.2.5

Category ID Description
New feature SPIREPDF-5706 Optimizes the function of compressing documents.
PdfCompressor compressor = new PdfCompressor(inputFile);
compressor.getOptions().getImageCompressionOptions().setResizeImages(true);
compressor.getOptions().getImageCompressionOptions().setImageQuality(ImageQuality.Low);
compressor.compressToFile(outputFile);
Bug SPIREPDF-5655 Fixes the issue that the characters did not display correctly when converting PDF to Excel files.
Bug SPIREPDF-5767 Fixes the issue that it failed to delete annotations.
Bug SPIREPDF-5776 Fixes the issue that it failed to delete square and circle annotations.
Bug SPIREPDF-5778 Fixes the issue that cell content was lost when the cell was set not to wrap.

Version: 9.2.1

Category ID Description
New feature SPIREPDF-2628 Supports converting PDF to PowerPoint.
PdfDocument pdfDocument =new PdfDocument();
pdfDocument.loadFromFile("input.pdf");
pdfDocument.saveToFile("output.pptx", FileFormat.PPTX);
New feature SPIREPDF-4924 Supports converting PDF with a password to PDFA.
PdfStandardsConverter converter=new PdfStandardsConverter("input.pdf", "password");
converter.toPdfA2A("output.pdf");
New feature SPIREPDF-5728 Supports compressing PDFs with a document open password.
PdfCompressor compressor = new PdfCompressor("input.pdf","password");
compressor.getOptions().getImageCompressionOptions().setImageQuality(ImageQuality.Low);
compressor.compressToFile("output.pdf");
Bug SPIREPDF-5628 Fixes the issue that the table was incorrect after converting PDFs to Excel files.
Bug SPIREPDF-5708 Fixes the issue that the hyperlinks were invalid after converting PDF to PDFA2B.
Bug SPIREPDF-5722 Fixes the issue that the text of the obtained attachment annotation was incorrect.
Bug SPIREPDF-5725 Fixes the issue that the program threw an error "Unable to decrypt document without document id" when merging PDFs.

Version: 9.1.4

Category ID Description
New feature - Adds a new method of compressing PDF document.
PdfCompressor compressor = new PdfCompressor(fileName); 
compressor.compressToFile(outputName)
Bug SPIREPDF-5667 Fixes the issue that the program threw com.spire.pdf.packages.sprnsn cannot be cast to com.spire.pdf.packages.sprvqe when merging PDF documents.
Bug SPIREPDF-5682 Fixes the issue that the form content lost when converting PDF to PDFA.

Version: 8.12.6

Category ID Description
New feature - Supports creating tagged PDF files.
//Create a pdf document
PdfDocument doc = new PdfDocument();
//Add page
doc.getPages().add();
//Set tab order
doc.getPages().get(0).setTabOrder(TabOrder.Structure);
//Create PdfTaggedContent
PdfTaggedContent taggedContent = new PdfTaggedContent(doc);
taggedContent.setLanguage("en-US");
taggedContent.setTitle("test");
//Set font
PdfTrueTypeFont font = new PdfTrueTypeFont(new Font("Times New Roman",Font.PLAIN,12), true);
PdfSolidBrush brush = new PdfSolidBrush(new PdfRGBColor(Color.black));
//Append elements
PdfStructureElement article = taggedContent.getStructureTreeRoot().appendChildElement(PdfStandardStructTypes.Document);
PdfStructureElement paragraph1 = article.appendChildElement(PdfStandardStructTypes.Paragraph);
PdfStructureElement span1 = paragraph1.appendChildElement(PdfStandardStructTypes.Span);
span1.beginMarkedContent(doc.getPages().get(0));
PdfStringFormat format = new PdfStringFormat(PdfTextAlignment.Justify);
doc.getPages().get(0).getCanvas().drawString("Spire.PDF for .NET is a professional PDF API applied to creating, writing, editing, handling and reading PDF files.",
font, brush, new Rectangle(40, 0, 480, 80), format);
span1.endMarkedContent(doc.getPages().get(0));
PdfStructureElement paragraph2 = article.appendChildElement(PdfStandardStructTypes.Paragraph);
paragraph2.beginMarkedContent(doc.getPages().get(0));
doc.getPages().get(0).getCanvas().drawString("Spire.PDF for .NET can be applied to easily convert Text, Image, SVG, HTML to PDF and convert PDF to Excel with C#/VB.NET in high quality.",
font, brush, new Rectangle(40, 80, 480, 60), format);
paragraph2.endMarkedContent(doc.getPages().get(0));
PdfStructureElement figure1 = article.appendChildElement(PdfStandardStructTypes.Figure);
//Set Alternate text
figure1.setAlt("replacement text1");
figure1.beginMarkedContent(doc.getPages().get(0), null);
PdfImage image = PdfImage.fromFile("E-logo.png");
Dimension2D dimension2D = new Dimension();
dimension2D.setSize( 100,100);
doc.getPages().get(0).getCanvas().drawImage(image, new Point2D.Float(40, 200),dimension2D);
figure1.endMarkedContent(doc.getPages().get(0));
PdfStructureElement figure2 = article.appendChildElement(PdfStandardStructTypes.Figure);
//Set Alternate text
figure2.setAlt( "replacement text2");
figure2.beginMarkedContent(doc.getPages().get(0), null);
doc.getPages().get(0).getCanvas().drawRectangle(PdfPens.getBlack(), new Rectangle(300, 200, 100, 100));
figure2.endMarkedContent(doc.getPages().get(0));

//Save to file
String result = "CreateTaggedFile_result.pdf";
doc.saveToFile(result);
doc.close();
Bug SPIREPDF-4806 Optimizes the time consumption of extracting images.
Bug SPIREPDF-4856 Optimizes the memory consumption of compressing document images.
Bug SPIREPDF-4860
SPIREPDF-5583
Fixes the issue that the application hanged for a long time when loading a PDF file.
Bug SPIREPDF-4955 Optimizes the time consumption of compressing PDF file.
Bug SPIREPDF-5496 Fixes the issue that the application threw "No 'TimesNewRoman' font found" when defining the CustomFontsFolders to convert PDF to Excel.
Bug SPIREPDF-5622 Fixes the issue that the borders had different thickness when drawing table with PdfGrid.
Bug SPIREPDF-5641 Fixes the issue that the grid cell content displayed incorrectly when drawing on different position.
Bug SPIREPDF-5646 Fixes the issue that the application threw "Unexpected token Unknown before 105" when merging PDF files.

Version: 8.11.8

Category ID Description
New feature SPIREPDF-5590 Supports disposing PdfTrueTypeFont object.
pdfTrueTypeFont.dispose();
Bug SPIREPDF-3959 Fixes the issue that the table cell borders were not merged when converting PDF to Excel.
Bug SPIREPDF-5505 Fixes the issue that the added signature by using pfx certificate file did not include all certificates in the certificate chain.
Bug SPIREPDF-5509
SPIREPDF-5583
Fixes the issue that the extracted table content was incomplete.
Bug SPIREPDF-5540 Fixes the issue that the content was incorrect when converting PDF to Images in Mac OS environment.
Bug SPIREPDF-5582 Fixes the issue that some content was displayed as black rectangle when converting PDF to Images.
Bug SPIREPDF-5585 Fixes the issue that the lines lost when converting PDF to Images.
Bug SPIREPDF-5594 Fixes the issue that the value was garbled characters when using WPS tool to open and view output PDF after setting the value displayed in the drop-down box.
Bug SPIREPDF-5618 Fixes the issue that PdfHorizontalOverflowType enumerated types were confused.

Version: 8.11.0

Category ID Description
New feature - Supports setting the print page range.
pdf.getPrintSettings().selectPageRange(int fromPage, int toPage);
PrintSettings setting = pdf.getPrintSettings();
doc.print(printSettings); 
Bug SPIREPDF-5293 Fixes the issue that the position of the added annotation was incorrect.
Bug SPIREPDF-5377 Fixes the issue that the content lost when converting PDF to Word.
Bug SPIREPDF-5493 Fixes the issue that it failed to get email address of the digital signature.
Bug SPIREPDF-5504 Fixes the issue that the text lost when converting PDF to TIFF.