Aspose.Words for C++ 20.8 Release Notes

Major Features

We have added the following features from Aspose.Words for .NET on this regular monthly release:

  • Implemented Markdown ‘Inline Images’ feature.
  • Added new font substitution rule for font name processing.
  • Added flag indicating whether images must be skipped while loading PDF document.
  • Implemented support for SVG images embedded using data URLs upon HTML import.

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 Metered license.
  • 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 advanced typography based on the HarfBuzz shaper.
  • The current release does not support loading PDF documents.
  • The current release has limited support for database features - C++ does not have common API for DB like .NET System.Data.
  • The current release only supports Microsoft Visual C++ version 2017 or higher and only for the x64 platform.

Full List of Issues Covering all Changes in this Release

KeySummaryCategory
WORDSCPP-955Improve TIFF supportNew Feature
WORDSNET-19654Add support for SVG images embedded using data URLsNew Feature
WORDSNET-18471ResolveFontNames option for HtmlFixedSaveOptions and SvgSaveOptionsNew Feature
WORDSNET-20467Implement Markdown ‘Inline Images’ featureNew Feature
WORDSNET-7201Problem with Copy Macros from one document to anotherBug
WORDSNET-20693Elements of the SVG shape are disappeared when building the effectBug
WORDSNET-20473Aspose.Words.FileCorruptedException occurs upon loading a DOCBug
WORDSNET-20787File Corrupted Exception upon loading a DOCBug
WORDSNET-8804Mhtml to PDF conversion issue with Unicode characters renderingBug
WORDSNET-20587PDF Export - endnotes from 2 separate sections appearing at end of first sectionBug
WORDSNET-20639DOCX to PDF conversion issue with UTF8-EncodingBug
WORDSNET-20638The gradient color with the “satMod” property is incorrect after converting to PDFBug
WORDSNET-13503Indic character support - Hindi or Tamil or malayalamBug
WORDSNET-16287DOCM to PDF conversion issue with Dubai FontBug
WORDSNET-13981The link between textboxes is broken during open/saveBug
WORDSNET-6472Incorrect shaping observedBug
WORDSNET-11477Tamil language characters are incorrectly renderingBug
WORDSNET-20199Custom fonts render incorrectly in output PDFBug
WORDSNET-18730DOC to HTML conversion issue with H4 font sizeBug
WORDSNET-20673SVG image is not properly imported in Word fileBug
WORDSNET-20678Incorrect table of contents when updating the form fields of a DOCXBug
WORDSNET-20775StructuredDocumentTag.Checked throws InvalidOperationException (Custom XML part is not found)Bug
WORDSNET-20622Text font formatting is corrupted after setting FontInfos (Embedded Fonts)Bug
WORDSNET-20800MathML vertical spacing to PDFBug
WORDSNET-20801Horizontal spacing issueBug
WORDSNET-14335Units in revisions change from “Inch” to “cm” in PDFBug
WORDSNET-19704text-align : left style is not exported in output HTMLBug
WORDSNET-15327DOCX to PDF conversion issue with Tamil textBug
WORDSNET-20603RTF to RTF conversion moves page sizing and margin information from document level to per-section levelBug
WORDSNET-8476Different fonts are applied to characters of same Arabic word in PDFBug
WORDSNET-20806Exception while loading DOC fileBug
WORDSNET-20690Empty Rich Text CustomXmlPart control PDF save issueBug
WORDSNET-19394Converting MHTML to PDF generates empty PDF fileBug
WORDSNET-20656A generic error occurred in GDI+ when converting DOCX to PNGBug
WORDSNET-20699PDF to DOCX blank outputBug
WORDSNET-20645InvalidOperationException while loading the PDFBug
WORDSNET-20703XML (or DOCX) Document hangs upon loadingBug
WORDSNET-20706“ArgumentException: The argument cannot be null or empty string” occurs upon loading a DOCBug
WORDSNET-20712System.InvalidCastException is thrown while importing RTFBug
WORDSNET-20713Aspose.Words.FileCorruptedException is thrown while importing RTFBug
WORDSNET-20714BuiltInDocumentProperties.Words returns incorrect word countBug
WORDSNET-20720DOCX to PDF conversion issue with Chart renderingBug
WORDSNET-20719Incorrect colors with “SatOff” property if the color saturation is zero after converting to PDFBug
WORDSNET-20250Cell’s blue background color does not expand to the full Table widthBug
WORDSNET-20660Chart background and formatting is lost after ODT to DOCX conversionBug
WORDSNET-20260Header content moves down and overlaps with Body’s content in PDFBug
WORDSNET-19459DOCX to PDF/TIFF conversion issue with Chart renderingBug
WORDSNET-20734PDF to DOCX ignore imagesBug
WORDSNET-20735After the comparison the output document loses font size and colorBug
WORDSNET-20739Could not load document, FileCorruptedException after ArgumentOutOfRangeBug
WORDSNET-20588document.PageCount throws IndexOutOfRangeExceptionBug
WORDSNET-19768Re-save for document causes wrong cell paddingsBug
WORDSNET-20423Incorrect height of the brackets math elementBug
WORDSNET-14900Hindi text content not formatted correctly when converted from DOCX to PDFBug
WORDSNET-16533Word Unicode content save to PDF format rendering errorBug
WORDSNET-17846Document.PageCount throws System.ArgumentException on certain filesBug
WORDSNET-20750Document.Compare() method does not work properlyBug
WORDSNET-20741Error when opening specific documentBug
WORDSNET-20691Document.UpdateFields does not update the TOC correctlyBug
WORDSNET-20078Footer contents are lost after conversion from DOTX to PDFBug
WORDSNET-20413Comment becomes part of contentBug
WORDSNET-20669System.NullReferenceException thrown when saving to PDFBug
WORDSNET-20460Fill Color of Graphics Object Lost during DOCX to PDF ConversionBug
WORDSNET-20799FileFormatUtil.DetectFileFormat throws Aspose.Words.FileCorruptedExceptionBug
WORDSNET-20777Error occured while updating page layout after split document’s nodes into pagesBug
WORDSNET-20783Loading particular markdown document raises InvalidCastExceptionBug
WORDSNET-20762“File is corrupted or damaged” exception is thrown when opening DOCX fileBug
WORDSNET-20781Incorrect paragraph border drawing after conversion to PDFBug
WORDSNET-20749Dots in picture are changed in converted PDF when open in ChromeBug
WORDSNET-20555Math Type 6.0 Equation Objects Truncated in PDFBug
WORDSNET-20751Incorrect table style applied on conversion Word to PdfBug
WORDSNET-20634Document.UpdateFields throws exception - Cannot insert a node of this type at this locationBug
WORDSNET-20565Large blank spaces appear during PDF to DOC conversionBug
WORDSNET-20566Unwanted text added to footer during PDF to DOC conversionBug
WORDSNET-20764“Parameter is not valid” exception thrown when rendering DOCX fileBug
WORDSNET-20571DOCX to PDF conversion issue with Chinese date and timeBug
WORDSNET-20608Text gets bold and truncated after DOCX to PDF conversionBug
WORDSNET-20625RTF to PDF conversion issue with Hindi textBug
WORDSNET-16941Reference field is lost in output PDFBug
WORDSNET-20210Font missing (error) when converting to PDFBug
WORDSNET-20337DOCX to PDF - Additional page in PDFBug
WORDSNET-19706File format detected as TEXT instead of MHTMLBug

