Spire.Office 8.11.2 is released

2023-11-30 07:58:16

We are happy to announce the release of Spire.Office 8.11.2. In this version, Spire.Doc publicizes the enumeration of Spire.Doc.Publics.Drawing.FontStyle; Spire.PDF adds the new PdfImageHelper interface for image extraction, deletion, replacement and compression; Spire.Presentation releases several new features, such as obtaining the height and width of the text area within a shape and retrieving text from different lines within a shape. Besides, a lot of known issues are fixed successfully in this version. More details are listed below.

In this version, the most recent versions of Spire.Doc, Spire.PDF, Spire.XLS, Spire.Presentation, Spire.Email, Spire.DocViewer, Spire.PDFViewer, Spire.Spreadsheet, Spire.OfficeViewer, Spire.DataExport, Spire.Barcode are included.

DLL Versions:

  • Spire.Doc.dll v11.11.8
  • Spire.Pdf.dll v9.11.9
  • Spire.XLS.dll v13.11.4
  • Spire.Presentation.dll v8.11.1
  • Spire.Email.dll v6.5.8
  • Spire.Barcode.dll v7.2.3
  • Spire.DocViewer.Forms.dll v8.7.4
  • Spire.Spreadsheet.dll v7.4.3
  • Spire.PdfViewer.Forms.dll v7.12.1
  • Spire.PdfViewer.Asp v7.12.1
  • Spire.OfficeViewer.Forms.dll v8.11.2
  • Spire.DataExport.dll v4.9.0
  • Spire.DataExport.ResourceMgr.dll v2.1.0.
Click the link to get the version Spire.Office 8.11.2:
More information of Spire.Office new release or hotfix:

Here is a list of changes made in this release

Spire.Doc

Category ID Description
New feature - Publicizes the enumeration Spire.Doc.Publics.Drawing.FontStyle.
New feature - Changes the namespace of the "FontStyle" in the "PrivateFontPath" structure to "Spire.Doc.Publics.Drawing".
Instructions:
Changes the method "public PrivateFontPath(string fontName, System.Drawing.FontStyle fontStyle, string fontPath)" to "public PrivateFontPath(string fontName, Spire.Doc.Publics.Drawing.FontStyle fontStyle, string fontPath)".
Changes the method "public PrivateFontPath(string fontName, System.Drawing.FontStyle fontStyle, string fontPath, bool useArabicConcatenationRules)" to "public PrivateFontPath(string fontName, Spire.Doc.Publics.Drawing.FontStyle fontStyle, string fontPath, bool useArabicConcatenationRules)".
Bug SPIREDOC-9369 Fixes the issue that the content formatting was incorrect after converting Word to PDF.
Bug SPIREDOC-9456 Fixes the issue that the pagination was incorrect after converting Word to PDF.
Bug SPIREDOC-9594 Fixes the issue that the content was not correct after converting HTML to PDF.
Bug SPIREDOC-9716 Fixes the issue that the program threw System.ArgumentException when converting ODT to PDF.
Bug SPIREDOC-9764 Fixes the issue that the page numbers of the table of contents were incorrectly positioned after merging Word documents and converting them to PDF.
Bug SPIREDOC-9765 Fixes the issue that the formatting of the table of contents was incorrect after merging Word documents and converting them to PDF.
Bug SPIREDOC-9869 Fixes the issue that images were not displayed after converting HTML to PDF.
Bug SPIREDOC-9906 Fixes the issue that the content of OLE objects cloned from RTF documents to Docx documents was not displayed completely.
Bug SPIREDOC-9909 Fixes the issue that the program threw System.InvalidOperationException when converting Word to image/PDF.
Bug SPIREDOC-9923 Fixes the issue that the newly added rows were not aligned after adding new rows to a Word table and converting it to PDF.
Bug SPIREDOC-9924 Fixes the issue that the program threw System.IndexOutOfRangeException when modifying the content of a Word table and converting the document to PDF.
Bug SPIREDOC-9934 Fixes the issue that editing restrictions were lost after saving a Doc format document as a new document.

Spire.PDF

Category ID Description
New feature - Adds the new PdfImageHelper interface for image extraction, deletion, replacement and compression.
Key code snippets are as follows:
// Delete image:
imageHelper.DeleteImage(imageInfos[0]);

// Extract images:
int index = 0;
foreach (PdfImageInfo info in imageInfos)
{
    info.Image.Save(outputFile_I + string.Format("Image-{0}.png", index));
    index++;
}

// Replace image:
PdfImage image = PdfImage.FromFile(TestUtil.DataPath + "ImgFiles/E-iceblue logo.png");
imageHelper.ReplaceImage(imageInfos[0], image);

