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: 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.

Version: 8.10.1

Category ID Description
Bug SPIREPDF-4981 Fixes the issue that when setting DPI to 200%, the image location was incorrect after converting PDF to image.
Bug SPIREPDF-5397 Fixes the issue that some content was still colored after converting PDF to grayscale.
Bug SPIREPDF-5487 Fixes the issue that the application threw "java.lang.NullPointerException" when finding keywords in PDF.
Bug SPIREPDF-5537 Fixes the issue that the application threw "java.lang.NullPointerException" when converting PDF to image.
Bug SPIREPDF-5538 Fixes the issue that the content was messy after converting PDF to image.

Version: 8.9.1

Category ID Description
Bug SPIREPDF-5390 Fixes the issue that the bold font was lost when converting PDF to Excel
Bug SPIREPDF-5402 Fixes the issue that the memory overflowed when converting PDF to Excel
Bug SPIREPDF-5419 Fixes the issue that the application threw "java.lang.NullPointerException" when converting PDF to Excel
Bug SPIREPDF-5422
SPIREPDF-5435
Fixes the issue that the extracted table's contents were incomplete
Bug SPIREPDF-5423 Fixes the issue that the contents were overlapped after flattening combo box fields
Bug SPIREPDF-5438 Fixes the issue that arabic characters displayed incorrectly when converting PDF to PDFA3A
Bug SPIREPDF-5446 Fixes the issue that the application threw "java.lang.NullPointerException" when converting PDF to image

Version: 8.8.3

