We are excited to announce the release of Spire.Office 10.8.0. In this version, Spire.Doc supports comparing whether two list levels are consistent; Spire.Presentation enhances the conversion from PPTX to PDF; Spire.PDF supports setting the dimensions of SVG converted from PDF. 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.Barcode, Spire.Email, Spire.DocViewer, Spire.PDFViewer, Spire.OfficeViewer and Spire.DataExport are included.
DLL Versions:
- Spire.Doc.dll v13.8.1
- Spire.PDF.dll v11.8.7
- Spire.XLS.dll v15.8.3
- Spire.Presentation.dll v10.8.2
- Spire.Barcode.dll v7.3.7
- Spire.Email.dll v6.6.3
- Spire.DocViewer.Forms.dll v8.9.1
- Spire.PDFViewer.Asp.dll v8.1.8
- Spire.PDFViewer.Forms.dll v8.1.8
- Spire.Spreadsheet.dll v7.5.2
- Spire.OfficeViewer.Forms.dll v8.8.0
- Spire.DataExport.dll 4.9.0
- Spire.DataExport.ResourceMgr.dll v2.1.0
Click the link to get the version Spire.Office 10.8.0:
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 | - | Added 'ListLevel.Equals' to compare whether two ListLevels are consistent.
// Create a new Document object. Document document = new Document(); //Create list style 1 ListStyle listStyle_1 = document.Styles.Add(ListType.Bulleted, "bulletList"); ListLevelCollection Levels_1 = listStyle_1.ListRef.Levels; ListLevel L0 = Levels_1[0]; ListLevel L1 = Levels_1[1]; ListLevel L2 = Levels_1[2]; ListStyle listStyle_2 = document.Styles.Add(ListType.Bulleted, "bulletList"); ListLevelCollection Levels_2 = listStyle_2.ListRef.Levels; ListLevel l0 = Levels_2[0]; ListLevel l1 = Levels_2[1]; ListLevel l2 = Levels_2[2]; //Create list style 1 L0.ParagraphFormat.LineSpacing = 10 * 1.5f; L1.CharacterFormat.FontSize = 9; L1.IsLegalStyleNumbering = true; L1.PatternType = ListPatternType.Arabic; L1.FollowCharacter = FollowCharacterType.Nothing; L1.BulletCharacter = "\x006e"; L1.NumberAlignment = ListNumberAlignment.Left; L1.NumberPosition = -10; L1.TabSpaceAfter = 0.5f; L1.TextPosition = 0.5f; L1.StartAt = 4; L1.NumberSufix = "Chapter"; L1.NumberPrefix = "No."; L1.NoRestartByHigher = false; L1.UsePrevLevelPattern = false; L2.CharacterFormat.FontName = "Arial"; // Create list style 2 l0.ParagraphFormat.LineSpacing = 10 * 1.5f; l1.CharacterFormat.FontSize = 9; l1.IsLegalStyleNumbering = true; l1.PatternType = ListPatternType.Arabic; l1.FollowCharacter = FollowCharacterType.Nothing; l1.BulletCharacter = "\x006e"; l1.NumberAlignment = ListNumberAlignment.Left; l1.NumberPosition = -10; l1.TabSpaceAfter = 0.5f; l1.TextPosition = 0.5f; l1.StartAt = 4; l1.NumberSufix = "Chapter"; l1.NumberPrefix = "No."; l1.NoRestartByHigher = false; l1.UsePrevLevelPattern = false; l1.CreatePictureBullet(); l2.CharacterFormat.FontName = "Arial"; //Add 'ListLevel.Equals' to compare whether two ListLevels are consistent. bool r0 = L0.Equals(l0); bool r1 = L1.Equals(l1); bool r2 = L2.Equals(l2); |
| New feature | - | Supported setting or deleting the picture bullet.
// Create a new Document object.
Document document = new Document();
//Add a section
Section sec = document.AddSection();
Spire.Doc.Documents.Paragraph paragraph = sec.AddParagraph();
//Create list style
ListStyle listStyle = document.Styles.Add(ListType.Bulleted, "bulletList");
ListLevelCollection Levels = listStyle.ListRef.Levels;
Levels[0].CreatePictureBullet();
Levels[0].PictureBullet.LoadImage(@"logo.jpg");
Levels[1].CreatePictureBullet();
Levels[1].PictureBullet.LoadImage(@"py.jpg");
//Add paragraph and apply the list style
paragraph = sec.AddParagraph();
paragraph.AppendText("List Item 1");
paragraph.ListFormat.ApplyStyle(listStyle);
paragraph = sec.AddParagraph();
paragraph.AppendText("List Item 1.1");
paragraph.ListFormat.ApplyStyle(listStyle);
paragraph.ListFormat.ListLevelNumber = 1;
//DeletePictureBullet
Levels[0].DeletePictureBullet();
//Save doc file.
document.SaveToFile(@"out.docx", FileFormat.Docx);
document.Close();
|
| Optimization | - | Deprecated the “Document.ListStyles” and replaced it with “Document.ListReferences”. Added new methods in “Document.ListReferences” to create ListDefinitionReference classes.
// Create a new Document object.
Document document = new Document();
//Add a section
Section sec = document.AddSection();
Spire.Doc.Documents.Paragraph paragraph = sec.AddParagraph();
//Create listTemplate1
ListTemplate template = ListTemplate.BulletDefault;
ListDefinitionReference listRef = document.ListReferences.Add(template);
//Create listTemplate2
ListTemplate template1 = ListTemplate.NumberDefault;
ListDefinitionReference listRef1 = document.ListReferences.Add(template1);
listRef1.Levels[2].StartAt = 4;
int levelcount = listRef.Levels.Count;
//Add paragraph and apply the list style
paragraph = sec.AddParagraph();
paragraph.AppendText("List Item 1");
paragraph.ListFormat.ApplyListRef(listRef, 1);
paragraph = sec.AddParagraph();
paragraph.AppendText("List Item 2");
paragraph.ListFormat.ApplyListRef(listRef, 2);
//Add paragraph and apply the list style
paragraph = sec.AddParagraph();
paragraph.AppendText("List Item 3");
paragraph.ListFormat.ApplyListRef(listRef1, 1);
paragraph = sec.AddParagraph();
paragraph.AppendText("List Item 4");
paragraph.ListFormat.ApplyListRef(listRef1, 2);
//Save doc file.
document.SaveToFile("out.docx", FileFormat.Docx);
document.Close();
|
| Optimization | - | The public constructor for “ListStyle” has been removed. “ListStyle” objects are now managed within the “Document.Styles” collection and should be created using the “StyleCollection.Add(ListType listType, string name)” method.
ListStyle listStyle = document.Styles.Add(ListType.Numbered, "levelstyle"); listStyle.IsCustomStyle = true; listStyle.CharacterFormat.FontName = "Trebuchet MS"; ListLevelCollection levels = listStyle.ListRef.Levels; levels[0].PatternType = ListPatternType.Arabic; levels[0].StartAt = 1; levels[0].CharacterFormat.FontName = "Trebuchet MS"; |
| Optimization | - | Changed to apply the list style using "ListFormat.AppleStyle" or "ListFormat.AppleListRef(ListDefinitionReference list, int leverNode)" method. |
| Optimization | - | Changed the property “ListFormat.CurrentListStyle” to “ListFormat.CurrentListRef”. |
| Optimization | - | Removed “ListFormat.IsRistNumbering” and “ListFormat.CustomStyleName”. |
| Optimization | - | Changed to set the List “starting number” using the following method.
ListStyle numberList2 = document.Styles.Add(ListType.Numbered, "Numbered2"); ListLevelCollection Levels = numberList2.ListRef.Levels; Levels[0].StartAt = 10; |
Spire.Presentation
| Category | ID | Description |
| Update | - | .NET Core 2.0
Microsoft.Win32.Registry >= 4.5.0 System.Drawing.Common >= 4.7.2 System.Security.Permissions >= 4.7.0 System.Text.Encoding.CodePages >= 4.5.0 System.Security.Cryptography.Pkcs >= 4.7.0 System.Security.Cryptography.Xml >=4.7.1 HarfBuzzSharp >=8.3.0.1 |
| Update | - SPIREPDF-7427 | .NET 6.0
Microsoft.Win32.Registry >= 5.0.0 System.Drawing.Common >= 6.0.0 System.Security.Permissions >= 6.0.0 System.Text.Encoding.CodePages >= 6.0.0 System.Security.Cryptography.Pkcs >= 6.0.5 System.Security.Cryptography.Xml >= 6.0.2 HarfBuzzSharp >=8.3.0.1 |
| Bug | SPIREPPT-2885 | Fixed an issue where the default fallback font setting was not applied correctly when converting PPTX to PDF. |
| Bug | SPIREPPT-2889 | Fixed an issue where the background color was incorrect when converting PPTX to PDF. |
| Bug | SPIREPPT-2893 | Fixed an issue where the text font size became smaller when converting PPTX to PDF. |
| Bug | SPIREPDF-7359 | Fixes incorrect rendering when drawing images to PDF pages. |
| Bug | SPIREPPT-2909 | Fixed an issue where the text formatting was incorrect when converting PPTX to PDF. |
| Bug | SPIREPPT-2933 | Fixed an issue where the shape formatting was incorrect when converting PPTX to PDF. |
| Bug | SPIREPPT-2935 SPIREPDF-7561 | Fixed an issue where the shape color was incorrect when converting PPTX to PDF. |
| Bug | SPIREPPT-2936 | Fixed an issue where extra boxes appeared when converting PPTX to PDF. |
Spire.PDF
| Category | ID | Description |
| New feature | SPIREPDF-7649 | Supports setting the width and height of SVG files when converting PDF to SVG.
PdfToSvgConverter converter = new PdfToSvgConverter(inputFile); converter.SvgOptions.ScaleX = (float)0.5; converter.SvgOptions.ScaleY = (float)0.5; converter.Convert(outputFile); |
| Bug | SPIREPDF-5710 | Fixed an issue where text direction was incorrectly reversed when adding EMF images to PDF. |
| Bug | SPIREPDF-7443 | Fixed an issue where LinearGradient and RadialGradient effects were not supported when converting PDF to SVG format. |
| Bug | SPIREPDF-7478 | Fixed an issue where font styles were incorrect when replacing text in PDF. |
| Bug | SPIREPDF-7539 | Fixed an issue where no output file could be generated when converting HTML to PDF using QT in a container environment. |
| Bug | SPIREPDF-7594 | Fixed an issue where HTML files generated from PDF conversion could not be edited normally in the "jodit-react WYSIWYG" editor. |
| Bug | SPIREPDF-7628 | Fixed an issue where the program threw an InvalidOperationException when concurrently adding text to PDF Layers. |
| Bug | SPIREPDF-7661 | Fixed an issue where the output image quality was blurry when converting PDF to images. |
| Bug | SPIREPDF-7671 | Fixed an issue where text fonts were changed when converting OFD to PDF. |
| Optimization | SPIREPDF-7471 | Optimizes the time consumption for converting PDF to PDFA. |
| Adjustment | — | Upgrades some dependency versions in .NET Core 2.0 and .NET 6.0. |
| Bug | SPIREPDF-7454 | Fixes the issue where content discrepancies occurred when converting PDF to TIFF images. |
| Bug | SPIREPDF-7515 | Fixes the issue where text was converted to images when converting a PDF to PPTX. |
| Bug | SPIREPDF-7557 | Fixes the issue where converted TIFF images appeared blurry and text turned into black blocks when converting PDF to TIFF. |
| Bug | SPIREPDF-7586 | Fixes the issue where the remaining text in table cells was not displayed on the next page when encountering line breaks during page breaks. |
| Bug | SPIREPDF-7610 | Fixes the issue where the program threw an "illegal Subtype 'Type2' in font dictionary" exception when extracting text from a PDF document. |
| Bug | SPIREPDF-7618 | Fixes the issue where the generated image dimensions were incorrect when using custom DPI for image conversion. |
| Bug | SPIREPDF-7621 | Fixes the issue where the program threw an "Object reference not set to an instance of an object" exception when replacing text. |