GroupDocs.Viewer for .NET 17.11 Release Notes

Major Features

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

  • Added new overload for RotatePage and ReorderPage methods with ability to specify RenderOptions
  • Improved MHT documents rendering performance
  • Improved styles generation when rendering into HTML with embedded resources

Full List of Issues Covering all Changes in this Release

KeySummaryCategory
VIEWERNET-1424New overload for RotatePage and ReorderPage methods with ability to specify RenderOptionsImprovement
VIEWERNET-1417Improve MHT documents rendering performanceImprovement
VIEWERNET-1405Drop support of caching based on render optionsImprovement
VIEWERNET-1363Add code examples for CAD rendering optionsImprovement
VIEWERNET-1362Load custom fonts on demandImprovement
VIEWERNET-1351Improve styles generation when rendering into HTML with embedded resourcesImprovement
VIEWERNET-1347Watermark is not over the content when rendering into HTMLImprovement
VIEWERNET-560DWG+DFX (2007,2010) support is required.Improvement
VIEWERNET-1434ViewerConfig.FontDirectories property not working for Text documentsBug
VIEWERNET-1425Exception when rendering Excel document into HTML and imageBug
VIEWERNET-1423Index out of range exception when rendering CAD documentBug
VIEWERNET-1418Content is missing when rendering interactive PDF documentBug
VIEWERNET-1414Columns are missing when rendering Excel document to PDF and HTMLBug
VIEWERNET-1376Missing words and characters when rendering PDF to HTMLBug
VIEWERNET-1132Incorrect Positioning of Characters When Rendering PDF to HTMLBug

Public API and Backward Incompatible Changes

Specifying Render Options while Rotating Documents

Since the version 17.11, there is a new overload for RotatePage method of the ViewerHandler class, that allows specifying render options while rotating the document. We might need this overload when we are setting options that influence the resulting page count. For example, when we are rendering MS PowerPoint document with two visible and one hidden slide, by default we get only visible pages rendered, when we set ShowHiddenPages property of the RenderOptions class, as a result, we will get three pages rendered. In order to be able to rotate this third page, we should use this new overload as shown in the example below.

