Spire.Office for Java 7.9.6 is released

2022-09-22 02:49:23

We are excited to announce the release of Spire.Office for Java 7.9.6. In this version, Spire.XLS for Java supports using Worksheet.getMaxDispalyRange() method to get all cell ranges; Spire.PDF for Java supports creating unordered lists in PDF; Spire.Doc for Java enhances the conversion from Word to PDF. Besides, a lot of known issues are fixed successfully in this version. More details are listed below.

Click the link to download Spire.Office for Java 7.9.6:

Here is a list of changes made in this release

Spire.XLS for Java

Category ID Description
New feature SPIREXLS-4002 Supports using Worksheet.getMaxDispalyRange() method to get all cell ranges, including objects such as pictures and shapes.
Workbook workbook = new Workbook();
workbook.loadFromFile("TEST.xlsx");
        Worksheet sheet1 = workbook.getWorksheets().get(0);
        //copy all objects(such as text, shape, image...) from sheet2 to sheet1
        for(int i=1;i<workbook.getWorksheets().getCount(); i++){
            Worksheet sheet2 = workbook.getWorksheets().get(i);
sheet2.copy((CellRange) sheet2.getMaxDisplayRange(),sheet1,sheet1.getLastRow()+1,
sheet2.getFirstColumn(),true);
        }
        workbook.saveToFile("output.xlsx", ExcelVersion.Version2013);
New feature SPIREXLS-4026 Supports the =Days() function.
Workbook workbook = new Workbook();
workbook.loadFromFile("Test.xlsx");
        Worksheet sheet = workbook.getWorksheets().get(0);
sheet.getCellRange("C4").setFormula("=DAYS(A8,A1)");
workbook.saveToFile(""RES.xlsx"");
Bug SPIREXLS-3980 Fixes the issue that the content format was incorrect after converting xml file to Excel.
Bug SPIREXLS-3995 Fixes the issue that the chart title was incorrect after converting Excel to SVG.
Bug SPIREXLS-4014 Fixes the issue that the content format was incorrect after converting Excel file to PDF.
Bug SPIREXLS-4020 Fixes the issue that the application threw "StringIndexOutOfBoundsException" when converting Excel file to PDF.
Bug SPIREXLS-4054 Fixes the issue that the application threw "NullPointerException" when getting the chart DataRange.
Bug SPIREXLS-4070 Fixes the issue that the application threw "FileSystemException" when calling Files.deleteIfExists() to delete the file that was detected by the isPasswordProtected() method.
Bug SPIREXLS-2862 Fixes the issue that the line feed was incorrect when converting Excel document to PDF.
Bug SPIREXLS-2986
SPIREXLS-3019
Fixes the issue that the page margin was incorrect when converting Excel document to PDF.
Bug SPIREXLS-4043 Fixes the issue that the table layout was incorrect when converting Excel document to HTML.
Bug SPIREXLS-4072 Fixes the issue that the application threw "java.lang.NullPointerException" when modifying the selected value of the filter in the PivotTable.
Bug SPIREXLS-4073 Fixes the issue that the table cell's borders lost when converting Excel document to PDF.
Bug SPIREXLS-4075 Fixes the issue that the text direction of X-axis was incorrect when converting chart to image.
Bug SPIREXLS-4012 Fixes the issue that the document size was not reduced after removing the pictures in header/footer.
Bug SPIREXLS-4105 Fixes the issue that the application threw "Unknown char:%" when loading an Excel file.

Spire.PDF for Java

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\n"
            + "Algorithm\n"
            + "Computer Newworks\n"
            + "Operating System\n"
            + "C Programming\n"
            + "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\n"
            + "Algorithm\n"
            + "Computer Newworks\n"
            + "Operating System\n"
            + "C Programming\n"
            + "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\n"
            + "Algorithm\n"
            + "Computer Newworks\n"
            + "Operating System\n"
            + "C Programming\n"
            + "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\n"
            + "Algorithm\n"
            + "Computer Newworks\n"
            + "Operating System\n"
            + "C Programming\n"
            + "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.
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

Spire.Doc for Java

Category ID Description
Bug SPIREDOC-7704 Fixes the issue that the application thrown "IllegalArgumentException" after setting the private fonts in otf format when converting Word to PDF.
Bug SPIREDOC-7841 Fixes the issue that embedding private fonts failed when converting Word to PDF.
Bug SPIREDOC-8242 Fixes the issue that the content alignment became inconsistent when converting DOC to DOCX2007.