Aspose.Words for Python via .NET 22.6 Release Notes
Major Features
There are 69 improvements and fixes in this regular monthly release. The most notable are:
- 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 .NET Users)
Key | Summary | Category |
---|---|---|
WORDSNET-6264 | Left indent of text in second line of List is incorrect in PDF | New Feature |
WORDSNET-7282 | Text lines in Lists do not have correct left indentation in PDF | New Feature |
WORDSNET-7284 | Vertical space between Picture and TextBox is lost in PDF | New Feature |
WORDSNET-22072 | Add support for gradient, texture and pattern fills in Charts | New Feature |
WORDSNET-22890 | Add loading progress notification for ODT documents | New Feature |
WORDSNET-23059 | Rendering PDFs directly to fixed formats without intermediate flow layout | New Feature |
WORDSNET-23167 | Consider supporting “User Field” upon importing ODT | New Feature |
WORDSNET-9646 | DOC to PDF conversion issue with image rendering | Bug |
WORDSNET-12365 | Font rendering issue with Persian text in output PDF | Bug |
WORDSNET-14308 | Bookmarks are lost after using Document.Compare method | Bug |
WORDSNET-18806 | Text placement in the axle labels is different after the conversion in PDF | Bug |
WORDSNET-20805 | CSS Borders not rendering around div within a div | Bug |
WORDSNET-21068 | One Table became multiple Tables when converting DOCX to HTML | Bug |
WORDSNET-21069 | Wrong Style Color applied to some Rows when converting DOCX to HTML | Bug |
WORDSNET-22550 | Document.Compare breaks inserted cross-references | Bug |
WORDSNET-22805 | HTML to PDF conversion issue with page border | Bug |
WORDSNET-22952 | Bookmark is lost after comparing documents | Bug |
WORDSNET-23035 | InvalidOperationException: Infinite loop detected. Check if fixed | Bug |
WORDSNET-23154 | Vertical axis scaling is changed after rendering chart | Bug |
WORDSNET-23581 | System.NotImplementedException occurs on accessing the Fill property | Bug |
WORDSNET-23613 | Tables were not detected during PDF to DOCX conversion | Bug |
WORDSNET-23614 | Exception on conversion to PDF | Bug |
WORDSNET-23615 | Output AZW3 document isn’t correctly displayed in Kindle for PC | Bug |
WORDSNET-23627 | Placeholder is rendered instead of real value in data label | Bug |
WORDSNET-23633 | Remove obsolete properties from ChartDataPointCollection and ChartDataLabelCollection classes | Bug |
WORDSNET-23659 | Data labels of stacked bar chart are lost after rendering | Bug |
WORDSNET-23694 | RevisionColor missing ClassicRed and ClassicBlue values | Bug |
WORDSNET-23700 | Text in list item starts in wrong position after wrapping around paragraph | Bug |
WORDSNET-23726 | Fix StringComparison warnings | Bug |
WORDSNET-23727 | Fix some StringComparison warnings in the code | Bug |
WORDSNET-23738 | NullReferenceException is thrown upon rendering document | Bug |
WORDSNET-23744 | InvalidOperationException is thrown on DOCX to DOC conversion | Bug |
WORDSNET-23756 | InvalidCastException is thrown when set text of bookmark, which is inside OfficeMath | Bug |
WORDSNET-23761 | Header/footer does not match MS Word on RTF to DOCX conversion | Bug |
WORDSNET-23773 | Part of content is missed after loading RTF document | Bug |
WORDSNET-23777 | Default content of SDT becomes visible after processing document | Bug |
WORDSNET-23780 | Paragraph first line indentation is incorrect after rendering | Bug |
WORDSNET-23784 | ArgumentOutOfRangeException is thrown upon appending document | Bug |
WORDSNET-23785 | Document.Save method modifying documents unexpectedly | Bug |
WORDSNET-23790 | Tab of list label is highlighted after rendering | Bug |
WORDSNET-23792 | Review of Particular file with “Gabriola” font is displayed incorrect in FF/Chrome | Bug |
WORDSNET-23796 | InvalidOperationException is thrown upon rendering document | Bug |
WORDSNET-23806 | ArgumentOutOfRangeException is thrown upon conversion from DOC to DOCX | Bug |
WORDSNET-23808 | Separator elements are added instead of spaces | Bug |
WORDSNET-23809 | Text images are lost during Pdf2Word conversion | Bug |
WORDSNET-23812 | Timestamp data of the inserted/deleted text gets modified | Bug |
WORDSNET-23813 | Attempt to read empty bfchar section gives InvalidOperationException | Bug |
WORDSNET-23818 | FormatException is thrown upon rendering document with chart | Bug |
WORDSNET-23826 | Aspose.Words produces corrupted DOCX document | Bug |
WORDSNET-23834 | Section breaks are missing from XML file | Bug |
WORDSNET-23836 | Progress does not work while loading blank file | Bug |
WORDSNET-23842 | Text with effects is rendered improperly | Bug |
WORDSNET-23843 | Extra space is added after table | Bug |
WORDSNET-23844 | List numbering is wrong for lists from HTML altChunk’s | Bug |
WORDSNET-23859 | FileCorruptedException is thrown upon loading ODT document | Bug |
WORDSNET-23870 | Export equitation matrix columns alignment | Bug |
WORDSNET-23871 | Support EQ field overstrike alignment | Bug |
WORDSNET-23876 | Rejecting delete revision removes the deleted text | Bug |
WORDSNET-23885 | Shape becomes visible after open/save DOCX document | Bug |
WORDSNET-23906 | TypeInitializationException is thrown when Shaping.HarfBuzz is used in .NET6 | Bug |
WORDSNET-23908 | Resaved document throws an error in MS Word | Bug |
Full List of Issues Covering all Changes in this Release (Reported by Java Users)
Key | Summary | Category |
---|---|---|
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-22810 | Error converting DOCX to HTML | Bug |
WORDSNET-23778 | Revision on list item is rendered incorrectly | Bug |
WORDSNET-23793 | Image resolution is changed after saving to HTML with ScaleImageToShapeSize = false | Bug |
WORDSNET-23797 | Table Alignment Issue in converting RTF files to PDF | Bug |
WORDSNET-23803 | stylePaneFormatFilter values are chnaged after open/save DOCX document | Bug |
WORDSNET-23840 | Part of content is invisible after rendering | 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.
class RevisionColor(enum.IntEnum):
...
# Represents 0000ff color.
CLASSIC_BLUE = 4
# Represents ff0000 color.
CLASSIC_RED = 5
Now it is really easy to set new colors for the document revisions.
Use Case:
# Set new color for the insert revisions
doc.layout_options.revision_options.inserted_text_color = aw.layout.RevisionColor.CLASSIC_BLUE
Changed behavior of Fill.one_color_gradient and Fill.two_color_gradient methods
Related issue: WORDSNET-22072
The following changes have been implemented:
-
Now the one_color_gradient and two_color_gradient 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). NotImplementedException was thrown in the previous versions.
-
Behavior of the following overloads of the one_color_gradient and two_color_gradient methods have been changed:
class Fill: ... def one_color_gradient(self, color: drawing.Color, style: aw.drawing.GradientStyle, variant: aw.drawing.GradientVariant, degree: float): """Sets the specified fill to a one-color gradient using the specified color. :param color: The color to build the gradient. :param style: The gradient style. :param variant: The gradient variant. :param degree: The gradient degree. Can be a value from 0.0 (dark) to 1.0 (light).""" ... def two_color_gradient(self, color1: drawing.Color, color2: drawing.Color, style: aw.drawing.GradientStyle, variant: aw.drawing.GradientVariant): """Sets the specified fill to a two-color gradient. :param color1: The first color to build the gradient. :param color2: The second color to build the gradient. :param style: The gradient style. :param variant: The gradient 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:
class ChartDataLabelCollection:
...
def add(self, index: int) -> ChartDataLabel:
"""Adds new ChartDataLabel at the specified index.
:param index: Target data label index.
Obsolete. When ChartSeries.has_data_labels is True, all data labels are available in this collection."""
...
def remove_at(self, index: int):
"""Clears format of a ChartDataLabel at the specified index.
:param index: The zero-based index of the chart data label to clear format.
Obsolete. Use the ChartDataLabel.clear_format method instead."""
...
def clear(self):
"""Clears format of all ChartDataLabel in this collection.
Obsolete. Use the clear_format method instead."""
...
class ChartDataPointCollection:
...
def add(self, index: int) -> ChartDataPoint:
"""Adds new ChartDataPoint at the specified index.
:param index: Target data point index.
Obsolete. All data points are available in this collection."""
...
def remove_at(self, index: int):
"""Clears format of a ChartDataPoint at the specified index.
:param index: The zero-based index of the data point to clear format.
Obsolete. Use the ChartDataPoint.clear_format method instead."""
...
def clear(self):
"""Clears format of all ChartDataPoint in this collection.
Obsolete. Use the clear_format method instead."""
...