GroupDocs.Conversion for .NET 24.12 Release Notes

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

Full list of changes in this release

KeyCategorySummary
CONVERSIONNET-7358EnhancementPerformance improvement for presentation document conversion
CONVERSIONNET-7284EnhancementConfigurable default fallback page size
CONVERSIONNET-6763EnhancementFor archives extend document info to return files and folders
CONVERSIONNET-7356EnhancementImplement zoom level support for Web document conversion in WebLoadOptions
CONVERSIONNET-7331FeatureImplement conversion from LHA
CONVERSIONNET-5005BugWhen creating a thumbnail for an XLSX file with 260000 lines - It takes a long time
CONVERSIONNET-7345BugWrong exception thrown when invalid password is provided
CONVERSIONNET-7075BugWord to PDF conversion - footer is missing
CONVERSIONNET-7157BugMSG/EML to PDF conversion, size problem when having long urls in email
CONVERSIONNET-7360BugConversion from Presentation to Tiff create a single frame Tiff image on macOS
CONVERSIONNET-5514BugApplications crashes when converting PPT to PDF
CONVERSIONNET-7203BugHTML to PDF conversion - out of memory - conversion never ends
CONVERSIONNET-5904BugPDF to JSON converter issue
CONVERSIONNET-7355BugPage size not properly set when converting from Web to Pdf and WordProcessing formats
CONVERSIONNET-7353BugWhitelisted resources not loaded when converting from Html

Major Features

  • LHA Format Support: Added support for converting from the LHA archive format.
  • Enhanced Presentation Conversion: Improved performance for converting presentation documents, ensuring faster and more efficient processing.
  • Configurable Fallback Page Sizes: Introduced configurable default fallback page sizes for enhanced control over document layout during conversion.
  • Archive Document Insights: Extended document info for archive files to provide detailed listings of contained files and folders.
  • Zoom Level Support: Added zoom level configuration in WebLoadOptions, enabling finer control over web document conversions.

Public API and backward incompatible changes

  1. Removed obsolete method SetOcrConnector from ImageLoadOptions. Use SetOcrConnector method of RasterImageLoadOptions.

  2. Introduced new property FallbackPageSize in EBookConvertOptions, PdfConvertOptions, WordProcessingConvertOptions classes. The fallback page size will be used if source document do not contain page size information (e.g. txt, html) and PageSize not changed from PageSize.Unset.

    Usage example:

    const string source = "book.txt";
    
    using (var converter = new Converter(source))
    {
        var convertOptions = new PdfConvertOptions
        {
            FallbackPageSize = PageSize.A5
        };
        converter.Convert((SaveContext saveContext) => new FileStream("converted.pdf", FileMode.Create), convertOptions);
    }
    
  3. Added a new ContentTree property to the CabDocumentInfo, CpioDocumentInfo, IsoDocumentInfo, LhaDocumentInfo, RarDocumentInfo, SevenZipDocumentInfo, TarDocumentInfo, and ZipDocumentInfo classes. This property provides detailed file and folder listings within the archive.

    Usage example:

    const string source = "sample.zip";
    
    using (var converter = new Converter(source))
    {
        var info = converter.GetDocumentInfo<ZipDocumentInfo>();
    
        PrintNode(info.ContentTree, 0);
    }
    

    and the PrintNode method:

    private static void PrintNode(CompressionNodeInfo node, int level)
    {
        var indent = new string(' ', level * 2);
        var nodeInfo = node.IsFile ? $"{indent}[File] {node.Name} (Size: {node.FileSize} bytes)" : $"{indent}[Directory] {node.Name}";
    
        Console.WriteLine(nodeInfo);
        foreach (var child in node.Children)
        {
            PrintNode(child, level + 1);
        }
    }
    
  4. Introduced a new Zoom property in the WebLoadOptions class. This property specifies the zoom level as a percentage, applied to the document’s <body> tag before conversion to scale its visual appearance. A value of 100% represents the original size, and the default value is 100.