Rotate 3rd hidden page of the document by 90 deg (C#)

 // Setup GroupDocs.Viewer config
ViewerConfig config = new ViewerConfig();
config.StoragePath = @"C:\storage";
 config.UseCache = true;
// Create html handler
ViewerHtmlHandler htmlHandler = new ViewerHtmlHandler(config);
string guid = "document.pptx"; 
 
// Set rotation angle 90 for page number 3
RotatePageOptions rotateOptions = new RotatePageOptions(3, 90);
 
// Set html options to include hidden pages
HtmlOptions htmlOptions = new HtmlOptions();
htmlOptions.ShowHiddenPages = true;
 
// Perform page rotation
htmlHandler.RotatePage(guid, rotateOptions, htmlOptions);
 
// Set html options to include rotated pages
htmlOptions.Transformations = Transformation.Rotate;
  
// Get html representation of all document pages, including rotated pages. 
List<PageHtml> pages = htmlHandler.GetPages(guid, htmlOptions);

Specifying Render Options while Reordering Documents

Since the version 17.11, there is a new overload for ReorderPage method of the ViewerHandler class, that allows specifying render options while reordering the document. We might need this overload when we are setting options that influence the resulting page count. For example, when we are rendering MS PowerPoint document with two visible and one hidden slide, by default we get only visible pages rendered, when we set ShowHiddenPages property of the RenderOptions class, as a result, we will get three pages rendered. In order to be able to reorder this third page, we should use this new overload as shown in the example below.

Reorder 3rd hidden page of the document with 2nd page (C#)

// Setup GroupDocs.Viewer config
ViewerConfig config = new ViewerConfig();
config.StoragePath = @"C:\storage";
 config.UseCache = true;
// Create html handler
ViewerHtmlHandler htmlHandler = new ViewerHtmlHandler(config);
string guid = "document.pptx"; 
 
int pageNumber = 2;
int newPosition = 3;
  
// Set reorder options
ReorderPageOptions options = new ReorderPageOptions(pageNumber, newPosition);
 
// Set html options to include hidden pages
HtmlOptions htmlOptions = new HtmlOptions();
htmlOptions.ShowHiddenPages = true;
 
// Perform page reordering
htmlHandler.ReorderPage(guid, options, htmlOptions);
 
// Set html options to include reordered pages
htmlOptions.Transformations = Transformation.Rotate;
  
// Get html representation of all document pages, including reordered pages. 
List<PageHtml> pages = htmlHandler.GetPages(guid, htmlOptions);

List of Changes in GroupDocs.Viewer for .NET 17.11

GroupDocs.Viewer.Converter.Options.CellsOptions

Public bool ShowHiddenSheets property compilation is set to fail

This property is no longer active and will be removed in the version 17.12, please use ShowHiddenPages property of the RenderOptions (ImageOptions or HtmlOptions) class instead.

GroupDocs.Viewer.Converter.Options.DiagramOptions

Public DiagramOptions class compilation is set to fail

This class will be removed in version 17.12. To enable rendering hidden pages use ShowHiddenPages property of the RenderOptions (ImageOptions or HtmlOptions) class instead.

GroupDocs.Viewer.Converter.Options.HtmlOptions

Public bool IgnoreResourcePrefixForCss property has been removed

This property has been removed, please use IgnorePrefixInResources property instead.

GroupDocs.Viewer.Converter.Options.PdfOptions

Public bool DeleteAnnotations property compilation is set to fail

This property is no longer active and will be removed in version 17.12. Please use RenderComments property of the HtmlOptions or ImageOptions class instead.

GroupDocs.Viewer.Converter.Options.RenderOptions

Public DiagramOptions.ShowHiddenPages property compilation is set to fail

This property is no longer active and will be removed in version 17.12. To enable rendering hidden pages use ShowHiddenPages property of the RenderOptions (ImageOptions or HtmlOptions) class instead.

GroupDocs.Viewer.Domain.CachedDocumentDescription

Public DiagramOptions.ShowHiddenPages property compilation is set to fail

This property is no longer active and will be removed in version 17.12. To enable rendering hidden pages use ShowHiddenPages property of the RenderOptions (ImageOptions or HtmlOptions) class instead.

GroupDocs.Viewer.Domain.CachedPageDescription

Public DiagramOptions.ShowHiddenPages property compilation is set to fail

This property is no longer active and will be removed in version 17.12. To enable rendering hidden pages use ShowHiddenPages property of the RenderOptions (ImageOptions or HtmlOptions) class instead.

GroupDocs.Viewer.Domain.Html.HtmlResource

Public DiagramOptions.ShowHiddenPages property compilation is set to fail

This property is no longer active and will be removed in version 17.12. 

GroupDocs.Viewer.Domain.Options.DocumentInfoOptions

Public DiagramOptions.ShowHiddenPages property compilation is set to fail

This property is no longer active and will be removed in version 17.12. To enable rendering hidden pages use ShowHiddenPages property of the RenderOptions (ImageOptions or HtmlOptions) class instead.

GroupDocs.Viewer.Domain.Options.PdfFileOptions

Public DiagramOptions.ShowHiddenPages property compilation is set to fail

This property is no longer active and will be removed in version 17.12. To enable rendering hidden pages use ShowHiddenPages property of the RenderOptions (ImageOptions, HtmlOptions or PdfFileOptions) class instead.

GroupDocs.Viewer.Handler.ViewerHandler

Public void RotatePage(string guid, RotatePageOptions rotatePageOptions, RenderOptions renderOptions) overload has been added
Public void ReorderPage(string guid, ReorderPageOptions reorderPageOptions, RenderOptions renderOptions) overload has been added

GroupDocs.Viewer.Handler.ViewerHtmlHandler

Public ViewerHtmlHandler(ViewerConfig viewerConfig, IInputDataHandler inputDataHandler, ICacheDataHandler cacheDataHandler, IFileDataStore fileDataStore) constructor has been removed

Please use overload without ‘fileDataStore’ parameter.

Public ViewerHtmlHandler(ViewerConfig viewerConfig, IInputDataHandler inputDataHandler, ICacheDataHandler cacheDataHandler, IFileDataStore fileDataStore, CultureInfo cultureInfo) constructor has been removed

Please use overload without ‘fileDataStore’ parameter.

GroupDocs.Viewer.Handler.ViewerImageHandler

Public ViewerImageHandler(ViewerConfig viewerConfig, IInputDataHandler inputDataHandler, ICacheDataHandler cacheDataHandler, IFileDataStore fileDataStore) constructor has been removed

This constructor is obsolete and has been removed. Please use overload without ‘fileDataStore’ parameter.

Public ViewerImageHandler(ViewerConfig viewerConfig, IInputDataHandler inputDataHandler, ICacheDataHandler cacheDataHandler, IFileDataStore fileDataStore, CultureInfo cultureInfo) constructor has been removed

This constructor is obsolete and has been removed. Please use overload without ‘fileDataStore’ parameter.

GroupDocs.Viewer.Helper.IFileDataStore

Public interface IFileDataStore interface has been removed

This interface has been removed. If you need your own implementation for storing file data, please refer to the documentation and implement the ICacheDataHandler interface instead.