The EditableDocument class represents an input document of any supportable format, that was converted to an internal intermediate format in accordance to edit options and is ready for editing in HTML WYSIWYG editors. For doing this an EditableDocument contains plenty of methods for emitting HTML markup, stylesheets and resources with different settings.
The EditableDocument class is able to emit HTML markup in different forms: the whole document with header, only BODY content, with tuned external links for images, fonts and stylesheets, or even an all-embedded version, where the whole HTML document with all resources is presented as a single string.
For some WYSIWYG editors, in order to load HTML content into them, it is necessary to specify this content via a file path. Or the user may need to save a document as HTML to disk instead of passing it to the WYSIWYG editor. For such cases the EditableDocument class has the ability to save its content to disk as an ordinary HTML document, that is represented with an *.html file and an accompanying folder with resources (images, stylesheets, fonts).
When an input document of some format is converted to an EditableDocument and then to an HTML document, this HTML document contains not only HTML markup, but also one or more stylesheets, maybe images and sometimes even fonts. All of these are called resources. EditableDocument has several methods and properties for working especially with them.
Opening a document for edit implies creating instances of the EditableDocument class, which are returned from the Editor.edit() method. However, when the HTML content of the document was sent to the WYSIWYG HTML-editor and edited by the end-user, in order to save it back to an output format the user firstly needs to create a new instance of the EditableDocument class. For achieving this the EditableDocument class has three class methods, that allow to create instances from HTML documents saved on disk (as an *.html file with a resource folder), in memory (as HTML markup with resources), or emitted directly by a WYSIWYG HTML-editor (as inner-BODY HTML markup and a resource folder).