Browse our Products

If so you can download any of the below versions for testing. The product will function as normal except for an evaluation limitation. At the time of purchase we provide a license file via email that will allow the product to work in its full capacity. If you would also like an evaluation license to test without any restrictions for 30 days, please follow the directions provided here.


Aspose.Words for .NET 23.11

Download  Support Forum 

File Details

  • Downloads:
  • 1
  • File Size:
  • 90.45MB
  • Date Added:
  • 6/11/2023


It contains Aspose.Words for .NET 23.11 MSI installer.

File Details

Document Revision Control (Track Changes)

In this API release new public RevisionCollection.Accept and RevisionCollection.Reject methods have been added to the RevisionCollection class. New public IRevisionCriteria interface has been introduced.

C# developers can now leverage these Accept and Reject methods to control which revisions are accepted and /or rejected, enabling seamless management of document changes. This empowers developers to implement sophisticated revision workflows and maintain document integrity.

This following C# code example* demonstrates how to use API for document revision management:

// For complete examples and data files, please go to
public void RevisionSpecifiedCriteria()
    Document doc = new Document();
    DocumentBuilder builder = new DocumentBuilder(doc);
    builder.Write("This does not count as a revision. ");

    // To register our edits as revisions, we need to declare an author, and then start tracking them.
    doc.StartTrackRevisions("John Doe", DateTime.Now);            
    builder.Write("This is insertion revision #1. ");

    doc.StartTrackRevisions("Jane Doe", DateTime.Now);
    builder.Write("This is insertion revision #2. ");
    // Remove a run "This does not count as a revision.".

    Assert.AreEqual(3, doc.Revisions.Count);
    // We have two revisions from different authors, so we need to accept only one.
    doc.Revisions.Accept(new RevisionCriteria("John Doe", RevisionType.Insertion));
    Assert.AreEqual(2, doc.Revisions.Count);
    // Reject revision with different author name and revision type.
    doc.Revisions.Reject(new RevisionCriteria("Jane Doe", RevisionType.Deletion));
    Assert.AreEqual(1, doc.Revisions.Count);

    doc.Save(ArtifactsDir + "Revision.RevisionSpecifiedCriteria.docx");

/// <summary>
/// Control when certain revision should be accepted/rejected.
/// </summary>
public class RevisionCriteria : IRevisionCriteria
    private readonly string AuthorName;
    private readonly RevisionType RevisionType;

    public RevisionCriteria(string authorName, RevisionType revisionType)
        AuthorName = authorName;
        RevisionType = revisionType;

    public bool IsMatch(Revision revision)
        return revision.Author == AuthorName && revision.RevisionType == RevisionType;


Customize DrawingML Chart Legend Font Formatting

A new property ChartLegend.Font has been implemented. It allows the developers to specify and set the default font formatting for chart legend entries of the DrawingML charts.

This provides greater control over chart aesthetics and ensures consistent presentation of legend information. Such enhanced chart visuals by customizing legend font formatting improves chart readability and enhances user understanding of data visualizations.

The following C# code sample* shows how to use API to change chart legend font for specific entries:

// For complete examples and data files, please go to
Document doc = new Document(MyDir + "Reporting engine template - Chart series.docx");
Chart chart = ((Shape)doc.GetChild(NodeType.Shape, 0, true)).Chart;

ChartLegend chartLegend = chart.Legend;
// Set default font size all legend entries.
chartLegend.Font.Size = 14;
// Change font for specific legend entry.
chartLegend.LegendEntries[1].Font.Italic = true;
chartLegend.LegendEntries[1].Font.Size = 12;

doc.Save(ArtifactsDir + "Charts.LegendFont.docx");


Control Data Presentation in XLSX Export

A new enumeration type XlsxSectionMode and a new property XlsxSaveOptions.SectionMode of this type have been implemented.

Developers now have the ability to write all sections of the document to the same Excel® XLSX worksheet. This makes document export easier and streamlines data presentation within spreadsheets.

Another benefit of this feature for your App’s end-users is that combining document sections into a single worksheet simplifies data analysis and document organization within spreadsheets.

The following C# snippet* shows how you can use API to save all sections of a DOCX document to XLSX worksheet:

// For complete examples and data files, please go to
Document doc = new Document(MyDir + "Big document.docx");

// Each section of a document will be created as a separate worksheet.
// Use 'SingleWorksheet' to display all document on one worksheet.
XlsxSaveOptions xlsxSaveOptions = new XlsxSaveOptions();
xlsxSaveOptions.SectionMode = XlsxSectionMode.MultipleWorksheets;

doc.Save(ArtifactsDir + "XlsxSaveOptions.SelectionMode.xlsx", xlsxSaveOptions);


For a complete list of features, enhancements, and bug fixes in this release please visit, Aspose.Words for .NET 23.11 Release Notes.