Spire.XLS for Java 15.9.1 enhances the conversion from Excel to HTML
We're pleased to announce the release of Spire.XLS for Java 15.9.1. This version enhances the conversion from Excel to HTML. Besides, some known bugs are fixed in the new version, such as the issue where an "IllegalStateException" exception was thrown when saving an XLSB file. More details are listed below.
Here is a list of changes made in this release
| Category | ID | Description |
| Bug | SPIREXLS-5927 | Fixed an issue causing extra content and missing blank lines when converting Excel to HTML. |
| Bug | SPIREXLS-5942 | Fixed an issue where an "IllegalStateException" exception was thrown when saving an XLSB file. |
| Bug | SPIREXLS-5944 | Fixed an issue causing pagination differences when converting Excel to PDF. |
| Bug | SPIREXLS-5946 | Fixed an issue where ChartPlotEmptyType changed from Interpolated to Gap when cloning a worksheet. |
Spire.Doc 13.9.3 supports adding PDF digital signatures and timestamps for Word to PDF conversion
We're pleased to announce the release of Spire.Doc 13.9.3. This version introduces public classes that enable adding digital signatures and timestamps when saving PDF documents. It also exposes bookmark column properties, adds search options for OfficeMath handling during text replacement, and supports setting page layout when converting to PDF. In addition, several issues related to Word-to-PDF conversion, document loading, and page counting have been fixed. See the full details below.
Here is a list of changes made in this release
| Category | ID | Description |
| New feature | - | Adds public classes PdfDigitalSignatureHashAlgorithm, PdfDigitalSignatureInfo, and PdfDigitalSignatureTimestampConfiguration to enable adding digital signatures and timestamps when saving PDF documents.
Document sDoc = new Document();
sDoc.LoadFromFile(inputFile);
ToPdfParameterList toPdfParameter = new ToPdfParameterList();
toPdfParameter.DigitalSignatureInfo = new PdfDigitalSignatureInfo(pfxInputFile, pfxPassword, "Test signing", "Spire Doc");
toPdfParameter.DigitalSignatureInfo.HashAlgorithm = PdfDigitalSignatureHashAlgorithm.RipeMD160;
toPdfParameter.DigitalSignatureInfo.SignatureDate = nowDateTime;
toPdfParameter.DigitalSignatureInfo.TimestampConfiguration = new PdfDigitalSignatureTimestampConfiguration("https://freetsa.org/tsr", "bill", "Password");
sDoc.SaveToFile(outputFile3, toPdfParameter);
|
| New feature | SPIREDOC-11376 | The Bookmark object now exposes FirstColumn and LastColumn properties, supporting retrieval of the column where a bookmark starts and where it ends.
int firstColumn = doc.Bookmarks["t_insert"].FirstColumn; int lastColumn = doc.Bookmarks["t_insert"].LastColumn; |
| New feature | SPIREDOC-11445 | Adds the SearchOptions class, supporting the option to ignore or include OfficeMath formula text during text replacement.
SearchOptions op = new SearchOptions();
op.IgnoreOfficeMath = false;
doc.Replace("ab","new", op);
|
| New feature | SPIREDOC-11452 | Adds the PageLayout property to support setting page layout when converting to PDF. The enumeration types are as follows: Default: Does not write a value; displayed according to the PDF reader's default view. SinglePage: Single page view. OneColumn: Continuous single-page view. TwoColumnLeft: Continuous two-page view, odd-numbered pages on the left. TwoColumnRight: Continuous two-page view, odd-numbered pages on the right. TwoPageLeft: Two-page view, odd-numbered pages on the left. TwoPageRight: Two-page view, odd-numbered pages on the right.
Document doc = new Document("xx.docx");
ToPdfParameterList toPdf = new ToPdfParameterList(){ PageLayout = PdfPageLayout.TwoColumnLeft };
doc.SaveToFile("xx.pdf", toPdf);
|
| Bug | SPIREDOC-10022 | Fixes incorrect parsing of LaTeX formulas. |
| Bug | SPIREDOC-10885 | Fixes inconsistent table styles when converting Word to PDF. |
| Bug | SPIREDOC-10992 | Fixes header images being obscured when converting Word to PDF. |
| Bug | SPIREDOC-11018 | Fixes incorrect text positioning when converting Word to PDF. |
| Bug | SPIREDOC-11041 | Fixes incorrect paragraph indentation when converting Word to PDF. |
| Bug | SPIREDOC-11129 | Fixes table content shifting when converting Word to PDF. |
| Bug | SPIREDOC-11184 SPIREDOC-11391 | Fixes inconsistent table styles when converting Word to PDF. |
| Bug | SPIREDOC-11384 | Fixes extra blank pages appearing when converting Word to PDF. |
| Bug | SPIREDOC-11423 | Fixes System.NullReferenceException thrown when converting Word to PDF. |
| Bug | SPIREDOC-11438 | Fixes ArgumentOutOfRangeException thrown when loading a Word document. |
| Bug | SPIREDOC-11512 | Fixes incorrect page count retrieval. |
Spire.PDFViewer 8.1.8 supports MAUI on Windows
We are excited to announce the release of Sprie.PDFViewer 8.1.8. This update introduces support for MAUI on Windows and resolves the issue of incomplete PDF content display. For more details, see below.
Here is a list of changes made in this release
| Category | ID | Description |
| New feature | - | Added support for MAUI on Windows.(New product) |
| New feature | SPIREPDFVIEWER-610 | Added support in WinForm for applying border effect when selecting pages in Page Thumbnails. |
| Bug | SPIREPDFVIEWER-465 | Fixed the issue where the content of a PDF cannot fully display in WinForm. |
Spire.PDF for Python 11.9.0 supports adding tables to PDF
We're pleased to announce the release of Spire.PDF for Python 11.9.0. This version supports adding tables to PDF and adding annotations to multi-line text. Besides, an issue that occurred in the HTML files generated from PDFs has also been fixed. More details are listed below.
Here is a list of changes made in this release
| Category | ID | Description |
| New feature | SPIREPDF-7343 | Supports adding tables in PDF.
pdf = PdfDocument()
page = pdf.Pages.Add(PdfPageSize.A3())
pen = PdfPen(PdfRGBColor(Color.get_Black()), 0.1)
#Set line border location and size
x = 5.0
y = 5.0
width = page.Size.Width - (x * 2)
height = page.Size.Height - (y * 2)
page.Canvas.DrawRectangle(pen, x, y, width, height)
# Add table
grid = PdfGrid()
row = grid.Rows.Add()
grid.Columns.Add(2)
for i in range(grid.Columns.Count):
grid.Columns[i].Width = 50
row.Cells[i].Value = "add{0:d}".format(i + 1)
border = PdfBorders()
border.All = PdfPen(Color.get_Gray())
for j in range(grid.Rows.Count):
cells = grid.Rows.get_Item(j).Cells
for k in range(cells.Count):
cells.get_Item(k).Style.Borders = border
#Draw the grid table
grid.Draw(page, PointF(50.0, 50.0))
pdf.SaveToFile(outputFile)
pdf.Close()
|
| New feature | SPIREPDF-7501 | Supports adding annotations to multi-line text.
pdf = PdfDocument()
pdf.LoadFromFile(inputFile)
page = pdf.Pages[0];
finder = PdfTextFinder(page)
finder.Options.Parameter = TextFindParameter.WholeWord
finder.Options.Parameter = TextFindParameter.IgnoreCase
fragments = finder.Find("An older meaning still in use today is that of Aristotle, for whom scientific knowledge was a body of reliable knowledge that can be logically and rationally explained.")
textFragment = fragments[0]
text = "There is a markup annotation added by Spire.PDF for .NET."
quadPoints = [None for _ in range(len(textFragment.Bounds) * 4)]
for i in range(len(textFragment.Bounds)):
rect = textFragment.Bounds[i]
quadPoints[4 * i] = PointF(rect.Left, rect.Top)
quadPoints[4 * i + 1] = PointF(rect.Right, rect.Top)
quadPoints[4 * i + 2] = PointF(rect.Left, rect.Bottom)
quadPoints[4 * i + 3] = PointF(rect.Right, rect.Bottom)
annotation = PdfTextMarkupAnnotation(textFragment.Bounds[0], quadPoints)
annotation.Text = text
annotation.TextMarkupColor = PdfRGBColor(Color.get_Blue())
page.Annotations.Add(annotation)
pdf.SaveToFile(outputFile)
|
| New feature | SPIREPDF-7527 | Supports setting DPI when converting PDF to image.
pdf.SaveAsImage(pageIndex,dpiX,dpiY) |
| Bug | SPIREPDF-7594 | Fixes an issue where HTML files generated from PDF could not be edited normally in the "jodit-react WYSIWYG" editor. |
Spire.Office 10.8.0 is released
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
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. |
Spire.Office for Java 10.8.0 is released
We’re pleased to announce the release of Spire.Office for Java 10.8.0. This version mainly fixed many known issues that occurred when converting or processing Word, Excel, PowerPoint, and PDF files. For example, Spire.Doc for Java fixed the issue where updating TOC fields failed; Spire.PDF for Java fixed a memory overflow occurred when repeatedly using PdfTextReplacer. More details are listed below.
Here is a list of changes made in this release
Spire.Doc for Java
| Category | ID | Description |
| Bug | SPIREDOC-10205 | Fixed the issue where the minus sign in formulas appeared as a square box when converting Word to PDF. |
| Bug | SPIREDOC-10730 | Fixed the issue where updating TOC (Table of Contents) fields failed. |
| Bug | SPIREDOC-11196 | Fixed the issue where certain characters became garbled when converting Word to PDF. |
| Bug | SPIREDOC-11372 | Fixed the issue where chart trend lines were lost when converting Word to PDF. |
| Bug | SPIREDOC-11378 | Fixed the issue where bookmarks were lost when splitting Word documents. |
| Bug | SPIREDOC-11400 | Fixed the "NullPointerException" thrown when loading a document using FixedLayoutDocument. |
| Bug | SPIREDOC-11413 | Fixed the issue where revision tracking was not recorded during text replacement. |
| Bug | SPIREDOC-11414 SPIREDOC-11460 | Fixed the issue where accepting revisions had no effect. |
| Bug | SPIREDOC-11419 | Fixed the "Specified argument was out of the range of valid values" exception when retrieving list numbering. |
| Bug | SPIREDOC-11424 | Fixed the "NullPointerException" thrown when converting Word to PDF. |
| Bug | SPIREDOC-11427 | Fixed the issue where header images were stretched when converting Word to PDF. |
| Bug | SPIREDOC-11437 | Fixed the "Specified argument was out of the range of valid values" exception when loading a Word document. |
| Bug | SPIREDOC-11447 | Fixed the issue where content was incomplete when converting Word to PDF. |
| Bug | SPIREDOC-11461 | Fixed the issue where images were lost when converting HTML to Word. |
Spire.XLS for Java
| Category | ID | Description |
| New feature | SPIREXLS-5879 | Supported converting Excel to HTML while preserving comments.
HTMLOptions options = new HTMLOptions(); options.isSaveComment(true); |
| Bug | SPIREXLS-5820 | Fixed incorrect checkboxes when converting Excel to PDF. |
| Bug | SPIREXLS-5887 | Fixed the issue where non-compliant defaultColWidthPt attribute was added when saving Excel documents according to the OpenXML specification. |
| Bug | SPIREXLS-5897 | Fixed incorrect conversion of plain text to `` tag content when converting a worksheet to HTML. |
| Bug | SPIREXLS-5901 | Fixed incorrect text alignment when converting Excel to PDF. |
| Bug | SPIREXLS-5905 | Fixed text truncation issues when converting Excel to PDF. |
| Bug | SPIREXLS-5906 | Fixed incorrect column widths when converting XLSX to XLSM. |
| Bug | SPIREXLS-5916 | Fixed "NullPointerException" thrown when saving Excel documents. |
Spire.Presentation for Java
| Category | ID | Description |
| 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.PDF for Java
| Category | ID | Description |
| Optimization | SPIREPDF-6325 | Optimized memory consumption when converting PDF to OFD. |
| Bug | SPIREPDF-7393 | Fixed the memory overflow issue caused by circular use of PdfTextReplacer to replace text. |
| Bug | SPIREPDF-7535 | Fixed the issue of lost transparency when converting SVG to PDF. |
| Bug | SPIREPDF-7613 | Fixed the issue where the output document could not be generated when converting HTML to PDF. |
| Bug | SPIREPDF-7445 | Fixed the issue that full-width English symbols and letters were garbled when converting SVG to PDF. |
Spire.Doc for Java 13.8.7 enhances the conversion from Word to PDF and HTML to Word
We're pleased to announce the release of Spire.Doc for Java 13.8.7. This version focuses on improving stability by fixing various issues, including Word-to-PDF conversion errors, revision tracking problems, and document loading exceptions. See the details below.
Here is a list of changes made in this release
| Category | ID | Description |
| Bug | SPIREDOC-10205 | Fixes the issue where the minus sign in formulas appeared as a square box when converting Word to PDF. |
| Bug | SPIREDOC-10730 | Fixes the issue where updating TOC (Table of Contents) fields failed. |
| Bug | SPIREDOC-11196 | Fixes the issue where certain characters became garbled when converting Word to PDF. |
| Bug | SPIREDOC-11372 | Fixes the issue where chart trend lines were lost when converting Word to PDF. |
| Bug | SPIREDOC-11378 | Fixes the issue where bookmarks were lost when splitting Word documents. |
| Bug | SPIREDOC-11400 | Fixes the "NullPointerException" thrown when loading a document using FixedLayoutDocument. |
| Bug | SPIREDOC-11413 | Fixes the issue where revision tracking was not recorded during text replacement. |
| Bug | SPIREDOC-11414 SPIREDOC-11460 | Fixes the issue where accepting revisions had no effect. |
| Bug | SPIREDOC-11419 | Fixes the "Specified argument was out of the range of valid values" exception when retrieving list numbering. |
| Bug | SPIREDOC-11424 | Fixes the "NullPointerException" thrown when converting Word to PDF. |
| Bug | SPIREDOC-11427 | Fixes the issue where header images were stretched when converting Word to PDF. |
| Bug | SPIREDOC-11437 | Fixes the "Specified argument was out of the range of valid values" exception when loading a Word document. |
| Bug | SPIREDOC-11447 | Fixes the issue where content was incomplete when converting Word to PDF. |
| Bug | SPIREDOC-11461 | Fixes the issue where images were lost when converting HTML to Word. |
Spire.PDF 11.8.7 supports setting the dimensions of SVG converted from PDF
We’re pleased to announce the release of Spire.PDF for .NET 11.8.7. This version supports setting the width and height of the SVG files converted from PDFs. Meanwhile, it fixes several bugs related to file format conversion and text replacement. More details are given below.
Here is a list of changes made in this release
| 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. |
Spire.Presentation for Python 10.8.1 enhances the conversion from PPTX to images
We're glad to announce the release of Spire.Presentation for Python 10.8.1. This version fixes several issues that occurred when converting PPTX to images and adding SVG files. Check below for the details.
Here is a list of changes made in this release
| Category | ID | Description |
| Bug | SPIREPPT-2937 | Fixed an issue where the program throws an exception when adding SVG files. |
| Bug | SPIREPPT-2941 | Fixed an issue where titles are missing when converting PPTX to images. |
| Bug | SPIREPPT-2942 | Fixed an issue where the background color turns black when converting PPTX to images. |
| Bug | SPIREPPT-2943 | Fixed an issue where shadow colors are incorrect when converting PPTX to images. |
Spire.XLS 15.8.3 supports FORMULATEXT and PDURATION functions
We're pleased to announce the release of Spire.XLS 15.8.3. This version adds support for the FORMULATEXT and PDURATION functions. Meanwhile, several issues that occurred when converting Excel to PDF or images, saving workbooks, handling PivotTables, and preserving cell styles 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 | SPIREXLS-5800 | Supports the FORMULATEXT function.
sheet.Range["D2"].Formula = "=FORMULATEXT(B2)"; |
| New feature | SPIREXLS-5895 | Supports the PDURATION function.
sheet.Range["B2"].Formula = "=PDURATION(2.5%,2000,2200)"; |
| Bug | SPIREXLS-5878 | Fixed an issue where text line breaks were incorrect when converting Excel to PDF. |
| Bug | SPIREXLS-5884 | Fixed an issue where deleting strikethrough formatting was affected by selected cells with conditional formatting after saving Excel. |
| Bug | SPIREXLS-5889 | Fixed an issue where content was lost when saving Excel to SVG. |
| Bug | SPIREXLS-5892 | Fixed an issue where saving a workbook after creating a group in a PivotTable resulted in a corrupted file or content errors upon opening. |
| Bug | SPIREXLS-5898 | Fixed an issue where formulas became incorrect after moving cells. |
| Bug | SPIREXLS-5899 | Fixed an issue where charts were missing when converting Excel to images. |
| Bug | SPIREXLS-5900 | Fixed an issue where cell styles were not preserved when inserting data using InsertDataTable. |