Aspose.Words for .NET 17.4 Release Notes
Major Features
There are 80 improvements and fixes in this regular monthly release. The most notable are:
- CompareOptions class introduced to allow customer specify comparison settings.
- Custom Xml Data Properties is now supported for RTF format.
- Implemented support for baseline alignment in asian text.
- Improved table split for vertically merged cells in combination with atleast height.
- Improved table grid calculation for horizontally merged cells.
- Improved BalanceSingleByteDoubleByteWidth handling.
- The horizontal and vertical resolution of output images can now be specified separately (through ImageSaveOptions.VerticalResolution and ImageSaveOptions.HorizontalResolution).
- Underline, strikethrough, text borders and effects are now taken into account wile rendering OfficeMath equation text.
- A substitution of fonts with the same name but with different suffixes now generates a proper warning.
- Metafiles with isotropic mapping mode is now rendered properly (shapes placement fixed).
- Textboxes with automatic fit is now rendered correctly inside the group shapes.
- Corrupted texture images do not stop the rendering procedure with an exception, a warning is sent instead now.
- DrawingML Charts rendering improved (rotated and scaled horizontal axis labels).
Full List of Issues Covering all Changes in this Release
Key | Summary | Category |
---|---|---|
WORDSNET-10953 | Table width is not calculated correctly during rendering to PDF | Bug |
WORDSNET-11295 | ROOT Inline Shape position is changed after conversion from Docx to Pdf | Bug |
WORDSNET-12171 | Docx to Pdf conversion issue with AltChunk (HTML file) | Bug |
WORDSNET-12921 | Restricted and Hidden styles appearing in styles pane and Quick style gallary | Bug |
WORDSNET-13142 | The font size of altChunk contents is changed after re-saving Docx | Bug |
WORDSNET-13143 | The font name of altChunk contents is changed after re-saving Docx | Bug |
WORDSNET-13535 | TextAlignment property does not take effect and leads to different output from MS Word when converting to xps | Bug |
WORDSNET-14000 | PDF Conversion Issue with Docx containing customxml | Bug |
WORDSNET-14053 | Unknown ListTrailingCharacter enum member. | Bug |
WORDSNET-14159 | Image is rendered on next page after conversion from Docx to Pdf | Bug |
WORDSNET-14246 | Document.Compare generates incorrect format revisions | Bug |
WORDSNET-14265 | Incorrect export of equation in MathML | Bug |
WORDSNET-14319 | Incorrect order of tags if they are inside of MS Word’s table during Replace operation | Bug |
WORDSNET-14323 | Shape’s text does not render correctly in output Pdf | Bug |
WORDSNET-14324 | Docx to Pdf conversion issue with shape’s rendering | Bug |
WORDSNET-14325 | Docx to Pdf conversion issue with shape’s rendering/position | Bug |
WORDSNET-14540 | Strikethrough in Equation not preserved during rendering | Bug |
WORDSNET-14744 | Textbox positions are not preserved during open/save a DOCX | Bug |
WORDSNET-14807 | Roundtrip of the DOCX document has wrong output | Bug |
WORDSNET-14812 | Word to HTML then back to Word, table has extra space between rows | Bug |
WORDSNET-14853 | PageRef is converted to hyperlink in output Pdf | Bug |
WORDSNET-14857 | Showing bullets and font substitution problems | Bug |
WORDSNET-14871 | Document’s contents are lost after re-saving Docx | Bug |
WORDSNET-14899 | Saving Embedded Spreadsheet produces a different file every time | Bug |
WORDSNET-14917 | MHTML to PDF, Hebrew content in Subject is changed. | Bug |
WORDSNET-14919 | When DOCX is saved as PDF, some content overlaps the footer. | Bug |
WORDSNET-14924 | Document.UpdateFields does not update Ref field in output Docx/Pdf | Bug |
WORDSNET-14932 | Extra div elements are exported in HtmlFixed | Bug |
WORDSNET-14938 | While transforming a specific Word document to PDF, the table appears mixed up. | Bug |
WORDSNET-14946 | Word drawing diagrams are overlapped after conversion from Docx to Doc/Pdf | Bug |
WORDSNET-14965 | When DOCX is saved as PDF, the line of graph is different. | Bug |
WORDSNET-14967 | The embedded xlsm is changed to xlsx after re-saving Docx | Bug |
WORDSNET-14969 | DOCX save inserts invalid tblPrEx element to style | Bug |
WORDSNET-14980 | Different number of lines in AW pdf output because of SBCS/DBCS balancing | Bug |
WORDSNET-14985 | Stylesheet problem when saving DOC to DOC | Bug |
WORDSNET-14988 | When DOCX is saved as PDF, gradient fill is lost | Bug |
WORDSNET-14991 | Horizontal Axis of chart does not render correctly | Bug |
WORDSNET-14993 | ShapeRenderer.Save renders extra number on chart’s image | Bug |
WORDSNET-15021 | Corrupted word file after save | Bug |
WORDSNET-15030 | DocumentBuilder.MoveToHeaderFooter does not move the cursor to the header of document | Bug |
WORDSNET-15031 | Trendline of chart is changed in output Pdf | Bug |
WORDSNET-15036 | Part of header image is truncated in output HtmlFixed | Bug |
WORDSNET-15039 | Docx to Pdf conversion issue with OfficeMath equations | Bug |
WORDSNET-15046 | Range.Replace finds and replaces text in the incorrect order | Bug |
WORDSNET-15049 | The Image is lost When Convert docx to docx (pdf) | Bug |
WORDSNET-15050 | Old incorrect value is rendered inside a SDT in PDF | Bug |
WORDSNET-15051 | When DOCX is saved as PDF, the comma in chart has been replaced by semi-colon in all labels. | Bug |
WORDSNET-15056 | The chart’s legend entries are reversed in HtmlFixed | Bug |
WORDSNET-15070 | SEQ Ordinal not translated in Dutch | Bug |
WORDSNET-15074 | Pictures not shown or rendered incorrectly in HtmlFixed | Bug |
WORDSNET-15082 | Custom document properties are lost after conversion from Doc to Docx | Bug |
WORDSNET-15092 | Spanish labels become english | Bug |
WORDSNET-4586 | Style of text in header is changed during rendering. | Bug |
WORDSNET-4930 | Composite nodes inside paragraph not handled during TOC update. | Bug |
WORDSNET-7079 | Font name is corrupted when converting RTF to DOC | Bug |
WORDSNET-13324 | Document.Save removes *\datastore … tag from Rtf | Enhancement |
WORDSNET-14330 | Make sure CssIdentifierValue.ToCss escapes identifier. | Enhancement |
WORDSNET-14766 | Import custom list markers from ::before pseudo-elements when converting from HTML to Words | Enhancement |
WORDSNET-15005 | x-none language is not supported for DOCX | Enhancement |
WORDSNET-15043 | Cell’s border become visible after modifying style of Div tag in HtmlFixed | Enhancement |
WORDSNET-10847 | System.NullReferenceException when calling UpdateFields method | Exception |
WORDSNET-14529 | Aspose.Words.FileCorruptedException occurs upon loading HTML | Exception |
WORDSNET-14897 | System.ArgumentNullException is thrown while saving Doc to Html | Exception |
WORDSNET-14935 | A generic error occurred in GDI+ | Exception |
WORDSNET-14963 | System.ArgumentOutOfRangeException is thrown while saving Docx to Pdf | Exception |
WORDSNET-14981 | Shape.GetShapeRenderer throws System.NullReferenceException | Exception |
WORDSNET-14983 | System.NullReferenceException occurs upon converting DOCX to XPS | Exception |
WORDSNET-15012 | Bookmark.Text throws System.NullReferenceException | Exception |
WORDSNET-15015 | System.ArgumentOutOfRangeException is thrown while converting Docx to Pdf | Exception |
WORDSNET-15042 | Document.AcceptAllRevisions thriws System.ArgumentException | Exception |
WORDSNET-15066 | Chart object crashing shape.GetShapeRenderer() | Exception |
WORDSNET-15097 | Aspose.Words.FileCorruptedException is thrown while loading DOC | Exception |
WORDSNET-12345 | Compare documents with comparison setting | Feature |
WORDSNET-13938 | Convert Vml shapes to Dml upon saving to Strict Open XML Document format. | Feature |
WORDSNET-14944 | Add feature to remove spaces between sign and digits during mail merge | Feature |
WORDSNET-15010 | Add feature to set Horizontal and Vertical Resolution of output image | Feature |
WORDSNET-2496 | Consider support of conditional and browser-dependent comments | Feature |
WORDSNET-12477 | Table doesn’t use the entire page width in PDF | Regression |
WORDSNET-14978 | Some of the rows and columns are missing in Aspose 17.2 generated PDF file | Regression |
WORDSNET-15087 | Document.UpdateFields does not update fields when ExecuteWithRegions is used | Regression |
Public API and Backward Incompatible Changes
This section lists public API changes that were introduced in Aspose.Words 17.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 a regression and modifies existing behavior is especially important and is documented here.
Added an Interface to Flexibly Format Field Result
WORDSNET-14944 has been resolved.
We have added an interface allowing to implement a custom formatting of field’s result. The original request was about addiing a feature to remove spaces between sign and digits during mail merge. However, we decided to implement a more generic and flexible solution because our API is already overwhelmed with different specific properties.
DocumentBuilder builder = new DocumentBuilder();
Document document = builder.Document;
Field field = builder.InsertField("=-1234567.89 \\# \"### ### ###.000\"", null);
document.FieldOptions.ResultFormatter = new FieldResultFormatter("[{0}]", null);
field.Update();
Assert.AreEqual("[-1234567.89]", field.Result);
private class FieldResultFormatter : IFieldResultFormatter
{
public FieldResultFormatter(string numberFormat, string dateFormat)
{
mNumberFormat = numberFormat;
mDateFormat = dateFormat;
}
public FieldResultFormatter()
: this(null, null)
{
}
public string FormatNumber(double value, string format)
{
mNumberFormatInvocations.Add(new object[] { value, format });
return string.IsNullOrEmpty(mNumberFormat)
? null
: string.Format(mNumberFormat, value);
}
public string FormatDate(DateTime value, string format, CalendarType calendarType)
{
mDateFormatInvocations.Add(new object[] { value, format, calendarType });
return string.IsNullOrEmpty(mDateFormat)
? null
: string.Format(mDateFormat, value);
}
public string FormatNumber(double value, string format, string formattedValue)
{
throw new NotImplementedException();
}
public string FormatDate(DateTime value, string format, CalendarType calendarType, string formattedValue)
{
throw new NotImplementedException();
}
private readonly string mNumberFormat;
private readonly string mDateFormat;
private readonly ArrayList mNumberFormatInvocations = new ArrayList();
private readonly ArrayList mDateFormatInvocations = new ArrayList();
}
Added Feature to Set Horizontal and Vertical Resolution of Output Image
Previously it was one property Resolution that set both vertical and horizontal resolution to the same values. Now new public properties HorizontalResolution and VerticalResolution are added into the ImageSaveOptions class:
/// <summary>
/// Gets or sets the horizontal resolution for the generated images, in dots per inch.
/// </summary>
/// <remarks>
/// <para>This property has effect only when saving to raster image formats.</para>
/// <p>The default value is 96.</p>
/// </remarks>
public float getHorizontalResolution()
public void setgetHorizontalResolution(float value)
/// <summary>
/// Gets or sets the vertical resolution for the generated images, in dots per inch.
/// </summary>
/// <remarks>
/// <para>This property has effect only when saving to raster image formats.</para>
/// <p>The default value is 96.</p>
/// </remarks>
public float getVerticalResolution()
public void getVerticalResolution(float value)
Please note, that Resolution property became write-only:
/// <summary>
/// Sets both horizontal and vertical resolution for the generated images, in dots per inch.
/// </summary>
/// <remarks>
/// <para>This property has effect only when saving to raster image formats.</para>
/// </remarks>
public void setResolution(float value)