Category ID Description
New feature - Supports creating unordered lists in PDF.
public void DrawMarker(PdfUnorderedMarkerStyle style, String outputFile) {
    PdfDocument doc = new PdfDocument();
    PdfNewPage page = (PdfNewPage) doc.getPages().add();
    PdfMarker marker = new PdfMarker(style);
    String listContent = "Data Structure"
            + "Algorithm"
            + "Computer Newworks"
            + "Operating System"
            + "C Programming"
            + "Computer Organization and Architecture";
    PdfUnorderedList list = new PdfUnorderedList(listContent);
    list.setIndent(2);
    list.setTextIndent(4);
    list.setMarker(marker);
    list.draw(page, 100, 100);
    doc.saveToFile(outputFile, FileFormat.PDF);
    doc.close();
}
public void PdfMarker_CustomImage() throws Exception {
    String outputFile = "PdfMarker_CustomImage.pdf";
    String inputFile_Img = "sample.png";
    PdfDocument doc = new PdfDocument();
    PdfNewPage page = (PdfNewPage) doc.getPages().add();
    PdfMarker marker = new PdfMarker(PdfUnorderedMarkerStyle.Custom_Image);
    marker.setImage(PdfImage.fromFile(inputFile_Img));
    String listContent = "Data Structure"
            + "Algorithm"
            + "Computer Newworks"
            + "Operating System"
            + "C Programming"
            + "Computer Organization and Architecture";
    PdfUnorderedList list = new PdfUnorderedList(listContent);
    list.setIndent(2);
    list.setTextIndent(4);
    list.setMarker(marker);
    list.draw(page, 100, 100);
    doc.saveToFile(outputFile, FileFormat.PDF);
    doc.close();
}
public void PdfMarker_CustomTemplate() throws Exception {
    String outputFile = "PdfMarker_CustomTemplate.pdf";
    String inputFile_Img = "sample.png";
    PdfDocument doc = new PdfDocument();
    PdfNewPage page = (PdfNewPage) doc.getPages().add();
    PdfMarker marker = new PdfMarker(PdfUnorderedMarkerStyle.Custom_Template);
    PdfTemplate template = new PdfTemplate(210, 210);
    marker.setTemplate(template);
    template.getGraphics().drawImage(PdfImage.fromFile(inputFile_Img), 0, 0);
    String listContent = "Data Structure"
            + "Algorithm"
            + "Computer Newworks"
            + "Operating System"
            + "C Programming"
            + "Computer Organization and Architecture";
    PdfUnorderedList list = new PdfUnorderedList(listContent);
    list.setIndent(2);
    list.setTextIndent(4);
    list.setMarker(marker);
    list.draw(page, 100, 100);
    doc.saveToFile(outputFile, FileFormat.PDF);
    doc.close();
}
public void PdfMarker_CustomString() throws Exception {
    String outputFile = "PdfMarker_CustomString.pdf";
    PdfDocument doc = new PdfDocument();
    PdfNewPage page = (PdfNewPage) doc.getPages().add();
    PdfMarker marker = new PdfMarker(PdfUnorderedMarkerStyle.Custom_String);
    marker.setText("AAA");
    String listContent = "Data Structure"
            + "Algorithm"
            + "Computer Newworks"
            + "Operating System"
            + "C Programming"
            + "Computer Organization and Architecture";
    PdfUnorderedList list = new PdfUnorderedList(listContent);
    list.setIndent(2);
    list.setTextIndent(4);
    list.setMarker(marker);
    list.draw(page, 100, 100);
    doc.saveToFile(outputFile, FileFormat.PDF);
    doc.close();
Adjustment - Adjusts the internal security of signed timestamps.
Bug SPIREPDF-4780 Fixes the issue that caused long running time and high memory consumption during converting PDF to Tiff.
Bug SPIREPDF-5387 Fixes the issue that the application threw "Read failure" when loading PDF file.

Version: 8.8.0

Category ID Description
Bug SPIREPDF-5248 Fixes the issue that some characters were incorrect after converting PDF to PDF/A3A.
Bug SPIREPDF-5312 Fixes the issue that the application threw exception "Parameter is invalid" when converting PDF to Tiff.
Bug SPIREPDF-5322 Fixes the issue that the location of text was incorrect after converting PDF to image.
Bug SPIREPDF-5327 Fixed the issue that after converting PDF to OFD, the content was lost when opened with Dotpoly OFD reader.
Bug SPIREPDF-5332 Fixes the issue that the text displayed incorrectly after converting PDF to image.
Bug SPIREPDF-5337 Fixes the issue that the application threw exception "No have this TiffTag" when converting Tiff to PDF.
Bug SPIREPDF-5350 Fixes the issue that the content was lost after converting PDF to OFD.
Bug SPIREPDF-5362 Fixes the issue that the application threw exception "NullPointerException" when loading PDF.

Version: 8.7.0

Category ID Description
Bug SPIREPDF-4764 Fixes the issue that the cells were not split correctly after converting PDF to Excel.
Bug SPIREPDF-5130 Fixes the issue that the application threw "Path is empty" when converting PDF to HTML.
Bug SPIREPDF-5202 Fixes the issue that the application threw the "Invalid token 'flex'" when converting SVG to PDF.
Bug SPIREPDF-5224 Fixes the issue that the content became image after PDF was converted to Excel.
Bug SPIREPDF-5229 Fixes the issue that it failed to generate output when merging.
Bug SPIREPDF-5252 Fixes the issue that after converting PDF to Word, the image can't be displayed when opened in WPS and mobile phone.
Bug SPIREPDF-5265 Fixes the issue that the application hung when converting PDF to GrayPdf.
Bug SPIREPDF-5272 Fixes the issue that the location of found text was incorrect.
Bug SPIREPDF-5285 Fixes the issue that the content was lost after converting PDF to image.
Bug SPIREPDF-5286 Fixes the issue that the application threw the "NullPointerException" when converting PDF to PDFA3A.

Version: 8.6.8

Category ID Description
New feature SPIREPDF-4864
SPIREPDF-5223
Provides TextFindParameter.Regex enum type to support regular expression matching.
document.getPages().get(0).findText("", EnumSet.of(TextFindParameter.Regex)); 
New feature SPIREPDF-4936
SPIREPDF-5099
Provides new interface PdfOrdinarySignatureMaker to sign PDF.
String inputFile = "input.pdf";
String outputFile = "result.pdf";
String inputfile_img = "sign.png";
String inputFile_Pfx = "gary.pfx";
//load pdf
PdfDocument doc = new PdfDocument();
doc.loadFromFile(inputFile);
//load pfx file
PdfCertificate x509 = new PdfCertificate(inputFile_Pfx, "e-iceblue");
PdfOrdinarySignatureMaker signatureMaker = new PdfOrdinarySignatureMaker(doc, x509);
PdfSignature signature = signatureMaker.getSignature();
PdfSignatureAppearance appearance = new PdfSignatureAppearance(signature);
//set ImageAndSignDetail mode
appearance.setGraphicMode(GraphicMode.SignImageAndSignDetail);
//set signature content
appearance.setNameLabel("SSSSSSSSSS:");
signature.setName("Peekaboo");
appearance.setContactInfoLabel("Phone:");
signature.setContactInfo("028-81705109");
appearance.setDateLabel("Date: ");
appearance.setLocationLabel("Address: ");
signature.setLocation("ChengDu");
appearance.setReasonLabel("Cause");
signature.setReason("I am owner of ducument");
appearance.setSignImageLayout(SignImageLayout.Stretch);
appearance.setSignatureImage(PdfImage.fromFile(inputfile_img));
//define signature size and position and add it in PDF
for (int i = 0; i < doc.getPages().getCount(); i++)
{
    signatureMaker.makeSignature("Peekaboo_" + (i + 1), doc.getPages().get(i), (float)doc.getPages().get(i).getActualSize().getWidth() - 340, (float)doc.getPages().get(0).getActualSize().getHeight() - 150, 270, 100, appearance);
}
//save document
doc.saveToFile(outputFile);
doc.close();
Bug SPIREPDF-4768 Optimizes the time to convert PDF to Excel in Linux environment.
Bug SPIREPDF-4906 Fixes the issue that the bookmake didn't work after converting PDF to PDFA1A.
Bug SPIREPDF-5035 Fixes the issue that the order of found text was inconsistent with the order of text on the page.
Bug SPIREPDF-5172 Fixes the issue that caused black background after converting PDF to PDFA1A.
Bug SPIREPDF-5185 Fixes the issue that the text extracted from PDF had incorrect format.
Bug SPIREPDF-5217 Fixes the issue that the image was lost after merging PDF documents.
Bug SPIREPDF-5256 Fixes the issue that the image covered content after converting PDF to OFD.

Version: 8.5.8

Category ID Description
Bug SPIREPDF-4216 Fixes the issue that some texts repeated after converting PDF to Excel.
Bug SPIREPDF-4895 Fixes the issue that the text became an image after converting PDF to Excel.
Bug SPIREPDF-4994 Fixes the issue that some data were incorrect after converting PDF to Excel.
Bug SPIREPDF-5034 Fixes the issue that caused messy characters after converting PDF to Word.
Bug SPIREPDF-5052 Fixes the issue that the application threw exception when converting PDF to Word.
Bug SPIREPDF-5056 Fixes the issue that some contents were incorrect after converting PDF to PDF/A.
Bug SPIREPDF-5066 Fixes the issue that the row height narrowed after merging cells.
Bug SPIREPDF-5088 Fixes the issue that some contents were incorrect after converting PDF to Word.
Bug SPIREPDF-5111 Fixes the issue that the application threw the exception "Document element did not appear" when converting OFD to PDF in parallel.
Bug SPIREPDF-5117 Fixes the issue that caused extra space when drawing Arabic text and setting right alignment.
Bug SPIREPDF-5131
SPIREPDF-5144
Fixes the issue that the application threw the exception "(x+width)is outside of Raster" when converting PDF to Word.
Bug SPIREPDF-5133 Fixes the issue that the style of center alignment was lost after converting PDF to HTML.
Bug SPIREPDF-5143 Fixes the issue that the application threw the exception "Specified argument was out of the range of valid values" when drawing PDF grid.
Bug SPIREPDF-5149 Fixes the issue that caused incorrect table format after adding long text in cell.
Bug SPIREPDF-5153 Fixes the issue that the text exceeded the border after converting PDF to PDFA1B.
Bug SPIREPDF-5161 Fixes the issue that the application threw "NullPointerException" when embedding grid.
Bug SPIREPDF-5197 Fixes the issue that the application threw "No have this Height" when converting PDF to Word.

Version: 5.5.0

Category ID Description
Bug SPIREPDF-4998 Fixes the issue that the transparent background became white after converting PDF to image.
Bug SPIREPDF-5002 Fixes the issue that the application threw "Item has already been added. " when converting PDF to Word in multi-thread.
Bug SPIREPDF-5007 Fixes the issue that caused poor effect after converting Tiff to PDF.
Bug SPIREPDF-5023 Fixes the issue that the content format was incorrect after converting Svg to PDF.
Bug SPIREPDF-5044
SPIREPDF-5045
Fixes the issue that the application threw "NullPointerException" when converting PDF to Word.
Bug SPIREPDF-5049 Fixes the issue that the application threw "NumberFormatException" when converting PDF to Word.
Bug SPIREPDF-5055 Fixes the issue that the application threw "class com.spire.office.packages.sprnfma" when converting PDF to Word using flow method.
Bug SPIREPDF-5093 Fixes the issue that the application threw "Requested a name string that is not present in the font" when converting PDF to HTML.
Bug SPIREPDF-5110 Fixes the issue that the text format was incorrect after converting Ofd to PDF.