Browse our Products

Aspose.Words for C++ 23.9 Release Notes

Major Features

There are 68 improvements and fixes in this regular monthly release. The most notable are:

  • Added an ability to set axis title of charts.
  • Extended MarkdownSaveOptions with ImagesFolderAlias property.
  • Added an ability to specify fonts vertical position on a line for paragraph.
  • Implemented metafile rendering emulation of rasterization size for WMF pen width and EMF cosmetic pen.

Full list of changes

Public API and Backward Incompatible Changes

This section lists public API changes that were introduced in Aspose.Words 23.9. 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 an ability to set chart axis title

A new public class ChartAxisTitle has been implemented. And a property Title of this type has been added.

    /// <summary>
    /// Provides access to the axis title properties.
    /// </summary>
    class ASPOSE_WORDS_SHARED_CLASS ChartAxisTitle
    {
        /// <summary>
        /// Gets or sets the text of the axis title.
        /// If <c>null</c> or empty value is specified, auto generated title will be shown.
        /// </summary>
        /// <remarks>Use <see cref="Show"/> option if you need to show the title.</remarks>
        ASPOSE_WORDS_SHARED_API System::String get_Text();
        ASPOSE_WORDS_SHARED_API void set_Text(const System::String& value);
    
        /// <summary>
        /// Determines whether other chart elements shall be allowed to overlap the title.
        /// The default value is <c>false</c>.
        /// </summary>
        ASPOSE_WORDS_SHARED_API bool get_Overlay();
        ASPOSE_WORDS_SHARED_API void set_Overlay(bool value);
    
        /// <summary>
        /// Determines whether the title shall be shown for the axis.
        /// The default value is <c>false</c>.
        /// </summary>
        ASPOSE_WORDS_SHARED_API bool get_Show();
        ASPOSE_WORDS_SHARED_API void set_Show(bool value);
    }
    
    class ASPOSE_WORDS_SHARED_CLASS ChartAxis
    {
        /// <summary>
        /// Provides access to the axis title properties.
        /// </summary>
        ASPOSE_WORDS_SHARED_API System::SharedPtr<Aspose::Words::Drawing::Charts::ChartAxisTitle> get_Title();
    }

Added public property MarkdownSaveOptions.ImagesFolderAlias

A new public property ImagesFolderAlias has been added to class MarkdownSaveOptions:

    /// <summary>
    /// Specifies the name of the folder used to construct image URIs written into a document.
    /// </summary>
    ASPOSE_WORDS_SHARED_API System::String get_ImagesFolderAlias() const;
    ASPOSE_WORDS_SHARED_API void set_ImagesFolderAlias(const System::String& value);

Added public property ParagraphFormat.BaselineAlignment

A new public property BaselineAlignment has been added to class ParagraphFormat and a new public enum has been introduced:

    /// <summary>
    /// Gets or sets fonts vertical position on a line.
    /// </summary>
    ASPOSE_WORDS_SHARED_API Aspose::Words::BaselineAlignment get_BaselineAlignment();
    ASPOSE_WORDS_SHARED_API void set_BaselineAlignment(Aspose::Words::BaselineAlignment value);
    
    /// <summary>
    /// Specifies fonts vertical position on a line.
    /// </summary>
    enum class ASPOSE_WORDS_SHARED_CLASS BaselineAlignment

ScaleWmfFontsToMetafileSize property is replaced with EmulateRenderingToSizeOnPage and added EmulateRenderingToSizeOnPageResolution.

    /// <summary>
    /// Gets or sets a value determining whether metafile rendering emulates the display of the metafile according to the size on page
    /// or the display of the metafile in its default size.
    /// </summary>
    /// <remarks>
    /// <para>When metafiles are displayed in MS Word, some graphics may be scaled according to the actual metafile size in pixels.
    /// I.e. even zooming may affect the metafile display.</para>
    ///
    /// <p>When this value is set to <c>true</c>, Aspose.Words emulates rendering according to the metafile size on page.
    /// The size in pixels is calculated from the metafile size on the page and the specified <see cref="EmulateRenderingToSizeOnPageResolution"/>.</p>
    ///
    /// <p>When this value is set to <c>false</c>, Aspose.Words emulates metafile rendering to its default size in pixels.</p>
    ///
    /// <p>This option is used only when metafile is rendered as vector graphics.</p>
    ///
    /// <p>The default value is <c>true</c>.</p>
    /// </remarks>
    ASPOSE_WORDS_SHARED_API bool get_EmulateRenderingToSizeOnPage() const;
    ASPOSE_WORDS_SHARED_API void set_EmulateRenderingToSizeOnPage(bool value);
    
    /// <summary>
    /// Gets or sets the resolution in pixels per inch for the emulation of metafile rendering to the size on page.
    /// </summary>
    /// <remarks>
    /// <p>This option is used only when <see cref="EmulateRenderingToSizeOnPage"/> is set to <c>true</c>.</p>
    ///
    /// <p>The default value is 96. This is a default display resolution. I.e. metafile rendering will emulate the display of
    /// the metafile in MS Word with a 100% zoom factor.</p>
    /// </remarks>
    ASPOSE_WORDS_SHARED_API int32_t get_EmulateRenderingToSizeOnPageResolution() const;
    ASPOSE_WORDS_SHARED_API void set_EmulateRenderingToSizeOnPageResolution(int32_t value);

Removed obsolete property ChildNodes from CompositeNode class

The obsolete public property ChildNodes is removed from Aspose.Words.CompositeNode class. Note, the removed ChildNodes is equivalent to calling GetChildNodes(NodeType, bool) with arguments (NodeType.Any and false) Please check the following example:

    Node[] children = source.GetChildNodes(NodeType.Any, false).ToArray();

Limitations and API Differences

Aspose.Words for C++ has some differences as compared to its equivalent .NET version of the API. This section contains information about all such functionality that is not available in the current release. The missing features will be added in future releases.

  • The current release does not support LINQ and Reporting features.
  • The current release does not support OpenGL 3D Shapes rendering.
  • The current release does not support loading PDF documents.
  • The current release has limited support for database features - C++ doesn’t have common API for DB like .NET System.Data.