Browse our Products

Aspose.Words for .NET 24.11 Release Notes

Major Features

There are 96 improvements and fixes in this regular monthly release. The most notable are:

  • Text Summarization: Integrated support for document summarization using OpenAI and Google generative language models.
  • Data Formatting: Added the ability to get and set format codes for chart data.
  • PDF Export Customization: Introduced a new option to control the rendering of PDF choice form field borders.
  • Document Properties: Added properties to access extended document properties.
  • ActiveX Control Customization: Enabled setting captions for ActiveX controls.
  • PDF Export Refinements: Enhanced PDF export by including table title properties as PDF logical structure element titles.
  • Histogram Chart Enhancements: Improved histogram chart rendering by allowing for a specified number of bins and labels.

Full List of Issues Covering all Changes in this Release

Expand to view the full list of issues.
KeySummaryCategory
WORDSNET-27544Provide an option to control form fields border formattingNew Feature
WORDSNET-27435Add possibility to set caption of CommandButton ActiveX controlNew Feature
WORDSNET-27533Support for displaying numbers as decimals in Aspose.Words ChartsNew Feature
WORDSNET-27154Provide information about document metadataNew Feature
WORDSNET-27375Allow specifying inserted/deleted cells color in RevisionOptionsNew Feature
WORDSNET-21395Support rendering emphasis marksNew Feature
WORDSNET-27481Data labels rendering for histogram chartsNew Feature
WORDSNET-18306Embed custom fonts in SaveFormat.PCLNew Feature
WORDSNET-18760Provide option to save to PCL instead of PCLXLNew Feature
WORDSNET-27548Add possibility to summarize text using OpenAI and Google generative language modelsNew Feature
WORDSNET-21392DOCX to PCL conversion font spacing and bold issueEnhancement
WORDSNET-21620Analyze what it takes to add Aspose.Wods for .NET in SQL Server 2014Enhancement
WORDSNET-21288Analyze what it takes to add Aspose.Wods 20.10 in SQL Server 2016Enhancement
WORDSNET-27444Rendering histograms if the number of bins parameter is specifiedEnhancement
WORDSNET-21713Make dependency to Aspose.Words.Pdf2Word.dll explicitEnhancement
WORDSNET-27376DOC to JPG - Chinese characters lose under dotEnhancement
WORDSNET-23147Emphasis marks are lost after converting from DOCXEnhancement
WORDSNET-27502Chinese glyphs are lost after converting to PCLEnhancement
WORDSNET-27335Comment replies spearatedEnhancement
WORDSNET-27473IndexOutOfRangeException is thrown upon rendering documentBug
WORDSNET-26648Part of content is moved to next pageBug
WORDSNET-27546Exception is thrown upon loading DOCX documentBug
WORDSNET-25354FileNotFoundException is thrown upon loading DOCX documentBug
WORDSNET-27466DOCX to PDF: FieldToc.UpdatePageNumbers() fails to update page numbers in some filesBug
WORDSNET-27457Font size is changed after appending documentBug
WORDSNET-27512Text content is missed after loading PDFBug
WORDSNET-26771LISTNUM with French name of the list is updated improperlyBug
WORDSNET-27537Exception when rendering a bar chart with “invert if negative”Bug
WORDSNET-24019Shape is shifted upon renderingBug
WORDSNET-26304Shape position is incorrect after renderingBug
WORDSNET-16202Image is lost after conversion from DOCX to PDFBug
WORDSNET-27428Instead of being cropped, the image is vertically compressed during rendering on .NET StandardBug
WORDSNET-27380OfficeMath formula is rendered improperlyBug
WORDSNET-27377Gif background becomes black after rendering to HtmlFixedBug
WORDSNET-27404Floating table position in header is incorrect after renderingBug
WORDSNET-27416Part of content is moved to previous pageBug
WORDSNET-27392LINQ Reporting Engine - Issues with horizontal tablesBug
WORDSNET-27406LINQ Reporting Engine - Not all empty paragraphs are removed in cellsBug
WORDSNET-21754Content of Word document is shifted up to previous page after calling AppendDocumentBug
WORDSNET-21155Links are broken in a document imported from CHMBug
WORDSNET-24607Application hangs when trying to load CHM fileBug
WORDSNET-27449TOC is updated improperlyBug
WORDSNET-27407Webpage to MHTML conversion produces blank documentBug
WORDSNET-27273Footer is missing when loading a DOCXBug
WORDSNET-27530FileLoadException is thrown upon loading PDFBug
WORDSNET-27517InvalidOperationException upon updating page layout after removing paragraphBug
WORDSNET-26361Missing border for alternative rows in tableBug
WORDSNET-27182Incorrect chart rendering after conversion to PDFBug
WORDSNET-27419Loading the chm file into the Model takes a very long timeBug
WORDSNET-27423Custom document properties are lost after open/save DOCX documentBug
WORDSNET-27395The document can be unprotected without entering password after open/save DOCX documentBug
WORDSNET-27500HTML inserted in Content Control not positioned correctlyBug
WORDSNET-27480Aspose.Words hangs upon rendering document with hyphenationBug
WORDSNET-27487InvalidOperationException on Save with XML MappingBug
WORDSNET-27467Grouping group shapes resets inner group shapes dimensionsBug
WORDSNET-27448A redundant page is shown when ExtractPages method is used to extract single pageBug
WORDSNET-27463ArgumentOutOfRangeException is thrown upon using ExtractPages methodBug
WORDSNET-27370Improve list items behavior when ExtractPages method is usedBug
WORDSNET-27401Children count returned by GetChildNodes is incorrect for nested SDTsBug
WORDSNET-27506NullReferenceException is thrown upon inserting HTML into SDTBug
WORDSNET-27372Aspose.Words produced corrupted RTFBug
WORDSNET-27504FileCorruptedException is thrown upon loading DOCX documentBug
WORDSNET-26819UpdateFields raises ‘IndexOutOfRangeException’Bug
WORDSNET-27134Incorrect field update for IF fieldBug
WORDSNET-27432AutoColor is incorrect in the filled TextBox.Bug
WORDSNET-27496Bookmark missing after SDT mapping from inline CCBug
WORDSNET-27491RevisionGroup.Text is empty for changed section break.Bug
WORDSNET-27405LINQ Reporting Engine - Issue with background color in cellsBug
WORDSNET-27425Line between points is not rendered in line chart.Bug
WORDSNET-27151Blank text in revision with modified number of columnsBug
WORDSNET-27477FileCorruptedException is thrown upon loading DOCX document.Bug
WORDSNET-27324StackOverflowException is thrown upon converting DOC to JPEGBug
WORDSNET-23617Incorrect cell margin reported by document modelBug
WORDSNET-27470Error: “Unable to Read Beyond End of Stream” During File ConversionBug
WORDSNET-27471Bookmark is lost after comparing documents.Bug
WORDSNET-27447System.InvalidOperationException when opening WordOpenXMLMinimalBug
WORDSNET-27455Preserve table caption and description in PDFBug
WORDSNET-27398SDT is lost after loading documentBug
WORDSNET-27388Consider using soft-hyphen instead of hard-hyphen for hyphenation symbolBug
WORDSNET-27430Pdf2Word - Text is missing after conversionBug
WORDSNET-27303Shape.Bounds returned by Aspose.Words is not correct for rotated shape in group shapeBug
WORDSNET-14413Text wrapping problem in generated PDFBug
WORDSNET-16674Paragraphs are rendered on previous pages in output PDFBug
WORDSNET-21897DOCX to PDF conversion issue with shape positionBug
WORDSNET-26201Compressed files are detected as TEXT documentsBug
WORDSNET-26218Corrupted file is loaded as Text document when load from streamBug
WORDSNET-26623.ts Video file is detected as TextBug
WORDSNET-26038Rar achieve is detected as TXTBug
WORDSNET-26745Aspose.Words keeps allocating memory after processing the doucmentBug
WORDSNET-27511Insufficient quality of icons when saving DOCX to PNG and JPEG compared to original and PDFBug
WORDSNET-27322IRM protection wasn’t unlockedBug
WORDSNET-25253Bookmark is moved outside the cell after inserting formfieldBug
WORDSNET-27510RTF to PDF Symbol ChangeBug
WORDSNET-24316Text is missingBug
WORDSNET-12401Wrapped shapes positioned incorrectly in MS Word 2013 modeBug
WORDSNET-27543Image in a header, disappears when save a docx to PDFBug

