GroupDocs.Conversion for .NET 25.1 Release Notes

There are 10+ features, improvements, and bug fixes in this release.

Full list of changes in this release

KeyCategorySummary
CONVERSIONNET-7431FeatureSupport cropping when converting to raster image target formats
CONVERSIONNET-7416FeatureEnhanced notes and comments layout control for presentation conversion
CONVERSIONNET-7354FeatureConversion from Presentation to Video
CONVERSIONNET-7410FeatureSupport display comments after conversion .xlsx to .pdf
CONVERSIONNET-7430FeatureSupport cropping when converting from raster image source formats
CONVERSIONNET-7435EnhancementProvide the source stream content in LoadContext in the load options delegate
CONVERSIONNET-7415Bug.xlsx to .pdf : HideComments = false does not work correctly
CONVERSIONNET-4269BugDWG to PDF conversion issue
CONVERSIONNET-7399BugWhen converting PDF to Word a line break is added at the end of each line
CONVERSIONNET-7400BugBroken characters when converting PDF to Word
CONVERSIONNET-7412Bug.Png to .Pdf conversion: Margins are not applied to page orientation PageSize.A4.
CONVERSIONNET-7414Bug.pptx to .pdf : HideComments = false does not work correctly

Major Features

  • Separated Packages for .NET Versions

    • Starting from this release, GroupDocs.Conversion for .NET is now distributed as two dedicated packages:
      • .NET 6 and above (cross-platform)
      • .NET Framework 4.6.2
    • This ensures better compatibility and a more optimized experience based on your platform.
  • API Simplification: Removal of Obsolete Methods

    • All obsolete Convert methods have been removed.
    • Only Convert methods and constructors with delegates remain.
    • Delegates now use Context parameters, encapsulating all required properties into a single parameter for a cleaner API.
  • Support for Cropping in Image Conversions

    • Added the ability to crop images when converting to raster image formats.
    • Added the ability to crop images when converting from raster image formats.
  • PowerPoint to Video Conversion

    • PowerPoint presentations can now be converted directly to video formats, enabling better content distribution.
  • Improved Handling of Notes and Comments in Presentations

    • Enhanced layout and positioning control for notes and comments when converting PowerPoint presentations.
  • Excel Comments Visibility in PDF Conversion

    • Comments in Excel (.xlsx) can now be displayed in the output when converting to PDF.
  • Load Context Enhancements

    • The LoadContext now provides access to the source stream content within the load options delegate, improving handling of loaded documents.

Public API and backward incompatible changes

This release introduces a refined API by removing obsolete constructors and Convert methods, replacing them with a simplified and more structured approach using context-based delegates.

Removed Constructors and Their Replacements

Replaced by Converter(Func<Stream> sourceStreamProvider, Func<LoadContext, LoadOptions> loadOptions, Func<ConverterSettings> settings = null)

  • Converter(Func<Stream> sourceStreamProvider, Func<LoadOptions> loadOptions)
  • Converter(Func<Stream> sourceStreamProvider, Func<FileType, LoadOptions> loadOptions)
  • Converter(Func<Stream> sourceStreamProvider, Func<string, FileType, Stream, LoadOptions> loadOptions)

Replaced by Converter(string filePath, Func<LoadContext, LoadOptions> loadOptions, Func<ConverterSettings> settings = null)

  • Converter(string filePath, Func<LoadOptions> loadOptions)
  • Converter(string filePath, Func<FileType, LoadOptions> loadOptions)
  • Converter(string filePath, Func<string, FileType, Stream, LoadOptions> loadOptions)

Removed Convert Methods and Their Replacements

Replaced by Convert(ConvertOptions convertOptions, Action<ConvertedContext> documentCompleted, CancellationToken cancellationToken = default)

  • Convert(Func<Stream> document, Func<string, FileType, ConvertOptions> convertOptionsProvider, CancellationToken cancellationToken)

Replaced by Convert(ConvertOptions convertOptions, Action<ConvertedPageContext> documentCompleted, CancellationToken cancellationToken = default)

  • Convert(Func<int, Stream> document, Func<string, FileType, ConvertOptions> convertOptionsProvider, CancellationToken cancellationToken)

Replaced by Convert(Func<SavePageContext, Stream> targetStreamProvider, ConvertOptions convertOptions, CancellationToken cancellationToken = default)

  • Convert(Func<int, Stream> document, ConvertOptions convertOptions, CancellationToken cancellationToken)

Replaced by Convert(Func<ConvertContext, ConvertOptions> convertOptionsProvider, Action<ConvertedContext> documentCompleted, CancellationToken cancellationToken = default)

  • Convert(Func<Stream> document, Action<string, FileType, Stream> documentCompleted, Func<string, FileType, ConvertOptions> convertOptionsProvider, CancellationToken cancellationToken)

Replaced by Convert(Func<SaveContext, Stream> targetStreamProvider, ConvertOptions convertOptions, CancellationToken cancellationToken = default)

  • Convert(Func<Stream> targetStreamProvider, ConvertOptions convertOptions, CancellationToken cancellationToken)

Summary of Changes

  • Constructors now use LoadContext for better encapsulation.
  • Convert methods now rely on context-based delegates, ensuring cleaner API usage.
  • All methods and constructors now receive a single delegate parameter to improve maintainability.

These changes enhance API consistency, simplify method signatures, and improve conversion flexibility.