Browse our Products

Aspose.Words for .NET 24.4 Release Notes

Major Features

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

  • Modern image format WEBP is now supported in Aspose.Words for .NET Framework 4.6.2 and above.
  • Added an ability to embed fonts declared in @font-face rules into the resulting document’s font definitions.
  • Chart API was extended with new popular options.
  • Provided an ability to specify sign options for the documents in SaveOptions.
  • Implemented an ability to work with glow and reflection formatting for the drawing object.

Full List of Issues Covering all Changes in this Release

Expand to view the full list of issues.
KeySummaryCategory
WORDSNET-25900Consider providing a property to specify digital hash algorithm used by a digital signature in DigitalSignatureUtil.New Feature
WORDSNET-20004Add property ExportTextInputFormFieldAsText to HtmlFixedSaveOptionsNew Feature
WORDSNET-8059Support of CSS3 font-face RuleNew Feature
WORDSNET-13662Add feature to change the font size and name of text in the chartNew Feature
WORDSNET-26707Implement WebP format support for NET Framework 4.6, NET Standard 2.0, NET 6.0 and above assemblyNew Feature
WORDSNET-26172Add public API to get/set MirrorIndents paragraph propertyNew Feature
WORDSNET-26569Add the ability to set font formatting, as well as fill and stroke for the remaining chart elementsNew Feature
WORDSNET-25896Consider providing sign document option in SaveOptions for DOC, DOCX, ODT and XPS as we have for PDFNew Feature
WORDSNET-24707New method for removing blank pagesNew Feature
WORDSNET-6697Consider reading linked web fonts during importing HTMLNew Feature
WORDSNET-20263Images render as corss after docx to DOC/PDFEnhencement
WORDSNET-23266ArgumentException is thrown upon insertion an imageEnhencement
WORDSNET-25658Last table column is partially clipped at right after renderingEnhencement
WORDSNET-26621Get coordinates of bounding box for TTGlyphEnhencement
WORDSNET-21319Different table height in AW PDF outputEnhencement
WORDSNET-26757DOCX to MD: Tables are not indentedBug
WORDSNET-21285Image is lost after conversion from DOCX to HtmlFixedBug
WORDSNET-24629Images are replaced by the red crosses on conversion from DOCX to PDFBug
WORDSNET-26207JPEG image is rendered as a red crossBug
WORDSNET-25642Part of content is moved to previous pageBug
WORDSNET-26600GIF image cannot be inserted into the documentBug
WORDSNET-25552XML document is detected as TEXT by FileFormatUtil.DetectFileFormatBug
WORDSNET-23293Position of tabstops in footer is wrongBug
WORDSNET-18272Positioning issue of full-width punctuations after conversion from Word Document to PDFBug
WORDSNET-18858Different line wrapping in a hyphenated document causes different page count in AW layoutBug
WORDSNET-26737AgilentSymbolOne font is not used upon rendering even if it is available in font sourceBug
WORDSNET-26746Stack routine and FieldBundle refactoringBug
WORDSNET-24348DOCX->HTML->DOCX: Custom headings not retained after roundtripBug
WORDSNET-26769Spacing and word-wrap is incorrect after rendering documentBug
WORDSNET-19949MathLineBreak does not affect the formula when rendering to PDFBug
WORDSNET-26777Properties of hidden paragraph inside Sdt are not ignored by WordBug
WORDSNET-26443Aspose.Words Blazor PerformanceBug
WORDSNET-26795OverflowException on DOCX to XLSX: Not a legal OleAut dateBug
WORDSNET-26678Saved XLSX document has an issueBug
WORDSNET-18025Implement MS Word 2013 hyphenation logic between pages and columnsBug
WORDSNET-26377Shapes positions are incorrect after renderingBug
WORDSNET-19354DOCX to PDF conversion comparing to Microsoft WordBug
WORDSNET-26062Punctuation character overlaps Chinese character on rendering to fixed-page formatsBug
WORDSNET-26044Incorrectly indenting list upon save documentBug
WORDSNET-22495Implement hyphenation logic between pages and columnsBug
WORDSNET-25290Line of text is moved to previous page upon renderingBug
WORDSNET-24691Allow setting LinkedStyleName propertyBug
WORDSNET-25334DOCX to PDF with Hyphenation: Content not split correctly on page breakBug
WORDSNET-25589The quotes character overlaps other charactersBug
WORDSNET-26503List items in ca_ES locale are rendered as EnglishBug
WORDSNET-26508List labels have incorrect font-size after DOCX->HTML->DOCX conversionBug
WORDSNET-26513NullReferenceException is thrown upon rendering documentBug
WORDSNET-25666Table indent reported by AW model is different from MS WordBug
WORDSNET-26541InvalidOperationException is thrown upon rendering document with ShowInBalloons.FormatBug
WORDSNET-26550NotSupportedException is thrown upon saving document as DOC to stream in pythonBug
WORDSNET-26327InvalidOperationException is thrown upon updating fieldsBug
WORDSNET-26348Table formatting is broken after open/save WordML fileBug
WORDSNET-26562Incorrect PDF file readingBug
WORDSNET-25854Line spacing is incorrect if specify EditingLanguage.ChinesePRCBug
WORDSNET-25274Table position is changed after comparting documentsBug
WORDSNET-26596Hyperlink address is truncated f contains Unicode charactersBug
WORDSNET-26606AutoOpen macros does not work after converting DOT to DOCBug
WORDSNET-25919Bracket shape has wrong Filled propertyBug
WORDSNET-26619Table width is incorrect after renderingBug
WORDSNET-26622NullReferenceException is thrown upon rendering document after updating fieldsBug
WORDSNET-26625Text inside textboxes are lost after conversionBug
WORDSNET-26634REF field value is not shown after DOTM to DOC conversionBug
WORDSNET-26641Pdf2Word. Incorrect position and alpha channel of XForm contentBug
WORDSNET-26647Save to PDF uses wrong fontBug
WORDSNET-26652Header is lost when ExtractPages is used after HeadersFooters.LinkToPreviousBug
WORDSNET-26663Offsets befroe and after bracket element, based on type of neighbor elementBug
WORDSNET-26664InvalidOperationException is thrown upon comparing documentBug
WORDSNET-26665Incorrect rendering of Nary in structured document tagBug
WORDSNET-26670Add support to get Glow effect of a ShapeBug
WORDSNET-26671Add support to get Reflection effect of a ShapeBug
WORDSNET-26675Table borders are lost after open/save documentBug
WORDSNET-26667DOCX document merging issueBug
WORDSNET-26674Aspose.Words finds a difference in field code, while MS Word doe snot see any differenceBug
WORDSNET-26682Negative value is formatted improperlyBug
WORDSNET-26687Bullet characters are not rendered properlyBug
WORDSNET-26689NullReferenceException is thrown upon saving document the second timeBug
WORDSNET-26715Image is lost after rendering documentBug
WORDSNET-26721Hyphenation does not match MS Word after renderingBug
WORDSNET-18647Export shape with screen tip without reference to HTML should generate a title attributeBug
WORDSNET-26144Underline is lost after appending documentBug
WORDSNET-26624Replacing content in tracked documentBug
WORDSNET-26598Tables inside the merged document split between pagesBug
WORDSNET-25830Font inherited from Normal style is explicitly set after importing Style with ImportFormatMode.UseDestinationStylesBug
WORDSNET-26263Paragraph’s font isn’t preserved after HTML->HTML conversion.Bug
WORDSNET-26807PDF to DOCX: Corrupted output fileBug
WORDSNET-26246Table formatting is broken after converting WML to DOCBug
WORDSNET-15711font-face rule is ignored on import from HTMLBug
WORDSNET-24391Font is changed from ‘CiscoSans’ to ‘Arial’ after reading HTML documentBug
WORDSNET-16593PDF output contains an extra empty space added in every entry of the numbered listBug
WORDSNET-11586Assertion when converting a Word document to PDFBug
WORDSNET-19504Saved XPS will not print on a Type 3 printer driverBug

