Aspose.Words for .NET 18.12 Release Notes

Major Features

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

  • Implemented WMF fonts scaling, according to metafile size on the page, and public option to control it (MetafileRenderingOptions.ScaleWmfFontsToMetafileSize).
  • Improved the default font fallback mechanism to better fit the MW behavior.
  • Optimized metafile from SVG rendering to skip redundant line segments.
  • Fixed a bug that caused an exception when rendering metafiles filled with gradient.
  • Fixed a bug with the order of legend items of the stacked DrawingML chart when rendering.
  • Fixed a bug with text clipping when rendering the DrawingML charts.
  • Fixed a bug with rendering of minor tick marks and clipping the rightmost bar of DrawingML charts.
  • Fixed a bug with rendering data labels for points, located on the border of the DrawingML chart plot area.
  • Implemented support for RTL comments rendering, e.g. Arabic.
  • Improved hyphenation logic for multiple cases.
  • Improved page numbering for sections starting in new columns.
  • Improved table row alignment.
  • Improved tab stop calculations with paragraph indents.
  • Improved table breaking logic for numerous complex cases.
  • Improved handling of character compression within mixed ltr/rtl text.
  • Fixed exception in rare case when field update causes line to contain only zero length spans.
  • Fixed exception in rare case when floating object is pushed beyond empty column.
  • Fixed layout when tables merge over the hidden paragraph.

Full List of Issues Covering all Changes in this Release

WORDSNET-17415Font of text is changed after conversion from DOCX to HTMLBug
WORDSNET-17202Table’s cell is lost after conversion from DOCX to HTMLBug
WORDSNET-17601DOCX to PDF conversion issue with chart renderingBug
WORDSNET-17627Header not renderedBug
WORDSNET-14102Hyphenation in Aspose.Words pdf output is different from MS WordBug
WORDSNET-14751Position of hyphen is different when converting Docx to PdfBug
WORDSNET-17588Content is moved beyond the pageBug
WORDSNET-2163INCLUDEPICTURE is lost during DOC to DOCX, WML and RTF conversionBug
WORDSNET-14852Invalid license signature error on calling License.SetLicense methodBug
WORDSNET-11900Docx to Pdf conversion issue rotated text of ShapeBug
WORDSNET-10735Table widths are not correct in PDFBug
WORDSNET-5013Part of content is moved to previous page upon rendering.Bug
WORDSNET-5473Size of image inserted using INCLUDEPICTURE field is changed after converting to DOCBug
WORDSNET-5689Image CSS style is ignored and the image is rendered full size in the wordBug
WORDSNET-3979Content controls linked to custom xml properties filled from SharePoint metadata are empty on conversion to pdf and doc (sdt)Bug
WORDSNET-17590Different Foreign Language texts rendering as square boxes in PDFBug
WORDSNET-15141When converting DOC to PDF, bookmarks for TOT (Table Of Tables) & TOF (Table Of Figures) are not createdBug
WORDSNET-8982Incorrect shape width when word wrap is OFF in text box propertiesBug
WORDSNET-16767Aspose.Words v18.3.0: NullReferenceExeption when saving tableBug
WORDSNET-17641Invalid order of chart legend items after conversion to PDFBug
WORDSNET-15924The picture rendered incorrectly in PDF outputBug
WORDSNET-17646Specifying MsWordVersion.Word2016 of OptimizeFor does not respect ResourceLoadingAction.Skip during saving to DOCXBug
WORDSNET-17493NullReferenceException while saving to mhtmlBug
WORDSNET-17617Arabic text is rendered as reversed in output PDFBug
WORDSNET-11408Docx to Pdf conversion issue with table’s widthBug
WORDSNET-17573DOCX to PDF - content movedBug
WORDSNET-17761DOCX to PDF - content on page 2 is hiddenBug
WORDSNET-17426MHTML to PDF - indented email text becomes single columnBug
WORDSNET-17642Text of the chart user shape is clipped after converting to PDFBug
WORDSNET-17643The last data label is not rendered after converting to PDFBug
WORDSNET-17652DOCX to PDF/Jpeg conversion issue with Hindi fontBug
WORDSNET-17051Content overlaps in generated PDFBug
WORDSNET-16987Document.getText() and Document.toString(SaveFormat.TEXT) do not return Text of EQ fieldBug
WORDSNET-17271Chart.Title.Text returns incorrect valueBug
WORDSNET-9534Header hight with dynamically growing content is incorrerct in PdfBug
WORDSNET-8993Problem with image alignment while converting to mhtml or html fileBug
WORDSNET-17625Export width in percent for horizontal rules with imagesBug
WORDSNET-17624Issue with horizontal rule indentation when converting DOCX to HTMLBug
WORDSNET-4663Font size in a table cell is changed during renderingBug
WORDSNET-15250SDT position is wrong after AcceptAllRevisionsBug
WORDSNET-1721Put evaluation marks above all other contentsBug
WORDSNET-15409Arrow Shape do not render correctly after DML-to-VML conversionBug
WORDSNET-17663UpdateFields method recreates bookmarks used in the ToCBug
WORDSNET-17654Document.UpdateFields does not update the TOC fieldBug
WORDSNET-17759PDF is converted from DOCX as raw XML fragmentBug
WORDSNET-17547DOCX to PDF conversion issue with HyphenationBug
WORDSNET-13540Import INCLUDEPICTURE field correctly when document is imported from streamBug
WORDSNET-15336Incorrect floating table break in 2013 modeBug
WORDSNET-15395Table rendering issue in resultant PDF documentBug
WORDSNET-17600DOCX to PDF - table split over two pages instead of oneBug
WORDSNET-17628Arc does not render correctly in output PDFBug
WORDSNET-8187Performance issue while converting MHTL file into PdfBug
WORDSNET-17764AcceptAllRevisions removes contentBug
WORDSNET-15445SDTs of move-from range are not removed after accepting revisionsBug
WORDSNET-12683Shape’s text is truncated after saving Docx to PdfBug
WORDSNET-17674DOCX to PDF, chart bars are overlappedBug
WORDSNET-17474Negative font spacing is not preserved after HTML round-tripEnhancement
WORDSNET-17589Table rows not alignedEnhancement
WORDSNET-15047Converting DOC to PDF moves some Table Rows to rightEnhancement
WORDSNET-16534Word to PDF Table Alignment IssueEnhancement
WORDSNET-17294Remove public API method ‘SetAsDefault’ from LoadOptions.LanguagePreferencesEnhancement
WORDSNET-17760DOCX to PDF - invalid page count in the headerEnhancement
WORDSNET-17216Page numbers in footer not correct in rendered PDFEnhancement
WORDSNET-16448Font size depend on metafile bbox aspect ratioEnhancement
WORDSNET-17619DOCX to PDF - tables split across two pagesEnhancement
WORDSNET-17577DefaultFontName setting is not working for saving into HTMLEnhancement
WORDSNET-8985Floating table overlaps text when anchor is pushed to the next columnEnhancement
WORDSNET-4989Position of floating table is incorrect.Enhancement
WORDSNET-17088Legends stretched on diagram when converted to PDF.Enhancement
WORDSNET-17621Null reference exception when converting Word docx to PdfException
WORDSNET-17595Extracting bookmark content throws exceptionException
WORDSNET-17762NRE exception raises while rendering to PDF outputException
WORDSNET-17094System.InvalidCastException is thrown while loading RTFException
WORDSNET-17783Document.Compare throws System.InvalidCastException because of SpecialCharException
WORDSNET-17791An exception raises while saving the document to the Strict Open XML format - ‘Unknown attribute’Exception
WORDSNET-17766Aspose.Words.FileCorruptedException occurs upon loading a RTFException
WORDSNET-17671Exception when converting a docx with a Visio object to pdfException
WORDSNET-17789An exception raises while saving the document to the Strict Open XML formatException
WORDSNET-17637Document.UpdatePageLayout method throws System.NullReferenceExceptionException
WORDSNET-1450There is no rotation when open the document in the below version of 2003Feature
WORDSNET-5396Create a demo which allows the user to upload a document and convert it to any supported formatFeature
WORDSNET-9197Release Aspose.Words for C++Feature
WORDSNET-1188Difficulties when accessing field names returned by MailMerge.GetFieldNamesFeature
WORDSNET-1289Support page number field formatting in ModelFeature
WORDSNET-17733Removing colon between empty MERGEFIELDsFeature
WORDSNET-16843Render Comments in Arabic Language modeFeature
WORDSNET-8518Allow insertion of Custom Fields using DocumentBuilder.InsertField methodFeature
WORDSNET-13343Analyze what it takes to make Aspose.Words for Windows Universal 10 App (UWP)Feature
WORDSNET-8702Add members to LoadFormat and SaveFormat enumerations for Strict Open XML Document (.docx) formatFeature
WORDSNET-11588Support Windows Store App (Windows Runtime/WinRT)Feature
WORDSNET-13332Provide an API to read and update SDT to CustomXML propertiesFeature
WORDSNET-15158Tables rendered one over the another after conversion doc to pdfFeature
WORDSNET-118Make it possible to insert section or document at merge field or bookmarkFeature
WORDSNET-17304Investigation - slow save to PDF after mail mergePerformance
WORDSNET-17650Some symbols turn into rectangles in PDFRegression
WORDSNET-10756Image and table misalignment during rendering/printingRegression

Public API and Backward Incompatible Changes

This section lists public API changes that were introduced in Aspose.Words 18.12. 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.

hideMark Handling Changed to Match MS Word 2016 Behavior When Converting to Fixed-Page Formats

WORDSNET-17619 has been resolved.

A customer complained about differences between Aspose.Words pdf output and MS Word layout.

Upon analysis it turned out that Aspose.Words output matches MS Word behavior for older versions (up to MS Word 2013).

The customer expected the behavior to match MS Word 2016.

The difference is in handling how hideMark element in a table cell influences the cell height. In fact, the behavior that the customer complains about was introduced intentionally per several other JIRA issues submitted for other customers earlier.

Below is side-by-side appearance of the same test document  in MS Word 2013 and MS Word 2016: 


Because of different hideMark handling, the cell height is different for a number of cases when invisible contents are present in the cell.

As the current policy is to emulate MS Word 2016 behavior, the changes will essentially roll back some special handling of the above cases when calculating table cell height in presence of hideMark.

The changes may be perceived as a breakage by customers still using MS Word versions before MS Word 2016.

MS Word 2016 Behavior Imitated for Some Special Cases with Continuous and “new column” Section Breaks

.WORDSNET-17760 has been resolved.

Aspose.Words behavior was changed to match MS Word 2016 for some situations with continuous and “new column” section breaks. The changes affect conversion to fixed-page formats. The behavior changed for computing page numbers and for providing of an empty facing page when adjacent pages have the same oddity.

It turned out that some of the implemented logic is different between MS Word 2016 and MS Word 2013. Because of that, the changes may look like a breakage if a user expects Aspose.Words behavior to match MS Word 2013 or an earlier version.

An example of different behavior is below. 


Added WMF Fonts Scaling According to Metafile Size on the Page and Public Option to Control it

New public property was added to MetafileRenderingOptions class:

/// <summary>
/// Gets or sets a value determining whether or not to scale fonts in WMF metafile according to metafile size on the page.
/// </summary>
/// <remarks>
/// When WMF metafiles are displayed in MS Word, fonts may be scaled according to actual metafile size on the page.
/// When this value is set to <c>true</c>, Aspose.Words emulates font scaling according to metafile size on the page.
/// When this value is set to <c>false</c>, Aspose.Words displays the fonts as metafile is rendered to its default size.
/// This option is used only when metafile is rendered as vector graphics.
/// The default value is <c>true</c>.
/// </remarks>
public bool ScaleWmfFontsToMetafileSize

Removed Obsolete Public API Method ‘SetAsDefault’ from LoadOptions.LanguagePreferences

WORDSNET-17294 has been resolved.

Removed obsolete public API method ‘SetAsDefault’ from LoadOptions.LanguagePreferences:

// Sets default editing language.
[Obsolete("Please use LanguagePreferences.DefaultEditingLanguage property instead.")]
public void SetAsDefault(EditingLanguage language)

Please use LanguagePreferences.DefaultEditingLanguage property instead:

Added a Public Property HtmlSaveOptions.ResolveFontNames

WORDSNET-17577 has been resolved.

A new option HtmlSaveOptions.ResolveFontNames has been added that affects writing of font names to HTML-based formats. By default this option is set to false and, as before, Aspose.Words writes font names as specified in the source document, ignoring Document.FontSettings. If this option is set to true, Aspose.Words resolves all font names before writing them to HTML. That is, it checks availability of each font using Document.FontSettings and substitutes unavailable fonts if needed.

Obsolete Property AllowTrailingWhitespaceForListItems was Removed from LoadOptions Class

Obsolete property AllowTrailingWhitespaceForListItems was removed from LoadOptions class.

Please, use TxtLoadOptions.DetectNumberingWithWhitespaces instead.