Public API and Backward Incompatible Changes

This section lists public API changes that were introduced in Aspose.Words 24.11. It includes not only new and obsoleted public methods, but also a description of any changes in the behavior behind the scenes in Aspose.Words which may affect existing code. Any behavior introduced that could be seen as regression and modifies the existing behavior is especially important and is documented here.

Added ability to get/set format code of chart data

Related issue: WORDSNET-27533

The FormatCode public property has been added to the ChartXValueCollection, ChartYValueCollection and BubbleSizeCollection classes:

public class ChartXValueCollection
{
    ...
    /// <summary>
    /// Gets or sets the format code applied to the X values.
    /// </summary>
    /// <remarks>
    /// Number formatting is used to change the way values appears in the chart.
    /// The examples of number formats:
    /// Number - "#,##0.00"
    /// Currency - "\"$\"#,##0.00"
    /// Time - "[$-x-systime]h:mm:ss AM/PM"
    /// Date - "d/mm/yyyy"
    /// Percentage - "0.00%"
    /// Fraction - "# ?/?"
    /// Scientific - "0.00E+00"
    /// Accounting - "_-\"$\"* #,##0.00_-;-\"$\"* #,##0.00_-;_-\"$\"* \"-\"??_-;_-@_-"
    /// Custom with color - "[Red]-#,##0.0"
    /// </remarks>
    public string FormatCode { get; set; }
}

