Migration Notes
Why To Migrate?
Here are the key reasons to use the new updated API provided by GroupDocs.Editor for .NET since version 19.9:
- Editor class introduced as a single entry point to manage the document editing process to any supported file format (instead of EditorHander class from previous versions).
- Product architecture was redesigned from scratch in order to decreased memory usage (from 10% to 400% approx. depending on document type).
- Document editing and saving options simplified so it’s easy to instantiate proper options class and control over document editing and saving processes.
How To Migrate?
Here is a brief comparison of how to edit document in HTML form using old and new API.
Old coding style
string documentPath = @"C:\sample.docx";
// Obtain document stream
Stream sourceStream = File.Open(documentPath, FileMode.Open, FileAccess.Read);
using (InputHtmlDocument htmlDoc = EditorHandler.ToHtml(sourceStream))
{
// Obtain HTML document content
string htmlContent = htmlDoc.GetContent();
// Edit html in WYSIWYG-editor...
// ...
// Save edited html to original document format
using (OutputHtmlDocument editedHtmlDoc = OutputHtmlDocument.FromMarkup(htmlContent, Path.Combine(Common.sourcePath, Common.resultResourcesFolder)))
{
using (System.IO.FileStream outputStream = System.IO.File.Create(@"C:\output\edited.docx"))
{
WordProcessingSaveOptions saveOptions = new WordProcessingSaveOptions();
EditorHandler.ToDocument(editedHtmlDoc, outputStream, saveOptions);
}
}
}
// close stream object to release file for other methods.
sourceStream.Close();
New coding style
string documentPath = @"C:\sample.docx";
using (Editor editor = new Editor(documentPath))
{
// Obtain editable document from original DOCX document
EditableDocument editableDocument = editor.Edit();
string htmlContent = editableDocument.GetEmbeddedHtml();
// Pass htmlContent to WYSIWYG editor and edit there...
// ...
// Save edited EditableDocument object to some WordProcessing format - DOC for example
WordProcessingSaveOptions saveOptions = new WordProcessingSaveOptions(Formats.WordProcessingFormats.Docx);
editor.Save(editableDocument, @"C:\output\edited.docx", saveOptions);
}
For more code examples and specific use cases please refer to our Developer Guide documentation or GitHub samples and showcases.