Aspose.Words for .NET 18.8 Release Notes

Major Features

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

  • Implemented support for “underline trailing spaces” compatibility option
  • Implemented support for paragraph alignment in Omath when inserted using EQ fields
  • Enhanced computation of interscript spacing values based on TTF properties
  • Improved wrapping of text around floating objects
  • Improved calculation of position of floating tables and shapes
  • Improved floater overlapping logic
  • Improved computing of pages numbers in continuous sections which have restart attribute and conflicting oddity
  • Fixed line justification issue when RTL span is at the end of the line
  • Fixed issue with null dml properties
  • Fixed issue with rendering of floating shapes in truncated headers/footers
  • Fixed issue with rendering of lines inside of a field result when updated in truncated part of a cell
  • Improved rendering of math operators in MathML objects
  • Improved rendering of MathML objects with n-ary math element when n-ary character and limit location are not specified
  • Fixed a bug with rendering of a math n-ary element if it is part of a fraction
  • Fixed a bug when polyline with an arrow and a very small line segment at the end 
  • was corrupted upon rendering
  • Fixed a bug when an arrow pointer is incorrectly directed while rendering Bezier curves with arrows
  • Fixed a bug where the end of the line was outside the “stealth arrow” when rendering
  • LINQ Reporting Engine supports nested reports

Full List of Issues Covering all Changes in this Release

WORDSNET-4414Borders look incorrect after converting document to PDF using MS Word or Bullzip PDF PrinterBug
WORDSNET-5319Table with different preferred widths extends outside the page when renderedBug
WORDSNET-5327Table preferred width no longer automatically resizes when cell preferred width is setBug
WORDSNET-8966Table column widths are calculated incorrectly during renderingBug
WORDSNET-12013Cell’s contents move to next line after conversion from Doc to PdfBug
WORDSNET-13674Elbow Arrow Connectors are not rendering correctly in PDFBug
WORDSNET-15239Visio objects are overlapped in output PDFBug
WORDSNET-15478Floating table is positioned improperlyBug
WORDSNET-15508Hijri Date is displayed in English Numbers in output DOCX/PDFBug
WORDSNET-15826Text is missing after conversion form DOCX to PNGBug
WORDSNET-16145DOCX to PDF conversion results are inconsistent in MultithreadingBug
WORDSNET-16224DOCX to HTML Issue with HtmlOfficeMathOutputMode as MathMLBug
WORDSNET-16314OfficeMath nodes are exported incorrectly as MathML in output HTMLBug
WORDSNET-16454Image generated from Dokkered web app is completely black.Bug
WORDSNET-16501Thai characters are converted to numbers in PDFBug
WORDSNET-16618text-anchor’ property is not imported correctlyBug
WORDSNET-16675Insert SVG into Aspose.Word.Document results in black imageBug
WORDSNET-16757The rendered PDF output is corruptedBug
WORDSNET-16780Document.UpdateFields displaces text of frame when using ‘IncludeText’Bug
WORDSNET-16789Arrow shape is rendered incorrectlyBug
WORDSNET-16900Numbers List Change while Converting Doc to PDFBug
WORDSNET-16903Paragraph’s text is missing in output PDFBug
WORDSNET-16915Incorrect rendering of the OMath if FirstLineIndent is specified, after converting to PDFBug
WORDSNET-16919Problem of incorrect Revisions Count after Comparing documentsBug
WORDSNET-16930CSS border style is not applied to image in output PDF/DOCXBug
WORDSNET-16946Content are rendered on multiple pages in HtmlFixed/PNGBug
WORDSNET-16979Distance between symbols not preserved in PDFBug
WORDSNET-16982Borders of some SmartArt elements not preserved in PDFBug
WORDSNET-16995LayoutCollector.GetStartPageIndex returns wrong page numberBug
WORDSNET-17002Equations render partially in generated PDFBug
WORDSNET-17025Document.UpdateFields generates wrong alphabetical sort order for INDEX fieldBug
WORDSNET-17032PDF output doesn’t match the original DOCX documentBug
WORDSNET-17046Word breaking in Thai language is wrongBug
WORDSNET-17052Signature images are not visible in generated PDF/ImageBug
WORDSNET-17055Unknown yellow color rectangle is rendered after conversion from DOCX TO PDFBug
WORDSNET-17058DOCX to PDF conversion issue with textbox shape glowBug
WORDSNET-17082StartTrackRevisions hangs and process does not completeBug
WORDSNET-17103Incorrect rendering of the text outline with zero width after converting to PDFBug
WORDSNET-17118Extra pages are created when DOCX is converted to PDFBug
WORDSNET-17122Improve conditions for hanging punctuationBug
WORDSNET-17133Vertical spacing between Paragraphs increased when rendering to PDFBug
WORDSNET-17136Remove whitespaces from MathML content while importing html to model.Bug
WORDSNET-17191Line Caps Rendering - Stealth arrow is rendered incorrectly.Bug
WORDSNET-17192Line Caps Rendering - Curved arrow has incorrect direction.Bug
WORDSNET-17194CertificateHolder.Create() raises an exception on a remote system in GroupDocs.Signature for Cloud projectBug
WORDSNET-17214Rendering of a line goes beyond the page boundsBug
WORDSNET-17217Document.UpdateFields changes the color and size of Heading numberBug
WORDSNET-17231Footer is missing in the output PDF documentBug
WORDSNET-17239Some images has incorrect colors when render in .NET Core under LinuxBug
WORDSNET-10034SaveDate field’s result become visible after re-saving the documentEnhancement
WORDSNET-16985Reference resources in MHTML documents using the “Content-Id” URL schemeEnhancement
WORDSNET-17049Spaces and special characters trimmed when renderingEnhancement
WORDSNET-17066Remove UTF-8 BOM from CSS parts in MTHML documentsEnhancement
WORDSNET-17078Rework span shallow size testsEnhancement
WORDSNET-17089Combine styles when saving Words to HTML with HtmlFixedSaveOptionsEnhancement
WORDSNET-17112Incorrect font fallback for Asian charactersEnhancement
WORDSNET-17113Implement the second way of rendering the shape outlineEnhancement
WORDSNET-17119Line Caps Rendering - PolyLine caps direction is not correctEnhancement
WORDSNET-17120Update minimum possible font sizeEnhancement
WORDSNET-17207Remove Aspose logo from Venture license in trial modeEnhancement
WORDSNET-17211Remove obsolete public properties EndnoteOptions.Location/FootnoteOptions.LocationEnhancement
WORDSNET-17222Set RunPr.ComplexScript to True for Thai letter list labelsEnhancement
WORDSNET-15830Document.UpdateField() throws ArgumentException ExceptionException
WORDSNET-16561System.ArgumentException is thrown while saving DOCX to HTMLException
WORDSNET-16601Debug build exception when convert to PDF line without spaces under floater table.Exception
WORDSNET-17048Document.UpdatePageLayout throws System.InvalidCastException when removing Normal stylesException
WORDSNET-17104java.lang.NullPointerException occurs when rendering to PDFException
WORDSNET-17105Document.PageCount throws System.NullReferenceExceptionException
WORDSNET-17106Document.Compare throws System.NullReferenceExceptionException
WORDSNET-17179The NRE exception occurs while inserting a documentException
WORDSNET-17212NullReferenceException occurs when saving to PDF after invoking PageCountException
WORDSNET-4898Allow setting “Layout in Table Cell” option of shapesFeature
WORDSNET-13967Add feature to create Snip Corner RectangleFeature
WORDSNET-15692Track changes rendering issue in resultant PDFFeature
WORDSNET-16272Add a feature to escape ampersand symbol during replacementFeature
WORDSNET-16536Change SHA-1 to SHA-256 and public asymmetric key from 1024 to 2048 for the license mechanismFeature
WORDSNET-16817Add feature to populate template document loaded by “doc” tagFeature
WORDSNET-16986Include Formatting Comments in Save To TiffFeature
WORDSNET-17184Add feature to detect encoding characters and change them to UFT-8 in output RTFFeature
WORDSNET-16807Document.UpdateFields throws System.NullReferenceExceptionRegression
WORDSNET-16904UpdateFields after MailMerge causes “Error! Bookmark not defined” error in generated PDFRegression