public class ChartYValueCollection
{
    ...
    /// <summary>
    /// Gets or sets the format code applied to the Y values.
    /// </summary>
    /// <remarks>
    /// ...
    /// </remarks>
    public string FormatCode { get; set; }
}

public class BubbleSizeCollection
{
    ...
    /// <summary>
    /// Gets or sets the format code applied to the bubble sizes.
    /// </summary>
    /// <remarks>
    /// ...
    /// </remarks>
    public string FormatCode { get; set; }
}

This use case explains how to set format code to chart data collections:

Added new public option PdfSaveOptions.RenderChoiceFormFieldBorder

Related issue: #WORDSNET-27544

A new public option RenderChoiceFormFieldBorder has been added in PdfSaveOptions class:

/// <summary>
/// Specifies whether to render PDF choice form field border.
/// </summary>
/// <remarks>
/// <p>PDF choice form fields are used for export of SDT Combo Box Content Control, SDT Drop-Down List Content
/// Control and legacy Drop-Down Form Field when <see cref="PreserveFormFields"/> option is enabled.</p>
/// <p>The default value is <c>true</c>.</p>
/// </remarks>
public bool RenderChoiceFormFieldBorder { get; set; }

This use case explains how to pecify whether to render PDF choice form field border:

Added possibility to summarize text using OpenAI and Google generative language models

Related issue: WORDSNET-27548

Implemented new public members in Aspose.Words.AI namespace:

/// <summary>
/// The class to represent information about a Generative Language Model.
/// </summary>
public abstract class AiModel

with the following public methods:

/// <summary>
/// Creates a new instance of <see cref="AiModel"/> class.
/// </summary>
public static AiModel Create(AiModelType modelType)
/// <summary>
/// Sets a specified API key to the model.
/// </summary>
public AiModel WithApiKey(string apiKey)

Implemented a new public enumeration:

/// <summary>
/// Represents a <see cref="AiModel"/> type.
/// </summary>
public enum AiModelType

Implemented a new public interface:

/// <summary>
/// The common for AI models interface to generate various text content.
/// </summary>
public interface IAiModelText
{
    Document Summarize(Document doc, SummarizeOptions options = null);
    Document Summarize(Document[] docs, SummarizeOptions options = null);
}

