Spire.Doc for Python 13.8.0 supports setting chart axis intervals
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. |
Spire.PDF 11.8.0 optimizes the time consumption for converting PDF to PDFA
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. |
Spire.PDF for Java 11.8.0 enhances SVG and HTML to PDF conversion
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. |
Spire.PDF for C++ 11.8.1 enhances multi-product use compatibility
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. |
Spire.XLS for C++ 15.8.1 fixes a compatibility issue
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. |
Spire.Presentation for C++ 10.8.2 fixes the issue of compatibility problems
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. |
Spire.Doc for C++ fixes a compatibility issue
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. |
Spire.Presentation for Java 10.8.0 enhances the conversion from PPTX to PDF
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". |
Spire.Doc 13.8.1 supports comparing whether two list levels are consistent
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; |
Spire.Cloud 10.7.10 supports the "document protect" function for Excel documents
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. |