Public API and Backward Incompatible Changes

This section lists public API changes that were introduced in Aspose.Words 18.8. 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 a regression and modifies existing behavior is especially important and is documented here.

Nested reports are supported by LINQ Reporting Engine

WORDSNET-16817 has now been resolved.

The “Inserting Documents Dynamically” section of the engine’s documentation was updated to describe the change.

Added Feature to Create Snip Corner Rectangle

WORDSNET-13967 has been resolved:

The following shapes types were added to the “ShapeType” enum:

/// Snip single corner rectangle object.
/// </summary>
/// <remarks>
/// Applicable only for DML shapes.
/// </remarks>
SingleCornerSnipped = 203,
/// <summary>
/// Snip same side corner rectangle.
/// </summary>
/// <remarks>
/// Applicable only for DML shapes.
/// </remarks>
TopCornersSnipped = 204,
/// <summary>
/// Snip diagonal corner rectangle.
/// </summary>
/// <remarks>
/// Applicable only for DML shapes.
/// </remarks>
DiagonalCornersSnipped = 205,
/// <summary>
/// Snip and round single corner rectangle.
/// </summary>
/// <remarks>
/// Applicable only for DML shapes.
/// </remarks>
TopCornersOneRoundedOneSnipped = 206,
/// <summary>
/// Round single corner rectangle.
/// </summary>
/// <remarks>
/// Applicable only for DML shapes.
/// </remarks>
SingleCornerRounded = 207,
/// <summary>
/// Round same side corner rectangle.
/// </summary>
/// <remarks>
/// Applicable only for DML shapes.
/// </remarks>
TopCornersRounded = 208,
/// <summary>
/// Round diagonal corner rectangle.
/// </summary>
/// <remarks>
/// Applicable only for DML shapes.
/// </remarks>
DiagonalCornersRounded = 209

These shape types can not be used to create VML shapes. Attempt to create shape  by using public constructor of the “Shape” class raises the “NotSupportedException” exception. DML shape with one of specified above type can be created with “InsertShape” method of the document builder:

Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
Shape shape = builder.InsertShape(ShapeType.TopCornersSnipped, 50, 50);
OoxmlSaveOptions so = new OoxmlSaveOptions(SaveFormat.Docx);
so.Compliance = OoxmlCompliance.Iso29500_2008_Transitional;
doc.Save("TopCornersSnipped.docx", so);

Reference Resources in MHTML Documents using the “Content-Id” URL Scheme.

WORDSNET-16985 has been resolved.

By default, resources in MHTML documents are referenced by file name (for example, “image.png”), which are matched against “Content-Location” headers of MIME parts. Now was added a new option to HtmlSaveOptions. This option enables an alternative method, where references to resource files are written as CID (Content-ID) URLs (for example, “cid:image.png”) and are matched against “Content-ID” headers.

public bool ExportCidUrlsForMhtmlResources { get; set; }

Added Public Property ShowComments in LayoutOptions

WORDSNET-16986 has been resolved.

The following property has been added to the LayoutOptions class:

/// <summary>
/// Gets or sets indication of whether comments are rendered.
/// Default is True.
/// </summary>
public bool ShowComments
   get; set;

This property is used to show\hide comments in the output document. By default, the comments are always shown.


Document doc = new Document(myDir + "Input.docx");
doc.LayoutOptions.ShowComments = false;
doc.Save(myDir + "Output.pdf");

Added Public Property ShowInBalloons in RevisionOptions

WORDSNET-16986 has been resolved.

The following property has been added to the RevisionOptions class:

/// <summary>
/// Allows to specify whether the revisions are rendered in the balloons.
/// Default value for this property is <see cref="Layout.ShowInBalloons.None"/>
/// </summary>
public ShowInBalloons ShowInBalloons
      get; set;
/// <summary>
/// Specifies which revisions are rendered in balloons.
/// </summary>
/// <remarks>
/// Note that these values do not affect rendering of comments, which are controlled by <see cref="LayoutOptions.ShowComments"/>.
/// </remarks>
public enum ShowInBalloons
     /// <summary>
     /// Renders insert, delete and format revisions inline.
     /// </summary>
     /// <summary>
     /// Renders insert and delete revisions inline, format revisions in balloons.
     /// </summary>
     /// <summary>
     /// Renders insert revisions inline, delete and format revisions in balloons.
     /// </summary>

This property is used to show revisions in the balloons. By default, the revisions in balloons are not shown.


Document doc = new Document(myDir + "Input.docx");

// Renders insert and delete revisions inline, format revisions in balloons.
doc.LayoutOptions.RevisionOptions.ShowInBalloons = ShowInBalloons.Format;
doc.Save(myDir + "Output.pdf");


Document doc = new Document(myDir + "Input.docx");

// Renders insert revisions inline, delete and format revisions in balloons.
doc.LayoutOptions.RevisionOptions.ShowInBalloons = ShowInBalloons.FormatAndDelete;
doc.Save(myDir + "Output.pdf");

Write all CSS Declarations of HtmlFixed Documents into Single File

WORDSNET-17089 has been resolved.

Previously, Aspose.Words saved “@font-face” rules of HtmlFixed documents into a separate file “fontFaces.css” while other CSS declarations were written to “styles.css”. We have changed this behavior and now Aspose.Words saves all CSS rules and declarations into the same file “styles.css”. In case the old behavior is required for compatibility with legacy code, it can be restored by using the new public property that we have added to the HtmlFixedSaveOptions class:

bool SaveFontFaceCssSeparately { get; set; }

RtfLoadOptions class was extended

WORDSNET-17184 has been resolved.

A new LoadOptions class for dealing with RTF files was introduced : RtfLoadOptions.

New public property RecognizeUtf8Text was added into the RtfLoadOptions class:

/// <summary>
/// <para> When set to true, <see cref="CharsetDetector"/> will try to detect UTF8 characters,
/// they will be preserved during import.
/// </para>
/// Default value is false.
/// </summary>
public bool RecognizeUtf8Text

This property allows to detect UTF-8 encoded characters and preserve them during import.


RtfLoadOptions loadOptions = new RtfLoadOptions();
loadOptions.RecognizeUtf8Text = true;
Document doc = new Document(fileName, loadOptions);

Obsolete Member NumInDash was Removed from NumberStyle Enum

Obsolete value NumInDash was removed from NumberStyle enum. Please, use NumberStyle.NumberInDash value instead.

Obsolete Method ToTxt() was Removed from Node Class

Obsolete method ToTxt() was removed from Node class. Please, use ToString(SaveFormat.Text) instead.

Obsolete Property Location was Removed from FootnoteOptions and EndnoteOptions Classes

The obsolete property Location has been removed from the FootnoteOptions and EndnoteOptions classes. Please use the Position property. Also, the FootnoteLocation emum type has been removed.

Obsolete Property WarningCallback  was Removed from SaveOptions Class

Obsolete property WarningCallback  was removed from SaveOptions class. Please, use the Document.WarningCallback property instead.