Public API and Backward Incompatible Changes

This section lists public API changes that were introduced in Aspose.Words 24.4. 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 an ability to work with Glow effect of a shape

Related issue: WORDSNET-26670

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

/// <summary>
/// Represents the glow formatting for an object.
/// </summary>
/// <remarks>
/// <p>Use the <see cref="ShapeBase.Glow"/> property to access glow properties of an object.
/// You do not create instances of the <see cref="GlowFormat"/> class directly.</p>
/// </remarks>
public class GlowFormat

with new public members:

/// <summary>
/// Removes <see cref="GlowFormat"/> from the parent object.
/// </summary>
public void Remove()
/// <summary>
/// Gets or sets a <see cref="System.Drawing.Color"/> object that represents the color for a glow effect.
/// The default value is <see cref="System.Drawing.Color.Black"/>.
/// </summary>
public Color Color {get; set}
/// <summary>
/// Gets or sets the degree of transparency for the glow effect as a value between 0.0 (opaque) and 1.0 (clear).
/// The default value is 0.0.
/// </summary>
public double Transparency {get; set}
/// <summary>
/// Gets or sets a double value that represents the length of the radius for a glow effect in points (pt).
/// The default value is 0.0.
/// </summary>
public double Radius {get; set}

Also added new public property to ShapeBase class:

/// <summary>
/// Gets glow formatting for the shape.
/// </summary>
public GlowFormat Glow {get;}

This use case explains how to work with the glow of a shape:

Added an ability to work with Reflection effect of a shape

Related issue: WORDSNET-26671

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

/// <summary>
/// Represents the reflection formatting for an object.
/// </summary>
/// <remarks>
/// <p>Use the <see cref="ShapeBase.Reflection"/> property to access reflection properties of an object.
/// You do not create instances of the <see cref="ReflectionFormat"/> class directly.</p>
/// </remarks>
public class ReflectionFormat

with new public members:

/// <summary>
/// Removes <see cref="ReflectionFormat"/> from the parent object.
/// </summary>
public void Remove()
/// <summary>
/// Gets or sets a double value that specifies the degree of blur effect applied to the reflection effect in points.
/// The default value is 0.0.
/// </summary>
public double Blur {get; set}
/// <summary>
/// Gets or sets a double value that specifies the amount of separation of the reflected image from the object in points.
/// The default value is 0.0.
/// </summary>
public double Distance {get; set}
/// <summary>
/// Gets or sets a double value between 0.0 and 1.0 representing the size of the reflection
/// as a percentage of the reflected object.
/// The default value is 0.0.
/// </summary>
public double Size {get; set}
/// <summary>
/// Gets or sets a double value between 0.0 (opaque) and 1.0 (clear) representing the degree
/// of transparency for the reflection effect.
/// The default value is 0.0.
/// </summary>
public double Transparency {get; set}

Also added new public property to ShapeBase class:

/// <summary>
/// Gets reflection formatting for the shape.
/// </summary>
public ReflectionFormat Reflection {get;}

This use case explains how to work with the reflection of a shape:

Added a public property setter for Style.LinkedStyleName

Related issue: WORDSNET-24691

A public property setter for LinkedStyleName has been added to Style class:

/// <summary>
/// Gets/sets the name of the <see cref="Style"/> linked to this one. Returns empty string if no styles are linked.
/// </summary>
/// <remarks>
/// <para>It is only allowed to link the paragraph style to the character style and vice versa.</para>
/// <para>Setting LinkedStyleName for the current style automatically leads to setting LinkedStyleName for the linked style.</para>
/// <para>Assigning the empty string is equivalent to unlinking the previously linked style.</para>
/// </remarks>
public string LinkedStyleName { get; set; }

This use case explains how to set LinkedStyleName property of the paragraph and character styles:

Added new SaveFormat.WebP for .Net Framework v4.6.2, NetStandard 2.0, .NET 5/6/7 and above

Related issue: WORDSNET-26707

Previously, support for reading WebP images was added for .NET Standard assemblies. Now, support for the WebP format is also available for .NET Framework v4.6.2 assemblies. Furthermore, WebP has been added to the list of available saving formats. This enables reading and inserting WebP images into documents, as well as saving in the WebP format.

Please note that the WebP format is only available in .NET Standard and .NET Framework v4.6.2 and above; it will not be supported in .NET Framework v4 and v3.5 assemblies.