Implemented a new public class:

/// <summary>
/// The class to specify various options for summarizing content.
/// </summary>
public class SummarizeOptions

with the following public property:

/// <summary>
/// Allows to specify summary length.
/// Default value is <see cref="AI.SummaryLength.Medium"/>.
/// </summary>
public SummaryLength SummaryLength { get; set; }

Implemented a new public enumeration:

/// <summary>
/// Enumerates possible lengths of summary.
/// </summary>
public enum SummaryLength

Implemented new public class in Aspose.Words.AI namespace:

/// <summary>
/// The class to represent information about a Generative Language Model.
/// </summary>
public abstract class GoogleAiModel : AiModel, IAiModelText

Implemented new public class in Aspose.Words.AI namespace:

/// <summary>
/// The class to represent information about a OpenAI Generative Language Model.
/// </summary>
public abstract class OpenAiModel : AiModel, IAiModelText

with the following public methods:

/// <summary>
/// Sets a specified Organization to the model.
/// </summary>
public OpenAiModel WithOrganization(string organizationId)
/// <summary>
/// Sets a specified Project to the model.
/// </summary>
public OpenAiModel WithProject(string projectId)

This use case explains how to generate summary for document using Google generative model:

Added properties to get extended document properties

Related issue: WORDSNET-27154

Following read-only properties has been added to BuiltInDocumentProperties class.

Please note that these properties is only supported for DOC and DOCX document formats and for other document formats false value will always be returned.

/// <summary>
/// Indicates whether document thumbnail is cropped or scaled to fit the display.
/// </summary>
/// <remarks>
/// <para>Aspose.Words does not update this property.</para>
/// </remarks>
public bool BuiltInDocumentProperties.ScaleCrop { get; }

/// <summary>
/// Indicates whether the document is a shared document.
/// </summary>
/// <remarks>
/// <para>Aspose.Words does not update this property.</para>
/// </remarks>
public bool BuiltInDocumentProperties.SharedDocument { get; }

/// <summary>
/// Indicates whether hyperlinks in a document were changed.
/// </summary>
/// <remarks>
/// <para>Aspose.Words does not update this property.</para>
/// </remarks>
public bool BuiltInDocumentProperties.HyperlinksChanged { get; }

This use case explains how to use these new properties:

Add possibility to set caption of ActiveX control

Related issue: WORDSNET-27435

Added a new public setter to Forms2OleControl.Caption property:

/// <summary>
/// Gets or sets a Caption property of the control.
/// Default value is an empty string.
/// </summary>
public string Caption {get; set;}

This use case explains how to change Caption of ActiveX control:

Modified RevisionOptions and RevisionColor classes

Related issue: WORDSNET-27375

It is now possible to specify color for the insert and delete revisions for table cells.

Properties InsertCellColor and DeleteCellColor were added.

/// <summary>
/// Allows to specify the color to be used for inserted cells <see cref="RevisionType.Insertion"/>.
/// Default value is <see cref="RevisionColor.LightBlue"/>.
/// </summary>
public RevisionColor InsertCellColor { get; set; }

/// <summary>
/// Allows to specify the color to be used for deleted cells <see cref="RevisionType.Deletion"/>.
/// Default value is <see cref="RevisionColor.LightPink"/>.
/// </summary>
public RevisionColor DeleteCellColor { get; set; }

Also new standard colors were added to the RevisionColor enumeration:

/// <summary>
/// Represents fce6f4 color.
/// </summary>
LightPink,
/// <summary>
/// Represents e1f2fa color.
/// </summary>
LightBlue,
/// <summary>
/// Represents fef4de color.
/// </summary>
LightYellow,
/// <summary>
/// Represents eadfef color.
/// </summary>
LightPurple,
/// <summary>
/// Represents fce3d0 color.
/// </summary>
LightOrange,
/// <summary>
/// Represents e9f8ce color.
/// </summary>
LightGreen,
/// <summary>
/// Represents efeded color.
/// </summary>
Gray,
...

This use case explains how to specify color for the insert and delete revisions for table cells: