Aspose.Words for Java 22.6 Release Notes
Major Features
There are 71 improvements and fixes in this regular monthly release. The most notable are:
- Implemented an ability to convert PDF documents to fixed page formats with high fidelity and performance.
- DrawingML charts public API was extended to support gradient, texture and pattern fills.
- Implemented a solid text fill effect inheritance exception that mimics the behavior of MS Word.
- Saving progress notifications were extended for ODT format.
Full List of Issues Covering all Changes in this Release (Reported by Java Users)
Key | Summary | Category |
---|---|---|
WORDSJAVA-2731 | XHTML Entities do not resolved during loading Epub documents. | New Feature |
WORDSJAVA-2651 | Bookmark.Text does not return All the Text Enclosed | Bug |
WORDSNET-21860 | DOCX to PDF - A picture in table moves to next page resulting in increase in page count | Bug |
WORDSNET-22581 | Problem wirh bookmark upon comparing documents | Bug |
WORDSNET-23778 | Revision on list item is rendered incorrectly | Bug |
WORDSNET-22810 | Error converting DOCX to HTML | Bug |
WORDSNET-23803 | stylePaneFormatFilter values are chnaged after open/save DOCX document | Bug |
WORDSNET-23793 | Image resolution is changed after saving to HTML with ScaleImageToShapeSize = false | Bug |
WORDSNET-23840 | Part of content is invisible after rendering | Bug |
WORDSNET-23797 | Table Alignment Issue in converting RTF files to PDF | Bug |
Full List of Issues Covering all Changes in this Release (Reported by .NET Users)
Key | Summary | Category |
---|---|---|
WORDSNET-22072 | Add support for gradient, texture and pattern fills in Charts | New Feature |
WORDSNET-23059 | Rendering PDFs directly to fixed formats without intermediate flow layout | New Feature |
WORDSNET-22890 | Add loading progress notification for ODT documents | New Feature |
WORDSNET-23167 | Consider supporting “User Field” upon importing ODT | New Feature |
WORDSNET-7284 | Vertical space between Picture and TextBox is lost in PDF | New Feature |
WORDSNET-7282 | Text lines in Lists do not have correct left indentation in PDF | New Feature |
WORDSNET-6264 | Left indent of text in second line of List is incorrect in PDF | New Feature |
WORDSNET-23615 | Output AZW3 document isn’t correctly displayed in Kindle for PC | Bug |
WORDSNET-22805 | HTML to PDF conversion issue with page border | Bug |
WORDSNET-23633 | Remove obsolete properties from ChartDataPointCollection and ChartDataLabelCollection classes | Bug |
WORDSNET-23908 | Resaved document throws an error in MS Word | Bug |
WORDSNET-14308 | Bookmarks are lost after using Document.Compare method | Bug |
WORDSNET-22952 | Bookmark is lost after comparing documents | Bug |
WORDSNET-22550 | Document.Compare breaks inserted cross-references | Bug |
WORDSNET-23885 | Shape becomes visible after open/save DOCX document | Bug |
WORDSNET-23842 | Text with effects is rendered improperly | Bug |
WORDSNET-23581 | System.NotImplementedException occurs on accessing the Fill property | Bug |
WORDSNET-23876 | Rejecting delete revision removes the deleted text | Bug |
WORDSNET-23826 | Aspose.Words produces corrupted DOCX document | Bug |
WORDSNET-23906 | TypeInitializationException is thrown when Shaping.HarfBuzz is used in .NET6 | Bug |
WORDSNET-23871 | Support EQ field overstrike alignment | Bug |
WORDSNET-23809 | Text images are lost during Pdf2Word conversion | Bug |
WORDSNET-23859 | FileCorruptedException is thrown upon loading ODT document | Bug |
WORDSNET-23694 | RevisionColor missing ClassicRed and ClassicBlue values | Bug |
WORDSNET-23785 | Document.Save method modifying documents unexpectedly | Bug |
WORDSNET-23818 | FormatException is thrown upon rendering document with chart | Bug |
WORDSNET-23870 | Export equitation matrix columns alignment | Bug |
WORDSNET-23843 | Extra space is added after table | Bug |
WORDSNET-23613 | Tables were not detected during PDF to DOCX conversion | Bug |
WORDSNET-23777 | Default content of SDT becomes visible after processing document | Bug |
WORDSNET-23806 | ArgumentOutOfRangeException is thrown upon conversion from DOC to DOCX | Bug |
WORDSNET-23836 | Progress does not work while loading blank file | Bug |
WORDSNET-20805 | CSS Borders not rendering around div within a div | Bug |
WORDSNET-23761 | Header/footer does not match MS Word on RTF to DOCX conversion | Bug |
WORDSNET-23844 | List numbering is wrong for lists from HTML altChunk’s | Bug |
WORDSNET-23834 | Section breaks are missing from XML file | Bug |
WORDSNET-23154 | Vertical axis scaling is changed after rendering chart | Bug |
WORDSNET-18806 | Text placement in the axle labels is different after the conversion in PDF | Bug |
WORDSNET-23035 | InvalidOperationException: Infinite loop detected. Check if fixed | Bug |
WORDSNET-21068 | One Table became multiple Tables when converting DOCX to HTML | Bug |
WORDSNET-23812 | Timestamp data of the inserted/deleted text gets modified | Bug |
WORDSNET-12365 | Font rendering issue with Persian text in output PDF | Bug |
WORDSNET-23808 | Separator elements are added instead of spaces | Bug |
WORDSNET-23790 | Tab of list label is highlighted after rendering | Bug |
WORDSNET-23780 | Paragraph first line indentation is incorrect after rendering | Bug |
WORDSNET-9646 | DOC to PDF conversion issue with image rendering | Bug |
WORDSNET-23813 | Attempt to read empty bfchar section gives InvalidOperationException | Bug |
WORDSNET-23773 | Part of content is missed after loading RTF document | Bug |
WORDSNET-23744 | InvalidOperationException is thrown on DOCX to DOC conversion | Bug |
WORDSNET-23738 | NullReferenceException is thrown upon rendering document | Bug |
WORDSNET-23614 | Exception on conversion to PDF | Bug |
WORDSNET-23659 | Data labels of stacked bar chart are lost after rendering | Bug |
WORDSNET-23726 | Fix StringComparison warnings | Bug |
WORDSNET-23727 | Fix some StringComparison warnings in the code | Bug |
WORDSNET-23627 | Placeholder is rendered instead of real value in data label | Bug |
WORDSNET-23700 | Text in list item starts in wrong position after wrapping around paragraph | Bug |
WORDSNET-23796 | InvalidOperationException is thrown upon rendering document | Bug |
WORDSNET-23784 | ArgumentOutOfRangeException is thrown upon appending document | Bug |
WORDSNET-23792 | Review of Particular file with “Gabriola” font is displayed incorrect in FF/Chrome | Bug |
WORDSNET-23756 | InvalidCastException is thrown when set text of bookmark, which is inside OfficeMath | Bug |
WORDSNET-21069 | Wrong Style Color applied to some Rows when converting DOCX to HTML | Bug |
Public API and Backward Incompatible Changes
This section lists public API changes that were introduced in Aspose.Words 22.6. 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 new public constants to RevisionColor enum
Related issue: WORDSNET-23694
Starting from version 2019 of MS Word, it has the ability to set additional colors for revisions. A new revision color constants have been added.
/// <summary>
/// Represents 0000ff color.
/// </summary>
ClassicBlue,
/// <summary>
/// Represents ff0000 color.
/// </summary>
ClassicRed,
Now it is really easy to set new colors for the document revisions.
Use Case:
// Set new color for the insert revisions
doc.LayoutOptions.RevisionOptions.InsertedTextColor = RevisionColor.ClassicBlue;
Changed behavior of Fill.OneColorGradient and Fill.TwoColorGradient methods
Related issue: WORDSNET-22072
The following changes have been implemented:
-
Now the OneColorGradient and TwoColorGradient methods of the Fill class can be used to create gradient fills in charts (see ChartDataPoint.Format.Fill, ChartMarker.Format.Fill and ChartSeries.Format.Fill properties). System.NotImplementedException was thrown in the previous versions.
-
Behavior of the following overloads of the OneColorGradient and TwoColorGradient methods have been changed:
/// <summary> /// Sets the specified fill to a one-color gradient using the specified color. /// </summary> /// <param name="color">The color to build the gradient.</param> /// <param name="style">The gradient style <see cref="Drawing.GradientStyle"/></param> /// <param name="variant">The gradient variant <see cref="Drawing.GradientVariant"/></param> /// <param name="degree">The gradient degree. Can be a value from 0.0 (dark) to 1.0 (light).</param> public void OneColorGradient(Color color, GradientStyle style, GradientVariant variant, double degree); /// <summary> /// Sets the specified fill to a two-color gradient. /// </summary> /// <param name="color1">The first color to build the gradient.</param> /// <param name="color2">The second color to build the gradient.</param> /// <param name="style">The gradient style <see cref="Drawing.GradientStyle"/>.</param> /// <param name="variant">The gradient variant <see cref="Drawing.GradientVariant"/></param> public void TwoColorGradient(Color color1, Color color2, GradientStyle style, GradientVariant variant);
In the past, their behavior was as if a gradient was created using the overloads without specifying colors, and then fore and back color were set. Now the behavior is reversed: as if you first define the colors, and then using the overloads to build the gradient.
Removed obsolete PdfDigitalSignatureHashAlgorithm enum values
Related issue: WORDSNET-23473
Removed obsolete PdfDigitalSignatureHashAlgorithm enum values Sha1 and Md5.
SHA1 and MD5 hash algorithms for digital signature are deprecated in the latest PDF specification due to security issues. So, please, use the one of the available algorithms instead.
Removed obsolete methods of ChartDataPointCollection and ChartDataLabelCollection classes
Related issue: WORDSNET-23633
The following obsolete methods have been removed:
public class ChartDataLabelCollection
{
/// <summary>
/// Adds new <see cref="ChartDataLabel"/> at the specified index.
/// </summary>
/// <param name="index">Target data label index.</param>
[Obsolete("When ChartSeries.HasDataLabels is 'true', all data labels are available in this collection.")]
public ChartDataLabel Add(int index);
/// <summary>
/// Clears format of a <see cref="ChartDataLabel"/> at the specified index.
/// </summary>
/// <param name="index">The zero-based index of the chart data label to clear format.</param>
[Obsolete("Use the ChartDataLabel.ClearFormat method instead.")]
public void RemoveAt(int index);
/// <summary>
/// Clears format of all <see cref="ChartDataLabel"/> in this collection.
/// </summary>
[Obsolete("Use the ClearFormat method instead.")]
public void Clear();
}
public class ChartDataPointCollection
{
/// <summary>
/// Adds new <see cref="ChartDataPoint"/> at the specified index.
/// </summary>
/// <param name="index">Target data point index.</param>
[Obsolete("All data points are available in this collection.")]
public ChartDataPoint Add(int index);
/// <summary>
/// Clears format of a <see cref="ChartDataPoint"/> at the specified index.
/// </summary>
/// <param name="index">The zero-based index of the data point to clear format.</param>
[Obsolete("Use the ChartDataPoint.ClearFormat method instead.")]
public void RemoveAt(int index);
/// <summary>
/// Clears format of all <see cref="ChartDataPoint"/> in this collection.
/// </summary>
[Obsolete("Use the ClearFormat method instead.")]
public void Clear();
}
Added new class for saving PDFs to other fixed formats
Related feature task: WORDSNET-23059
We’ve added a new way to work with PDF input files. Now they can be converted into a fixed format without using Words layout model.
I.e. the feature runs without Document class and returns the result in a MemoryStream object.
Example:
var pdfRenderer = new PdfFixedRenderer();
var options = new PdfFixedOptions() { PageIndex = 0, PageCount = 2 };
var resultStream = pdfRenderer.SavePdfAsHtml(pdfStream, options);
Pros:
- More accurate conversion (positions of text and other elements).
- Better performance and memory usage (less logic to run, no need to build flow models, etc).
Cons:
- The list of output formats is limited for now (PDF, Html, XPS, Jpeg, Png, Tiff, Bmp).
- There is no way to edit the data during the conversion.
- A small amount of options such as Password, page range and Jpeg image quality.
Supported methods:
SavePdfAsHtml(...);
SavePdfAsXps(...);
SavePdfAsImages(...);
SavePdfAsPdf(...);
Available options:
- PageIndex and PageCount can be used to select a subset of pages.
- Password - allows to decode an encrypted PDF. The result would be decrypted.
- JpegQuality - can be provided before SavePdfAsImages calls to setup output Jpeg image quality.
- ImageFormat - should be used to specify the output image format for SavePdfAsImages.
All options are optional and can be ommited in favor of default values.