We're pleased to announce the release of Spire.Doc for Python 13.8.0. This version adds support for setting chart axis intervals. Meanwhile, several issues related to text box counting, formula display, document comparison, custom properties, and content formatting have also been successfully fixed. More details are listed below.

Here is a list of changes made in this release

Category ID Description
New feature SPIREDOC-11307 Supports setting chart axis intervals.
chart.AxisX.Units.Major = 5
chart.AxisX.Units.MajorTimeUnit= AxisTimeUnit.Days
chart.AxisX.Units.BaseTimeUnit= AxisTimeUnit.Days
New feature SPIREDOC-11211 Synchronizes the setDefaultSubstitutionFontName method to support setting the default substitution font.
doc.DefaultSubstitutionFontName = "SimSun";
Bug SPIREDOC-10473 Fixes the issue where the count of text boxes was incorrect.
Bug SPIREDOC-10842 Fixes the issue where the μ symbol in formulas was displayed incorrectly when converting Word to PDF.
Bug SPIREDOC-10912 Fixes the issue where the program threw an "Arg_NullReferenceException" exception when comparing two Word documents.
Bug SPIREDOC-11024 Fixes the issue where the value of custom document properties was incorrect when added and retrieved.
Bug SPIREDOC-11191 Fixes the issue where the content formatting was incorrect when converting Word to HTML and then back to Word.
Bug SPIREDOC-11210 Fixes the issue where formula characters were garbled when converting Word to HTML.
Bug SPIREDOC-11339 Fixes the issue where an error occurred when obtaining the row containing a cell.
Bug SPIREDOC-11403 Fixes the issue where the program threw an exception when using the PageCount method to obtain the total number of pages in the document.
Click the link to download Spire.Doc for Python 13.8.0:

We’re pleased to announce the release of Spire.PDF 11.8.0. This version optimizes the time consumption for converting PDF to PDFA. Meanwhile, it fixes several issues related to PDF conversion, text extraction, and table content display. More details are listed below.

Here is a list of changes made in this release

Category ID Description
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.
Click the link to download Spire.PDF 11.8.0:
More information of Spire.PDF new release or hotfix:

We’re pleased to announce the release of Spire.PDF for Java 11.8.0. This version addresses several issues to improve the stability and correctness of PDF conversion processes, including fixing memory overflow, transparency loss, and output generation problems. More details are listed below.

Here is a list of changes made in this release

Bug SPIREPDF-7393 Fixes the memory overflow issue caused by circular use of PdfTextReplacer to replace text.
Bug SPIREPDF-7535 Fixes the issue of lost transparency when converting SVG to PDF.
Bug SPIREPDF-7613 Fixes the issue where the output document could not be generated when converting HTML to PDF.
Click the link below to download Spire.PDF for Java 11.8.0:

We are delighted to announce the release of Spire.PDF for C++ 11.8.1. This version fixes compatibility issues when using multiple products together in specific scenarios. More details are listed below.

Here is a list of changes made in this release

Bug SPIREPDF-7643 Fixes compatibility issues when using multiple products together in specific scenarios.
Click the link below to download Spire.PDF for C++ 11.8.1:

We're pleased to announce the release of Spire.XLS for C++ 15.8.1. This release fixes the compatibility issues that occurred when using multiple products simultaneously in specific scenarios. Details are shown below.

Here is a list of changes made in this release

Bug SPIREPDF-7643 Fixed compatibility issues that occurred when using multiple products simultaneously in specific scenarios.
Click the link below to download Spire.XLS for C++ 15.8.1:

We are delighted to announce the release of Spire.Presentation for C++ 10.8.2. The latest version fixes the issue of compatibility problems occurring when multiple products are used simultaneously in specific scenarios. More details are listed below.

Here is a list of changes made in this release

Bug SPIREPDF-7643 Fixes the issue of compatibility problems occurring when multiple products are used simultaneously in specific scenarios.
Click the link below to download Spire.Presentation for C++ 10.8.2:

We’re pleased to announce the release of Spire.Doc for C++ 13.8.2. This update fixes the compatibility issue that occurred when using multiple Spire products simultaneously in specific scenarios.

Here is a list of changes made in this release

Bug SPIREPDF-7643 Fixes the issue where compatibility problems occurred when using multiple Spire products simultaneously in specific scenarios.
Click the link below to download Spire.Doc for C++ 13.8.2:

We’re glad to announce the release of Spire.Presentation for Java 10.8.0. This version optimizes the memory usage and processing time when converting PPTX to PDF, while also fixing several known issues. More details are provided below.

Here is a list of changes made in this release

Optimization SPIREPPT-2896 Optimized memory usage and processing time when converting PPTX to PDF.
Bug SPIREPPT-2877 Fixed the issue where adding a LaTeX formula resulted in incorrect rendering.
Bug SPIREPPT-2890 Fixed the issue where adding a blank paragraph caused incorrect shape height.
Bug SPIREPPT-2907 Fixed the issue where converting ODP to PDF caused the program to throw a "StackOverflowError".
Bug SPIREPPT-2910 Fixed the issue where text was lost when converting PPTX to images.
Bug SPIREPPT-2920 SPIREPPT-2923 Fixed the issue where chart data was incorrect when converting slides to images.
Bug SPIREPPT-2931 Fixed the issue where adding the formula "\to" caused the program to throw a "NullPointerException".
Click the link below to download Spire.Presentation for Java 10.8.0:

We're pleased to announce the release of Spire.Doc 13.8.1. This version supports comparing whether two list levels are consistent and setting or deleting the picture bullet. Besides, it has also made some adjustments to the properties and methods related to the lists in Word. More details are listed below.

Here is a list of changes made in this release

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;
Click the link to download Spire.Doc 13.8.1:
More information of Spire.Doc new release or hotfix:

We are excited to announce the release of Spire.Cloud 10.7.10. The latest version supports the "document protect" function for Excel documents. More details are listed below.

Here is a list of changes made in this release

Category ID Description
New feature - Support the "document protect" function for Excel documents.

Click the link below to download Spire.Cloud 10.7.10:
Page 6 of 9