This example demonstrates standard open-edit-save cycle with WordProcessing documents, using different options on every step.
How to edit Word document?
WordProcessing is the most used and known document family format, that includes DOC, DOT, DOCX, DOCM, DOTX, ODT, RTF and much more. All these formats are supported by the GroupDocs.Editor.
There are two processing modes for WordProcessing documents:
float (default)
paged (also known as paginal).
In the float mode, when document is opened for editing and loaded into WYSIWYG client-side HTML-editor, it is represented without pages, like a single page text document. In counterpart to this, when paged mode is enabled, document content is divided onto pages. For proper usage paged mode, if enabled, should be enabled in both edit options and save options simultaneously (this is described below).
Load Word file for edit
First of all user must open a document by loading it into the Editor class instance. This example demonstrates how to load the password-protected document. So, let’s suppose we have an encoded DOCX, and user knows its password. First of all, you need to create a load options — an instance of the WordProcessingLoadOptions class.
Please note that if document has no protection, the password will be ignored. However, if document is protected, but user has not specified a password, a PasswordRequiredException will be thrown during document editing.
Next step is to load the document into the Editor class. Same with load options — they should be passed.
When document is loaded, it can be edited (transformed to EditableDocument class), and this process can be adjusted with edit options. Let’s create them:
Let’s describe the code above line by line.
Line #1 - every supported document family format has its own options class. So for all WordProcessing formats you need to apply the WordProcessingEditOptions. The same for other formats — SpreadsheetEditOptions for all spreadsheet-based formats (like XLS, ODS etc.) and so on.
Line #2 - enables extracting language information for better subsequent spell-checking on client side. Finally, line #3 switches document processing mode from float (default) to the paged.
After preparing options the previously loaded document can be edited:
before_edit=editor.edit(edit_options)
Unlike previous example let’s extract HTML markup and resources separately:
First string contains all HTML markup without resources, while second collection contains all resources (images, fonts, and stylesheets).
Modifying document content
Let’s imagine that user passed HTML markup and resources, obtained from EditableDocument instance, to the WYSIWYG-editor, edited the document on client-side and obtained back a modified HTML markup. Now user needs to create new EditableDocument instance from this modified markup.
When user specifies a password, GroupDocs.Editor encrypts the document with this password. So, when document will be saved, it can be opened only with the password.
This tutorial demonstrates basic scenario — opening document, editing it and saving, — but with detailed options on every step. The subsequent articles in this section describe each of these options in detail.