Spire.Doc 13.12.6 adds document compatibility settings based on Word versions
We are pleased to announce the release of Spire.Doc 13.12.6. This version added a new set of document compatibility features, allowing developers to perform compatibility operations by targeting specific Word versions. In addition, an issue related to incorrect page numbers during Word-to-PDF conversion was fixed. Details are listed below.
Here is a list of changes made in this release
| Category | ID | Description |
| New feature | SPIREDOC-10448 | Added a CompatibilityOptions property to the Document class for performing compatibility operations on documents.
Document doc = new Document();
doc.CompatibilityOptions.UlTrailSpace = false;
doc.CompatibilityOptions.AdjustLineHeightInTable = true;
doc.CompatibilityOptions.SpaceForUL = true;
doc.CompatibilityOptions.ApplyBreakingRules = true;
doc.CompatibilityOptions.DoNotExpandShiftReturn = false;
doc.CompatibilityOptions.OverrideTableStyleFontSizeAndJustification = false;
doc.CompatibilityOptions.DoNotAutofitConstrainedTables = true;
doc.SaveToFile("outputFile");
|
| New feature | - | Added the CompatibilityOptions class, CompatibilityTypes enumeration, and WordVersion enumeration to the Spire.Doc.Settings namespace.
Document doc = new Document();
doc.LoadFromFile("inputtFile");
Spire.Doc.Settings.CompatibilityOptions options = doc.CompatibilityOptions;
|
| New feature | - | Added the OptimizeForWordVersion() method to the CompatibilityOptions class, enabling document compatibility to be set by specifying a Word version.
Document doc = new Document();
doc.LoadFromFile(inputFile);
// Set properties
doc.CompatibilityOptions.UlTrailSpace = false;
doc.CompatibilityOptions.AdjustLineHeightInTable = true;
doc.CompatibilityOptions.SpaceForUL = true;
doc.CompatibilityOptions.ApplyBreakingRules = true;
doc.CompatibilityOptions.DoNotExpandShiftReturn = false;
doc.CompatibilityOptions.OverrideTableStyleFontSizeAndJustification = false;
doc.CompatibilityOptions.DoNotAutofitConstrainedTables = true;
// Set FileFormat when saving to preserve effects
doc.SaveToFile(outputFile_after, FileFormat.Docx2016);
// Using version compatibility will reset previously set properties
Spire.Doc.Settings.CompatibilityOptions options = doc.CompatibilityOptions;
doc.CompatibilityOptions.OptimizeForWordVersion(WordVersion.Word2016);
PrintCompatibilityOptions(options, outputFile);
doc.Close();
|
| Bug | SPIREDOC-11708 | Fixed the issue where page numbers were incorrect when converting Word documents to PDF. |
Spire.PDF for Python 11.12.1 supports timestamping digital signatures
We’re pleased to announce the release of Spire.PDF for Python 11.12.1. This update brings several new features, including timestamping digital signatures, configuring options when converting PDF to Excel, and ignoring images when converting PDF to Markdown. Meanwhile, it fixes two known issues as well. More details are as follows.
Here is a list of changes made in this release
| Category | ID | Description |
| New feature | SPIREPDF-7326 | Added support for timestamping digital signatures.
doc = PdfDocument ()
doc. LoadFromFile (inputFile)
# Create a digital signature
signature = Security_PdfSignature (doc, doc.Pages.get_Item(0), inputFile_pfx,"08100601", "signature")
signature.SignDetailsFont = PdfFont(PdfFontFamily.Courier,8.0)
# Set the bounds of the signature box
signature.Bounds = RectangleF(PointF(90.0, 550.0), SizeF (180.0, 90.0))
# Configure signature appearance and details
signature.NameLabel = "Digitally signed by:Gary"
signature.LocationInfoLabel ="Location:"
signature.LocationInfo = "CN"
signature.ReasonLabel = "Reaseon:"
signature.Reason = "Ensure authenticity"
signature.ContactInfoLabel = "Contact Number:"
signature.ContactInfo = "028-81705109"
# Set document permissions
signature.DocumentPermissions = PdfCertificationFlags.ForbidChanges.value
# Set graphic mode for the signature
signature.GraphicsMode = Security_GraphicMode.SignImageAndSignDetail
# Set the signature image
signature.SignImageSource = PdfImage.FromFile(inputImage)
#When setting “none", the Image and Detail are distributed on both sides, when setting “Stretch", the image extends to the entire signatu
signature.SignImageLayout = SignImageLayout.none
url = "https://freetsa.org/tsr"
signature.ConfigureTimestamp(url)
signature.ConfigureHttpOCSP (None, None)
signature.Certificated = True
doc.SaveToFile(outputFile)
doc.Close()
|
| New feature | - | Added support for configuring text layout options when converting PDF to Excel.
pdf = PdfDocument() pdf.LoadFromFile(inputFile) textOption = XlsxTextLayoutOptions(True, False, False) pdf.ConvertOptions.SetPdfToXlsxOptions(textOption) pdf.SaveToFile(outputFile, FileFormat.XLSX) pdf.Dispose() |
| New feature | - | Added support for configuring line layout options when converting PDF to Excel.
pdf = PdfDocument() pdf.LoadFromFile(inputFile) lineOption = XlsxLineLayoutOptions(False,False,False,False) pdf.ConvertOptions.SetPdfToXlsxOptions(lineOption) pdf.SaveToFile(outputFile, FileFormat.XLSX) pdf.Dispose() |
| New feature | - | Added support for configuring table layout options when converting PDF to Excel.
# Load the PDF document from the specified input file path pdf.LoadFromFile(inputFile) # Set the XlsxSpecialTableLayoutOptions as the conversion options for PDF to XLSX conversion options = XlsxSpecialTableLayoutOptions(False, False, False) # Save the PDF document as an Excel file using the specified format and options pdf.SaveToFile(outputFile, FileFormat.XLSX) |
| New feature | - | Added support for configuring OFD conversion options.
pdf = PdfDocument () pdf. LoadFromFile (inputFile) ofdOptions = OfdOptions() ofdOptions.UseTempFileStorage = True pdf.ConvertOptions.SetPdfToOfdOptions(ofdOptions) pdf.SaveToFile(outputFile,FileFormat.OFD) |
| New feature | - | Added support for ignoring images when converting PDF to Markdown.
# Create an instance of PdfToMarkdownConverter with the input PDF file converter = PdfToMarkdownConverter(inputFile) # Configure the converter to skip processing images in the PDF converter.MarkdownOptions.IgnoreImage = True # Convert the PDF content to Markdown format and save to the output file converter.ConvertToMarkdown(outputFile) |
| New feature | SPIREPDF-7870 | Added support for configuring SVG output width and height when converting PDF to SVG.
converter = PdfToSvgConverter(inputFile) converter.SvgOptions.ScaleX = 1.0 converter.SvgOptions.ScaleY = 1.0 converter.Convert(outputFile) |
| Bug | SPIREPDF-7670 | Fixed an issue where table borders were lost when converting PDF to PPTX. |
| Bug | SPIREPDF-7868 | Fixed an exception thrown when setting cell borders on PdfGrid. |
Spire.OCR for Python 1.9.13 introduces platform adjustments and enhances OCR recognition accuracy
We are pleased to announce the release of Spire.OCR for Python 1.9.13. This release introduced platform and dependency adjustments and enhanced error handling and OCR recognition capabilities. Details are listed below.
Here is a list of changes made in this release
| Category | ID | Description |
| Adjustment | - | Upgraded SkiaSharp to 3.116.1. |
| Adjustment | - | Added support for the Linux-ARM platform. |
| Adjustment | - | Changed license usage to spire.ocr.LicenseProvider; the common license object was no longer used. |
| Enhancement | SPIREOCR-111 | Enhanced error handling: when the system library libdl.so was unavailable, image scanning returned a clear error message. |
| Enhancement | - | Enhanced OCR recognition capability:
1. Supported recognition of rotated images. configureOptions.AutoRotate = True 2. Supported outputting recognized text in the order of its original positions on the image. visualText = VisualTextAligner(scanner.Text)text = visualText.ToString() |
Spire.Doc 13.12.2 supports the "Two Lines in One" function to enhance Word to PDF conversion
We're pleased to announce the release of Spire.Doc 13.12.2. This version supports the "Two Lines in One" function, enhancing the effect of converting Word to PDF. It also adds support for setting the "Horizontal in Vertical" property of Paragraph text, copying styles from template documents when converting Markdown to Docx, and retrieving style change revisions. Meanwhile, some issues that occurred when converting or loading Word documents 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-5504 | Supports setting the "Horizontal in Vertical" property of Paragraph text.
Document doc = new Document();
Section section = doc.AddSection();
Spire.Doc.Documents.Paragraph paragraph = section.AddParagraph();
Spire.Doc.Fields.TextRange farEastLayout = paragraph.AppendText("test");
FarEastLayout style = new FarEastLayout();
style.Vertical = true;
farEastLayout.CharacterFormat.FarEastLayout = style;
doc.SaveToFile(outputFile, FileFormat.Docx);
doc.Close();
|
| New Feature | SPIREDOC-11073 | Supports copying styles from template documents when converting Markdown to Docx.
//Load template documents with existing styles
Document temple = new Document();
temple.LoadFromFile("temple.docx");
//Load markdown file
Document doc = new Document();
doc = new Document(@"Doc.md");
//Copy styles from template documents
doc.CopyStylesFromTemplate(temple);
//Save
doc.SaveToFile(@"Doc.docx", Spire.Doc.FileFormat.Docx2016);
|
| New Feature | – | Supports the "Two Lines in One" function to enhance Word to PDF conversion. |
| New Feature | – | Supports retrieving style change revisions.
Document doc = new Document();
doc.LoadFromFile(inputFile);
RevisionInfoCollection revisionInfoCollection = doc.GetRevisionInfos();
StringBuilder sb = new StringBuilder();
foreach (RevisionInfo revisionInfo in revisionInfoCollection)
{
if (revisionInfo.RevisionType == RevisionType.FormatChange)
{
if (revisionInfo.OwnerObject is Spire.Doc.Fields.TextRange)
{
TextRange range = (TextRange)revisionInfo.OwnerObject;
sb.AppendLine("TextRange:" + range.Text + "\r\n");
doc.RevisionsView = RevisionsView.Original;
sb.AppendLine("Original style:" + "isBold:" + range.CharacterFormat.Bold + ";" + "TextColor:" + range.CharacterFormat.TextColor + ";HighlightColor:" + range.CharacterFormat.HighlightColor + ";FontName:" + range.CharacterFormat.FontName + ";UnderlineStyle:" + range.CharacterFormat.UnderlineStyle + "\r\n");
doc.RevisionsView = RevisionsView.Final;
sb.AppendLine("Final style:" + "isBold:" + range.CharacterFormat.Bold + ";" + "TextColor:" + range.CharacterFormat.TextColor + ";HighlightColor:" + range.CharacterFormat.HighlightColor + ";FontName:" + range.CharacterFormat.FontName + ";UnderlineStyle:" + range.CharacterFormat.UnderlineStyle + "\r\n");
}
}
}
File.WriteAllText(outputFile, sb.ToString());
doc.Close();
|
| Bug Fix | SPIREDOC-10859 | Fixed issue with incorrect header appearance when converting Word to PDF. |
| Bug Fix | SPIREDOC-11005 | Fixed issue with loss of image transparency when converting Word to PDF/A-3B. |
| Bug Fix | SPIREDOC-11579 | Fixed issue with incorrect rendering when converting Word to PDF. |
| Bug Fix | SPIREDOC-11623 | Fixed issue where converting Word to PDF threw a "System.NullReferenceException". |
| Bug Fix | SPIREDOC-11644 | Fixed issue with incorrect fonts when converting Word to images. |
| Bug Fix | SPIREDOC-11659 | Fixed issue where copying headers threw an "Object reference not set to an instance of an object" error. |
| Bug Fix | SPIREDOC-11680 | Fixed issue where loading a signed document threw a "System.FormatException" error. |
| Bug Fix | SPIREDOC-11696 | Fixed issue where the doc.HtmlUrlLoadEvent could not be used in the latest version. |
| Bug Fix | SPIREDOC-11700 | Fixed issue with incorrect page number updates in the table of contents. |
Spire.Doc for Java 13.12.2 supports verifying whether the write-protection password is correct
We're pleased to announce the release of Spire.Doc for Java 13.12.2. This version supports verifying whether the write-protection password is correct, and also fixes some issues that occurred when converting Word to PDF, HTML to Word, and replacing bookmarks. More details are listed below.
Here is a list of changes made in this release
| Category | ID | Description |
| New feature | - | Added a new method to support verifying whether the write-protection password is correct.
Boolean protectionPassword = document.checkWriteProtectionPassword("password");
|
| Bug | SPIREDOC-10684 SPIREDOC-11670 | Fixed an issue where text line breaks were inconsistent when converting Word to PDF. |
| Bug | SPIREDOC-11340 | Fixed an issue where paragraph indentation was inconsistent when converting HTML to Word. |
| Bug | SPIREDOC-11617 | Fixed an issue where retrieving bookmarkEnd failed. |
| Bug | SPIREDOC-11618 | Fixed an issue where a “NullPointerException” was thrown when replacing bookmarks. |
| Bug | SPIREDOC-11619 | Fixed an issue where bookmark tags were altered after bookmark replacement. |
| Bug | SPIREDOC-11624 | Fixed an issue where a “NullPointerException” was thrown during Word-to-PDF conversion. |
| Bug | SPIREDOC-11636 | Fixed an issue where equation parentheses were missing when converting Word to PDF. |
| Bug | SPIREDOC-11637 | Fixed an issue where an exception was thrown when retrieving bookmark content inside form content control. |
| Bug | SPIREDOC-11642 | Fixed an issue where detection of document write-protection passwords was inaccurate. |
| Bug | SPIREDOC-11646 | Fixed an issue where a “Text shaper failed” exception was thrown during Word-to-PDF conversion when text shaping was enabled. |
| Bug | SPIREDOC-11649 | Fixed an issue where content overlapped when converting Word to PDF. |
| Bug | SPIREDOC-11669 | Fixed an issue where a “ClassCastException” was thrown when converting HTML to Word. |
| Bug | SPIREDOC-11677 | Fixed an issue where text replacement was incorrect when setReplaceFirst was set to true. |
| Bug | SPIREDOC-11689 | Fixed an issue where tables were misaligned when converting Word to PDF. |
| Bug | SPIREDOC-11697 | Fixed an issue where images were incompletely rendered when converting Word to PDF. |
Spire.Doc for Python 13.12.0 has optimized and enhanced the API
We’re pleased to announce the release of Spire.Doc for Python 13.12.0. This version delivers significant API enhancements, including fine-grained format control for document elements, improved chart configuration options, and upgraded comparison features. Additionally, it introduces auxiliary function enhancements, a revamped list system, and overall API optimizations to streamline user experience. More details are as follows.
Here is a list of changes made in this release
| Category | ID | Description | |||||||||||||||||||||||||||||||||
| Adjustment | - | Added fine-grained format control capabilities for core document elements such as paragraphs, tables, cells, borders, and styles.
|
|||||||||||||||||||||||||||||||||
| Adjustment | - | Enhanced configuration and operation capabilities for Chart and its sub-objects.
|
|||||||||||||||||||||||||||||||||
| Adjustment | - | Enhanced revision, content control and document comparison features.
|
|||||||||||||||||||||||||||||||||
| Adjustment | - | Enhanced auxiliary functions.
|
|||||||||||||||||||||||||||||||||
| Adjustment | - | Reconstructed list system.
|
|||||||||||||||||||||||||||||||||
| Adjustment | - | Removed some redundant or poorly designed properties and methods to improve the overall consistency of the API. For example, obsolete export methods such as OfficeMath.SaveToImage and SaveImageToStream have been removed. |
Spire.PDF 11.12.0 supports both horizontal and vertical text alignment
We're pleased to announce the release of Spire.PDF 11.12.0. This version introduces a new PdfFreeTextAnnotation.StringFormat property that supports both horizontal and vertical text alignment. It also includes rendering adjustments and multiple bug fixes related to PDF conversion, annotation processing, and multilingual text rendering. More details are listed below.
Here is a list of changes made in this release
| Category | ID | Description |
| Adjustment | — | Enhanced the underlying rendering logic for converting PDFs to images on the WPF platform, resulting in significantly improved output image quality. |
| New feature | SPIREPDF-7826 | Deprecated the PdfFreeTextAnnotation.TextAlignment property and added the new PdfFreeTextAnnotation.StringFormat property to support horizontal and vertical text alignment.
PdfDocument newPdf = new PdfDocument();
PdfPageBase page = newPdf.Pages.Add();
Spire.Pdf.Graphics.PdfFont font = new PdfFont(PdfFontFamily.Helvetica, 10f);
SizeF textSize = font.MeasureString("sample");
RectangleF rect = new RectangleF(50,50, textSize.Width, textSize.Height);
Spire.Pdf.Annotations.PdfFreeTextAnnotation textAnnotation = new Spire.Pdf.Annotations.PdfFreeTextAnnotation(rect);
textAnnotation.Text = "sample";
textAnnotation.Subject = "subject";
textAnnotation.Font = font;
Spire.Pdf.Annotations.PdfAnnotationBorder border = new Spire.Pdf.Annotations.PdfAnnotationBorder(8);
textAnnotation.Border = border;
textAnnotation.LineEndingStyle = Spire.Pdf.Annotations.PdfLineEndingStyle.None;
textAnnotation.Size = new SizeF(textSize.Width * 1.5F, textSize.Height * 1.5F);
textAnnotation.StringFormat.Alignment = PdfTextAlignment.Center;
textAnnotation.StringFormat.LineAlignment = PdfVerticalAlignment.Middle;
page.Annotations.Add(textAnnotation);
newPdf.SaveToFile(result);
|
| Bug | SPIREPDF-2261 | Fixed the issue where Arabic characters entered into form fields were displayed with incorrect text direction. |
| Bug | SPIREPDF-4834 | Fixed the issue where content became inconsistent when converting XPS to PDF. |
| Bug | SPIREPDF-6712, SPIREPDF-6873 | Fixed the issue where Arabic and Hebrew text rendered incorrectly when converting PDF to PDF/A-3a. |
| Bug | SPIREPDF-7526 | Fixed the issue where text blocks were unnecessarily split into multiple lines during PDF-to-PPTX conversion. |
| Bug | SPIREPDF-7816 | Fixed the issue where removing annotation borders had no effect. |
| Bug | SPIREPDF-7828 | Fixed the issue where a System.Exception was thrown during OFD-to-PDF conversion. |
E-ICEBLUE Christmas Offer 2025 – Enjoy Up to 15% OFF
As the holiday season approaches, E-ICEBLUE is pleased to announce our 2025 Christmas Promotion, running from December 1, 2025, to January 10, 2026. During this period, you can enjoy exclusive savings on our Spire series products, including Spire.Doc, Spire.PDF, Spire.XLS, and Spire. Presentation, whether you’re trying them for the first time or expanding your existing toolkit.
Christmas Promotion
10% OFF Sitewide
- A flat 10% discount on all Spire products.
- The discount is applied on top of the current listed price.
- Stackable with existing product-level discounts on the website.
- Coupon code: XMAS10
15% OFF for Two-Product Bundle
Purchase any two Spire products together—such as Spire.Doc + Spire.PDF, Spire.XLS + Spire.PDF, Spire.Doc + Spire.XLS, etc.—and enjoy:
- 15% OFF the combined purchase
- Not stackable with the 10% sitewide discount.
- Ideal for teams or users expanding their toolkit
How to Use the Discounts
You may apply the Christmas coupon code directly at checkout or contact our sales team for bundle purchases.
- Coupon Code for 10% OFF: XMAS10
- Bundle discount will be applied manually by the sales team when applicable.
Notes
- Discounts apply only to orders placed directly through E-ICEBLUE.
- Bundle orders and special pricing may require contacting our sales team.
- Price differences caused by missing promotions cannot be refunded.
Recent Product Highlights
To help you make the most of our tools, here are some recent updates across the Spire product lines:
- Continued enhancements across Spire.Doc, Spire.PDF, Spire.XLS, Spire.Presentation, and other products, improving performance, rendering accuracy, and conversion quality.
- Ongoing improvements to document conversion and editing features, including support for converting Word, PDF, Excel, and PowerPoint files into multiple formats.
- New: Spire.OfficeJS series—we are excited to announce that Spire.WordJS, Spire.ExcelJS, Spire.PresentationJS, and Spire.PDFJS will be launching soon, bringing front-end document editing capabilities to JavaScript applications.
Stay tuned for the upcoming release and experience the full power of Spire Products in your development!
Contact Us
- Support Team: support@e-iceblue.com
- Sales Team: sales@e-iceblue.com
- Skype ID: iceblue.support
Closing Remark
We wish you a warm and joyful holiday season, and thank you for your continued support. Take this opportunity to enhance your productivity with Spire series products at exclusive Christmas savings!
Spire.Office 10.11.0 is released
We’re pleased to announce the release of Spire.Office 10.11.0. In this version, Spire.Doc optimize the OfficeMath processing capabilities; Spire.XLS supports converting Excel to JSON; Spire.Presentation enhances the conversion form PPTX to PDF; Spire.PDF supports printing logging in NETStandard environment. Meanwhile, a series of known issues have been fixed in this update. More details are as follows.
In this version, the most recent versions of Spire.Doc, Spire.PDF, Spire.XLS, Spire.Presentation, Spire.Barcode, Spire.DocViewer, and Spire.PDFViewer are included.
DLL Versions:
- Spire.Doc.dll v13.11.5,
- Spire.Pdf.dll v11.11.5,
- Spire.XLS.dll v15.11.3,
- Spire.Presentation.dll v10.11.4,
- Spire.Barcode.dll v7.4.1,
- Spire.Email.dll v6.6.3,
- Spire.DocViewer.Forms.dll v8.9.4,
- Spire.PdfViewer.Asp.dll v8.2.6,
- Spire.PdfViewer.Forms.dll v8.2.16
- 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 |
| Optimization | - | Optimized OfficeMath processing capabilities and enhanced the display effects of formula line wrapping and revisions. |
Spre.XLS
| Category | ID | Description |
| New Feature | SPIREXLS-5977, SPIREXLS-5978 | Added support for exporting equation content to MathML and LaTeX.
Workbook workbook = new Workbook(); workbook.LoadFromFile(inputFile); Worksheet sheet = workbook.Worksheets[0]; string mathML = sheet.Equations[0].ExportMathML(); sheet.Range["B9"].Value = "mathML:"; sheet.Range["B10"].Value = mathML; string LaTex = sheet.Equations[0].ExportLaTex(); sheet.Range["B12"].Value = "LaTeX:"; sheet.Range["B13"].Value = LaTex; workbook.SaveToFile(outputFile); File.WriteAllText(outputFile_TXT, "LaTeX:\t" + LaTex + "\r\nmathML:\t" + mathML); |
| New Feature | SPIREXLS-5982 | Added support for the XMATCH function.
Workbook workbook = new Workbook(); workbook.LoadFromFile(@"test.xlsx"); Worksheet sheet = workbook.Worksheets[0]; sheet.Range["C4"].Formula = "=XMATCH(\"王五\", A2:A5)"; workbook.CalculateAllValue(); |
| New Feature | SPIREXLS-5990, SPIREXLS-5991 | Added support for checkbox effects similar to Office 365.
XlsRange range = sheet.Range["A1"]; range.InsertEmbedCheckBox(); rang.SetEmbedCheckBoxCheckState(true); |
| New Feature | SPIREXLS-6021 | Added support for converting Excel to JSON.
Workbook workbook = new Workbook(); workbook.LoadFromFile(inputFile); workbook.SaveToFile(outputFile, FileFormat.Json); workbook.Dispose(); |
| New Feature | SPIREXLS-6022 | Added support for setting EMF background images.
Workbook workbook = new Workbook(); workbook.LoadFromFile(inputFile); Worksheet sheet = workbook.Worksheets[0]; Stream image = File.OpenRead(inputFile_Img); sheet.PageSetup.BackgoundImageStream = image; workbook.SaveToFile(outputFile, ExcelVersion.Version2013); |
| Bug Fix | SPIREXLS-5958 | Fixed the issue with incorrect rendering when converting Excel to PDF. |
| Bug Fix | SPIREXLS-5998 | Fixed the issue where loading Excel documents caused an “Invalid string in the file” error. |
| Bug Fix | SPIREXLS-6008 | Fixed the issue where loading Excel documents caused the application to hang. |
| Bug Fix | SPIREXLS-6009 | Fixed the incorrect behavior of the AutoFitColumns() method. |
| Bug Fix | SPIREXLS-6016 | Fixed the issue with incorrect formulas after loading and saving Excel files. |
Spire.Presentation
| Category | ID | Description |
| Bug Fix | SPIREPPT-2873, SPIREPPT-2888 | Fixed the issue where image effects were displayed incorrectly when converting PowerPoint to PDF. |
| Bug Fix | SPIREPPT-2951 | Fixed the issue where layout became inconsistent when converting PowerPoint to PDF. |
| Bug Fix | SPIREPPT-3012 | Fixed the issue where footer content was missing when converting ODP to PDF. |
Spire.PDF
| Category | ID | Description |
| Adjustment | — | Removed dependencies on System.Security.Cryptography.Pkcs, System.Security.Permissions, and System.Security.Cryptography.Xml in NetCore and NetStandard platforms. |
| New Feature | — | Added support for enabling print logging in NETStandard DLL. PdfDocument doc = new PdfDocument(); doc.LoadFromFile("in.pdf"); doc.PrintSettings.PrintLogger= new DefaultPrintLogger("log.txt"); doc.PrintSettings.PaperSize =PdfPaperSize.A4; doc.Print(); |
| Bug Fix | SPIREPDF-3758 | Fixed the issue where background color was lost when converting PDF to images. |
| Bug Fix | SPIREPDF-4271 | Fixed the issue where Arabic text content displayed incorrectly when converting PDF to PDF/A-3A. |
| Bug Fix | SPIREPDF-5542 | Optimized the performance of text extraction and search in NETStandard DLL. |
| Bug Fix | SPIREPDF-7753 | Fixed the issue where font effects were incorrect after text replacement. |
| Bug Fix | SPIREPDF-7771 | Fixed the issue where validation failed when converting PDF to PDF/A-1B. |
| Bug Fix | SPIREPDF-7779 | Fixed the issue where errors occurred when printing PDF documents using the NETStandard DLL on UOS x86 systems. |
| Bug Fix | SPIREPDF-3749 | Fixed the issue where incorrect effects were applied to added image watermarks. |
| Bug Fix | SPIREPDF-5688 | Fixed the issue with incorrect output when converting PDF to PDF/A. |
| Bug Fix | SPIREPDF-5889 | Fixed the issue with incorrect output when converting PDF to images. |
| Bug Fix | SPIREPDF-6457 | Fixed the issue where background images were lost when converting a PDF to images. |
| Bug Fix | SPIREPDF-7063 | Fixed the issue with incorrect output when printing PDF documents. |
| Bug Fix | SPIREPDF-7102 | Optimized time consumption and memory usage when converting images using the NetStandard DLL. |
| Bug Fix | SPIREPDF-7105, SPIREPDF-7572 | Fixed the issue where bookmarks were lost when converting PDF to OFD. |
| Bug Fix | SPIREPDF-7562 | Fixed the issue where converting PDF to images threw “System.NotImplementedException”. |
| Bug Fix | SPIREPDF-7749 | Fixed the issue where custom properties added via SetCustomProperty were lost when converting PDF to OFD. |
| Bug Fix | SPIREPDF-7767 | Fixed the issue where converting PDF to OFD threw “System.ArgumentOutOfRangeException”. |
| Bug Fix | SPIREPDF-7807 | Fixed the issue where loading PDF files threw “System.NullReferenceException”. |
| Bug Fix | SPIREPDF-7808 | Fixed the issue where "pdfbuttonfield.IconLayout.IsFitBounds = true" did not take effect. |
Spire.XLS 15.11.3 adds support for exporting equations to MathML and LaTeX
We're pleased to announce the release of Spire.XLS 15.11.3. This version adds support for exporting equation content to MathML and LaTeX, the XMATCH function, converting Excel to JSON, setting EMF background images, and inserting checkbox effects similar to Office 365. Meanwhile, several issues related to loading Excel documents, converting Excel to PDF, and formula calculations have been successfully fixed. More details are listed below.
Here is a list of changes made in this release
| Category | ID | Description |
| New feature | SPIREXLS-5977, SPIREXLS-5978 | Added support for exporting equation content to MathML and LaTeX.
Workbook workbook = new Workbook();
workbook.LoadFromFile(inputFile);
Worksheet sheet = workbook.Worksheets[0];
string mathML = sheet.Equations[0].ExportMathML();
sheet.Range["B9"].Value = "mathML:";
sheet.Range["B10"].Value = mathML;
string LaTex = sheet.Equations[0].ExportLaTex();
sheet.Range["B12"].Value = "LaTeX:";
sheet.Range["B13"].Value = LaTex;
workbook.SaveToFile(outputFile);
File.WriteAllText(outputFile_TXT, "LaTeX:\t" + LaTex + "\r\nmathML:\t" + mathML);
|
| New feature | SPIREXLS-5982 | Added support for the XMATCH function.
Workbook workbook = new Workbook();
workbook.LoadFromFile(@"test.xlsx");
Worksheet sheet = workbook.Worksheets[0];
sheet.Range["C4"].Formula = "=XMATCH(\"王五\", A2:A5)";
workbook.CalculateAllValue();
|
| New feature | SPIREXLS-5990, SPIREXLS-5991 | Added support for checkbox effects similar to Office 365.
XlsRange range = sheet.Range["A1"]; range.InsertEmbedCheckBox(); rang.SetEmbedCheckBoxCheckState(true); |
| New feature | SPIREXLS-6021 | Added support for converting Excel to JSON.
Workbook workbook = new Workbook(); workbook.LoadFromFile(inputFile); workbook.SaveToFile(outputFile, FileFormat.Json); workbook.Dispose(); |
| New feature | SPIREXLS-6022 | Added support for setting EMF background images.
Workbook workbook = new Workbook(); workbook.LoadFromFile(inputFile); Worksheet sheet = workbook.Worksheets[0]; Stream image = File.OpenRead(inputFile_Img); sheet.PageSetup.BackgoundImageStream = image; workbook.SaveToFile(outputFile, ExcelVersion.Version2013); |
| Bug | SPIREXLS-5958 | Fixed the issue with incorrect rendering when converting Excel to PDF. |
| Bug | SPIREXLS-5998 | Fixed the issue where loading Excel documents caused an “Invalid string in the file” error. |
| Bug | SPIREXLS-6008 | Fixed the issue where loading Excel documents caused the application to hang. |
| Bug | SPIREXLS-6009 | Fixed the incorrect behavior of the AutoFitColumns() method. |
| Bug | SPIREXLS-6016 | Fixed the issue with incorrect formulas after loading and saving Excel files. |