Browse our Products

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)

KeySummaryCategory
WORDSNET-6264Left indent of text in second line of List is incorrect in PDFNew Feature
WORDSNET-7282Text lines in Lists do not have correct left indentation in PDFNew Feature
WORDSNET-7284Vertical space between Picture and TextBox is lost in PDFNew Feature
WORDSNET-22072Add support for gradient, texture and pattern fills in ChartsNew Feature
WORDSNET-22890Add loading progress notification for ODT documentsNew Feature
WORDSNET-23059Rendering PDFs directly to fixed formats without intermediate flow layoutNew Feature
WORDSNET-23167Consider supporting “User Field” upon importing ODTNew Feature
WORDSNET-9646DOC to PDF conversion issue with image renderingBug
WORDSNET-12365Font rendering issue with Persian text in output PDFBug
WORDSNET-14308Bookmarks are lost after using Document.Compare methodBug
WORDSNET-18806Text placement in the axle labels is different after the conversion in PDFBug
WORDSNET-20805CSS Borders not rendering around div within a divBug
WORDSNET-21068One Table became multiple Tables when converting DOCX to HTMLBug
WORDSNET-21069Wrong Style Color applied to some Rows when converting DOCX to HTMLBug
WORDSNET-22550Document.Compare breaks inserted cross-referencesBug
WORDSNET-22805HTML to PDF conversion issue with page borderBug
WORDSNET-22952Bookmark is lost after comparing documentsBug
WORDSNET-23035InvalidOperationException: Infinite loop detected. Check if fixedBug
WORDSNET-23154Vertical axis scaling is changed after rendering chartBug
WORDSNET-23581System.NotImplementedException occurs on accessing the Fill propertyBug
WORDSNET-23613Tables were not detected during PDF to DOCX conversionBug
WORDSNET-23614Exception on conversion to PDFBug
WORDSNET-23615Output AZW3 document isn’t correctly displayed in Kindle for PCBug
WORDSNET-23627Placeholder is rendered instead of real value in data labelBug
WORDSNET-23633Remove obsolete properties from ChartDataPointCollection and ChartDataLabelCollection classesBug
WORDSNET-23659Data labels of stacked bar chart are lost after renderingBug
WORDSNET-23694RevisionColor missing ClassicRed and ClassicBlue valuesBug
WORDSNET-23700Text in list item starts in wrong position after wrapping around paragraphBug
WORDSNET-23726Fix StringComparison warningsBug
WORDSNET-23727Fix some StringComparison warnings in the codeBug
WORDSNET-23738NullReferenceException is thrown upon rendering documentBug
WORDSNET-23744InvalidOperationException is thrown on DOCX to DOC conversionBug
WORDSNET-23756InvalidCastException is thrown when set text of bookmark, which is inside OfficeMathBug
WORDSNET-23761Header/footer does not match MS Word on RTF to DOCX conversionBug
WORDSNET-23773Part of content is missed after loading RTF documentBug
WORDSNET-23777Default content of SDT becomes visible after processing documentBug
WORDSNET-23780Paragraph first line indentation is incorrect after renderingBug
WORDSNET-23784ArgumentOutOfRangeException is thrown upon appending documentBug
WORDSNET-23785Document.Save method modifying documents unexpectedlyBug
WORDSNET-23790Tab of list label is highlighted after renderingBug
WORDSNET-23792Review of Particular file with “Gabriola” font is displayed incorrect in FF/ChromeBug
WORDSNET-23796InvalidOperationException is thrown upon rendering documentBug
WORDSNET-23806ArgumentOutOfRangeException is thrown upon conversion from DOC to DOCXBug
WORDSNET-23808Separator elements are added instead of spacesBug
WORDSNET-23809Text images are lost during Pdf2Word conversionBug
WORDSNET-23812Timestamp data of the inserted/deleted text gets modifiedBug
WORDSNET-23813Attempt to read empty bfchar section gives InvalidOperationExceptionBug
WORDSNET-23818FormatException is thrown upon rendering document with chartBug
WORDSNET-23826Aspose.Words produces corrupted DOCX documentBug
WORDSNET-23834Section breaks are missing from XML fileBug
WORDSNET-23836Progress does not work while loading blank fileBug
WORDSNET-23842Text with effects is rendered improperlyBug
WORDSNET-23843Extra space is added after tableBug
WORDSNET-23844List numbering is wrong for lists from HTML altChunk’sBug
WORDSNET-23859FileCorruptedException is thrown upon loading ODT documentBug
WORDSNET-23870Export equitation matrix columns alignmentBug
WORDSNET-23871Support EQ field overstrike alignmentBug
WORDSNET-23876Rejecting delete revision removes the deleted textBug
WORDSNET-23885Shape becomes visible after open/save DOCX documentBug
WORDSNET-23906TypeInitializationException is thrown when Shaping.HarfBuzz is used in .NET6Bug
WORDSNET-23908Resaved document throws an error in MS WordBug

Full List of Issues Covering all Changes in this Release (Reported by Java Users)

KeySummaryCategory
WORDSNET-21860DOCX to PDF - A picture in table moves to next page resulting in increase in page countBug
WORDSNET-22581Problem wirh bookmark upon comparing documentsBug
WORDSNET-22810Error converting DOCX to HTMLBug
WORDSNET-23778Revision on list item is rendered incorrectlyBug
WORDSNET-23793Image resolution is changed after saving to HTML with ScaleImageToShapeSize = falseBug
WORDSNET-23797Table Alignment Issue in converting RTF files to PDFBug
WORDSNET-23803stylePaneFormatFilter values are chnaged after open/save DOCX documentBug
WORDSNET-23840Part of content is invisible after renderingBug

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:

  1. 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.

  2. 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."""
        ...