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