Public API and Backward Incompatible Changes

This section lists public API changes that were introduced in Aspose.Words 20.8. 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 FontNameSubstitutionRule

Related issue: WORDSNET-20199 Added new font substitution rule for font name processing. It will be checked at the step 4 before item a. at Font Availability and Substitution. If this substitution rule will take place the warning with text “Font ‘’ has not been found. Using ‘’ font instead. Reason: font name substitution.” will be issued.

/// <summary>
 /// Font substitution rule for processing font name.
 /// </summary>
 /// <remarks>
 /// According to this rule Aspose.Words tries to process the font name to get the substitution. Particularly
 /// Aspose.Words tries to removes suffixes with '-' and ',' separators like it does the MS Word. 
 /// </remarks>
public class FontNameSubstitutionRule : FontSubstitutionRule
{
}
public class FontSubstitutionSettings
{
    /// <summary>
    /// Settings related to font name substitution rule.
    /// </summary>
    public FontNameSubstitutionRule FontNameSubstitution { get; }
}

Added new option to the PdfLoadOptions class

Related issue: WORDSNET-20779 Added flag indicating whether images must be skipped while loading PDF document.

/// <summary>
 /// Gets or sets the flag indicating whether images must be skipped while loading PDF document. Default is False.
 /// </summary>
public bool SkipPdfImages
{
    get { return mSkipPdfImages; }
    set { mSkipPdfImages = value; }
}

Use Case: Explains how to use SkipPdfImages flag.

fLoadOptions options = new PdfLoadOptions();
 options.SkipPdfImages = true;
 Document doc = new Document("in.pdf", options);

Removed obsolete property FindReplaceOptions.PreserveMetaCharacters

Related issue: WORDSNET-20266 Removed obsolete property from FindReplaceOptions class.

/ <summary>
 /// True indicates that meta-characters beginning with "&amp;" are preserved.
 /// Default value is false.
 /// </summary>
 [Obsolete("This property is obsolete. Please use &amp; character to escape meta-characters instead.")]
 public bool PreserveMetaCharacters

Use Case: Explains how to replace text ignoring meta-characters.

cumentBuilder builder = new DocumentBuilder();
 builder.Write("text&plain");
 doc.Range.Replace("&&", " & ");
 Console.WriteLine(doc.GetText());
 // The output is: text & plain\f