// Compress images:
foreach (PdfPageBase page in doc.Pages)
{
    foreach (PdfImageInfo info in imageHelper.GetImagesInfo(page))
    {
        bool success = info.TryCompressImage();
    }
}
Bug SPIREPDF-5781 Fixes the issue that two columns of the extracted PDF table were merged into one.
Bug SPIREPDF-6225 Fixes the issue that the result document of XPS to PDF conversion was blank.
Bug SPIREPDF-6232 Fixes the issue that it popped up page error when opening PDF converted from XPS with Adobe tools.
Bug SPIREPDF-6355 Fixes the issue that extra characters appeared in the content after converting PDF to XPS.
Bug SPIREPDF-6361 Fixes the issue that the program threw an exception System.NullReferenceException when loading PDF documents.
Bug SPIREPDF-6320 Improves the speed of converting PDF to images.
Bug SPIREPDF-4552 Fixes the issue that the extracted content from PDF was incorrect.
Bug SPIREPDF-5949 Fixes the issue that the resulting file became larger after splitting and merging PDFs.
Bug SPIREPDF-6017 Fixes the issue that the program crashed when converting PDF to SVG on Linux.
Bug SPIREPDF-6273 Fixes the issue that the table content extracted from PDF was incorrect.
Bug SPIREPDF-6301 Fixes the issue that the order of extracted table content was incorrect.
Bug SPIREPDF-6305 Fixes the issue that the text style changed after converting PDF to images.
Bug SPIREPDF-6308 Fixes the issue that documents could still be decrypted without entering a password.
Bug SPIREPDF-6309 Fixes the issue that the program threw an exception "System.NullReferenceException" when comparing and saving PDF
Bug SPIREPDF-6312 Fixes the issue that some content was unclear when printing PDF.
Bug SPIREPDF-6314 Fixes the issue that the program threw an exception "System.ArgumentOutOfRangeException" when converting PDF to SVG.
Bug SPIREPDF-6333 Fixes the issue that the program threw an exception "System.StackOverflowException" when converting PDF to images.
Bug SPIREPDF-6346 Fixes the issue that the program threw an exception "System.NullReferenceException" when extracting text.
Bug SPIREPDF-6348 Fixed an issue that tables were not recognized.

Spire.XLS

Category ID Description
Bug SPIREXLS-4876 Fixed the issue that some cells were missing when convert Excel to HTML.
Bug SPIREXLS-4880 Fixed the issue that the font directory did not take effective when converting Excel to PDF.
Bug SPIREXLS-4904 Fixed the issue that the function SHEET(A3) did not auto calculate.
Bug SPIREXLS-4922 Fixed the problem that the encryption information obtained from a worksheet was incorrect.
Bug SPIREXLS-4925 Fixed the issue that the watermark was incorrect after copying a worksheet.
Bug SPIREXLS-4931 Fixed the issue that the pagination was incorrect when converting Excel to PDF.
Bug SPIREXLS-4933 Fixed the issue that the System.FormatException exception was thrown when loading an Excel document.
Bug SPIREXLS-4942 Fixed the issue that the parentheses were not recognized when converting Excel to images
Bug SPIREXLS-4963 Fixed the issue that some content got lost when copying a custom shape created by Excel 365 to another worksheet.

Spire.Presentation

Category ID Description
New feature SPIREPPT-2378 Supports preserving position information of shapes relative to slides when converting shapes to SVG.
byte[] svgByte = shape.SaveAsSvgInSlide();
FileStream fs = new FileStream("shapePath_" + num + ".svg", FileMode.Create);
fs.Write(svgByte, 0, svgByte.Length);
fs.Close();
New feature SPIREPPT-2379 Supports obtaining the height and width of a text area within a shape.
IAutoShape autoShape = shape as IAutoShape;
SizeF size = autoShape.TextFrame.GetTextSize();
New feature SPIREPPT-2384 Supports retrieving text from different lines within a shape.
Presentation ppt = new Presentation();
ppt.LoadFromFile(inputFile);
ISlide slide = ppt.Slides[0];
for (int i = 0; i < slide.Shapes.Count; i++)
{
    IAutoShape shape = (IAutoShape)slide.Shapes[i];
    File.AppendAllText(outputFile, "shape" + i + ":" + "\r\n");
    IList<LineText> lines = shape.TextFrame.GetLayoutLines();
    for (int j = 0; j < lines.Count; j++)
    {
        File.AppendAllText(outputFile,"line[" + j + "]:" + lines[j].Text + "\r\n");
    }
}
New feature SPIREPPT-2390 Supports retrieving the ShapeID property of an OleObject object.
Presentation ppt = new Presentation();
ppt.LoadFromFile(inputFile);
OleObjectCollection oles = ppt.Slides[0].OleObjects;
OleObject oleObject = oles[0];
StringBuilder sb = new StringBuilder();
sb.AppendLine("ShapeID=" + oleObject.ShapeID);
foreach (DictionaryEntry entry in oleObject.Properties)
{
    sb.AppendLine(entry.Key + ":" + entry.Value);
}
File.AppendAllText(outputFile, sb.ToString());
Bug SPIREPPT-2391 Fixes the issue that the program threw System.InvalidCastException when executing shape.TextFrame.GetTextLocation() method.