Known issues: Animated WebP (VP8X) images are not supported and will be converted to static images.

/// <summary>
/// Indicates the format in which the document is saved.
/// </summary>
public enum SaveFormat
{
    ...,
    /// <summary>
    /// Renders a page of the document and saves it as a WebP file.
    /// </summary>
    WebP,
    ...
}

Added public Format properties to Chart, ChartTitle, ChartAxisTitle and ChartLegend classes

Related issue: WORDSNET-26569

Public Format properties of the ChartFormat type have been added to the Chart, ChartTitle, ChartAxisTitle and ChartLegend classes.

public class Chart
{
    /// <summary>
    /// Provides access to fill and line formatting of the chart.
    /// </summary>
    public ChartFormat Format { get; }

    ...
}

public class ChartTitle
{
    /// <summary>
    /// Provides access to fill and line formatting of the chart title.
    /// </summary>
    public ChartFormat Format { get; }

    ...
}

public class ChartAxisTitle
{
    /// <summary>
    /// Provides access to fill and line formatting of the axis title.
    /// </summary>
    public ChartFormat Format { get; }

    ...
}

public class ChartLegend
{
    /// <summary>
    /// Provides access to fill and line formatting of the legend.
    /// </summary>
    public ChartFormat Format { get; }

    ...
}

This use case explains how to set background color for chart, chart title, axis title and legend:

Added public property HtmlLoadOptions.SupportFontFaceRules

Related issue: WORDSNET-8059

A new public property SupportFontFaceRules has been added to class HtmlLoadOptions:

/// <summary>
/// Gets or sets a value indicating whether to support @font-face rules and whether to load declared fonts.
/// Default value is <c>false</c>.
/// </summary>
/// <remarks>
/// <para>
/// If this option is enabled, fonts declared in @font-face rules are loaded and embedded into the resulting document's
/// font definitions (see <see cref="DocumentBase.FontInfos"/>). This makes the loaded fonts available for rendering but
/// doesn't automatically enable embedding of the fonts upon saving. In order to save the document with loaded fonts,
/// the <see cref="FontInfoCollection.EmbedTrueTypeFonts"/> property of the <see cref="DocumentBase.FontInfos"/>
/// collection should be set to <c>true</c>.
/// </para>
/// <para>
/// Supported font formats are TTF, EOT, and WOFF.
/// </para>
/// <para>
/// @font-face rules are not supported when loading SVG images.
/// </para>
/// </remarks>
public bool SupportFontFaceRules { get; set; }

This use case explains how to use SupportFontFaceRules option:

Added public property ParagraphFormat.MirrorIndents

Related issue: WORDSNET-26172

A new public property MirrorIndents has been added to class ParagraphFormat:

/// <summary>
/// Gets or sets a flag indicating whether the left and right indents are of the same width.
/// </summary>
public bool MirrorIndents { get; set; }

This use case explains how to use MirrorIndents:

Provided sign document option in SaveOptions

Related issue: WORDSNET-25896

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

/// <summary>
/// Contains details for signing a document with a digital signature.
/// </summary>
public class DigitalSignatureDetails

with new public members:

/// <summary>
/// Initializes a new instance of <see cref="DigitalSignatureDetails"/> class.
/// </summary>
/// <param name="certificateHolder">A certificate holder which contains the certificate itself.</param>
/// <param name="signOptions">Signature options to use for signing a document.</param>
public DigitalSignatureDetails(CertificateHolder certificateHolder, SignOptions signOptions)
/// <summary>
/// Gets or sets a <see cref="CertificateHolder"/> object that contains the certificate used to sign a document.
/// </summary>
public CertificateHolder CertificateHolder { get; set; }
/// <summary>
/// Gets or sets a <see cref="SignOptions"/> object used to sign a document.
/// </summary>
public SignOptions SignOptions { get; set; }

Also added new public property to OoxmlSaveOptions, DocSaveOptions and OdtSaveOptions classes:

/// <summary>
/// Gets or sets <see cref="Aspose.Words.Saving.DigitalSignatureDetails"/> object used to sign a document.
/// </summary>
public DigitalSignatureDetails DigitalSignatureDetails { get; set; }

This use case explains how to to specify signature options while saving document: