What's new in Aspose.Words for C++

[ ]

This page describes the most interesting new Aspose.Words features introduced in recent releases.

Aspose.Words for C++ 23.1

Aspose.Words 23.1 improves the performance of raster operation emulation, as well as enhances document exporting and rendering quality.

Performance Improvements

Emulation of Raster Operations 23.1

Performance and quality of emulation of raster operations with metafiles have been significantly improved.


Work with Shading Theme Colors 23.1

The ability to work with shading theme colors has been implemented.

Support of R-squared Coefficient in DML Charts 23.1

Support of R-squared coefficient in DML chart trendline labels when rendering has been added.

Loading and Saving Documents

Generate TOC for AZW3 Documents 23.1

The ability to generate TOC (table of contents) for AZW3 documents has been added through the use of the EpubNavigationMapLevel property.

Exporting List Items to Markdown 23.1

A way to control the export of list items to Markdown format has been provided by adding the ListExportMode property to the MarkdownSaveOptions class.

Aspose.Words for C++ 22.9, 22.10, 22.11, 22.12

Aspose.Words 22.9 expands options for loading and saving documents and improved interaction with some other options.

Aspose.Words 22.10 improves find and replace options, enhances OLE objects, and expands list functionality.

Aspose.Words 22.11 expands its functionality with new options for more convenient work with already familiar objects: fields, printing, OLE and structured document tags.

Aspose.Words 22.12 enhances rendering capabilities and introduces options for working with margins when loading/saving a document.

Performance Improvements 22.12

An optimization that significantly reduces the depth of graphics state nesting when rendering to PDF to maintain specification compliance has been introduced.

Rendering and Printing

Printing Non-colored Pages on a Color Printer 22.11

A custom colored/grayscale print mode has been implemented by adding a new GrayscaleAuto value to the ColorPrintMode enumeration.

A new print property allows users to control how non-colored pages are printed if the device supports color printing. This feature can be useful if users want to automatically print non-colored pages using only grayscale printing mode.

New Border Rendering Properties 22.12

New public properties ThemeColor and TintAndShade have been introduced.

Linear Trendline Formula for DrawingML Rendering 22.12

Linear trendline formula rendering for DrawingML charts has been implemented.

Font Fallback Settings for Google Noto Fonts 22.12

The predefined font fallback settings for Google Noto fonts have been updated.

Loading and Saving Documents

The ability to cache header/footer shapes to reduce the size of the output PDF file has been implemented by adding a new CacheHeaderFooterShapes property.

Renamed to CacheBackgroundGraphics on 22.11.

Automatic Numbering Detection when Loading a Document 22.9

The ability to specify the AutoNumberingDetection property upon text loading has been implemented through an extended of the TxtLoadOptions class.

Specifying a Particular Margin Type 22.12

The ability to specify a particular Margin type for the given section has been implemented.

Specifying a Particular Margin Type 22.12

The ability to specify a particular Margin type for the given section has been implemented.

Search and Compare 22.10

The ability to ignore StructuredDocumentTag upon find and replace options has been implemented by adding a new IgnoreStructuredDocumentTags property to the FindReplaceOptions class.


  • A new feature to get FieldEQ as an OfficeMath has been added. 22.9
  • The creation of structured document tags of Group type at the Row level was allowed. 22.9
  • OLE objects and controls are now treated as metafile images when converting a document to HTML. 22.10
  • A new feature to check that a particular list was created from the same template as the compared list has been added by introducing a new HasSameTemplate method into the List class. 22.10
  • The ability to create new structured document tags of the Citation type has been added. 22.11
  • The ability to track the field updating progress has been provided. 22.11
  • A new EmbedAttachments property that allows users to embed OLE attachments from a source document into the output PDF document has been introduced. 22.11

Aspose.Words for C++ 22.5, 22.6, 22.7, 22.8

Aspose.Words 22.5 introduces support for new loading formats and a new print page size, as well as improves some rendering options.

Aspose.Words 22.6 expands the possibilities of converting PDF to other formats, as well as improve work with DrawingML and solid text fill effect.

Aspose.Words 22.7 enhances the possibilities of working with rendering features, and also adds new features for working with HTML import and export to PDF.

Aspose.Words 22.8 introduces a new export format and improves various rendering algorithms.

The API is enhanced for more flexible and convenient development.

Supported Formats

  • Support for loading EPUB and XML documents has been introduced by adding new values to the LoadFormat enumeration. Starting from version 22.5, it is possible to load EPUB and XML documents into Aspose.Words document model and convert them to any supported formats. 22.5
  • Starting from version 22.8, it is possible to save a document in AZW3 format – Amazon Kindle’s proprietary e-book file format (KF8 is another name for the format). Now you can not only load AZW3 documents, but also export your files to AZW3 format, which is essentially a compiled EPUB. 22.8

Rendering and Printing

New Priting Size 22.5

Support for the “Envelope No. 10” print page size has been added by introducing a new value to the PaperSize enumeration.

Rendering MathML Formulas 22.5

The rendering of a border box around MathML formulas and font detection when rendering characters for such formulas has been improved.

DML Chart Improvements 22.6

DrawingML charts public API has been extended to support gradient, texture, and pattern fills.

Glyph outlines parsing for OpenType 22.7

Aspose.Words own glyph outlines parsing for OpenType (CFF) fonts has been implemented.

Previously, glyph parsing for OpenType (CFF) fonts was performed via GDI+. So now it works in cases where GDI+ is not available – Java, .NET Standard platforms, Linux OS, etc. Glyph outlines parsing is required in specific cases like WordArt, text effects, some Office Math features, and others.

Set shape shadow formatting 22.7

The ability to set the shadow formatting of the shape object has been provided by adding a new ShadowFormat property.

Support for Cell Spacing in Tables 22.8

The layout engine is now significantly improved: a very complex cell spacing mechanism in tables has been implemented.

Font Substitution for Symbols 22.8

Font substitution for symbols has been improved.

Chart Axis Label Rotation Algorithm 22.8

The rotation algorithm of chart axis labels has been improved.

Loading and saving documents

Load and convert PDF to fixed-page format without layout model 22.6

The ability to load and convert PDF documents to fixed page formats with high fidelity and performance has been implemented.

New HTML import mode 22.7

A new HTML import mode for block-level elements has been introduced by adding a new value to the HtmlInsertOptions enumeration.

Convert to PDF/UA-1 compliant with WCAG 2.0 22.7

Support for converting a document to PDF/UA-1 format, compliant with WCAG 2.0, has been added.

So, if the customer has an accessible Word document and converts it to PDF/UA-1 via Aspose.Words mentioning the conversion specifics, then the output will be WCAG 2.0 compatible.

WCAG or Web Content Accessibility Guidelines is a set of guidelines developed by W3C in collaboration with individuals and organizations all over the world. Now with Aspose.Words you can convert your document to the output PDF/UA-1 format, which is suitable to build WCAG 2.0 compliant PDF documents.

It is worth noting that WCAG 2.0 has two additional requirements that are not specified in the PDF/UA-1 specification:

  • contrast requirements
  • requirements for tagging multimedia content

But both requirements are not relevant to our case of converting from Word to PDF.


  • Exception of inheriting the solid text fill effect that mimics MS Word behavior has been implemented. 22.6
  • Support of the DATABASE fields has been added. Using this type of field, you can, for example, show the results of a database query in a Microsoft Word table. 22.7

Aspose.Words for C++ 22.1, 22.2, 22.3, 22.4

Aspose.Words 22.1 improves rendering options, as well as loading and saving documents.

Aspose.Words 22.2 introduces a new load format and new options for exporting documents. It also contains a major update for tables and some changes for working with fields.

Aspose.Words 22.3 expands the possibilities of working with PDF and TXT formats and improves the work of some existing algorithms and engines.

Aspose.Words 22.4 enhances PDF capabilities – now you can save a file in PDF/A-4 format and get a number of other improvements in PDF output. At the same time, Aspose.Words 22.4 provides additional abilities to work with DML charts, read the Photoshop metadata, and import HTML block-level elements.

The API is enhanced for more flexible and convenient development.

Supported Formats

Loading a document in AZW3 format (KF8 is another name for the format) has been added. Now you can load an AZW3 document and convert it to any other supported formats.


Rendering to PDF with PDF/UA-1 Compliance

Rendering into PDF with PDF/UA-1 compliance has been implemented by adding new values to the PdfCompliance enumeration – PdfUa1. This option assumes compliance with special requirements for document accessibility.

Rendering MathML Formulas

The rendering of operators in MathML formulas has been improved.

DML Chart Axis Scaling Algorithm Improvements

The following improvements have been made to the DML charts:

  • The DML chart axis scaling algorithm has been improved to be the same as in MS Word
  • The ability to manipulate with DrawingML chart legend entries has been provided to make our chart API more and more comprehensive
  • The ability to specify the name of an xls/xlsx file the DrawingML chart is linked to has been implemented

