- New properties in TextLoadOptions
- New option to optimize memory usage
- New option to exclude hidden worksheets
- Worksheet protection
- Document protection
- Reply comments and statuses
- New option to optimize memory usage
- PDF compliance
Fixed several bugs and security improvements update.
Full List of Issues Covering all Changes in this Release
|EDITORNET-911||Implement support of generating the password-protected sheets in spreadsheet documents||New Feature|
|EDITORNET-927||Implement support of additional parameters when processing text-based spreadsheet||New Feature|
|EDITORNET-928||Implement ability to adjust memory usage during opening input Cells document||New Feature|
|EDITORNET-929||Implement the ExcludeHiddenWorksheets option||New Feature|
|EDITORNET-930||Implement ability to adjust memory usage during Words processing||New Feature|
|EDITORNET-931||Add support of document protection during Words document generation||New Feature|
|EDITORNET-933||Implement Reply comments and Done status||New Feature|
|EDITORNET-935||Implement ability to select PDF standards compliance level when generating PDF from HTML||New Feature|
|EDITORNET-946||Security improvements update||Improvement|
|EDITORNET-914||Fix common bug in length and Resolution parsing modules||Bug|
|EDITORNET-895||Fix ArgumentException with pages15.docx sample document||Bug|
Public API and Backward Incompatible Changes
Improvements and new features in Cells module
New properties in TextLoadOptions
GroupDocs.Editor supports different Cells formats when converting document to HTML. Some of Cells formats are binary, like XLSX, while some have textual nature, like CSV, TabDelimited and some other. CellsToHtmlOptions class contains an inner class TextLoadOptions, which is designed especially for such text-based Cells formats. In v18.9 version we have added two new public options to this class: ConvertDateTimeData and ConvertNumericData. Both options are boolean and are false by default.
By default the GroupDocs.Editor, when opening text-based Cells document, interpret all content from any cell as textual. With this option users can specify, whether GroupDocs.Editor needs to parse such content and tries to convert it to the numeric or datetime data.
New option to optimize memory usage
By default GroupDocs.Editor works with Cells document with maximum performance; in other words, it tries to perform the work in the least possible time. The drawback of such approach is that in some cases, especially when processed document is huge, memory consumption may be a problem. In such cases, when you're facing OutOfMemoryException, you big memory consumption is unacceptable, you may turn on the OptimizeMemoryUsage option by setting it to true. In this case GroupDocs.Editor will significantly decrease memory usage, but this will degrade performance. The OptimizeMemoryUsage boolean option is disabled by default and is located in the CellsToHtmlOptions class.
New option to exclude hidden worksheets
Almost any Cells document (excluding the text-based) along with any spreadsheet-processing software (like MS Excel) supports multiple worksheets (tabs). GroupDocs.Editor can process only single tab at once, the WorksheetIndex option is responsible for selecting such tab. Several binary Cells formats (like XLSX) support hidden worksheets (tabs) concept. Hidden worksheet means that when opening document with such tabs, you will not see them usually unless you manually will make them visible (normal). GroupDocs.Editor by default completely ignores visibility status of worksheets, i.e. it processes all tabs usually. But now, with the new option ExcludeHiddenWorksheets, it is allowed to exclude hidden tabs from processing. When enabled, GroupDocs.Editor will completely ignore them, like they are not existing. In such scenario the WorksheetIndex option "covers" only visible tabs. For example, when document has three tabs, where first tab is hidden, while two consequent (second and third) are visible, the ExcludeHiddenWorksheets = 1 will select the last (third) tabs, because it is second visible. So, we may say that ExcludeHiddenWorksheets option, when turned on, modifies the behavior of the WorksheetIndex option.
ExcludeHiddenWorksheets is a boolean property, which is disabled (false) by default, and is located in the CellsToHtmlOptions class.
Most of binary Cells formats support the document protection feature — when the document is protected from modifications of specific type with the password. Most of spreadsheet-processing software (like MS Excel) also supports this feature. And now, with the v18.9, such feature is also supported by the GroupDocs.Editor. When saving edited document in HTML format into Cells format, you are able to apply a document protection. Of course, it will not work in case when you select Cells format, which doesn't support this feature; for example, any of text-based, like CSV.
Document protection is regulated by the WorksheetProtection property in the CellsSaveOptions class. By default it is NULL — document protection is disabled. In order to apply the protection you need to create an instance of the WorksheetProtection class, fill it with necessary values, and set to the WorksheetProtectionproperty.
The WorksheetProtection class is listed below:
It has two properties — protection type (level) and password. By default the ProtectionType property is set to None — protection is not applied (default value). Password is set to NULL — protection is not applied too. So in order to truly apply the document protection, you need to create an instance of the WorksheetProtection class, set non-null and non-empty password, select valid ProtectionType, and assign this instance to the CellsSaveOptions.WorksheetProtection property.
The WorksheetProtectionType is an enumeration, which contains all possible levels of document protection. They are listed below.
- None — Protection is not applied (default value)
- All — User cannot modify anything on the worksheet
- Contents — User cannot enter data in the worksheet
- Objects — User cannot modify drawing objects
- Scenarios — User cannot modify saved scenarios
- Structure — User cannot modify the structure
- Window — User cannot modify the window
Improvements and new features in Words module
Most of Words formats, like DOCX and ODT, support a document protection; when user can protect the document from modification of specific type with a password. GroupDocs.Editor, starting from v18.9, also supports this feature. When saving edited document to some of Words formats, you are able to apply a some level of protection to the resultant document with the Protection property in the WordsSaveOptions class.
By default this property is NULL — no protection is applied. In order to apply the protection, you need to create an instance of the DocumentProtection class and assign it to this property.
The DocumentProtection class contains two properties, which both are vital for protecting the document — Password and ProtectionType. By default the ProtectionType property is set to NoProtection — protection is not applied (default value). Password is set to NULL — protection is not applied too. So in order to truly apply the document protection, you need to create an instance of the DocumentProtection class, set non-null and non-empty password, select valid ProtectionType, and assign this instance to the WordsSaveOptions.Protection property.
The DocumentProtectionType is an enumeration, which contains all possible levels of document protection. They are listed below.
- NoProtection — The document is not protected. Default value.
- AllowOnlyRevisions — User can only add revision marks to the document
- AllowOnlyComments — User can only modify comments in the document
- AllowOnlyFormFields — User can only enter data in the form fields in the document
- ReadOnly — No changes are allowed to the document
Reply comments and statusesGroupDocs.Editor supports comments in documents from the first release. However in the newest versions of Office Open XML was introduced a concept of comments hierarchy, where there are root comments and reply comments, which may be treated as descendants (or children) for the root comments. Starting from v18.9, GroupDocs.Editor recognizes and supports such comments. When opening document in HTML for editing, GroupDocs.Editor preserves comment hierarchy and renews it when saving edited document in some of Words formats. Along with this, GroupDocs.Editor now supports the "Done" status for the comments. Again, this is supported also for the backward conversion.
New option to optimize memory usage
When saving edited documents in HTML to some of Words formats, GroupDocs.Editor works with maximum performance, trying to save the document during the least possible time. But such approach may require a huge amount of memory when the document is big. When high memory consumption is not suitable for you, or you're facing the OutOfMemoryException, you can enable the option OptimizeMemoryUsage from the WordsSaveOptions class. By default this boolean option is set to false — memory optimization is turned off for the sake of the best performance. When turning on, this will significantly decrease memory consumption while generating large documents at the cost of slower saving time.
When opening Words document, editing it in HTML editor and saving back to some of formats, you may select not only the Words formats, but also PDF using the PdfSaveOptions class. Now we added a new option Compliance into this class, which is responsible for the PDF compliance of generated PDF document.
This property is of PdfCompliance type, which is enumeration. By default all documents are generated in PDF 1.5 standard. However, with this new option you also may select:
PDF/A-1a standard. This level includes all the requirements of PDF/A-1b and additionally requires that document structure be included (also known as being "tagged"), with the objective of ensuring that document content can be searched and repurposed. Please note that exporting the document structure significantly increases the memory consumption, especially for the large documents.
- PDF/A-1b standard. PDF/A-1b has the objective of ensuring reliable reproduction of the visual appearance of the document.