Rendering to PDF with PDF/A-4 Compliance

Rendering into PDF with PDF/A-4 compliance has been added by adding new values to the PdfCompliance enumeration – PdfA4. This option assumes revised conformance levels: regular PDF/A-4 conformance is equivalent to conformance level U of previous versions, and the level A conformance is removed.

Reading of Photoshop metadata resolution in JPEG

Reading of Photoshop metadata resolution in JPEG images has been implemented to fix an interesting issue with incorrect scaling of images upon rendering.

Loading and Saving Documents

Controlling Style Behavior When Loading a Document

A new option ForceCopyStyles has been introduced to control the behavior of conflicting styles upon document import.

Document Saving Progress Notifications

An ability to get notifications about the progress of document saving has been added through the ProgressCallback property in 22.1.

In 22.2, saving progress notifications have been extended for HTML and XAML based flow formats: HTML, MHTML, Epub, XamlFlow, and XamlFlowPack.

In 22.3, saving progress notifications have been extended for TXT format.

Convert Shapes to SVG When Exporting

The ability to convert shapes to SVG images upon exporting to HTML, MHTML, or EPUB has been provided by adding the ExportShapesAsSvg property.

Export of List Numbering to PDF Logical Structure

List numbering export to PDF logical structure has been implemented.

Saving to PDF 2.0 and Improvements in PDF Output

The ability to save a document as PDF 2.0 by adding a new value to the PdfCompliance enumeration, as well as several other requested improvements to PDF output, have been introduced.

New HTML Import Mode

A new import mode for HTML block-level elements has been implemented to mimic Microsoft Word behavior.


  • An ability to get custom field data that is associated with the field has been added.
  • The latest version of Aspose.Words also included a major update that handles tables with incorrect or missing column width data in the source document.
  • The table comparing algorithm relying on deep analysis of Microsoft Word comparison mechanism has been improved.

Aspose.Words for C++ 21.9, 21.10, 21.11, 21.12

Aspose.Words 21.9 expands the list-level formatting control.

Aspose.Words 21.10 enhances rendering options, improves find and replace options, and expands Mail Merge and Structure Document Tag functionality.

Aspose.Words 21.11 expands loadings and saving functionality, improves find and replace option and working with PDF. We also added the following feature to Aspose.Words for C ++: vcpkg registry with vcpkg package for Aspose.Words for C ++.

Aspose.Words 21.12 introduces additional options for working with Latin text and fonts to improve appearance and performance, and expands the ability to work with content controls.

The API is enhanced for more flexible and convenient development.

Performance Improvements

Loading a previously saved font search cache to speed up the font cache initialization process upon rendering has been implemented. Now your solutions will work even faster.


Working with gradient fills and gradient stops

New public methods and properties to work with gradient fills and gradient stops have been added to satisfy the brightest ideas when developing your documents.

Attachment Pane in Output PDF Documents

A new option UseAttachments has been implemented to display the attachment pane in output PDF documents.

Allow Latin Text to Wrap in the Middle of a Word

Support for the “Allow Latin text to wrap in the middle of a word” feature has been implemented to make our Latin support even better upon rendering.

Search and Compare

  • A new option IgnoreFootnotes to ignore footnotes during the find and replace operation has been added.

  • A new option IgnoreFieldCodes to ignore field codes during find and replace operation has been added.

Mail Merge and Reporting

The ability to get ParentRegion through MailMergeRegionInfo, which made our MailMerge engine more tunable, has been added.


A simple way to save images as Base64 string into Markdown format has been provided through the ExportImagesAsBase64 property.


  • An ability to get the CustomNumberStyleFormat property of the ListLevel object has been added.
  • A possibility to get the string representation of the ListLevel object for a specified index using the GetEffectiveValue method has been added.
  • An intuitive capability to change the appearance of structured document tags, which actually allow embedding customer-defined semantics as well as its behavior into a document, has been introduced.
  • A new class ChmLoadOptions has been added to get more control over CHM loading.
  • The ability to get OOXML of a content control and save it to string has been introduced. To do this, the WordOpenXML property has been added to the StructuredDocumentTag and StructuredDocumentTagRangeStart classes.

Aspose.Words for C++ 21.5, 21.6, 21.7, 21.8

Aspose.Words 21.5 improves Mail Merge and Structure Document Tag functionality, as well as working with fields.

Aspose.Words 21.6 enhances formatting and filling options and also improves document display capabilities.

Aspose.Words 21.7 expands rendering and conversion options, as well as provides an ability to work with framesets.

Aspose.Words 21.8 improves rendering and language export features, and enhances the ability to work with field update callback.

The API is enhanced for more flexible and convenient development.


Setting Charts Fill and Stroke Formatting

An ability to set fill and stroke formatting for chart series, data points, and markers has been implemented. Using the provided options, you can easily customize any of the charts as you wish.

Control the Fill Texture of Any Object

A new public method PresetTextured has been added to the Fill class to work with textures. Now it is very easy to get and apply a texture to the fill of any object. Now it is very easy to get and apply a texture to the fill of any object.

Rendering of OOXML Ink

Rendering of OOXML Ink (InkML subset) has been implemented. A new public property ImlRenderingMode and a new enumeration ImlRenderingMode have been added to control the mode of Ink rendering.

Prior to this version, Aspose.Words could only render fallback shapes for OOXML Ink objects, i.e. InkML was not actually processed and a simple pre-rendered image was used instead. And now OOXML Ink content part can be rendered directly.

Control the Maximum Number of Characters per Line

A new public property MaxCharactersPerLine has been introduced to control the maximum number of characters per line in the output document of TXT format.

Rendering to PDF/A-2

Rendering to PDF/A-2 format has been implemented by adding new values to the PdfCompliance enumeration. PDF/A-2 is based on the PDF-1.7 format and removes significant limitations of PDF/A-1 like prohibited transparency and prohibited object compression.

Work with Patterns

A simple way to get and apply a pattern to the fill of any fillable objects in a document has been presented. For this purpose, the Patterned method with two overloads and the Pattern property have been added to the Fill class and the PatternType enumeration has been added to the Drawing namespace.

Insert GIF into the Document Model

The ability to insert a GIF image into the document model using the InsertImage method has been introduced. Please note that saving a document to a format different from DOCX, DOTX, DOCM, DOTM, FOPC causes the conversion of GIF images to PNG.


A new overload of the InsertHtml method with extended options has been implemented to make this operation more flexible.

Mail Merge and Reporting

A new property RestartListsAtEachSection has been added to control whether the list numbering at each section should be restarted after executing a mail merge.


  • New methods SetCheckedSymbol and SetUncheckedSymbol have been added to set checked and unchecked symbols for your favorite structured document tags.
  • The equations created with EQ fields are now supported upon converting to all HTML-based formats.
  • A new public property ContinuousSectionPageNumberingRestart has been added to control the behavior for computing page numbers when a continuous section restarts page numbering.
  • An ability to work with Framesets has been added. This is the first simple API which is going to be extended upon your requests. Just tell us what you need.
  • A new PDF save option ExportLanguageToSpanTag has been added. This option allows users to customize how the /Lang entry should be exported. It can be useful for compatibility with some screen readers.
  • A new public field updating callback has been implemented. This allows you to have your own custom methods called during field update.

Aspose.Words for C++ 21.1, 21.2, 21.3, 21.4

Aspose.Words 21.1 expands loading and saving options and improves document display capabilities.

Aspose.Words 21.2 enhances font properties, improves find and replace options, and expands possibilities when converting documents.

Aspose.Words 21.3 expands rendering and reporting options, and improves interaction with styles and child nodes of the StructuredDocumentTag.

Aspose.Words 21.4 improves rendering and conversion features, and enhances the ability to work with a ranged structured document tag.


Vertical Alignment of Table Cells

A new public option VerticalAlignment to set table style vertical alignment of cells has been added.

Manipulating Themed Properties of Font Objects

A new public API, allowing to manipulate themed properties of Font objects, has been implemented.

Setting Fill Formatting of Text

Font API has been extended with the Fill properties to set fill formatting of text. It gives an ability to change, for example, the foreground color or transparency of text fill.

Convert Any Fill to Solid

A new method Solid has been added to the Fill class for processing solid fills.


Markdown Document Export

A new public property ImageSavingCallback has been added to control how images are saved upon converting to Markdown format.

HTML Document Import

A new public property IgnoreNoscriptElements has been added to ignore <noscript> HTML elements upon loading HTML.

Clean Up Unused Information from a Document

A new public property UnusedBuiltinStyles has been added to the CleanupOptions class to detect and remove built-in styles that are marked as “unused” to make the document stricter.

Search and Compare

A new public property SmartParagraphBreakReplacement has been added to the FindReplaceOptions object to indicate whether a paragraph break is allowed to be replaced when there is no next sibling paragraph.