diff --git a/ej2-javascript/chart/working-with-data.md b/ej2-javascript/chart/working-with-data.md
deleted file mode 100644
index 5b9d901be..000000000
--- a/ej2-javascript/chart/working-with-data.md
+++ /dev/null
@@ -1,369 +0,0 @@
----
-layout: post
-title: Working with data in ##Platform_Name## Chart control | Syncfusion
-description: Learn here all about Working with data in Syncfusion ##Platform_Name## Chart control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: Working with data
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-
-# Working with data in ##Platform_Name## Chart control
-
-Chart can visualize data bound from local or remote data.
-
-## Local data
-
-You can bind a simple JSON data to the chart using [`dataSource`](../api/chart/series/) property in series. Now map the fields in
-JSON to [`xName`](../api/chart/series/#xname-string) and [`yName`](../api/chart/series/#yname-string) properties.
-
-{% if page.publishingplatform == "typescript" %}
-
-{% tabs %}
-{% highlight ts tabtitle="index.ts" %}
-{% include code-snippet/chart/working-with-data-cs1/index.ts %}
-{% endhighlight %}
-{% highlight html tabtitle="index.html" %}
-{% include code-snippet/chart/working-with-data-cs1/index.html %}
-{% endhighlight %}
-{% endtabs %}
-
-{% previewsample "page.domainurl/code-snippet/chart/working-with-data-cs1" %}
-
-{% elsif page.publishingplatform == "javascript" %}
-
-{% tabs %}
-{% highlight js tabtitle="index.js" %}
-{% include code-snippet/chart/working-with-data-cs1/index.js %}
-{% endhighlight %}
-{% highlight html tabtitle="index.html" %}
-{% include code-snippet/chart/working-with-data-cs1/index.html %}
-{% endhighlight %}
-{% endtabs %}
-
-{% previewsample "page.domainurl/code-snippet/chart/working-with-data-cs1" %}
-{% endif %}
-
-## Remote data
-
-You can also bind remote data to the chart using DataManager. The `DataManager` requires minimal information like webservice URL, adaptor and crossDomain to interact with service endpoint properly. Assign the instance of DataManager to the [`dataSource`](../api/chart/series/#datasource-object---datamanager) property in series and map the fields of data to [`xName`](../api/chart/series/#xname-string) and [`yName`](../api/chart/series/#yname-string) properties. You can also use the [`query`](../api/chart/series/#query-string) property of the series to filter the data.
-
-{% if page.publishingplatform == "typescript" %}
-
-{% tabs %}
-{% highlight ts tabtitle="index.ts" %}
-{% include code-snippet/chart/working-with-data-cs2/index.ts %}
-{% endhighlight %}
-{% highlight html tabtitle="index.html" %}
-{% include code-snippet/chart/working-with-data-cs2/index.html %}
-{% endhighlight %}
-{% endtabs %}
-
-{% previewsample "page.domainurl/code-snippet/chart/working-with-data-cs2" %}
-
-{% elsif page.publishingplatform == "javascript" %}
-
-{% tabs %}
-{% highlight js tabtitle="index.js" %}
-{% include code-snippet/chart/working-with-data-cs2/index.js %}
-{% endhighlight %}
-{% highlight html tabtitle="index.html" %}
-{% include code-snippet/chart/working-with-data-cs2/index.html %}
-{% endhighlight %}
-{% endtabs %}
-
-{% previewsample "page.domainurl/code-snippet/chart/working-with-data-cs2" %}
-{% endif %}
-
-## Binding data using ODataAdaptor
-
-[`OData`](http://www.odata.org/documentation/odata-version-3-0/) is a standardized protocol for creating and consuming data. You can retrieve data from an OData service using the DataManager. Refer to the following code example for remote data binding using an OData service.
-
-{% if page.publishingplatform == "typescript" %}
-
-{% tabs %}
-{% highlight ts tabtitle="index.ts" %}
-{% include code-snippet/chart/working-with-data-cs3/index.ts %}
-{% endhighlight %}
-{% highlight html tabtitle="index.html" %}
-{% include code-snippet/chart/working-with-data-cs3/index.html %}
-{% endhighlight %}
-{% endtabs %}
-
-{% previewsample "page.domainurl/code-snippet/chart/working-with-data-cs3" %}
-
-{% elsif page.publishingplatform == "javascript" %}
-
-{% tabs %}
-{% highlight js tabtitle="index.js" %}
-{% include code-snippet/chart/working-with-data-cs3/index.js %}
-{% endhighlight %}
-{% highlight html tabtitle="index.html" %}
-{% include code-snippet/chart/working-with-data-cs3/index.html %}
-{% endhighlight %}
-{% endtabs %}
-
-{% previewsample "page.domainurl/code-snippet/chart/working-with-data-cs3" %}
-{% endif %}
-
-## Binding data using ODataV4Adaptor
-
-ODataV4 is an improved version of the OData protocols, and the `DataManager` can also retrieve and consume ODataV4 services. For more details on ODataV4 services, refer to the [`odata documentation`](http://docs.oasis-open.org/odata/odata/v4.0/errata03/os/complete/part1-protocol/odata-v4.0-errata03-os-part1-protocol-complete.html#_Toc453752197). To bind an ODataV4 service, use the **ODataV4Adaptor**.
-
-{% if page.publishingplatform == "typescript" %}
-
-{% tabs %}
-{% highlight ts tabtitle="index.ts" %}
-{% include code-snippet/chart/working-with-data-cs7/index.ts %}
-{% endhighlight %}
-{% highlight html tabtitle="index.html" %}
-{% include code-snippet/chart/working-with-data-cs7/index.html %}
-{% endhighlight %}
-{% endtabs %}
-
-{% previewsample "page.domainurl/code-snippet/chart/working-with-data-cs7" %}
-
-{% elsif page.publishingplatform == "javascript" %}
-
-{% tabs %}
-{% highlight js tabtitle="index.js" %}
-{% include code-snippet/chart/working-with-data-cs7/index.js %}
-{% endhighlight %}
-{% highlight html tabtitle="index.html" %}
-{% include code-snippet/chart/working-with-data-cs7/index.html %}
-{% endhighlight %}
-{% endtabs %}
-
-{% previewsample "page.domainurl/code-snippet/chart/working-with-data-cs7" %}
-{% endif %}
-
-## Web API adaptor
-
-You can use the **WebApiAdaptor** to bind the chart with a Web API created using an OData endpoint.
-
-{% if page.publishingplatform == "typescript" %}
-
-{% tabs %}
-{% highlight ts tabtitle="index.ts" %}
-{% include code-snippet/chart/working-with-data-cs8/index.ts %}
-{% endhighlight %}
-{% highlight html tabtitle="index.html" %}
-{% include code-snippet/chart/working-with-data-cs8/index.html %}
-{% endhighlight %}
-{% endtabs %}
-
-{% previewsample "page.domainurl/code-snippet/chart/working-with-data-cs8" %}
-
-{% elsif page.publishingplatform == "javascript" %}
-
-{% tabs %}
-{% highlight js tabtitle="index.js" %}
-{% include code-snippet/chart/working-with-data-cs8/index.js %}
-{% endhighlight %}
-{% highlight html tabtitle="index.html" %}
-{% include code-snippet/chart/working-with-data-cs8/index.html %}
-{% endhighlight %}
-{% endtabs %}
-
-{% previewsample "page.domainurl/code-snippet/chart/working-with-data-cs8" %}
-{% endif %}
-
-The response object should contain the properties **Items** and **Count**, where **Items** represents a collection of entities, and **Count** represents the total number of entities.
-
-The sample response object should appear as follows:
-
-```
-{
- Items: [{..}, {..}, {..}, ...],
- Count: 830
-}
-```
-
-## Custom adaptor
-
-You can create your own adaptor by extending the built-in adaptors. The following demonstrates the custom adaptor approach and how to add a serial number to the records by overriding the built-in response processing using the **processResponse** method of the **ODataAdaptor**.
-
-{% if page.publishingplatform == "typescript" %}
-
-{% tabs %}
-{% highlight ts tabtitle="index.ts" %}
-{% include code-snippet/chart/working-with-data-cs10/index.ts %}
-{% endhighlight %}
-{% highlight html tabtitle="index.html" %}
-{% include code-snippet/chart/working-with-data-cs10/index.html %}
-{% endhighlight %}
-{% endtabs %}
-
-{% previewsample "page.domainurl/code-snippet/chart/working-with-data-cs10" %}
-
-{% elsif page.publishingplatform == "javascript" %}
-
-{% tabs %}
-{% highlight js tabtitle="index.js" %}
-{% include code-snippet/chart/working-with-data-cs10/index.js %}
-{% endhighlight %}
-{% highlight html tabtitle="index.html" %}
-{% include code-snippet/chart/working-with-data-cs10/index.html %}
-{% endhighlight %}
-{% endtabs %}
-
-{% previewsample "page.domainurl/code-snippet/chart/working-with-data-cs10" %}
-{% endif %}
-
-## Offline mode
-
-When using remote data binding, all chart actions will be processed on the server-side. To avoid postback for every action, configure the chart to load all data upon initialization and handle actions on the client-side. To enable this behavior, utilize the **offline** property of the `DataManager`.
-
-{% if page.publishingplatform == "typescript" %}
-
-{% tabs %}
-{% highlight ts tabtitle="index.ts" %}
-{% include code-snippet/chart/working-with-data-cs9/index.ts %}
-{% endhighlight %}
-{% highlight html tabtitle="index.html" %}
-{% include code-snippet/chart/working-with-data-cs9/index.html %}
-{% endhighlight %}
-{% endtabs %}
-
-{% previewsample "page.domainurl/code-snippet/chart/working-with-data-cs9" %}
-
-{% elsif page.publishingplatform == "javascript" %}
-
-{% tabs %}
-{% highlight js tabtitle="index.js" %}
-{% include code-snippet/chart/working-with-data-cs9/index.js %}
-{% endhighlight %}
-{% highlight html tabtitle="index.html" %}
-{% include code-snippet/chart/working-with-data-cs9/index.html %}
-{% endhighlight %}
-{% endtabs %}
-
-{% previewsample "page.domainurl/code-snippet/chart/working-with-data-cs9" %}
-{% endif %}
-
-## Lazy loading
-
-Lazy loading allows you to load data for chart on demand. Chart will fire the scrollEnd event, in that we can get the minimum and maximum range of the axis, based on this, we can upload the data to chart.
-
-{% if page.publishingplatform == "typescript" %}
-
-{% tabs %}
-{% highlight ts tabtitle="index.ts" %}
-{% include code-snippet/chart/working-with-data-cs4/index.ts %}
-{% endhighlight %}
-{% highlight html tabtitle="index.html" %}
-{% include code-snippet/chart/working-with-data-cs4/index.html %}
-{% endhighlight %}
-{% endtabs %}
-
-{% previewsample "page.domainurl/code-snippet/chart/working-with-data-cs4" %}
-
-{% elsif page.publishingplatform == "javascript" %}
-
-{% tabs %}
-{% highlight js tabtitle="index.js" %}
-{% include code-snippet/chart/working-with-data-cs4/index.js %}
-{% endhighlight %}
-{% highlight html tabtitle="index.html" %}
-{% include code-snippet/chart/working-with-data-cs4/index.html %}
-{% endhighlight %}
-{% endtabs %}
-
-{% previewsample "page.domainurl/code-snippet/chart/working-with-data-cs4" %}
-{% endif %}
-
-## Empty points
-
-The Data points that uses the `null` or `undefined` as value are considered as empty points. Empty data points are ignored and not plotted in the Chart. When the data is provided by using the points property, By using `emptyPointSettings` property in series, you can customize the empty point. Default `mode` of the empty point is `Gap`.
-
-{% if page.publishingplatform == "typescript" %}
-
-{% tabs %}
-{% highlight ts tabtitle="index.ts" %}
-{% include code-snippet/chart/working-with-data-cs5/index.ts %}
-{% endhighlight %}
-{% highlight html tabtitle="index.html" %}
-{% include code-snippet/chart/working-with-data-cs5/index.html %}
-{% endhighlight %}
-{% endtabs %}
-
-{% previewsample "page.domainurl/code-snippet/chart/working-with-data-cs5" %}
-
-{% elsif page.publishingplatform == "javascript" %}
-
-{% tabs %}
-{% highlight js tabtitle="index.js" %}
-{% include code-snippet/chart/working-with-data-cs5/index.js %}
-{% endhighlight %}
-{% highlight html tabtitle="index.html" %}
-{% include code-snippet/chart/working-with-data-cs5/index.html %}
-{% endhighlight %}
-{% endtabs %}
-
-{% previewsample "page.domainurl/code-snippet/chart/working-with-data-cs5" %}
-{% endif %}
-
-**Customizing empty point**
-
-Specific color for empty point can be set by `fill` property in `emptyPointSettings`. Border for a empty point can be set by `border` property.
-
-{% if page.publishingplatform == "typescript" %}
-
-{% tabs %}
-{% highlight ts tabtitle="index.ts" %}
-{% include code-snippet/chart/working-with-data-cs6/index.ts %}
-{% endhighlight %}
-{% highlight html tabtitle="index.html" %}
-{% include code-snippet/chart/working-with-data-cs6/index.html %}
-{% endhighlight %}
-{% endtabs %}
-
-{% previewsample "page.domainurl/code-snippet/chart/working-with-data-cs6" %}
-
-{% elsif page.publishingplatform == "javascript" %}
-
-{% tabs %}
-{% highlight js tabtitle="index.js" %}
-{% include code-snippet/chart/working-with-data-cs6/index.js %}
-{% endhighlight %}
-{% highlight html tabtitle="index.html" %}
-{% include code-snippet/chart/working-with-data-cs6/index.html %}
-{% endhighlight %}
-{% endtabs %}
-
-{% previewsample "page.domainurl/code-snippet/chart/working-with-data-cs6" %}
-{% endif %}
-
-## Handling No Data
-
-When no data is available to render in the chart, the `noDataTemplate` property can be used to display a custom layout within the chart area. This layout may include a message indicating the absence of data, a relevant image, or a button to initiate data loading. Styled text, images, or interactive elements can be incorporated to maintain design consistency and improve user guidance. Once data becomes available, the chart automatically updates to display the appropriate visualization.
-
-{% if page.publishingplatform == "typescript" %}
-
-{% tabs %}
-{% highlight ts tabtitle="index.ts" %}
-{% include code-snippet/chart/working-with-data-cs11/index.ts %}
-{% endhighlight %}
-{% highlight html tabtitle="index.html" %}
-{% include code-snippet/chart/working-with-data-cs11/index.html %}
-{% endhighlight %}
-{% endtabs %}
-
-{% previewsample "page.domainurl/code-snippet/chart/working-with-data-cs11" %}
-
-{% elsif page.publishingplatform == "javascript" %}
-
-{% tabs %}
-{% highlight js tabtitle="index.js" %}
-{% include code-snippet/chart/working-with-data-cs11/index.js %}
-{% endhighlight %}
-{% highlight html tabtitle="index.html" %}
-{% include code-snippet/chart/working-with-data-cs11/index.html %}
-{% endhighlight %}
-{% endtabs %}
-
-{% previewsample "page.domainurl/code-snippet/chart/working-with-data-cs11" %}
-{% endif %}
-
diff --git a/ej2-javascript/code-snippet/document-editor/accessibility-cs1/index.css b/ej2-javascript/code-snippet/document-editor/accessibility-cs1/index.css
deleted file mode 100644
index a1f9e52f4..000000000
--- a/ej2-javascript/code-snippet/document-editor/accessibility-cs1/index.css
+++ /dev/null
@@ -1,19 +0,0 @@
-
-#loader {
- color: #008cff;
- height: 40px;
- left: 45%;
- position: absolute;
- top: 45%;
- width: 30%;
- }
-
- #container {
- visibility: hidden;
- }
-
- #DocumentEditor{
- width:100%;
- height: 100%;
-}
-
\ No newline at end of file
diff --git a/ej2-javascript/code-snippet/document-editor/accessibility-cs1/index.js b/ej2-javascript/code-snippet/document-editor/accessibility-cs1/index.js
deleted file mode 100644
index fadff773c..000000000
--- a/ej2-javascript/code-snippet/document-editor/accessibility-cs1/index.js
+++ /dev/null
@@ -1,15 +0,0 @@
-var documenteditorcontainer = new ej.documenteditor.DocumentEditorContainer({
- isReadOnly: false
-});
-ej.documenteditor.DocumentEditorContainer.Inject(
- ej.documenteditor.Toolbar
-);
-onCreated = function() {
- var data =
- {"optimizeSfdt":false,"sections":[{"sectionFormat":{"pageWidth":612,"pageHeight":792,"leftMargin":72,"rightMargin":72,"topMargin":72,"bottomMargin":72,"headerDistance":36,"footerDistance":36,"differentFirstPage":false,"differentOddAndEvenPages":false,"bidi":false,"breakCode":"NewPage","endnoteNumberFormat":"LowerCaseRoman","footNoteNumberFormat":"Arabic","restartIndexForFootnotes":"DoNotRestart","restartIndexForEndnotes":"DoNotRestart","initialFootNoteNumber":1,"initialEndNoteNumber":1,"pageNumberStyle":"Arabic","numberOfColumns":1,"equalWidth":true,"lineBetweenColumns":false,"columns":[]},"blocks":[{"paragraphFormat":{"borders":{"top":{},"left":{},"right":{},"bottom":{},"horizontal":{},"vertical":{}},"styleName":"Normal","listFormat":{}},"characterFormat":{},"inlines":[{"characterFormat":{"fontSize":18,"fontFamily":"Monotype Corsiva","fontSizeBidi":18,"fontFamilyAscii":"Monotype Corsiva","fontFamilyNonFarEast":"Monotype Corsiva","fontFamilyFarEast":"Monotype Corsiva"},"text":"List of text formatting options"}]},{"paragraphFormat":{"borders":{"top":{},"left":{},"right":{},"bottom":{},"horizontal":{},"vertical":{}},"styleName":"Normal","listFormat":{}},"characterFormat":{},"inlines":[]},{"paragraphFormat":{"borders":{"top":{},"left":{},"right":{},"bottom":{},"horizontal":{},"vertical":{}},"styleName":"Normal","listFormat":{}},"characterFormat":{},"inlines":[{"characterFormat":{"bold":true,"boldBidi":true},"text":"Bold"}]},{"paragraphFormat":{"borders":{"top":{},"left":{},"right":{},"bottom":{},"horizontal":{},"vertical":{}},"styleName":"Normal","listFormat":{}},"characterFormat":{"bold":true,"boldBidi":true},"inlines":[]},{"paragraphFormat":{"borders":{"top":{},"left":{},"right":{},"bottom":{},"horizontal":{},"vertical":{}},"styleName":"Normal","listFormat":{}},"characterFormat":{"fontColor":"#808080FF"},"inlines":[{"characterFormat":{"fontColor":"#CC99FFFF"},"text":"C"},{"characterFormat":{"fontColor":"#333333FF"},"text":"o"},{"characterFormat":{"fontColor":"#FF6600FF"},"text":"l"},{"characterFormat":{"fontColor":"#3366FFFF"},"text":"o"},{"characterFormat":{"fontColor":"#FF9900FF"},"text":"r"},{"characterFormat":{"fontColor":"#FF6600FF"},"text":"e"},{"characterFormat":{"fontColor":"#808080FF"},"text":"d"}]},{"paragraphFormat":{"borders":{"top":{},"left":{},"right":{},"bottom":{},"horizontal":{},"vertical":{}},"styleName":"Normal","listFormat":{}},"characterFormat":{"fontColor":"#808080FF"},"inlines":[]},{"paragraphFormat":{"borders":{"top":{},"left":{},"right":{},"bottom":{},"horizontal":{},"vertical":{}},"styleName":"Normal","listFormat":{}},"characterFormat":{"scaling":150},"inlines":[{"characterFormat":{"scaling":150},"text":"Scaling"}]},{"paragraphFormat":{"borders":{"top":{},"left":{},"right":{},"bottom":{},"horizontal":{},"vertical":{}},"styleName":"Normal","listFormat":{}},"characterFormat":{"fontColor":"#808080FF"},"inlines":[]},{"paragraphFormat":{"borders":{"top":{},"left":{},"right":{},"bottom":{},"horizontal":{},"vertical":{}},"styleName":"Normal","listFormat":{}},"characterFormat":{"characterSpacing":2},"inlines":[{"characterFormat":{"characterSpacing":2},"text":"Spacing"}]},{"paragraphFormat":{"borders":{"top":{},"left":{},"right":{},"bottom":{},"horizontal":{},"vertical":{}},"styleName":"Normal","listFormat":{}},"characterFormat":{"fontColor":"#00B0F0FF"},"inlines":[]},{"paragraphFormat":{"borders":{"top":{},"left":{},"right":{},"bottom":{},"horizontal":{},"vertical":{}},"styleName":"Normal","listFormat":{}},"characterFormat":{"bold":true,"boldBidi":true},"inlines":[{"characterFormat":{"strikethrough":"DoubleStrike"},"text":"Double Strike"}]},{"paragraphFormat":{"borders":{"top":{},"left":{},"right":{},"bottom":{},"horizontal":{},"vertical":{}},"styleName":"Normal","listFormat":{}},"characterFormat":{"strikethrough":"DoubleStrike"},"inlines":[]},{"paragraphFormat":{"borders":{"top":{},"left":{},"right":{},"bottom":{},"horizontal":{},"vertical":{}},"styleName":"Normal","listFormat":{}},"characterFormat":{"fontColor":"#ED7D31FF"},"inlines":[{"characterFormat":{"highlightColor":"Turquoise","fontColor":"#ED7D31FF"},"text":"Highlighted"}]},{"paragraphFormat":{"borders":{"top":{},"left":{},"right":{},"bottom":{},"horizontal":{},"vertical":{}},"styleName":"Normal","listFormat":{}},"characterFormat":{},"inlines":[]},{"paragraphFormat":{"borders":{"top":{},"left":{},"right":{},"bottom":{},"horizontal":{},"vertical":{}},"styleName":"Normal","listFormat":{}},"characterFormat":{},"inlines":[{"characterFormat":{"italic":true,"italicBidi":true},"text":"Italicized"}]},{"paragraphFormat":{"borders":{"top":{},"left":{},"right":{},"bottom":{},"horizontal":{},"vertical":{}},"styleName":"Normal","listFormat":{}},"characterFormat":{"italic":true,"italicBidi":true},"inlines":[]},{"paragraphFormat":{"borders":{"top":{},"left":{},"right":{},"bottom":{},"horizontal":{},"vertical":{}},"styleName":"Normal","listFormat":{}},"characterFormat":{"strikethrough":"SingleStrike"},"inlines":[{"characterFormat":{"strikethrough":"SingleStrike"},"text":"Strikeout "}]},{"paragraphFormat":{"borders":{"top":{},"left":{},"right":{},"bottom":{},"horizontal":{},"vertical":{}},"styleName":"Normal","listFormat":{}},"characterFormat":{"strikethrough":"SingleStrike"},"inlines":[]},{"paragraphFormat":{"borders":{"top":{},"left":{},"right":{},"bottom":{},"horizontal":{},"vertical":{}},"styleName":"Normal","listFormat":{}},"characterFormat":{"strikethrough":"SingleStrike"},"inlines":[{"characterFormat":{},"text":"Some"},{"characterFormat":{"baselineAlignment":"Subscript"},"text":"Subscript"},{"characterFormat":{"baselineAlignment":"Subscript"},"text":" "}]},{"paragraphFormat":{"borders":{"top":{},"left":{},"right":{},"bottom":{},"horizontal":{},"vertical":{}},"styleName":"Normal","listFormat":{}},"characterFormat":{"baselineAlignment":"Subscript"},"inlines":[]},{"paragraphFormat":{"borders":{"top":{},"left":{},"right":{},"bottom":{},"horizontal":{},"vertical":{}},"styleName":"Normal","listFormat":{}},"characterFormat":{"baselineAlignment":"Subscript"},"inlines":[{"characterFormat":{},"text":"Some"},{"characterFormat":{"baselineAlignment":"Superscript"},"text":"Superscript"},{"characterFormat":{"baselineAlignment":"Superscript"},"text":" "}]},{"paragraphFormat":{"borders":{"top":{},"left":{},"right":{},"bottom":{},"horizontal":{},"vertical":{}},"styleName":"Normal","listFormat":{}},"characterFormat":{"baselineAlignment":"Superscript"},"inlines":[]},{"paragraphFormat":{"borders":{"top":{},"left":{},"right":{},"bottom":{},"horizontal":{},"vertical":{}},"styleName":"Normal","listFormat":{}},"characterFormat":{"underline":"Single"},"inlines":[{"characterFormat":{"underline":"Single"},"text":"Underlined"}]},{"paragraphFormat":{"borders":{"top":{},"left":{},"right":{},"bottom":{},"horizontal":{},"vertical":{}},"styleName":"Normal","listFormat":{}},"characterFormat":{},"inlines":[{"characterFormat":{},"text":" "}]},{"paragraphFormat":{"borders":{"top":{},"left":{},"right":{},"bottom":{},"horizontal":{},"vertical":{}},"styleName":"Normal","listFormat":{}},"characterFormat":{},"inlines":[{"characterFormat":{"fontSize":18,"fontFamily":"Monotype Corsiva","fontSizeBidi":18,"fontFamilyAscii":"Monotype Corsiva","fontFamilyNonFarEast":"Monotype Corsiva","fontFamilyFarEast":"Monotype Corsiva"},"text":"Text with different fonts and sizes"}]},{"paragraphFormat":{"borders":{"top":{},"left":{},"right":{},"bottom":{},"horizontal":{},"vertical":{}},"styleName":"Normal","listFormat":{}},"characterFormat":{"fontSize":11,"fontFamily":"Book Antiqua","underline":"Double","fontColor":"#7028E8FF","fontSizeBidi":11,"fontFamilyAscii":"Book Antiqua","fontFamilyNonFarEast":"Book Antiqua","fontFamilyFarEast":"Book Antiqua"},"inlines":[]},{"paragraphFormat":{"borders":{"top":{},"left":{},"right":{},"bottom":{},"horizontal":{},"vertical":{}},"beforeSpacing":6,"afterSpacing":6,"styleName":"Normal","listFormat":{}},"characterFormat":{},"inlines":[{"characterFormat":{"fontSize":11,"fontFamily":"Book Antiqua","fontColor":"#7028E8FF","fontSizeBidi":11,"fontFamilyAscii":"Book Antiqua","fontFamilyNonFarEast":"Book Antiqua","fontFamilyFarEast":"Book Antiqua"},"text":"The quick brown fox jumps over the lazy dog [Book Antiqua]"}]},{"paragraphFormat":{"borders":{"top":{},"left":{},"right":{},"bottom":{},"horizontal":{},"vertical":{}},"beforeSpacing":6,"afterSpacing":6,"styleName":"Normal","listFormat":{}},"characterFormat":{},"inlines":[{"characterFormat":{"fontFamily":"Cambria","fontColor":"#F1C084FF","fontFamilyAscii":"Cambria","fontFamilyNonFarEast":"Cambria","fontFamilyFarEast":"Cambria"},"text":"The quick brown fox jumps over the lazy dog [Bitstream Vera Sans]"}]},{"paragraphFormat":{"borders":{"top":{},"left":{},"right":{},"bottom":{},"horizontal":{},"vertical":{}},"beforeSpacing":6,"afterSpacing":6,"styleName":"Normal","listFormat":{}},"characterFormat":{},"inlines":[{"characterFormat":{"fontSize":13,"fontFamily":"Comic Sans MS","fontColor":"#BD5DCDFF","fontSizeBidi":13,"fontFamilyAscii":"Comic Sans MS","fontFamilyNonFarEast":"Comic Sans MS","fontFamilyFarEast":"Comic Sans MS"},"text":"The quick brown fox jumps over the lazy dog [Comic Sans MS]"}]},{"paragraphFormat":{"borders":{"top":{},"left":{},"right":{},"bottom":{},"horizontal":{},"vertical":{}},"beforeSpacing":6,"afterSpacing":6,"styleName":"Normal","listFormat":{}},"characterFormat":{},"inlines":[{"characterFormat":{"fontSize":14,"fontFamily":"Microsoft Sans Serif","fontColor":"#4D72EEFF","fontSizeBidi":14,"fontFamilyAscii":"Microsoft Sans Serif","fontFamilyNonFarEast":"Microsoft Sans Serif","fontFamilyFarEast":"Microsoft Sans Serif"},"text":"The quick brown fox jumps over the lazy dog [Microsoft Sans Serif]"}]},{"paragraphFormat":{"borders":{"top":{},"left":{},"right":{},"bottom":{},"horizontal":{},"vertical":{}},"beforeSpacing":6,"afterSpacing":6,"styleName":"Normal","listFormat":{}},"characterFormat":{},"inlines":[{"characterFormat":{"fontSize":15,"fontFamily":"바탕","fontColor":"#335388FF","fontSizeBidi":15,"fontFamilyAscii":"바탕","fontFamilyNonFarEast":"바탕","fontFamilyFarEast":"바탕"},"text":"The quick brown fox jumps over the lazy dog ["},{"characterFormat":{"fontSize":15,"fontFamily":"바탕","fontColor":"#335388FF","fontSizeBidi":15,"fontFamilyAscii":"바탕","fontFamilyNonFarEast":"바탕","fontFamilyFarEast":"바탕"},"text":"Batang"},{"characterFormat":{"fontSize":15,"fontFamily":"바탕","fontColor":"#335388FF","fontSizeBidi":15,"fontFamilyAscii":"바탕","fontFamilyNonFarEast":"바탕","fontFamilyFarEast":"바탕"},"text":"]"}]},{"paragraphFormat":{"borders":{"top":{},"left":{},"right":{},"bottom":{},"horizontal":{},"vertical":{}},"beforeSpacing":6,"afterSpacing":6,"styleName":"Normal","listFormat":{}},"characterFormat":{"fontSize":16,"fontFamily":"Arial","fontColor":"#31B463FF","fontSizeBidi":16,"fontFamilyAscii":"Arial","fontFamilyNonFarEast":"Arial","fontFamilyFarEast":"Arial"},"inlines":[{"characterFormat":{"fontSize":16,"fontFamily":"Arial","fontColor":"#31B463FF","fontSizeBidi":16,"fontFamilyAscii":"Arial","fontFamilyNonFarEast":"Arial","fontFamilyFarEast":"Arial"},"text":"The quick brown fox jumps over the lazy dog [Arial]"}]},{"paragraphFormat":{"borders":{"top":{},"left":{},"right":{},"bottom":{},"horizontal":{},"vertical":{}},"beforeSpacing":6,"afterSpacing":6,"styleName":"Normal","listFormat":{}},"characterFormat":{"fontSize":16,"fontSizeBidi":16},"inlines":[{"characterFormat":{"fontSize":16,"fontFamily":"Book Antiqua","fontColor":"#7028E8FF","fontSizeBidi":16,"fontFamilyAscii":"Book Antiqua","fontFamilyNonFarEast":"Book Antiqua","fontFamilyFarEast":"Book Antiqua"},"text":"The quick brown fox jumps over the lazy dog [Book Antiqua]"}]},{"paragraphFormat":{"borders":{"top":{},"left":{},"right":{},"bottom":{},"horizontal":{},"vertical":{}},"beforeSpacing":6,"afterSpacing":6,"styleName":"Normal","listFormat":{}},"characterFormat":{"fontSize":15,"fontSizeBidi":15},"inlines":[{"characterFormat":{"fontSize":15,"fontFamily":"Cambria","fontColor":"#F1C084FF","fontSizeBidi":15,"fontFamilyAscii":"Cambria","fontFamilyNonFarEast":"Cambria","fontFamilyFarEast":"Cambria"},"text":"The quick brown fox jumps over the lazy dog [Bitstream Vera Sans]"}]},{"paragraphFormat":{"borders":{"top":{},"left":{},"right":{},"bottom":{},"horizontal":{},"vertical":{}},"beforeSpacing":6,"afterSpacing":6,"styleName":"Normal","listFormat":{}},"characterFormat":{"fontSize":14,"fontSizeBidi":14},"inlines":[{"characterFormat":{"fontSize":14,"fontFamily":"Comic Sans MS","fontColor":"#BD5DCDFF","fontSizeBidi":14,"fontFamilyAscii":"Comic Sans MS","fontFamilyNonFarEast":"Comic Sans MS","fontFamilyFarEast":"Comic Sans MS"},"text":"The quick brown fox jumps over the lazy dog [Comic Sans MS]"}]},{"paragraphFormat":{"borders":{"top":{},"left":{},"right":{},"bottom":{},"horizontal":{},"vertical":{}},"beforeSpacing":6,"afterSpacing":6,"styleName":"Normal","listFormat":{}},"characterFormat":{"fontSize":13,"fontSizeBidi":13},"inlines":[{"characterFormat":{"fontSize":13,"fontFamily":"Microsoft Sans Serif","fontColor":"#4D72EEFF","fontSizeBidi":13,"fontFamilyAscii":"Microsoft Sans Serif","fontFamilyNonFarEast":"Microsoft Sans Serif","fontFamilyFarEast":"Microsoft Sans Serif"},"text":"The quick brown fox jumps over the lazy dog [Microsoft Sans Serif]"}]},{"paragraphFormat":{"borders":{"top":{},"left":{},"right":{},"bottom":{},"horizontal":{},"vertical":{}},"beforeSpacing":6,"afterSpacing":6,"styleName":"Normal","listFormat":{}},"characterFormat":{"fontSize":11,"fontSizeBidi":11},"inlines":[{"characterFormat":{"fontFamily":"바탕","fontColor":"#335388FF","fontFamilyAscii":"바탕","fontFamilyNonFarEast":"바탕","fontFamilyFarEast":"바탕"},"text":"The quick brown fox jumps over the lazy dog ["},{"characterFormat":{"fontFamily":"바탕","fontColor":"#335388FF","fontFamilyAscii":"바탕","fontFamilyNonFarEast":"바탕","fontFamilyFarEast":"바탕"},"text":"Batang"},{"characterFormat":{"fontFamily":"바탕","fontColor":"#335388FF","fontFamilyAscii":"바탕","fontFamilyNonFarEast":"바탕","fontFamilyFarEast":"바탕"},"text":"]"}]},{"paragraphFormat":{"borders":{"top":{},"left":{},"right":{},"bottom":{},"horizontal":{},"vertical":{}},"beforeSpacing":6,"afterSpacing":6,"styleName":"Normal","listFormat":{}},"characterFormat":{"fontSize":10,"fontSizeBidi":10},"inlines":[{"characterFormat":{"fontSize":11,"fontFamily":"Arial","fontColor":"#31B463FF","fontSizeBidi":11,"fontFamilyAscii":"Arial","fontFamilyNonFarEast":"Arial","fontFamilyFarEast":"Arial"},"text":"The quick brown fox jumps over the lazy dog [Arial]"}]}],"headersFooters":{}}],"characterFormat":{"bold":false,"italic":false,"fontSize":11,"fontFamily":"Times New Roman","underline":"None","strikethrough":"None","baselineAlignment":"Normal","highlightColor":"NoColor","fontColor":"#00000000","boldBidi":false,"italicBidi":false,"fontSizeBidi":11,"fontFamilyBidi":"Calibri","allCaps":false,"localeIdBidi":1025,"fontFamilyAscii":"Times New Roman","fontFamilyNonFarEast":"Times New Roman","fontFamilyFarEast":"Times New Roman"},"paragraphFormat":{"borders":{"top":{},"left":{},"right":{},"bottom":{},"horizontal":{},"vertical":{}},"leftIndent":0,"rightIndent":0,"firstLineIndent":0,"textAlignment":"Left","beforeSpacing":0,"afterSpacing":0,"lineSpacing":1,"lineSpacingType":"Multiple","outlineLevel":"BodyText","bidi":false,"keepLinesTogether":false,"keepWithNext":false,"widowControl":true,"listFormat":{}},"fontSubstitutionTable":{},"themeFontLanguages":{},"defaultTabWidth":36,"trackChanges":false,"enforcement":false,"hashValue":"","saltValue":"","formatting":false,"protectionType":"NoProtection","dontUseHTMLParagraphAutoSpacing":false,"formFieldShading":true,"compatibilityMode":"Word2013","allowSpaceOfSameStyleInTable":false,"themes":{"fontScheme":{"fontSchemeName":"Office","majorFontScheme":{"fontSchemeList":[{"name":"latin","typeface":"Calibri Light","panose":"020F0302020204030204"},{"name":"ea","panose":"020F0302020204030204"},{"name":"cs","panose":"020F0302020204030204"}],"fontTypeface":{"Jpan":"游ゴシック Light","Hang":"맑은 고딕","Hans":"等线 Light","Hant":"新細明體","Arab":"Times New Roman","Hebr":"Times New Roman","Thai":"Angsana New","Ethi":"Nyala","Beng":"Vrinda","Gujr":"Shruti","Khmr":"MoolBoran","Knda":"Tunga","Guru":"Raavi","Cans":"Euphemia","Cher":"Plantagenet Cherokee","Yiii":"Microsoft Yi Baiti","Tibt":"Microsoft Himalaya","Thaa":"MV Boli","Deva":"Mangal","Telu":"Gautami","Taml":"Latha","Syrc":"Estrangelo Edessa","Orya":"Kalinga","Mlym":"Kartika","Laoo":"DokChampa","Sinh":"Iskoola Pota","Mong":"Mongolian Baiti","Viet":"Times New Roman","Uigh":"Microsoft Uighur","Geor":"Sylfaen","Armn":"Arial","Bugi":"Leelawadee UI","Bopo":"Microsoft JhengHei","Java":"Javanese Text","Lisu":"Segoe UI","Mymr":"Myanmar Text","Nkoo":"Ebrima","Olck":"Nirmala UI","Osma":"Ebrima","Phag":"Phagspa","Syrn":"Estrangelo Edessa","Syrj":"Estrangelo Edessa","Syre":"Estrangelo Edessa","Sora":"Nirmala UI","Tale":"Microsoft Tai Le","Talu":"Microsoft New Tai Lue","Tfng":"Ebrima"}},"minorFontScheme":{"fontSchemeList":[{"name":"latin","typeface":"Calibri","panose":"020F0502020204030204"},{"name":"ea","panose":"020F0502020204030204"},{"name":"cs","panose":"020F0502020204030204"}],"fontTypeface":{"Jpan":"游明朝","Hang":"맑은 고딕","Hans":"等线","Hant":"新細明體","Arab":"Arial","Hebr":"Arial","Thai":"Cordia New","Ethi":"Nyala","Beng":"Vrinda","Gujr":"Shruti","Khmr":"DaunPenh","Knda":"Tunga","Guru":"Raavi","Cans":"Euphemia","Cher":"Plantagenet Cherokee","Yiii":"Microsoft Yi Baiti","Tibt":"Microsoft Himalaya","Thaa":"MV Boli","Deva":"Mangal","Telu":"Gautami","Taml":"Latha","Syrc":"Estrangelo Edessa","Orya":"Kalinga","Mlym":"Kartika","Laoo":"DokChampa","Sinh":"Iskoola Pota","Mong":"Mongolian Baiti","Viet":"Arial","Uigh":"Microsoft Uighur","Geor":"Sylfaen","Armn":"Arial","Bugi":"Leelawadee UI","Bopo":"Microsoft JhengHei","Java":"Javanese Text","Lisu":"Segoe UI","Mymr":"Myanmar Text","Nkoo":"Ebrima","Olck":"Nirmala UI","Osma":"Ebrima","Phag":"Phagspa","Syrn":"Estrangelo Edessa","Syrj":"Estrangelo Edessa","Syre":"Estrangelo Edessa","Sora":"Nirmala UI","Tale":"Microsoft Tai Le","Talu":"Microsoft New Tai Lue","Tfng":"Ebrima"}}}},"background":{"color":"#FFFFFF"},"styles":[{"name":"Normal","type":"Paragraph","paragraphFormat":{"borders":{"top":{},"left":{},"right":{},"bottom":{},"horizontal":{},"vertical":{}},"listFormat":{}},"characterFormat":{"fontSize":12,"fontSizeBidi":12},"next":"Normal"},{"name":"Heading 1","type":"Paragraph","paragraphFormat":{"borders":{"top":{},"left":{},"right":{},"bottom":{},"horizontal":{},"vertical":{}},"beforeSpacing":12,"lineSpacing":1.0791666507720947,"lineSpacingType":"Multiple","outlineLevel":"Level1","listFormat":{}},"characterFormat":{"fontSize":16,"fontFamily":"Calibri Light","fontColor":"#2F5496FF","fontSizeBidi":16,"fontFamilyAscii":"Calibri Light","fontFamilyNonFarEast":"Calibri Light","fontFamilyFarEast":"Calibri Light"},"basedOn":"Normal","next":"Normal"},{"name":"Heading 2","type":"Paragraph","paragraphFormat":{"borders":{"top":{},"left":{},"right":{},"bottom":{},"horizontal":{},"vertical":{}},"beforeSpacing":2,"lineSpacing":1.0791666507720947,"lineSpacingType":"Multiple","outlineLevel":"Level2","listFormat":{}},"characterFormat":{"fontSize":13,"fontFamily":"Calibri Light","fontColor":"#2F5496FF","fontSizeBidi":13,"fontFamilyAscii":"Calibri Light","fontFamilyNonFarEast":"Calibri Light","fontFamilyFarEast":"Calibri Light"},"basedOn":"Normal","next":"Normal"},{"name":"Heading 3","type":"Paragraph","paragraphFormat":{"borders":{"top":{},"left":{},"right":{},"bottom":{},"horizontal":{},"vertical":{}},"beforeSpacing":2,"lineSpacing":1.0791666507720947,"lineSpacingType":"Multiple","outlineLevel":"Level3","listFormat":{}},"characterFormat":{"fontFamily":"Calibri Light","fontColor":"#1F3763FF","fontFamilyAscii":"Calibri Light","fontFamilyNonFarEast":"Calibri Light","fontFamilyFarEast":"Calibri Light"},"basedOn":"Normal","next":"Normal"},{"name":"Heading 4","type":"Paragraph","paragraphFormat":{"borders":{"top":{},"left":{},"right":{},"bottom":{},"horizontal":{},"vertical":{}},"beforeSpacing":2,"lineSpacing":1.0791666507720947,"lineSpacingType":"Multiple","outlineLevel":"Level4","listFormat":{}},"characterFormat":{"italic":true,"fontFamily":"Calibri Light","fontColor":"#2F5496FF","italicBidi":true,"fontFamilyAscii":"Calibri Light","fontFamilyNonFarEast":"Calibri Light","fontFamilyFarEast":"Calibri Light"},"basedOn":"Normal","next":"Normal"},{"name":"Heading 5","type":"Paragraph","paragraphFormat":{"borders":{"top":{},"left":{},"right":{},"bottom":{},"horizontal":{},"vertical":{}},"beforeSpacing":2,"lineSpacing":1.0791666507720947,"lineSpacingType":"Multiple","outlineLevel":"Level5","listFormat":{}},"characterFormat":{"fontFamily":"Calibri Light","fontColor":"#2F5496FF","fontFamilyAscii":"Calibri Light","fontFamilyNonFarEast":"Calibri Light","fontFamilyFarEast":"Calibri Light"},"basedOn":"Normal","next":"Normal"},{"name":"Heading 6","type":"Paragraph","paragraphFormat":{"borders":{"top":{},"left":{},"right":{},"bottom":{},"horizontal":{},"vertical":{}},"beforeSpacing":2,"lineSpacing":1.0791666507720947,"lineSpacingType":"Multiple","outlineLevel":"Level6","listFormat":{}},"characterFormat":{"fontFamily":"Calibri Light","fontColor":"#1F3763FF","fontFamilyAscii":"Calibri Light","fontFamilyNonFarEast":"Calibri Light","fontFamilyFarEast":"Calibri Light"},"basedOn":"Normal","next":"Normal"},{"name":"Default Paragraph Font","type":"Character","characterFormat":{}},{"name":"Heading 1 Char","type":"Character","characterFormat":{"fontSize":16,"fontFamily":"Calibri Light","fontColor":"#2F5496FF","fontSizeBidi":16,"fontFamilyAscii":"Calibri Light","fontFamilyNonFarEast":"Calibri Light","fontFamilyFarEast":"Calibri Light"},"basedOn":"Default Paragraph Font"},{"name":"Heading 2 Char","type":"Character","characterFormat":{"fontSize":13,"fontFamily":"Calibri Light","fontColor":"#2F5496FF","fontSizeBidi":13,"fontFamilyAscii":"Calibri Light","fontFamilyNonFarEast":"Calibri Light","fontFamilyFarEast":"Calibri Light"},"basedOn":"Default Paragraph Font"},{"name":"Heading 3 Char","type":"Character","characterFormat":{"fontSize":12,"fontFamily":"Calibri Light","fontColor":"#1F3763FF","fontSizeBidi":12,"fontFamilyAscii":"Calibri Light","fontFamilyNonFarEast":"Calibri Light","fontFamilyFarEast":"Calibri Light"},"basedOn":"Default Paragraph Font"},{"name":"Heading 4 Char","type":"Character","characterFormat":{"italic":true,"fontFamily":"Calibri Light","fontColor":"#2F5496FF","italicBidi":true,"fontFamilyAscii":"Calibri Light","fontFamilyNonFarEast":"Calibri Light","fontFamilyFarEast":"Calibri Light"},"basedOn":"Default Paragraph Font"},{"name":"Heading 5 Char","type":"Character","characterFormat":{"fontFamily":"Calibri Light","fontColor":"#2F5496FF","fontFamilyAscii":"Calibri Light","fontFamilyNonFarEast":"Calibri Light","fontFamilyFarEast":"Calibri Light"},"basedOn":"Default Paragraph Font"},{"name":"Heading 6 Char","type":"Character","characterFormat":{"fontFamily":"Calibri Light","fontColor":"#1F3763FF","fontFamilyAscii":"Calibri Light","fontFamilyNonFarEast":"Calibri Light","fontFamilyFarEast":"Calibri Light"},"basedOn":"Default Paragraph Font"},{"name":"Heading 7","type":"Paragraph","paragraphFormat":{"borders":{"top":{},"left":{},"right":{},"bottom":{},"horizontal":{},"vertical":{}},"leftIndent":0,"rightIndent":0,"firstLineIndent":0,"textAlignment":"Left","beforeSpacing":2,"afterSpacing":0,"lineSpacing":1.0791666507720947,"lineSpacingType":"Multiple","outlineLevel":"Level7","listFormat":{}},"characterFormat":{"italic":true,"fontFamily":"Calibri Light","fontColor":"#1F3763","fontFamilyAscii":"Calibri Light","fontFamilyNonFarEast":"Calibri Light","fontFamilyFarEast":"Calibri Light"},"basedOn":"Normal","next":"Normal"},{"name":"Heading 7 Char","type":"Character","characterFormat":{"italic":true,"fontFamily":"Calibri Light","fontColor":"#1F3763","fontFamilyAscii":"Calibri Light","fontFamilyNonFarEast":"Calibri Light","fontFamilyFarEast":"Calibri Light"},"basedOn":"Default Paragraph Font"},{"name":"Heading 8","type":"Paragraph","paragraphFormat":{"borders":{"top":{},"left":{},"right":{},"bottom":{},"horizontal":{},"vertical":{}},"leftIndent":0,"rightIndent":0,"firstLineIndent":0,"textAlignment":"Left","beforeSpacing":2,"afterSpacing":0,"lineSpacing":1.0791666507720947,"lineSpacingType":"Multiple","outlineLevel":"Level8","listFormat":{}},"characterFormat":{"fontSize":10.5,"fontFamily":"Calibri Light","fontColor":"#333333","fontFamilyAscii":"Calibri Light","fontFamilyNonFarEast":"Calibri Light","fontFamilyFarEast":"Calibri Light"},"basedOn":"Normal","next":"Normal"},{"name":"Heading 8 Char","type":"Character","characterFormat":{"fontSize":10.5,"fontFamily":"Calibri Light","fontColor":"#333333","fontFamilyAscii":"Calibri Light","fontFamilyNonFarEast":"Calibri Light","fontFamilyFarEast":"Calibri Light"},"basedOn":"Default Paragraph Font"},{"name":"Heading 9","type":"Paragraph","paragraphFormat":{"borders":{"top":{},"left":{},"right":{},"bottom":{},"horizontal":{},"vertical":{}},"leftIndent":0,"rightIndent":0,"firstLineIndent":0,"textAlignment":"Left","beforeSpacing":2,"afterSpacing":0,"lineSpacing":1.0791666507720947,"lineSpacingType":"Multiple","outlineLevel":"Level9","listFormat":{}},"characterFormat":{"italic":true,"fontSize":10.5,"fontFamily":"Calibri Light","fontColor":"#333333","fontFamilyAscii":"Calibri Light","fontFamilyNonFarEast":"Calibri Light","fontFamilyFarEast":"Calibri Light"},"basedOn":"Normal","next":"Normal"},{"name":"Heading 9 Char","type":"Character","characterFormat":{"italic":true,"fontSize":10.5,"fontFamily":"Calibri Light","fontColor":"#333333","fontFamilyAscii":"Calibri Light","fontFamilyNonFarEast":"Calibri Light","fontFamilyFarEast":"Calibri Light"},"basedOn":"Default Paragraph Font"},{"name":"Header","type":"Paragraph","paragraphFormat":{"borders":{"top":{},"left":{},"right":{},"bottom":{},"horizontal":{},"vertical":{}},"afterSpacing":0,"lineSpacing":1,"lineSpacingType":"Multiple","listFormat":{}},"characterFormat":{},"basedOn":"Normal","next":"Header"},{"name":"Footer","type":"Paragraph","paragraphFormat":{"borders":{"top":{},"left":{},"right":{},"bottom":{},"horizontal":{},"vertical":{}},"afterSpacing":0,"lineSpacing":1,"lineSpacingType":"Multiple","listFormat":{}},"characterFormat":{},"basedOn":"Normal","next":"Footer"}],"lists":[],"abstractLists":[],"comments":[],"revisions":[],"customXml":[],"images":{},"footnotes":{"separator":[{"paragraphFormat":{"borders":{"top":{},"left":{},"right":{},"bottom":{},"horizontal":{},"vertical":{}},"styleName":"Normal","listFormat":{}},"characterFormat":{},"inlines":[{"characterFormat":{},"text":"\u0003"}]}],"continuationSeparator":[{"paragraphFormat":{"borders":{"top":{},"left":{},"right":{},"bottom":{},"horizontal":{},"vertical":{}},"styleName":"Normal","listFormat":{}},"characterFormat":{},"inlines":[{"characterFormat":{},"text":"\u0004"}]}],"continuationNotice":[{"paragraphFormat":{"borders":{"top":{},"left":{},"right":{},"bottom":{},"horizontal":{},"vertical":{}},"styleName":"Normal","listFormat":{}},"characterFormat":{},"inlines":[]}]},"endnotes":{"separator":[{"paragraphFormat":{"borders":{"top":{},"left":{},"right":{},"bottom":{},"horizontal":{},"vertical":{}},"styleName":"Normal","listFormat":{}},"characterFormat":{},"inlines":[{"characterFormat":{},"text":"\u0003"}]}],"continuationSeparator":[{"paragraphFormat":{"borders":{"top":{},"left":{},"right":{},"bottom":{},"horizontal":{},"vertical":{}},"styleName":"Normal","listFormat":{}},"characterFormat":{},"inlines":[{"characterFormat":{},"text":"\u0004"}]}],"continuationNotice":[{"paragraphFormat":{"borders":{"top":{},"left":{},"right":{},"bottom":{},"horizontal":{},"vertical":{}},"styleName":"Normal","listFormat":{}},"characterFormat":{},"inlines":[]}]}};
- documenteditorcontainer.documentEditor.open(data);
-};
-documenteditorcontainer.appendTo("#DocumentEditor");
-documenteditorcontainer.addEventListener("created", onCreated());
-
-
diff --git a/ej2-javascript/code-snippet/document-editor/accessibility-cs1/index.ts b/ej2-javascript/code-snippet/document-editor/accessibility-cs1/index.ts
deleted file mode 100644
index fb4ff73a4..000000000
--- a/ej2-javascript/code-snippet/document-editor/accessibility-cs1/index.ts
+++ /dev/null
@@ -1,22 +0,0 @@
-
-
-import { DocumentEditorContainer, Toolbar } from '@syncfusion/ej2-documenteditor';
-
-//Inject require modules.
-DocumentEditorContainer.Inject(Toolbar);
-
-//Initialize Document Editor component.
-let container: DocumentEditorContainer = new DocumentEditorContainer({
- enableToolbar: true, height: '590px'
-});
-
-//Open the default document in `created` event.
-container.created = function () {
- //load your default document here
- let data: string = '{"sfdt":"UEsDBAoAAAAIAIdcHVcVYDYnnwgAAAA9AAAEAAAAc2ZkdO1bX2/byBH/KgT7ahTUf9tv0b/zJU5inJ0Ah9QPK2opbrTkMsulFSUIUCRPfSlQIFf0oQf0rQ9F0QA9oIe+9MMESNC763fozC4pURKlUxybMi6xkQw5M7s789vZ2SG5fm6LSLGAPaOn3lDZh0omdM+OqWsfPnpuA42kffjcjib2YbNS3bMj3z5sHcAFD+ACqEypSukgpUMvsg8doIKaC39oH9aae7aX0gHT7AGMZN+jkxMyojb0PwpjYNySZMBcuA9dwYFR2bPpk4mmfKBc3dJIHp2/gE60tZGHpg6GMkaqYNjnIOPKUDkydJDe+4ZcIAEaqxANETIgHMblzEsFrmcUmR5D39le/Axs2Qdn4Na+K0KhphG1OkLG7IJAc1BA/4wKWaPjhR5dJyqWgBmKg1/2MYuVJTxL0afK8tBopVg4snAyBSD4AlApA5CShslwH2QBOkB08XKGSFvw4fW7XWxBGUjYHi6UX+07+Nvv28sRqaWdzsFBv2+kBpaOjXbldWr6J68jVnT6/WbTcfI6vKCfZnNxrKJ+Dg4W+5FbjEVXdPJeG50y5roY8WsfNoZhKw1naYLnXAPAqUs4rPhfLgxuDN1Vl1CYMVMQIuKWCYLjtJ1+mSCsTTezsFB5PLoiGXBqnSrJxrQEVLLRS0yAvW6rW6usJkAfpLW9AiWDzBEb+Rz+KTr8pW6OLIsVtrI5fqkgWbhQ5JWRNgvtKCdzQqtKwQKpzBOGXhkiUVZJq6OyQ9/nXosgv6cOyEIOTQaxK1mk1mqUgVU2YjlZlazsLJuwyoVPElFZiFaldLRKi6xkdVEleYcfhEMqoRYpMbMuT5pV9si7fwI8wye/CVO+NWSgK2mID4Khii0SDq0Ycn1cRlmkYaikMLSFGFu3QsWeJOhDktuRW051v7cPO/IcmUqGzFKzDJUV9ir3ypbAABo192xiyCUiYQ0E1+x8Ggo+tZ4kzB1bAykmIYTBU+txEkSxJS6otBSIOXk2tYZiZD3Kd3F+FRHyMdAhYh0SDCSbg9WvdJz9ugFLI5RTSMHJcxYYl4SEqVhJSgLrIZXEOiVhvHNkdFDV0qDqiIC52i7r7ukMqHa30e10F6KqNsNsuUWG3Aq/gH05FBf6uBn41bP0zFwpYuEpY94pldA4g7HebVV7vQUY67OcvaZhlrfXiddLL4dtUVc3A+JGCvGPb17/79U3M1BrtUZtfzHjNTJQ56opjDlG/v5yUOXfHZVmYZsogq8hdjB06WGQ+tZMfbsFeZfPXau0683agmvNzLWZZurZ/D53Wxhk1zfWJQJMt90l6pmvG6Hatg5pfpJ1SG59ZgtwY3bbVKMsr+BPolzJbbDZnrlxB966gql/shVMrubLqrmNReGHFjW1z0XN5ifY7Mms6CFlww5eck1zLdas1i/XMsyuZteZz66z8en9ZwuMSqkFxjk4b/w5z30Q8giPqfYivVr04YwFNLbu0Yn1lQhIaN7DOHv6BTGetyDmNIY5Q5F91jI/dvqdKRthsDDGHAC8gk2MM9jFoA1x502GBuXqbDtcNSeDrEhSKAAYPypiOAu1szKlXkqVgQIDyjEBBSQ9bcIzuOYQjHG47HoSzq4nbvbBYx59yuPGhqGamOMu6aEVGnoGfzDOBpfjlHqBGS8yZOirgBtjPWOQK4IoncepGhiZ8gMTw25KcC3c9zzm4lGagDz2YiPgOuJRyoliCLWaz6B1jN/F8OwN8Jyq03dq8D/+1vVVXecFbEzJNlpuvFELQtnDebJvRwTV333//duX3719+a+3r169ffmPmTVHmJEgh/z1Dz99+1vrh3/+5cfX3xg2HhB6//ffvf/3f/LK6NG7P755/92bd3/6/X//9hq4eIqoMNCO6EAWCs58grF9KxzFJCQoAmZP+ci8NyUcAWhTbdhDCKch3n+RPMbOTn2ZKFwOd/xA6le3greF1N3eQU0YLwlHpoWENWl/RcgFNugYl3pJ5NNA14kdn2IXJxzcIiMaUmUhS4wpTuzXjLGFrfhrZrUJ04OfMVwEOdkRg8xIpsQ4p/f/h1ZbcFTu0gvNAKR18jqjHO36giSKBLo3glFoHxPlYwenU4n5ogflJzShXFi9IY1jFN2XU+zqjj6UgIy7fBpohlRsjIxjIoT+RD3u+CSIdH8s9PHrZDwGrIh1IpRuKTS+SMBMEs58e8ioKpy1BxAFC04jI5GINBV6bqbcIzTUIRGEuXTdTkYI5TGlnEzIkFLrwZfIFpFY6PC2D5N+RNGK20SDhiSkMbXwRTy6x2LE7pSORNrJ3amJgykJAyIzvXtjDUMPFl6ggePuGIOL4Q5GTMv7cUDyOic+QUSQxFE6EeGaiQDR4/Uiuk4EgbpsxRnhixXfGYFcQY0kWZDgZGhposWensDUfEyHAQu3SkX5xNHYKgk1tkpCjS2SEGSNd3/+dsvE83MpJ4uvNNFkt2l66Qg5ZB+XXbokCU8oLJ/PyeVKk0s2U59Tyo1OKebT5HSWS2YPAGkV9XHlYtEzRHVeA+PRgfDpfNQs5xxRMsRDuJWrsQPrUhxWV6S/dloHlWaz2XBarapzUG/NS1TBTcW68TXtcq1nCv9qv1E/aBa/EFxpMXubtcwvYJsz2fNp2QRX9erg2hKt6qaXLx+EVq10tGqlo1UrQGs9SJV+rZU9NJeLTL10ZOobDr9tF0ezI3Klo9UoHa3GB8VRfrGVi0yzdGSaN3yFdalHEq6sEyLJSJLIt/oiVAamSvZ1eGUXhKqSyEWlG7EprfFmZVtab/9ut4kt7a+tt7+6t218ZRXPDuyvF9l/E9LrlvY3CvEvOeFtaWvzA229lhS0ha1UXk1uLn7Xu3reZTUzplZkRvWFULs3KrUC32pwfR4SOuOGuoGhMr19aigLRrHpzQv16fFy/4By9mHkN4njOLX0W4e7UyvqmRVhSVac48cwm37Gf4f4v/g/UEsBAhQACgAAAAgAh1wdVxVgNiefCAAAAD0AAAQAAAAAAAAAAAAAAAAAAAAAAHNmZHRQSwUGAAAAAAEAAQAyAAAAwQgAAAAA"}';
- container.documentEditor.open(data);
-};
-//Render Document Editor Container component.
-container.appendTo('#DocumentEditor');
-
-
diff --git a/ej2-javascript/code-snippet/document-editor/accessibility-cs1/js/index.html b/ej2-javascript/code-snippet/document-editor/accessibility-cs1/js/index.html
deleted file mode 100644
index cc556940b..000000000
--- a/ej2-javascript/code-snippet/document-editor/accessibility-cs1/js/index.html
+++ /dev/null
@@ -1,39 +0,0 @@
-
- EJ2 Animation
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Syncfusion Word Processor(a.k.a)Document Editor Component
Syncfusion Word Processor(a.k.a)Document Editor Component
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/ej2-javascript/code-snippet/document-editor/chart-cs1/index.css b/ej2-javascript/code-snippet/document-editor/chart-cs1/index.css
deleted file mode 100644
index 18578ab19..000000000
--- a/ej2-javascript/code-snippet/document-editor/chart-cs1/index.css
+++ /dev/null
@@ -1,18 +0,0 @@
-
-#loader {
- color: #008cff;
- height: 40px;
- left: 45%;
- position: absolute;
- top: 45%;
- width: 30%;
- }
-
- #container {
- visibility: hidden;
- }
-
- #DocumentEditor{
- width:100%;
- height: 100%;
-}
diff --git a/ej2-javascript/code-snippet/document-editor/chart-cs1/index.js b/ej2-javascript/code-snippet/document-editor/chart-cs1/index.js
deleted file mode 100644
index 9be9e5549..000000000
--- a/ej2-javascript/code-snippet/document-editor/chart-cs1/index.js
+++ /dev/null
@@ -1,9 +0,0 @@
-var documenteditor = new ej.documenteditor.DocumentEditor({ isReadOnly: false, serviceUrl: 'https://services.syncfusion.com/js/production/api/documenteditor/' });
- documenteditor.acceptTab = true;
- documenteditor.enableAllModules();
- documenteditor.pageOutline = '#E0E0E0';
- documenteditor.appendTo('#DocumentEditor');
-
-var sfdt ={"sections":[{"sectionFormat":{"pageWidth":612,"pageHeight":792,"leftMargin":72,"rightMargin":72,"topMargin":72,"bottomMargin":72,"differentFirstPage":false,"differentOddAndEvenPages":false,"headerDistance":36,"footerDistance":36,"bidi":false},"blocks":[{"paragraphFormat":{"textAlignment":"Center","afterSpacing":0,"lineSpacing":1,"lineSpacingType":"Multiple","styleName":"Normal","listFormat":{}},"characterFormat":{"bold":true,"fontSize":12,"fontFamily":"Verdana","fontSizeBidi":12,"fontFamilyBidi":"Verdana"},"inlines":[{"characterFormat":{"bold":true,"fontSize":14,"fontFamily":"Verdana","fontColor":"#17365DFF","styleName":"a","fontSizeBidi":14,"fontFamilyBidi":"Verdana"},"text":"Northwind Management Report"}]},{"paragraphFormat":{"afterSpacing":0,"lineSpacing":1,"lineSpacingType":"Multiple","styleName":"Normal","listFormat":{}},"characterFormat":{"fontSize":10,"fontFamily":"Verdana","fontSizeBidi":10,"fontFamilyBidi":"Verdana"},"inlines":[]},{"paragraphFormat":{"afterSpacing":0,"styleName":"Normal","listFormat":{}},"characterFormat":{},"inlines":[{"characterFormat":{"fontSize":10,"fontFamily":"Verdana","styleName":"a","fontSizeBidi":10,"fontFamilyBidi":"Verdana"},"text":"This management report provides information obtained through data analysis, regarding the "},{"characterFormat":{"fontSize":10,"fontFamily":"Verdana","styleName":"a","fontSizeBidi":10,"fontFamilyBidi":"Verdana"},"text":"performance of Northwind Traders. This report will pay particular"},{"characterFormat":{"fontSize":10,"fontFamily":"Verdana","styleName":"a","fontSizeBidi":10,"fontFamilyBidi":"Verdana"},"text":" "},{"characterFormat":{"fontSize":10,"fontFamily":"Verdana","styleName":"a","fontSizeBidi":10,"fontFamilyBidi":"Verdana"},"text":" attention to the "},{"characterFormat":{"fontSize":10,"fontFamily":"Verdana","styleName":"a","fontSizeBidi":10,"fontFamilyBidi":"Verdana"},"text":"best-selling products, of our company. "},{"characterFormat":{"fontSize":10,"fontFamily":"Verdana","fontSizeBidi":10,"fontFamilyBidi":"Times New Roman"},"text":"The best-selling products of Northwind Traders "},{"characterFormat":{"fontSize":10,"fontFamily":"Verdana","fontSizeBidi":10,"fontFamilyBidi":"Times New Roman"},"text":"Company as follows: "}]},{"paragraphFormat":{"afterSpacing":0,"styleName":"Normal","listFormat":{}},"characterFormat":{},"inlines":[]},{"rows":[{"cells":[{"blocks":[{"paragraphFormat":{"rightIndent":26.850000381469727,"styleName":"Normal","listFormat":{}},"characterFormat":{},"inlines":[{"characterFormat":{"fontSize":10,"fontFamily":"Verdana","fontSizeBidi":10,"fontFamilyBidi":"Times New Roman"},"text":"S.No"}]}],"cellFormat":{"borders":{"top":{"color":"#4472C4FF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"left":{"color":"#4472C4FF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"right":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"bottom":{"color":"#4472C4FF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"diagonalDown":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0},"diagonalUp":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0},"horizontal":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0},"vertical":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0}},"shading":{"backgroundColor":"#4472C4FF","foregroundColor":"empty","textureStyle":"TextureNone"},"preferredWidth":13.420000076293945,"preferredWidthType":"Percent","cellWidth":64.71214527422465,"columnSpan":1,"rowSpan":1,"verticalAlignment":"Top"},"columnIndex":0},{"blocks":[{"paragraphFormat":{"styleName":"Normal","listFormat":{}},"characterFormat":{},"inlines":[{"characterFormat":{"fontSize":10,"fontFamily":"Verdana","fontSizeBidi":10,"fontFamilyBidi":"Times New Roman"},"text":"Product Name"}]}],"cellFormat":{"borders":{"top":{"color":"#4472C4FF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"left":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"right":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"bottom":{"color":"#4472C4FF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"diagonalDown":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0},"diagonalUp":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0},"horizontal":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0},"vertical":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0}},"shading":{"backgroundColor":"#4472C4FF","foregroundColor":"empty","textureStyle":"TextureNone"},"preferredWidth":48.86000061035156,"preferredWidthType":"Percent","cellWidth":292.87942351880633,"columnSpan":1,"rowSpan":1,"verticalAlignment":"Top"},"columnIndex":1},{"blocks":[{"paragraphFormat":{"styleName":"Normal","listFormat":{}},"characterFormat":{},"inlines":[{"characterFormat":{"fontSize":10,"fontFamily":"Verdana","fontSizeBidi":10,"fontFamilyBidi":"Times New Roman"},"text":"Sum of Sales(in $)"}]}],"cellFormat":{"borders":{"top":{"color":"#4472C4FF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"left":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"right":{"color":"#4472C4FF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"bottom":{"color":"#4472C4FF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"diagonalDown":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0},"diagonalUp":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0},"horizontal":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0},"vertical":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0}},"shading":{"backgroundColor":"#4472C4FF","foregroundColor":"empty","textureStyle":"TextureNone"},"preferredWidth":37.720001220703125,"preferredWidthType":"Percent","cellWidth":117.95841899993776,"columnSpan":1,"rowSpan":1,"verticalAlignment":"Top"},"columnIndex":2}],"rowFormat":{"height":14.399999618530273,"allowBreakAcrossPages":true,"heightType":"Exactly","isHeader":false,"borders":{"top":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"left":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"right":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"bottom":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"diagonalDown":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0},"diagonalUp":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0},"horizontal":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"vertical":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0}},"gridBefore":0,"gridBeforeWidth":0,"gridBeforeWidthType":"Point","gridAfter":0,"gridAfterWidth":0,"gridAfterWidthType":"Point"}},{"cells":[{"blocks":[{"paragraphFormat":{"styleName":"Normal","listFormat":{}},"characterFormat":{},"inlines":[{"characterFormat":{"fontSize":10,"fontFamily":"Verdana","fontSizeBidi":10,"fontFamilyBidi":"Times New Roman"},"text":"1"}]}],"cellFormat":{"borders":{"top":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"left":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"right":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"bottom":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"diagonalDown":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0},"diagonalUp":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0},"horizontal":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0},"vertical":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0}},"shading":{"backgroundColor":"#D9E2F3FF","foregroundColor":"empty","textureStyle":"TextureNone"},"preferredWidth":13.420000076293945,"preferredWidthType":"Percent","cellWidth":64.71214527422465,"columnSpan":1,"rowSpan":1,"verticalAlignment":"Top"},"columnIndex":0},{"blocks":[{"paragraphFormat":{"styleName":"Normal","listFormat":{}},"characterFormat":{},"inlines":[{"characterFormat":{"fontSize":10,"fontFamily":"Verdana","fontSizeBidi":10,"fontFamilyBidi":"Times New Roman"},"text":"Côte de Blaye"}]}],"cellFormat":{"borders":{"top":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"left":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"right":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"bottom":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"diagonalDown":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0},"diagonalUp":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0},"horizontal":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0},"vertical":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0}},"shading":{"backgroundColor":"#D9E2F3FF","foregroundColor":"empty","textureStyle":"TextureNone"},"preferredWidth":48.86000061035156,"preferredWidthType":"Percent","cellWidth":292.87942351880633,"columnSpan":1,"rowSpan":1,"verticalAlignment":"Top"},"columnIndex":1},{"blocks":[{"paragraphFormat":{"styleName":"Normal","listFormat":{}},"characterFormat":{},"inlines":[{"characterFormat":{"fontSize":10,"fontFamily":"Verdana","fontSizeBidi":10,"fontFamilyBidi":"Times New Roman"},"text":"141.396"}]}],"cellFormat":{"borders":{"top":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"left":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"right":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"bottom":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"diagonalDown":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0},"diagonalUp":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0},"horizontal":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0},"vertical":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0}},"shading":{"backgroundColor":"#D9E2F3FF","foregroundColor":"empty","textureStyle":"TextureNone"},"preferredWidth":37.720001220703125,"preferredWidthType":"Percent","cellWidth":117.95841899993776,"columnSpan":1,"rowSpan":1,"verticalAlignment":"Top"},"columnIndex":2}],"rowFormat":{"height":14.399999618530273,"allowBreakAcrossPages":true,"heightType":"Exactly","isHeader":false,"borders":{"top":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"left":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"right":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"bottom":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"diagonalDown":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0},"diagonalUp":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0},"horizontal":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"vertical":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0}},"gridBefore":0,"gridBeforeWidth":0,"gridBeforeWidthType":"Point","gridAfter":0,"gridAfterWidth":0,"gridAfterWidthType":"Point"}},{"cells":[{"blocks":[{"paragraphFormat":{"styleName":"Normal","listFormat":{}},"characterFormat":{},"inlines":[{"characterFormat":{"fontSize":10,"fontFamily":"Verdana","fontSizeBidi":10,"fontFamilyBidi":"Times New Roman"},"text":"2"}]}],"cellFormat":{"borders":{"top":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"left":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"right":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"bottom":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"diagonalDown":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0},"diagonalUp":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0},"horizontal":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0},"vertical":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0}},"shading":{"backgroundColor":"#FFFFFFFF","foregroundColor":"empty","textureStyle":"TextureNone"},"preferredWidth":13.420000076293945,"preferredWidthType":"Percent","cellWidth":64.71214527422465,"columnSpan":1,"rowSpan":1,"verticalAlignment":"Top"},"columnIndex":0},{"blocks":[{"paragraphFormat":{"styleName":"Normal","listFormat":{}},"characterFormat":{},"inlines":[{"characterFormat":{"fontSize":10,"fontFamily":"Verdana","fontSizeBidi":10,"fontFamilyBidi":"Times New Roman"},"text":"Thüringer Rostbratwurst"}]}],"cellFormat":{"borders":{"top":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"left":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"right":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"bottom":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"diagonalDown":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0},"diagonalUp":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0},"horizontal":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0},"vertical":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0}},"shading":{"backgroundColor":"#FFFFFFFF","foregroundColor":"empty","textureStyle":"TextureNone"},"preferredWidth":48.86000061035156,"preferredWidthType":"Percent","cellWidth":292.87942351880633,"columnSpan":1,"rowSpan":1,"verticalAlignment":"Top"},"columnIndex":1},{"blocks":[{"paragraphFormat":{"styleName":"Normal","listFormat":{}},"characterFormat":{},"inlines":[{"characterFormat":{"fontSize":10,"fontFamily":"Verdana","fontSizeBidi":10,"fontFamilyBidi":"Times New Roman"},"text":"80.368"}]}],"cellFormat":{"borders":{"top":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"left":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"right":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"bottom":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"diagonalDown":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0},"diagonalUp":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0},"horizontal":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0},"vertical":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0}},"shading":{"backgroundColor":"#FFFFFFFF","foregroundColor":"empty","textureStyle":"TextureNone"},"preferredWidth":37.720001220703125,"preferredWidthType":"Percent","cellWidth":117.95841899993776,"columnSpan":1,"rowSpan":1,"verticalAlignment":"Top"},"columnIndex":2}],"rowFormat":{"height":14.399999618530273,"allowBreakAcrossPages":true,"heightType":"Exactly","isHeader":false,"borders":{"top":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"left":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"right":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"bottom":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"diagonalDown":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0},"diagonalUp":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0},"horizontal":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"vertical":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0}},"gridBefore":0,"gridBeforeWidth":0,"gridBeforeWidthType":"Point","gridAfter":0,"gridAfterWidth":0,"gridAfterWidthType":"Point"}},{"cells":[{"blocks":[{"paragraphFormat":{"styleName":"Normal","listFormat":{}},"characterFormat":{},"inlines":[{"characterFormat":{"fontSize":10,"fontFamily":"Verdana","fontSizeBidi":10,"fontFamilyBidi":"Times New Roman"},"text":"3"}]}],"cellFormat":{"borders":{"top":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"left":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"right":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"bottom":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"diagonalDown":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0},"diagonalUp":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0},"horizontal":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0},"vertical":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0}},"shading":{"backgroundColor":"#D9E2F3FF","foregroundColor":"empty","textureStyle":"TextureNone"},"preferredWidth":13.420000076293945,"preferredWidthType":"Percent","cellWidth":64.71214527422465,"columnSpan":1,"rowSpan":1,"verticalAlignment":"Top"},"columnIndex":0},{"blocks":[{"paragraphFormat":{"styleName":"Normal","listFormat":{}},"characterFormat":{},"inlines":[{"characterFormat":{"fontSize":10,"fontFamily":"Verdana","fontSizeBidi":10,"fontFamilyBidi":"Times New Roman"},"text":"Raclette Courdavault"}]}],"cellFormat":{"borders":{"top":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"left":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"right":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"bottom":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"diagonalDown":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0},"diagonalUp":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0},"horizontal":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0},"vertical":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0}},"shading":{"backgroundColor":"#D9E2F3FF","foregroundColor":"empty","textureStyle":"TextureNone"},"preferredWidth":48.86000061035156,"preferredWidthType":"Percent","cellWidth":292.87942351880633,"columnSpan":1,"rowSpan":1,"verticalAlignment":"Top"},"columnIndex":1},{"blocks":[{"paragraphFormat":{"styleName":"Normal","listFormat":{}},"characterFormat":{},"inlines":[{"characterFormat":{"fontSize":10,"fontFamily":"Verdana","fontSizeBidi":10,"fontFamilyBidi":"Times New Roman"},"text":"71.155"}]}],"cellFormat":{"borders":{"top":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"left":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"right":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"bottom":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"diagonalDown":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0},"diagonalUp":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0},"horizontal":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0},"vertical":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0}},"shading":{"backgroundColor":"#D9E2F3FF","foregroundColor":"empty","textureStyle":"TextureNone"},"preferredWidth":37.720001220703125,"preferredWidthType":"Percent","cellWidth":117.95841899993776,"columnSpan":1,"rowSpan":1,"verticalAlignment":"Top"},"columnIndex":2}],"rowFormat":{"height":14.399999618530273,"allowBreakAcrossPages":true,"heightType":"Exactly","isHeader":false,"borders":{"top":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"left":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"right":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"bottom":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"diagonalDown":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0},"diagonalUp":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0},"horizontal":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"vertical":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0}},"gridBefore":0,"gridBeforeWidth":0,"gridBeforeWidthType":"Point","gridAfter":0,"gridAfterWidth":0,"gridAfterWidthType":"Point"}},{"cells":[{"blocks":[{"paragraphFormat":{"styleName":"Normal","listFormat":{}},"characterFormat":{},"inlines":[{"characterFormat":{"fontSize":10,"fontFamily":"Verdana","fontSizeBidi":10,"fontFamilyBidi":"Times New Roman"},"text":"4"}]}],"cellFormat":{"borders":{"top":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"left":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"right":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"bottom":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"diagonalDown":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0},"diagonalUp":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0},"horizontal":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0},"vertical":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0}},"shading":{"backgroundColor":"#FFFFFFFF","foregroundColor":"empty","textureStyle":"TextureNone"},"preferredWidth":13.420000076293945,"preferredWidthType":"Percent","cellWidth":64.71214527422465,"columnSpan":1,"rowSpan":1,"verticalAlignment":"Top"},"columnIndex":0},{"blocks":[{"paragraphFormat":{"styleName":"Normal","listFormat":{}},"characterFormat":{},"inlines":[{"characterFormat":{"fontSize":10,"fontFamily":"Verdana","fontSizeBidi":10,"fontFamilyBidi":"Times New Roman"},"text":"Tarte au sucre "}]}],"cellFormat":{"borders":{"top":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"left":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"right":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"bottom":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"diagonalDown":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0},"diagonalUp":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0},"horizontal":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0},"vertical":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0}},"shading":{"backgroundColor":"#FFFFFFFF","foregroundColor":"empty","textureStyle":"TextureNone"},"preferredWidth":48.86000061035156,"preferredWidthType":"Percent","cellWidth":292.87942351880633,"columnSpan":1,"rowSpan":1,"verticalAlignment":"Top"},"columnIndex":1},{"blocks":[{"paragraphFormat":{"styleName":"Normal","listFormat":{}},"characterFormat":{},"inlines":[{"characterFormat":{"fontSize":10,"fontFamily":"Verdana","fontSizeBidi":10,"fontFamilyBidi":"Times New Roman"},"text":"47.234"},{"characterFormat":{},"bookmarkType":1,"name":"_GoBack"}]}],"cellFormat":{"borders":{"top":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"left":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"right":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"bottom":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"diagonalDown":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0},"diagonalUp":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0},"horizontal":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0},"vertical":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0}},"shading":{"backgroundColor":"#FFFFFFFF","foregroundColor":"empty","textureStyle":"TextureNone"},"preferredWidth":37.720001220703125,"preferredWidthType":"Percent","cellWidth":117.95841899993776,"columnSpan":1,"rowSpan":1,"verticalAlignment":"Top"},"columnIndex":2}],"rowFormat":{"height":14.399999618530273,"allowBreakAcrossPages":true,"heightType":"Exactly","isHeader":false,"borders":{"top":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"left":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"right":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"bottom":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"diagonalDown":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0},"diagonalUp":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0},"horizontal":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"vertical":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0}},"gridBefore":0,"gridBeforeWidth":0,"gridBeforeWidthType":"Point","gridAfter":0,"gridAfterWidth":0,"gridAfterWidthType":"Point"}},{"cells":[{"blocks":[{"paragraphFormat":{"styleName":"Normal","listFormat":{}},"characterFormat":{},"inlines":[{"characterFormat":{},"bookmarkType":0,"name":"_GoBack"},{"characterFormat":{"fontSize":10,"fontFamily":"Verdana","fontSizeBidi":10,"fontFamilyBidi":"Times New Roman"},"text":"5"}]}],"cellFormat":{"borders":{"top":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"left":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"right":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"bottom":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"diagonalDown":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0},"diagonalUp":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0},"horizontal":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0},"vertical":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0}},"shading":{"backgroundColor":"#D9E2F3FF","foregroundColor":"empty","textureStyle":"TextureNone"},"preferredWidth":13.420000076293945,"preferredWidthType":"Percent","cellWidth":64.71214527422465,"columnSpan":1,"rowSpan":1,"verticalAlignment":"Top"},"columnIndex":0},{"blocks":[{"paragraphFormat":{"styleName":"Normal","listFormat":{}},"characterFormat":{},"inlines":[{"characterFormat":{"fontSize":10,"fontFamily":"Verdana","fontSizeBidi":10,"fontFamilyBidi":"Times New Roman"},"text":"Camembert Pierrot "}]}],"cellFormat":{"borders":{"top":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"left":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"right":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"bottom":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"diagonalDown":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0},"diagonalUp":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0},"horizontal":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0},"vertical":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0}},"shading":{"backgroundColor":"#D9E2F3FF","foregroundColor":"empty","textureStyle":"TextureNone"},"preferredWidth":48.86000061035156,"preferredWidthType":"Percent","cellWidth":292.87942351880633,"columnSpan":1,"rowSpan":1,"verticalAlignment":"Top"},"columnIndex":1},{"blocks":[{"paragraphFormat":{"styleName":"Normal","listFormat":{}},"characterFormat":{},"inlines":[{"characterFormat":{"fontSize":10,"fontFamily":"Verdana","fontSizeBidi":10,"fontFamilyBidi":"Times New Roman"},"text":"46.825"}]}],"cellFormat":{"borders":{"top":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"left":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"right":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"bottom":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"diagonalDown":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0},"diagonalUp":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0},"horizontal":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0},"vertical":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0}},"shading":{"backgroundColor":"#D9E2F3FF","foregroundColor":"empty","textureStyle":"TextureNone"},"preferredWidth":37.720001220703125,"preferredWidthType":"Percent","cellWidth":117.95841899993776,"columnSpan":1,"rowSpan":1,"verticalAlignment":"Top"},"columnIndex":2}],"rowFormat":{"height":14.399999618530273,"allowBreakAcrossPages":true,"heightType":"Exactly","isHeader":false,"borders":{"top":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"left":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"right":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"bottom":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"diagonalDown":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0},"diagonalUp":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0},"horizontal":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"vertical":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0}},"gridBefore":0,"gridBeforeWidth":0,"gridBeforeWidthType":"Point","gridAfter":0,"gridAfterWidth":0,"gridAfterWidthType":"Point"}},{"cells":[{"blocks":[{"paragraphFormat":{"styleName":"Normal","listFormat":{}},"characterFormat":{},"inlines":[{"characterFormat":{"fontSize":10,"fontFamily":"Verdana","fontSizeBidi":10,"fontFamilyBidi":"Times New Roman"},"text":"6"}]}],"cellFormat":{"borders":{"top":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"left":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"right":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"bottom":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"diagonalDown":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0},"diagonalUp":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0},"horizontal":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0},"vertical":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0}},"shading":{"backgroundColor":"#FFFFFFFF","foregroundColor":"empty","textureStyle":"TextureNone"},"preferredWidth":13.420000076293945,"preferredWidthType":"Percent","cellWidth":64.71214527422465,"columnSpan":1,"rowSpan":1,"verticalAlignment":"Top"},"columnIndex":0},{"blocks":[{"paragraphFormat":{"styleName":"Normal","listFormat":{}},"characterFormat":{},"inlines":[{"characterFormat":{"fontSize":10,"fontFamily":"Verdana","fontSizeBidi":10,"fontFamilyBidi":"Times New Roman"},"text":"Gnocchi di nonna Alice"}]}],"cellFormat":{"borders":{"top":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"left":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"right":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"bottom":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"diagonalDown":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0},"diagonalUp":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0},"horizontal":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0},"vertical":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0}},"shading":{"backgroundColor":"#FFFFFFFF","foregroundColor":"empty","textureStyle":"TextureNone"},"preferredWidth":48.86000061035156,"preferredWidthType":"Percent","cellWidth":292.87942351880633,"columnSpan":1,"rowSpan":1,"verticalAlignment":"Top"},"columnIndex":1},{"blocks":[{"paragraphFormat":{"styleName":"Normal","listFormat":{}},"characterFormat":{},"inlines":[{"characterFormat":{"fontSize":10,"fontFamily":"Verdana","fontSizeBidi":10,"fontFamilyBidi":"Times New Roman"},"text":"42.593"}]}],"cellFormat":{"borders":{"top":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"left":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"right":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"bottom":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"diagonalDown":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0},"diagonalUp":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0},"horizontal":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0},"vertical":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0}},"shading":{"backgroundColor":"#FFFFFFFF","foregroundColor":"empty","textureStyle":"TextureNone"},"preferredWidth":37.720001220703125,"preferredWidthType":"Percent","cellWidth":117.95841899993776,"columnSpan":1,"rowSpan":1,"verticalAlignment":"Top"},"columnIndex":2}],"rowFormat":{"height":14.399999618530273,"allowBreakAcrossPages":true,"heightType":"Exactly","isHeader":false,"borders":{"top":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"left":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"right":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"bottom":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"diagonalDown":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0},"diagonalUp":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0},"horizontal":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"vertical":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0}},"gridBefore":0,"gridBeforeWidth":0,"gridBeforeWidthType":"Point","gridAfter":0,"gridAfterWidth":0,"gridAfterWidthType":"Point"}},{"cells":[{"blocks":[{"paragraphFormat":{"styleName":"Normal","listFormat":{}},"characterFormat":{},"inlines":[{"characterFormat":{"fontSize":10,"fontFamily":"Verdana","fontSizeBidi":10,"fontFamilyBidi":"Times New Roman"},"text":"7"}]}],"cellFormat":{"borders":{"top":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"left":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"right":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"bottom":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"diagonalDown":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0},"diagonalUp":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0},"horizontal":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0},"vertical":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0}},"shading":{"backgroundColor":"#D9E2F3FF","foregroundColor":"empty","textureStyle":"TextureNone"},"preferredWidth":13.420000076293945,"preferredWidthType":"Percent","cellWidth":64.71214527422465,"columnSpan":1,"rowSpan":1,"verticalAlignment":"Top"},"columnIndex":0},{"blocks":[{"paragraphFormat":{"styleName":"Normal","listFormat":{}},"characterFormat":{},"inlines":[{"characterFormat":{"fontSize":10,"fontFamily":"Verdana","fontSizeBidi":10,"fontFamilyBidi":"Times New Roman"},"text":"Manjimup Dried Apples"}]}],"cellFormat":{"borders":{"top":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"left":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"right":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"bottom":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"diagonalDown":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0},"diagonalUp":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0},"horizontal":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0},"vertical":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0}},"shading":{"backgroundColor":"#D9E2F3FF","foregroundColor":"empty","textureStyle":"TextureNone"},"preferredWidth":48.86000061035156,"preferredWidthType":"Percent","cellWidth":292.87942351880633,"columnSpan":1,"rowSpan":1,"verticalAlignment":"Top"},"columnIndex":1},{"blocks":[{"paragraphFormat":{"styleName":"Normal","listFormat":{}},"characterFormat":{},"inlines":[{"characterFormat":{"fontSize":10,"fontFamily":"Verdana","fontSizeBidi":10,"fontFamilyBidi":"Times New Roman"},"text":"41.819"}]}],"cellFormat":{"borders":{"top":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"left":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"right":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"bottom":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"diagonalDown":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0},"diagonalUp":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0},"horizontal":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0},"vertical":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0}},"shading":{"backgroundColor":"#D9E2F3FF","foregroundColor":"empty","textureStyle":"TextureNone"},"preferredWidth":37.720001220703125,"preferredWidthType":"Percent","cellWidth":117.95841899993776,"columnSpan":1,"rowSpan":1,"verticalAlignment":"Top"},"columnIndex":2}],"rowFormat":{"height":14.399999618530273,"allowBreakAcrossPages":true,"heightType":"Exactly","isHeader":false,"borders":{"top":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"left":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"right":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"bottom":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"diagonalDown":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0},"diagonalUp":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0},"horizontal":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"vertical":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0}},"gridBefore":0,"gridBeforeWidth":0,"gridBeforeWidthType":"Point","gridAfter":0,"gridAfterWidth":0,"gridAfterWidthType":"Point"}},{"cells":[{"blocks":[{"paragraphFormat":{"styleName":"Normal","listFormat":{}},"characterFormat":{},"inlines":[{"characterFormat":{"fontSize":10,"fontFamily":"Verdana","fontSizeBidi":10,"fontFamilyBidi":"Times New Roman"},"text":"8"}]}],"cellFormat":{"borders":{"top":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"left":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"right":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"bottom":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"diagonalDown":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0},"diagonalUp":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0},"horizontal":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0},"vertical":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0}},"shading":{"backgroundColor":"#FFFFFFFF","foregroundColor":"empty","textureStyle":"TextureNone"},"preferredWidth":13.420000076293945,"preferredWidthType":"Percent","cellWidth":64.71214527422465,"columnSpan":1,"rowSpan":1,"verticalAlignment":"Top"},"columnIndex":0},{"blocks":[{"paragraphFormat":{"styleName":"Normal","listFormat":{}},"characterFormat":{},"inlines":[{"characterFormat":{"fontSize":10,"fontFamily":"Verdana","fontSizeBidi":10,"fontFamilyBidi":"Times New Roman"},"text":"Alice Mutton"}]}],"cellFormat":{"borders":{"top":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"left":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"right":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"bottom":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"diagonalDown":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0},"diagonalUp":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0},"horizontal":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0},"vertical":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0}},"shading":{"backgroundColor":"#FFFFFFFF","foregroundColor":"empty","textureStyle":"TextureNone"},"preferredWidth":48.86000061035156,"preferredWidthType":"Percent","cellWidth":292.87942351880633,"columnSpan":1,"rowSpan":1,"verticalAlignment":"Top"},"columnIndex":1},{"blocks":[{"paragraphFormat":{"styleName":"Normal","listFormat":{}},"characterFormat":{},"inlines":[{"characterFormat":{"fontSize":10,"fontFamily":"Verdana","fontSizeBidi":10,"fontFamilyBidi":"Times New Roman"},"text":"32.698"}]}],"cellFormat":{"borders":{"top":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"left":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"right":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"bottom":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"diagonalDown":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0},"diagonalUp":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0},"horizontal":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0},"vertical":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0}},"shading":{"backgroundColor":"#FFFFFFFF","foregroundColor":"empty","textureStyle":"TextureNone"},"preferredWidth":37.720001220703125,"preferredWidthType":"Percent","cellWidth":117.95841899993776,"columnSpan":1,"rowSpan":1,"verticalAlignment":"Top"},"columnIndex":2}],"rowFormat":{"height":14.399999618530273,"allowBreakAcrossPages":true,"heightType":"Exactly","isHeader":false,"borders":{"top":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"left":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"right":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"bottom":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"diagonalDown":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0},"diagonalUp":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0},"horizontal":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"vertical":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0}},"gridBefore":0,"gridBeforeWidth":0,"gridBeforeWidthType":"Point","gridAfter":0,"gridAfterWidth":0,"gridAfterWidthType":"Point"}},{"cells":[{"blocks":[{"paragraphFormat":{"styleName":"Normal","listFormat":{}},"characterFormat":{},"inlines":[{"characterFormat":{"fontSize":10,"fontFamily":"Verdana","fontSizeBidi":10,"fontFamilyBidi":"Times New Roman"},"text":"9"}]}],"cellFormat":{"borders":{"top":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"left":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"right":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"bottom":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"diagonalDown":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0},"diagonalUp":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0},"horizontal":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0},"vertical":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0}},"shading":{"backgroundColor":"#D9E2F3FF","foregroundColor":"empty","textureStyle":"TextureNone"},"preferredWidth":13.420000076293945,"preferredWidthType":"Percent","cellWidth":64.71214527422465,"columnSpan":1,"rowSpan":1,"verticalAlignment":"Top"},"columnIndex":0},{"blocks":[{"paragraphFormat":{"styleName":"Normal","listFormat":{}},"characterFormat":{},"inlines":[{"characterFormat":{"fontSize":10,"fontFamily":"Verdana","fontSizeBidi":10,"fontFamilyBidi":"Times New Roman"},"text":"Carnarvon Tigers"}]}],"cellFormat":{"borders":{"top":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"left":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"right":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"bottom":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"diagonalDown":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0},"diagonalUp":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0},"horizontal":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0},"vertical":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0}},"shading":{"backgroundColor":"#D9E2F3FF","foregroundColor":"empty","textureStyle":"TextureNone"},"preferredWidth":48.86000061035156,"preferredWidthType":"Percent","cellWidth":292.87942351880633,"columnSpan":1,"rowSpan":1,"verticalAlignment":"Top"},"columnIndex":1},{"blocks":[{"paragraphFormat":{"styleName":"Normal","listFormat":{}},"characterFormat":{},"inlines":[{"characterFormat":{"fontSize":10,"fontFamily":"Verdana","fontSizeBidi":10,"fontFamilyBidi":"Times New Roman"},"text":"29.171"}]}],"cellFormat":{"borders":{"top":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"left":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"right":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"bottom":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"diagonalDown":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0},"diagonalUp":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0},"horizontal":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0},"vertical":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0}},"shading":{"backgroundColor":"#D9E2F3FF","foregroundColor":"empty","textureStyle":"TextureNone"},"preferredWidth":37.720001220703125,"preferredWidthType":"Percent","cellWidth":117.95841899993776,"columnSpan":1,"rowSpan":1,"verticalAlignment":"Top"},"columnIndex":2}],"rowFormat":{"height":14.399999618530273,"allowBreakAcrossPages":true,"heightType":"Exactly","isHeader":false,"borders":{"top":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"left":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"right":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"bottom":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"diagonalDown":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0},"diagonalUp":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0},"horizontal":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"vertical":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0}},"gridBefore":0,"gridBeforeWidth":0,"gridBeforeWidthType":"Point","gridAfter":0,"gridAfterWidth":0,"gridAfterWidthType":"Point"}},{"cells":[{"blocks":[{"paragraphFormat":{"styleName":"Normal","listFormat":{}},"characterFormat":{},"inlines":[{"characterFormat":{"fontSize":10,"fontFamily":"Verdana","fontSizeBidi":10,"fontFamilyBidi":"Times New Roman"},"text":"10"}]}],"cellFormat":{"borders":{"top":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"left":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"right":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"bottom":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"diagonalDown":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0},"diagonalUp":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0},"horizontal":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0},"vertical":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0}},"shading":{"backgroundColor":"#FFFFFFFF","foregroundColor":"empty","textureStyle":"TextureNone"},"preferredWidth":13.420000076293945,"preferredWidthType":"Percent","cellWidth":64.71214527422465,"columnSpan":1,"rowSpan":1,"verticalAlignment":"Top"},"columnIndex":0},{"blocks":[{"paragraphFormat":{"styleName":"Normal","listFormat":{}},"characterFormat":{},"inlines":[{"characterFormat":{"fontSize":10,"fontFamily":"Verdana","fontSizeBidi":10,"fontFamilyBidi":"Times New Roman"},"text":"Rössle Sauerkraut."}]}],"cellFormat":{"borders":{"top":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"left":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"right":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"bottom":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"diagonalDown":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0},"diagonalUp":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0},"horizontal":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0},"vertical":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0}},"shading":{"backgroundColor":"#FFFFFFFF","foregroundColor":"empty","textureStyle":"TextureNone"},"preferredWidth":48.86000061035156,"preferredWidthType":"Percent","cellWidth":292.87942351880633,"columnSpan":1,"rowSpan":1,"verticalAlignment":"Top"},"columnIndex":1},{"blocks":[{"paragraphFormat":{"styleName":"Normal","listFormat":{}},"characterFormat":{},"inlines":[{"characterFormat":{"fontSize":10,"fontFamily":"Verdana","fontSizeBidi":10,"fontFamilyBidi":"Times New Roman"},"text":"25.696"}]}],"cellFormat":{"borders":{"top":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"left":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"right":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"bottom":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"diagonalDown":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0},"diagonalUp":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0},"horizontal":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0},"vertical":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0}},"shading":{"backgroundColor":"#FFFFFFFF","foregroundColor":"empty","textureStyle":"TextureNone"},"preferredWidth":37.720001220703125,"preferredWidthType":"Percent","cellWidth":117.95841899993776,"columnSpan":1,"rowSpan":1,"verticalAlignment":"Top"},"columnIndex":2}],"rowFormat":{"height":14.399999618530273,"allowBreakAcrossPages":true,"heightType":"Exactly","isHeader":false,"borders":{"top":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"left":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"right":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"bottom":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"diagonalDown":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0},"diagonalUp":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0},"horizontal":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"vertical":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0}},"gridBefore":0,"gridBeforeWidth":0,"gridBeforeWidthType":"Point","gridAfter":0,"gridAfterWidth":0,"gridAfterWidthType":"Point"}}],"grid":[64.71214527422465,292.87942351880633,117.95841899993776],"tableFormat":{"borders":{"top":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"left":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"right":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"bottom":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"diagonalDown":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0},"diagonalUp":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0},"horizontal":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"vertical":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0}},"shading":{"backgroundColor":"#FFFFFFFF","foregroundColor":"empty","textureStyle":"TextureNone"},"cellSpacing":0,"leftIndent":0,"tableAlignment":"Left","topMargin":0,"rightMargin":0.5,"leftMargin":0.5,"bottomMargin":0,"preferredWidth":475.54998779296875,"preferredWidthType":"Point","bidi":false,"allowAutoFit":true},"description":null,"title":null},{"paragraphFormat":{"afterSpacing":0,"styleName":"Normal","listFormat":{}},"characterFormat":{"fontFamily":"Calibri","fontColor":"#000000FF","fontFamilyBidi":"Calibri"},"inlines":[]},{"paragraphFormat":{"afterSpacing":0,"styleName":"Normal","listFormat":{}},"characterFormat":{},"inlines":[{"characterFormat":{"fontSize":10,"fontFamily":"Verdana","fontSizeBidi":10,"fontFamilyBidi":"Times New Roman"},"text":"The best-selling product of the company is Cote de Blaye, being part of the Beverages "},{"characterFormat":{"fontSize":10,"fontFamily":"Verdana","fontSizeBidi":10,"fontFamilyBidi":"Times New Roman"},"text":"category. The contribution of this product to the sum of our sales is $ 141.396."}]},{"paragraphFormat":{"afterSpacing":0,"lineSpacing":1,"lineSpacingType":"Multiple","styleName":"Normal","listFormat":{}},"characterFormat":{"fontSize":10,"fontFamily":"Verdana","fontSizeBidi":10,"fontFamilyBidi":"Times New Roman"},"inlines":[]},{"paragraphFormat":{"afterSpacing":0,"lineSpacing":1,"lineSpacingType":"Multiple","styleName":"Normal","listFormat":{}},"characterFormat":{"fontSize":10,"fontFamily":"Verdana","fontSizeBidi":10,"fontFamilyBidi":"Times New Roman"},"inlines":[]},{"paragraphFormat":{"styleName":"Normal","listFormat":{}},"characterFormat":{},"inlines":[{"characterFormat":{},"chartLegend":{"position":"Right","chartTitleArea":{"fontName":"+mn-lt","fontSize":9,"layout":{"layoutX":0,"layoutY":0},"dataFormat":{"fill":{"foreColor":"000000","rgb":"#000000"},"line":{"color":"808080","rgb":"#808080"}}}},"chartTitleArea":{"fontName":"+mn-lt","fontSize":14,"layout":{"layoutX":0,"layoutY":0},"dataFormat":{"fill":{"foreColor":"000000","rgb":"#000000"},"line":{"color":"000000","rgb":"#000000"}}},"chartArea":{"foreColor":"#FFFFFFFF"},"plotArea":{"foreColor":"#000000FF"},"chartCategory":[{"chartData":[{"yValue":141.396}],"categoryXName":"Côte de Blaye"},{"chartData":[{"yValue":80.368}],"categoryXName":"Thüringer Rostbratwurst"},{"chartData":[{"yValue":71.155}],"categoryXName":"Raclette Courdavault"},{"chartData":[{"yValue":47.234}],"categoryXName":"Tarte au sucre"},{"chartData":[{"yValue":46.825}],"categoryXName":"Camembert Pierrot"},{"chartData":[{"yValue":42.593}],"categoryXName":"Gnocchi di nonna Alice"},{"chartData":[{"yValue":41.819}],"categoryXName":"Manjimup Dried Apples"},{"chartData":[{"yValue":32.698}],"categoryXName":"Alice Mutton"},{"chartData":[{"yValue":29.171}],"categoryXName":"Carnarvon Tigers"},{"chartData":[{"yValue":25.696}],"categoryXName":"Rössle Sauerkraut"}],"chartSeries":[{"dataPoints":[{"fill":{"foreColor":"4472c4","rgb":"#4472c4"},"line":{"color":"ffffff","rgb":"#ffffff"}},{"fill":{"foreColor":"ed7d31","rgb":"#ed7d31"},"line":{"color":"ffffff","rgb":"#ffffff"}},{"fill":{"foreColor":"a5a5a5","rgb":"#a5a5a5"},"line":{"color":"ffffff","rgb":"#ffffff"}},{"fill":{"foreColor":"ffc000","rgb":"#ffc000"},"line":{"color":"ffffff","rgb":"#ffffff"}},{"fill":{"foreColor":"5b9bd5","rgb":"#5b9bd5"},"line":{"color":"ffffff","rgb":"#ffffff"}},{"fill":{"foreColor":"70ad47","rgb":"#70ad47"},"line":{"color":"ffffff","rgb":"#ffffff"}},{"fill":{"foreColor":"264379","rgb":"#264379"},"line":{"color":"ffffff","rgb":"#ffffff"}},{"fill":{"foreColor":"9f480e","rgb":"#9f480e"},"line":{"color":"ffffff","rgb":"#ffffff"}},{"fill":{"foreColor":"636363","rgb":"#636363"},"line":{"color":"ffffff","rgb":"#ffffff"}},{"fill":{"foreColor":"9a7200","rgb":"#9a7200"},"line":{"color":"ffffff","rgb":"#ffffff"}}],"seriesName":"Sales"}],"chartPrimaryCategoryAxis":{"chartTitle":null,"chartTitleArea":{"layout":{},"dataFormat":{"fill":{},"line":{}}},"categoryType":"Automatic","fontSize":11,"fontName":"Calibri","numberFormat":"General","maximumValue":0,"minimumValue":0,"majorUnit":0,"hasMajorGridLines":false,"hasMinorGridLines":false,"majorTickMark":"TickMark_Outside","minorTickMark":"TickMark_None","tickLabelPosition":"TickLabelPosition_NextToAxis"},"chartPrimaryValueAxis":{"chartTitle":null,"chartTitleArea":{"layout":{},"dataFormat":{"fill":{},"line":{}}},"fontSize":11,"fontName":"Calibri","maximumValue":0,"minimumValue":0,"majorUnit":0,"hasMajorGridLines":false,"hasMinorGridLines":false,"majorTickMark":"TickMark_Outside","minorTickMark":"TickMark_None","tickLabelPosition":"TickLabelPosition_NextToAxis"},"chartTitle":"Best Selling Products","chartType":"Pie","gapWidth":0,"overlap":0,"height":225,"width":432}]},{"paragraphFormat":{"styleName":"Normal","listFormat":{}},"characterFormat":{},"inlines":[]},{"paragraphFormat":{"afterSpacing":0,"lineSpacing":1,"lineSpacingType":"Multiple","styleName":"Normal","listFormat":{}},"characterFormat":{"fontSize":10,"fontFamily":"Verdana","fontSizeBidi":10,"fontFamilyBidi":"Verdana"},"inlines":[{"characterFormat":{"fontSize":10,"fontFamily":"Verdana","styleName":"a","fontSizeBidi":10,"fontFamilyBidi":"Verdana"},"text":"According to the above chart, the total count of the selling products is 24 and the average "},{"characterFormat":{"fontSize":10,"fontFamily":"Verdana","styleName":"a","fontSizeBidi":10,"fontFamilyBidi":"Verdana"},"text":"sales attributed to this product is $ 5.891 with highest sale $ 15.810 in the month of May in "},{"characterFormat":{"fontSize":10,"fontFamily":"Verdana","styleName":"a","fontSizeBidi":10,"fontFamilyBidi":"Verdana"},"text":"2014. In the same year, in the month of March the same product reached the amount of $ "},{"characterFormat":{"fontSize":10,"fontFamily":"Verdana","styleName":"a","fontSizeBidi":10,"fontFamilyBidi":"Verdana"},"text":"15.019. These were the highest sales of the product among the other products for the year "},{"characterFormat":{"fontSize":10,"fontFamily":"Verdana","styleName":"a","fontSizeBidi":10,"fontFamilyBidi":"Verdana"},"text":"2014."}]}],"headersFooters":{}}],"characterFormat":{"bold":false,"italic":false,"fontSize":11,"fontFamily":"Calibri","underline":"None","strikethrough":"None","baselineAlignment":"Normal","highlightColor":"NoColor","fontColor":"#000000","fontSizeBidi":11,"fontFamilyBidi":"Calibri"},"paragraphFormat":{"leftIndent":0,"rightIndent":0,"firstLineIndent":0,"textAlignment":"Left","beforeSpacing":0,"afterSpacing":8,"lineSpacing":1.0791666507720947,"lineSpacingType":"Multiple","listFormat":{},"bidi":false},"defaultTabWidth":36,"enforcement":false,"hashValue":"","saltValue":"","formatting":false,"protectionType":"NoProtection","styles":[{"name":"Normal","type":"Paragraph","paragraphFormat":{"listFormat":{}},"characterFormat":{},"next":"Normal"},{"name":"Heading 1","type":"Paragraph","paragraphFormat":{"beforeSpacing":12,"afterSpacing":3,"lineSpacing":1,"lineSpacingType":"Multiple","outlineLevel":"Level1","listFormat":{}},"characterFormat":{"bold":true,"fontSize":16,"fontFamily":"Arial","boldBidi":true,"fontSizeBidi":16,"fontFamilyBidi":"Arial"},"basedOn":"Normal","link":"Heading 1 Char","next":"Normal"},{"name":"Heading 1 Char","type":"Character","characterFormat":{"bold":true,"fontSize":16,"fontFamily":"Arial","boldBidi":true,"fontSizeBidi":16,"fontFamilyBidi":"Arial"},"basedOn":"Default Paragraph Font"},{"name":"Default Paragraph Font","type":"Character","characterFormat":{}},{"name":"Balloon Text","type":"Paragraph","paragraphFormat":{"afterSpacing":0,"lineSpacing":1,"lineSpacingType":"Multiple","listFormat":{}},"characterFormat":{"fontSize":9,"fontFamily":"Segoe UI","fontSizeBidi":9,"fontFamilyBidi":"Segoe UI"},"basedOn":"Normal","link":"Balloon Text Char"},{"name":"Balloon Text Char","type":"Character","characterFormat":{"fontSize":9,"fontFamily":"Segoe UI","fontSizeBidi":9,"fontFamilyBidi":"Segoe UI"},"basedOn":"Default Paragraph Font"},{"name":"a","type":"Character","characterFormat":{},"basedOn":"Default Paragraph Font"},{"name":"Heading 2","type":"Paragraph","paragraphFormat":{"leftIndent":0,"rightIndent":0,"firstLineIndent":0,"textAlignment":"Left","beforeSpacing":2,"afterSpacing":0,"lineSpacing":1.0791666507720947,"lineSpacingType":"Multiple","outlineLevel":"Level2","listFormat":{}},"characterFormat":{"fontSize":13,"fontFamily":"Calibri Light","fontColor":"#2F5496"},"basedOn":"Normal","link":"Heading 2 Char","next":"Normal"},{"name":"Heading 2 Char","type":"Character","characterFormat":{"fontSize":13,"fontFamily":"Calibri Light","fontColor":"#2F5496"},"basedOn":"Default Paragraph Font"},{"name":"Heading 3","type":"Paragraph","paragraphFormat":{"leftIndent":0,"rightIndent":0,"firstLineIndent":0,"textAlignment":"Left","beforeSpacing":2,"afterSpacing":0,"lineSpacing":1.0791666507720947,"lineSpacingType":"Multiple","outlineLevel":"Level3","listFormat":{}},"characterFormat":{"fontSize":12,"fontFamily":"Calibri Light","fontColor":"#1F3763"},"basedOn":"Normal","link":"Heading 3 Char","next":"Normal"},{"name":"Heading 3 Char","type":"Character","characterFormat":{"fontSize":12,"fontFamily":"Calibri Light","fontColor":"#1F3763"},"basedOn":"Default Paragraph Font"},{"name":"Heading 4","type":"Paragraph","paragraphFormat":{"leftIndent":0,"rightIndent":0,"firstLineIndent":0,"textAlignment":"Left","beforeSpacing":2,"afterSpacing":0,"lineSpacing":1.0791666507720947,"lineSpacingType":"Multiple","outlineLevel":"Level4","listFormat":{}},"characterFormat":{"italic":true,"fontFamily":"Calibri Light","fontColor":"#2F5496"},"basedOn":"Normal","link":"Heading 4 Char","next":"Normal"},{"name":"Heading 4 Char","type":"Character","characterFormat":{"italic":true,"fontFamily":"Calibri Light","fontColor":"#2F5496"},"basedOn":"Default Paragraph Font"},{"name":"Heading 5","type":"Paragraph","paragraphFormat":{"leftIndent":0,"rightIndent":0,"firstLineIndent":0,"textAlignment":"Left","beforeSpacing":2,"afterSpacing":0,"lineSpacing":1.0791666507720947,"lineSpacingType":"Multiple","outlineLevel":"Level5","listFormat":{}},"characterFormat":{"fontFamily":"Calibri Light","fontColor":"#2F5496"},"basedOn":"Normal","link":"Heading 5 Char","next":"Normal"},{"name":"Heading 5 Char","type":"Character","characterFormat":{"fontFamily":"Calibri Light","fontColor":"#2F5496"},"basedOn":"Default Paragraph Font"},{"name":"Heading 6","type":"Paragraph","paragraphFormat":{"leftIndent":0,"rightIndent":0,"firstLineIndent":0,"textAlignment":"Left","beforeSpacing":2,"afterSpacing":0,"lineSpacing":1.0791666507720947,"lineSpacingType":"Multiple","outlineLevel":"Level6","listFormat":{}},"characterFormat":{"fontFamily":"Calibri Light","fontColor":"#1F3763"},"basedOn":"Normal","link":"Heading 6 Char","next":"Normal"},{"name":"Heading 6 Char","type":"Character","characterFormat":{"fontFamily":"Calibri Light","fontColor":"#1F3763"},"basedOn":"Default Paragraph Font"}],"lists":[],"abstractLists":[]};
-documenteditor.open(JSON.stringify(sfdt));
-
diff --git a/ej2-javascript/code-snippet/document-editor/chart-cs1/index.ts b/ej2-javascript/code-snippet/document-editor/chart-cs1/index.ts
deleted file mode 100644
index 6fab84d93..000000000
--- a/ej2-javascript/code-snippet/document-editor/chart-cs1/index.ts
+++ /dev/null
@@ -1,15 +0,0 @@
-
-
-import { DocumentEditor } from '@syncfusion/ej2-documenteditor';
-
-//Initialize DocumentEditor Editor component.
-let documenteditor: DocumentEditor = new DocumentEditor({ height: '370px'});
-
-documenteditor.appendTo('#DocumentEditor');
-
-let sfdt: string = `{"sections":[{"sectionFormat":{"pageWidth":612,"pageHeight":792,"leftMargin":72,"rightMargin":72,"topMargin":72,"bottomMargin":72,"differentFirstPage":false,"differentOddAndEvenPages":false,"headerDistance":36,"footerDistance":36,"bidi":false},"blocks":[{"paragraphFormat":{"textAlignment":"Center","afterSpacing":0,"lineSpacing":1,"lineSpacingType":"Multiple","styleName":"Normal","listFormat":{}},"characterFormat":{"bold":true,"fontSize":12,"fontFamily":"Verdana","fontSizeBidi":12,"fontFamilyBidi":"Verdana"},"inlines":[{"characterFormat":{"bold":true,"fontSize":14,"fontFamily":"Verdana","fontColor":"#17365DFF","styleName":"a","fontSizeBidi":14,"fontFamilyBidi":"Verdana"},"text":"Northwind Management Report"}]},{"paragraphFormat":{"afterSpacing":0,"lineSpacing":1,"lineSpacingType":"Multiple","styleName":"Normal","listFormat":{}},"characterFormat":{"fontSize":10,"fontFamily":"Verdana","fontSizeBidi":10,"fontFamilyBidi":"Verdana"},"inlines":[]},{"paragraphFormat":{"afterSpacing":0,"styleName":"Normal","listFormat":{}},"characterFormat":{},"inlines":[{"characterFormat":{"fontSize":10,"fontFamily":"Verdana","styleName":"a","fontSizeBidi":10,"fontFamilyBidi":"Verdana"},"text":"This management report provides information obtained through data analysis, regarding the "},{"characterFormat":{"fontSize":10,"fontFamily":"Verdana","styleName":"a","fontSizeBidi":10,"fontFamilyBidi":"Verdana"},"text":"performance of Northwind Traders. This report will pay particular"},{"characterFormat":{"fontSize":10,"fontFamily":"Verdana","styleName":"a","fontSizeBidi":10,"fontFamilyBidi":"Verdana"},"text":" "},{"characterFormat":{"fontSize":10,"fontFamily":"Verdana","styleName":"a","fontSizeBidi":10,"fontFamilyBidi":"Verdana"},"text":" attention to the "},{"characterFormat":{"fontSize":10,"fontFamily":"Verdana","styleName":"a","fontSizeBidi":10,"fontFamilyBidi":"Verdana"},"text":"best-selling products, of our company. "},{"characterFormat":{"fontSize":10,"fontFamily":"Verdana","fontSizeBidi":10,"fontFamilyBidi":"Times New Roman"},"text":"The best-selling products of Northwind Traders "},{"characterFormat":{"fontSize":10,"fontFamily":"Verdana","fontSizeBidi":10,"fontFamilyBidi":"Times New Roman"},"text":"Company as follows: "}]},{"paragraphFormat":{"afterSpacing":0,"styleName":"Normal","listFormat":{}},"characterFormat":{},"inlines":[]},{"rows":[{"cells":[{"blocks":[{"paragraphFormat":{"rightIndent":26.850000381469727,"styleName":"Normal","listFormat":{}},"characterFormat":{},"inlines":[{"characterFormat":{"fontSize":10,"fontFamily":"Verdana","fontSizeBidi":10,"fontFamilyBidi":"Times New Roman"},"text":"S.No"}]}],"cellFormat":{"borders":{"top":{"color":"#4472C4FF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"left":{"color":"#4472C4FF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"right":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"bottom":{"color":"#4472C4FF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"diagonalDown":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0},"diagonalUp":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0},"horizontal":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0},"vertical":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0}},"shading":{"backgroundColor":"#4472C4FF","foregroundColor":"empty","textureStyle":"TextureNone"},"preferredWidth":13.420000076293945,"preferredWidthType":"Percent","cellWidth":64.71214527422465,"columnSpan":1,"rowSpan":1,"verticalAlignment":"Top"},"columnIndex":0},{"blocks":[{"paragraphFormat":{"styleName":"Normal","listFormat":{}},"characterFormat":{},"inlines":[{"characterFormat":{"fontSize":10,"fontFamily":"Verdana","fontSizeBidi":10,"fontFamilyBidi":"Times New Roman"},"text":"Product Name"}]}],"cellFormat":{"borders":{"top":{"color":"#4472C4FF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"left":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"right":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"bottom":{"color":"#4472C4FF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"diagonalDown":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0},"diagonalUp":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0},"horizontal":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0},"vertical":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0}},"shading":{"backgroundColor":"#4472C4FF","foregroundColor":"empty","textureStyle":"TextureNone"},"preferredWidth":48.86000061035156,"preferredWidthType":"Percent","cellWidth":292.87942351880633,"columnSpan":1,"rowSpan":1,"verticalAlignment":"Top"},"columnIndex":1},{"blocks":[{"paragraphFormat":{"styleName":"Normal","listFormat":{}},"characterFormat":{},"inlines":[{"characterFormat":{"fontSize":10,"fontFamily":"Verdana","fontSizeBidi":10,"fontFamilyBidi":"Times New Roman"},"text":"Sum of Sales(in $)"}]}],"cellFormat":{"borders":{"top":{"color":"#4472C4FF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"left":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"right":{"color":"#4472C4FF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"bottom":{"color":"#4472C4FF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"diagonalDown":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0},"diagonalUp":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0},"horizontal":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0},"vertical":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0}},"shading":{"backgroundColor":"#4472C4FF","foregroundColor":"empty","textureStyle":"TextureNone"},"preferredWidth":37.720001220703125,"preferredWidthType":"Percent","cellWidth":117.95841899993776,"columnSpan":1,"rowSpan":1,"verticalAlignment":"Top"},"columnIndex":2}],"rowFormat":{"height":14.399999618530273,"allowBreakAcrossPages":true,"heightType":"Exactly","isHeader":false,"borders":{"top":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"left":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"right":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"bottom":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"diagonalDown":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0},"diagonalUp":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0},"horizontal":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"vertical":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0}},"gridBefore":0,"gridBeforeWidth":0,"gridBeforeWidthType":"Point","gridAfter":0,"gridAfterWidth":0,"gridAfterWidthType":"Point"}},{"cells":[{"blocks":[{"paragraphFormat":{"styleName":"Normal","listFormat":{}},"characterFormat":{},"inlines":[{"characterFormat":{"fontSize":10,"fontFamily":"Verdana","fontSizeBidi":10,"fontFamilyBidi":"Times New Roman"},"text":"1"}]}],"cellFormat":{"borders":{"top":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"left":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"right":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"bottom":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"diagonalDown":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0},"diagonalUp":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0},"horizontal":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0},"vertical":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0}},"shading":{"backgroundColor":"#D9E2F3FF","foregroundColor":"empty","textureStyle":"TextureNone"},"preferredWidth":13.420000076293945,"preferredWidthType":"Percent","cellWidth":64.71214527422465,"columnSpan":1,"rowSpan":1,"verticalAlignment":"Top"},"columnIndex":0},{"blocks":[{"paragraphFormat":{"styleName":"Normal","listFormat":{}},"characterFormat":{},"inlines":[{"characterFormat":{"fontSize":10,"fontFamily":"Verdana","fontSizeBidi":10,"fontFamilyBidi":"Times New Roman"},"text":"Côte de Blaye"}]}],"cellFormat":{"borders":{"top":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"left":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"right":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"bottom":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"diagonalDown":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0},"diagonalUp":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0},"horizontal":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0},"vertical":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0}},"shading":{"backgroundColor":"#D9E2F3FF","foregroundColor":"empty","textureStyle":"TextureNone"},"preferredWidth":48.86000061035156,"preferredWidthType":"Percent","cellWidth":292.87942351880633,"columnSpan":1,"rowSpan":1,"verticalAlignment":"Top"},"columnIndex":1},{"blocks":[{"paragraphFormat":{"styleName":"Normal","listFormat":{}},"characterFormat":{},"inlines":[{"characterFormat":{"fontSize":10,"fontFamily":"Verdana","fontSizeBidi":10,"fontFamilyBidi":"Times New Roman"},"text":"141.396"}]}],"cellFormat":{"borders":{"top":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"left":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"right":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"bottom":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"diagonalDown":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0},"diagonalUp":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0},"horizontal":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0},"vertical":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0}},"shading":{"backgroundColor":"#D9E2F3FF","foregroundColor":"empty","textureStyle":"TextureNone"},"preferredWidth":37.720001220703125,"preferredWidthType":"Percent","cellWidth":117.95841899993776,"columnSpan":1,"rowSpan":1,"verticalAlignment":"Top"},"columnIndex":2}],"rowFormat":{"height":14.399999618530273,"allowBreakAcrossPages":true,"heightType":"Exactly","isHeader":false,"borders":{"top":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"left":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"right":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"bottom":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"diagonalDown":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0},"diagonalUp":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0},"horizontal":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"vertical":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0}},"gridBefore":0,"gridBeforeWidth":0,"gridBeforeWidthType":"Point","gridAfter":0,"gridAfterWidth":0,"gridAfterWidthType":"Point"}},{"cells":[{"blocks":[{"paragraphFormat":{"styleName":"Normal","listFormat":{}},"characterFormat":{},"inlines":[{"characterFormat":{"fontSize":10,"fontFamily":"Verdana","fontSizeBidi":10,"fontFamilyBidi":"Times New Roman"},"text":"2"}]}],"cellFormat":{"borders":{"top":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"left":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"right":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"bottom":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"diagonalDown":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0},"diagonalUp":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0},"horizontal":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0},"vertical":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0}},"shading":{"backgroundColor":"#FFFFFFFF","foregroundColor":"empty","textureStyle":"TextureNone"},"preferredWidth":13.420000076293945,"preferredWidthType":"Percent","cellWidth":64.71214527422465,"columnSpan":1,"rowSpan":1,"verticalAlignment":"Top"},"columnIndex":0},{"blocks":[{"paragraphFormat":{"styleName":"Normal","listFormat":{}},"characterFormat":{},"inlines":[{"characterFormat":{"fontSize":10,"fontFamily":"Verdana","fontSizeBidi":10,"fontFamilyBidi":"Times New Roman"},"text":"Thüringer Rostbratwurst"}]}],"cellFormat":{"borders":{"top":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"left":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"right":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"bottom":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"diagonalDown":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0},"diagonalUp":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0},"horizontal":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0},"vertical":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0}},"shading":{"backgroundColor":"#FFFFFFFF","foregroundColor":"empty","textureStyle":"TextureNone"},"preferredWidth":48.86000061035156,"preferredWidthType":"Percent","cellWidth":292.87942351880633,"columnSpan":1,"rowSpan":1,"verticalAlignment":"Top"},"columnIndex":1},{"blocks":[{"paragraphFormat":{"styleName":"Normal","listFormat":{}},"characterFormat":{},"inlines":[{"characterFormat":{"fontSize":10,"fontFamily":"Verdana","fontSizeBidi":10,"fontFamilyBidi":"Times New Roman"},"text":"80.368"}]}],"cellFormat":{"borders":{"top":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"left":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"right":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"bottom":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"diagonalDown":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0},"diagonalUp":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0},"horizontal":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0},"vertical":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0}},"shading":{"backgroundColor":"#FFFFFFFF","foregroundColor":"empty","textureStyle":"TextureNone"},"preferredWidth":37.720001220703125,"preferredWidthType":"Percent","cellWidth":117.95841899993776,"columnSpan":1,"rowSpan":1,"verticalAlignment":"Top"},"columnIndex":2}],"rowFormat":{"height":14.399999618530273,"allowBreakAcrossPages":true,"heightType":"Exactly","isHeader":false,"borders":{"top":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"left":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"right":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"bottom":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"diagonalDown":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0},"diagonalUp":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0},"horizontal":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"vertical":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0}},"gridBefore":0,"gridBeforeWidth":0,"gridBeforeWidthType":"Point","gridAfter":0,"gridAfterWidth":0,"gridAfterWidthType":"Point"}},{"cells":[{"blocks":[{"paragraphFormat":{"styleName":"Normal","listFormat":{}},"characterFormat":{},"inlines":[{"characterFormat":{"fontSize":10,"fontFamily":"Verdana","fontSizeBidi":10,"fontFamilyBidi":"Times New Roman"},"text":"3"}]}],"cellFormat":{"borders":{"top":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"left":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"right":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"bottom":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"diagonalDown":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0},"diagonalUp":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0},"horizontal":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0},"vertical":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0}},"shading":{"backgroundColor":"#D9E2F3FF","foregroundColor":"empty","textureStyle":"TextureNone"},"preferredWidth":13.420000076293945,"preferredWidthType":"Percent","cellWidth":64.71214527422465,"columnSpan":1,"rowSpan":1,"verticalAlignment":"Top"},"columnIndex":0},{"blocks":[{"paragraphFormat":{"styleName":"Normal","listFormat":{}},"characterFormat":{},"inlines":[{"characterFormat":{"fontSize":10,"fontFamily":"Verdana","fontSizeBidi":10,"fontFamilyBidi":"Times New Roman"},"text":"Raclette Courdavault"}]}],"cellFormat":{"borders":{"top":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"left":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"right":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"bottom":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"diagonalDown":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0},"diagonalUp":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0},"horizontal":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0},"vertical":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0}},"shading":{"backgroundColor":"#D9E2F3FF","foregroundColor":"empty","textureStyle":"TextureNone"},"preferredWidth":48.86000061035156,"preferredWidthType":"Percent","cellWidth":292.87942351880633,"columnSpan":1,"rowSpan":1,"verticalAlignment":"Top"},"columnIndex":1},{"blocks":[{"paragraphFormat":{"styleName":"Normal","listFormat":{}},"characterFormat":{},"inlines":[{"characterFormat":{"fontSize":10,"fontFamily":"Verdana","fontSizeBidi":10,"fontFamilyBidi":"Times New Roman"},"text":"71.155"}]}],"cellFormat":{"borders":{"top":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"left":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"right":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"bottom":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"diagonalDown":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0},"diagonalUp":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0},"horizontal":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0},"vertical":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0}},"shading":{"backgroundColor":"#D9E2F3FF","foregroundColor":"empty","textureStyle":"TextureNone"},"preferredWidth":37.720001220703125,"preferredWidthType":"Percent","cellWidth":117.95841899993776,"columnSpan":1,"rowSpan":1,"verticalAlignment":"Top"},"columnIndex":2}],"rowFormat":{"height":14.399999618530273,"allowBreakAcrossPages":true,"heightType":"Exactly","isHeader":false,"borders":{"top":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"left":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"right":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"bottom":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"diagonalDown":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0},"diagonalUp":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0},"horizontal":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"vertical":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0}},"gridBefore":0,"gridBeforeWidth":0,"gridBeforeWidthType":"Point","gridAfter":0,"gridAfterWidth":0,"gridAfterWidthType":"Point"}},{"cells":[{"blocks":[{"paragraphFormat":{"styleName":"Normal","listFormat":{}},"characterFormat":{},"inlines":[{"characterFormat":{"fontSize":10,"fontFamily":"Verdana","fontSizeBidi":10,"fontFamilyBidi":"Times New Roman"},"text":"4"}]}],"cellFormat":{"borders":{"top":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"left":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"right":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"bottom":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"diagonalDown":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0},"diagonalUp":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0},"horizontal":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0},"vertical":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0}},"shading":{"backgroundColor":"#FFFFFFFF","foregroundColor":"empty","textureStyle":"TextureNone"},"preferredWidth":13.420000076293945,"preferredWidthType":"Percent","cellWidth":64.71214527422465,"columnSpan":1,"rowSpan":1,"verticalAlignment":"Top"},"columnIndex":0},{"blocks":[{"paragraphFormat":{"styleName":"Normal","listFormat":{}},"characterFormat":{},"inlines":[{"characterFormat":{"fontSize":10,"fontFamily":"Verdana","fontSizeBidi":10,"fontFamilyBidi":"Times New Roman"},"text":"Tarte au sucre "}]}],"cellFormat":{"borders":{"top":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"left":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"right":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"bottom":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"diagonalDown":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0},"diagonalUp":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0},"horizontal":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0},"vertical":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0}},"shading":{"backgroundColor":"#FFFFFFFF","foregroundColor":"empty","textureStyle":"TextureNone"},"preferredWidth":48.86000061035156,"preferredWidthType":"Percent","cellWidth":292.87942351880633,"columnSpan":1,"rowSpan":1,"verticalAlignment":"Top"},"columnIndex":1},{"blocks":[{"paragraphFormat":{"styleName":"Normal","listFormat":{}},"characterFormat":{},"inlines":[{"characterFormat":{"fontSize":10,"fontFamily":"Verdana","fontSizeBidi":10,"fontFamilyBidi":"Times New Roman"},"text":"47.234"},{"characterFormat":{},"bookmarkType":1,"name":"_GoBack"}]}],"cellFormat":{"borders":{"top":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"left":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"right":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"bottom":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"diagonalDown":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0},"diagonalUp":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0},"horizontal":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0},"vertical":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0}},"shading":{"backgroundColor":"#FFFFFFFF","foregroundColor":"empty","textureStyle":"TextureNone"},"preferredWidth":37.720001220703125,"preferredWidthType":"Percent","cellWidth":117.95841899993776,"columnSpan":1,"rowSpan":1,"verticalAlignment":"Top"},"columnIndex":2}],"rowFormat":{"height":14.399999618530273,"allowBreakAcrossPages":true,"heightType":"Exactly","isHeader":false,"borders":{"top":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"left":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"right":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"bottom":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"diagonalDown":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0},"diagonalUp":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0},"horizontal":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"vertical":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0}},"gridBefore":0,"gridBeforeWidth":0,"gridBeforeWidthType":"Point","gridAfter":0,"gridAfterWidth":0,"gridAfterWidthType":"Point"}},{"cells":[{"blocks":[{"paragraphFormat":{"styleName":"Normal","listFormat":{}},"characterFormat":{},"inlines":[{"characterFormat":{},"bookmarkType":0,"name":"_GoBack"},{"characterFormat":{"fontSize":10,"fontFamily":"Verdana","fontSizeBidi":10,"fontFamilyBidi":"Times New Roman"},"text":"5"}]}],"cellFormat":{"borders":{"top":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"left":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"right":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"bottom":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"diagonalDown":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0},"diagonalUp":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0},"horizontal":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0},"vertical":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0}},"shading":{"backgroundColor":"#D9E2F3FF","foregroundColor":"empty","textureStyle":"TextureNone"},"preferredWidth":13.420000076293945,"preferredWidthType":"Percent","cellWidth":64.71214527422465,"columnSpan":1,"rowSpan":1,"verticalAlignment":"Top"},"columnIndex":0},{"blocks":[{"paragraphFormat":{"styleName":"Normal","listFormat":{}},"characterFormat":{},"inlines":[{"characterFormat":{"fontSize":10,"fontFamily":"Verdana","fontSizeBidi":10,"fontFamilyBidi":"Times New Roman"},"text":"Camembert Pierrot "}]}],"cellFormat":{"borders":{"top":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"left":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"right":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"bottom":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"diagonalDown":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0},"diagonalUp":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0},"horizontal":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0},"vertical":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0}},"shading":{"backgroundColor":"#D9E2F3FF","foregroundColor":"empty","textureStyle":"TextureNone"},"preferredWidth":48.86000061035156,"preferredWidthType":"Percent","cellWidth":292.87942351880633,"columnSpan":1,"rowSpan":1,"verticalAlignment":"Top"},"columnIndex":1},{"blocks":[{"paragraphFormat":{"styleName":"Normal","listFormat":{}},"characterFormat":{},"inlines":[{"characterFormat":{"fontSize":10,"fontFamily":"Verdana","fontSizeBidi":10,"fontFamilyBidi":"Times New Roman"},"text":"46.825"}]}],"cellFormat":{"borders":{"top":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"left":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"right":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"bottom":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"diagonalDown":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0},"diagonalUp":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0},"horizontal":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0},"vertical":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0}},"shading":{"backgroundColor":"#D9E2F3FF","foregroundColor":"empty","textureStyle":"TextureNone"},"preferredWidth":37.720001220703125,"preferredWidthType":"Percent","cellWidth":117.95841899993776,"columnSpan":1,"rowSpan":1,"verticalAlignment":"Top"},"columnIndex":2}],"rowFormat":{"height":14.399999618530273,"allowBreakAcrossPages":true,"heightType":"Exactly","isHeader":false,"borders":{"top":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"left":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"right":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"bottom":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"diagonalDown":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0},"diagonalUp":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0},"horizontal":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"vertical":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0}},"gridBefore":0,"gridBeforeWidth":0,"gridBeforeWidthType":"Point","gridAfter":0,"gridAfterWidth":0,"gridAfterWidthType":"Point"}},{"cells":[{"blocks":[{"paragraphFormat":{"styleName":"Normal","listFormat":{}},"characterFormat":{},"inlines":[{"characterFormat":{"fontSize":10,"fontFamily":"Verdana","fontSizeBidi":10,"fontFamilyBidi":"Times New Roman"},"text":"6"}]}],"cellFormat":{"borders":{"top":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"left":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"right":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"bottom":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"diagonalDown":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0},"diagonalUp":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0},"horizontal":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0},"vertical":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0}},"shading":{"backgroundColor":"#FFFFFFFF","foregroundColor":"empty","textureStyle":"TextureNone"},"preferredWidth":13.420000076293945,"preferredWidthType":"Percent","cellWidth":64.71214527422465,"columnSpan":1,"rowSpan":1,"verticalAlignment":"Top"},"columnIndex":0},{"blocks":[{"paragraphFormat":{"styleName":"Normal","listFormat":{}},"characterFormat":{},"inlines":[{"characterFormat":{"fontSize":10,"fontFamily":"Verdana","fontSizeBidi":10,"fontFamilyBidi":"Times New Roman"},"text":"Gnocchi di nonna Alice"}]}],"cellFormat":{"borders":{"top":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"left":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"right":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"bottom":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"diagonalDown":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0},"diagonalUp":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0},"horizontal":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0},"vertical":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0}},"shading":{"backgroundColor":"#FFFFFFFF","foregroundColor":"empty","textureStyle":"TextureNone"},"preferredWidth":48.86000061035156,"preferredWidthType":"Percent","cellWidth":292.87942351880633,"columnSpan":1,"rowSpan":1,"verticalAlignment":"Top"},"columnIndex":1},{"blocks":[{"paragraphFormat":{"styleName":"Normal","listFormat":{}},"characterFormat":{},"inlines":[{"characterFormat":{"fontSize":10,"fontFamily":"Verdana","fontSizeBidi":10,"fontFamilyBidi":"Times New Roman"},"text":"42.593"}]}],"cellFormat":{"borders":{"top":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"left":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"right":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"bottom":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"diagonalDown":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0},"diagonalUp":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0},"horizontal":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0},"vertical":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0}},"shading":{"backgroundColor":"#FFFFFFFF","foregroundColor":"empty","textureStyle":"TextureNone"},"preferredWidth":37.720001220703125,"preferredWidthType":"Percent","cellWidth":117.95841899993776,"columnSpan":1,"rowSpan":1,"verticalAlignment":"Top"},"columnIndex":2}],"rowFormat":{"height":14.399999618530273,"allowBreakAcrossPages":true,"heightType":"Exactly","isHeader":false,"borders":{"top":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"left":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"right":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"bottom":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"diagonalDown":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0},"diagonalUp":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0},"horizontal":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"vertical":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0}},"gridBefore":0,"gridBeforeWidth":0,"gridBeforeWidthType":"Point","gridAfter":0,"gridAfterWidth":0,"gridAfterWidthType":"Point"}},{"cells":[{"blocks":[{"paragraphFormat":{"styleName":"Normal","listFormat":{}},"characterFormat":{},"inlines":[{"characterFormat":{"fontSize":10,"fontFamily":"Verdana","fontSizeBidi":10,"fontFamilyBidi":"Times New Roman"},"text":"7"}]}],"cellFormat":{"borders":{"top":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"left":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"right":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"bottom":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"diagonalDown":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0},"diagonalUp":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0},"horizontal":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0},"vertical":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0}},"shading":{"backgroundColor":"#D9E2F3FF","foregroundColor":"empty","textureStyle":"TextureNone"},"preferredWidth":13.420000076293945,"preferredWidthType":"Percent","cellWidth":64.71214527422465,"columnSpan":1,"rowSpan":1,"verticalAlignment":"Top"},"columnIndex":0},{"blocks":[{"paragraphFormat":{"styleName":"Normal","listFormat":{}},"characterFormat":{},"inlines":[{"characterFormat":{"fontSize":10,"fontFamily":"Verdana","fontSizeBidi":10,"fontFamilyBidi":"Times New Roman"},"text":"Manjimup Dried Apples"}]}],"cellFormat":{"borders":{"top":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"left":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"right":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"bottom":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"diagonalDown":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0},"diagonalUp":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0},"horizontal":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0},"vertical":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0}},"shading":{"backgroundColor":"#D9E2F3FF","foregroundColor":"empty","textureStyle":"TextureNone"},"preferredWidth":48.86000061035156,"preferredWidthType":"Percent","cellWidth":292.87942351880633,"columnSpan":1,"rowSpan":1,"verticalAlignment":"Top"},"columnIndex":1},{"blocks":[{"paragraphFormat":{"styleName":"Normal","listFormat":{}},"characterFormat":{},"inlines":[{"characterFormat":{"fontSize":10,"fontFamily":"Verdana","fontSizeBidi":10,"fontFamilyBidi":"Times New Roman"},"text":"41.819"}]}],"cellFormat":{"borders":{"top":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"left":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"right":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"bottom":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"diagonalDown":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0},"diagonalUp":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0},"horizontal":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0},"vertical":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0}},"shading":{"backgroundColor":"#D9E2F3FF","foregroundColor":"empty","textureStyle":"TextureNone"},"preferredWidth":37.720001220703125,"preferredWidthType":"Percent","cellWidth":117.95841899993776,"columnSpan":1,"rowSpan":1,"verticalAlignment":"Top"},"columnIndex":2}],"rowFormat":{"height":14.399999618530273,"allowBreakAcrossPages":true,"heightType":"Exactly","isHeader":false,"borders":{"top":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"left":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"right":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"bottom":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"diagonalDown":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0},"diagonalUp":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0},"horizontal":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"vertical":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0}},"gridBefore":0,"gridBeforeWidth":0,"gridBeforeWidthType":"Point","gridAfter":0,"gridAfterWidth":0,"gridAfterWidthType":"Point"}},{"cells":[{"blocks":[{"paragraphFormat":{"styleName":"Normal","listFormat":{}},"characterFormat":{},"inlines":[{"characterFormat":{"fontSize":10,"fontFamily":"Verdana","fontSizeBidi":10,"fontFamilyBidi":"Times New Roman"},"text":"8"}]}],"cellFormat":{"borders":{"top":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"left":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"right":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"bottom":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"diagonalDown":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0},"diagonalUp":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0},"horizontal":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0},"vertical":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0}},"shading":{"backgroundColor":"#FFFFFFFF","foregroundColor":"empty","textureStyle":"TextureNone"},"preferredWidth":13.420000076293945,"preferredWidthType":"Percent","cellWidth":64.71214527422465,"columnSpan":1,"rowSpan":1,"verticalAlignment":"Top"},"columnIndex":0},{"blocks":[{"paragraphFormat":{"styleName":"Normal","listFormat":{}},"characterFormat":{},"inlines":[{"characterFormat":{"fontSize":10,"fontFamily":"Verdana","fontSizeBidi":10,"fontFamilyBidi":"Times New Roman"},"text":"Alice Mutton"}]}],"cellFormat":{"borders":{"top":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"left":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"right":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"bottom":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"diagonalDown":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0},"diagonalUp":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0},"horizontal":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0},"vertical":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0}},"shading":{"backgroundColor":"#FFFFFFFF","foregroundColor":"empty","textureStyle":"TextureNone"},"preferredWidth":48.86000061035156,"preferredWidthType":"Percent","cellWidth":292.87942351880633,"columnSpan":1,"rowSpan":1,"verticalAlignment":"Top"},"columnIndex":1},{"blocks":[{"paragraphFormat":{"styleName":"Normal","listFormat":{}},"characterFormat":{},"inlines":[{"characterFormat":{"fontSize":10,"fontFamily":"Verdana","fontSizeBidi":10,"fontFamilyBidi":"Times New Roman"},"text":"32.698"}]}],"cellFormat":{"borders":{"top":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"left":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"right":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"bottom":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"diagonalDown":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0},"diagonalUp":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0},"horizontal":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0},"vertical":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0}},"shading":{"backgroundColor":"#FFFFFFFF","foregroundColor":"empty","textureStyle":"TextureNone"},"preferredWidth":37.720001220703125,"preferredWidthType":"Percent","cellWidth":117.95841899993776,"columnSpan":1,"rowSpan":1,"verticalAlignment":"Top"},"columnIndex":2}],"rowFormat":{"height":14.399999618530273,"allowBreakAcrossPages":true,"heightType":"Exactly","isHeader":false,"borders":{"top":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"left":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"right":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"bottom":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"diagonalDown":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0},"diagonalUp":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0},"horizontal":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"vertical":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0}},"gridBefore":0,"gridBeforeWidth":0,"gridBeforeWidthType":"Point","gridAfter":0,"gridAfterWidth":0,"gridAfterWidthType":"Point"}},{"cells":[{"blocks":[{"paragraphFormat":{"styleName":"Normal","listFormat":{}},"characterFormat":{},"inlines":[{"characterFormat":{"fontSize":10,"fontFamily":"Verdana","fontSizeBidi":10,"fontFamilyBidi":"Times New Roman"},"text":"9"}]}],"cellFormat":{"borders":{"top":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"left":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"right":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"bottom":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"diagonalDown":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0},"diagonalUp":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0},"horizontal":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0},"vertical":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0}},"shading":{"backgroundColor":"#D9E2F3FF","foregroundColor":"empty","textureStyle":"TextureNone"},"preferredWidth":13.420000076293945,"preferredWidthType":"Percent","cellWidth":64.71214527422465,"columnSpan":1,"rowSpan":1,"verticalAlignment":"Top"},"columnIndex":0},{"blocks":[{"paragraphFormat":{"styleName":"Normal","listFormat":{}},"characterFormat":{},"inlines":[{"characterFormat":{"fontSize":10,"fontFamily":"Verdana","fontSizeBidi":10,"fontFamilyBidi":"Times New Roman"},"text":"Carnarvon Tigers"}]}],"cellFormat":{"borders":{"top":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"left":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"right":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"bottom":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"diagonalDown":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0},"diagonalUp":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0},"horizontal":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0},"vertical":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0}},"shading":{"backgroundColor":"#D9E2F3FF","foregroundColor":"empty","textureStyle":"TextureNone"},"preferredWidth":48.86000061035156,"preferredWidthType":"Percent","cellWidth":292.87942351880633,"columnSpan":1,"rowSpan":1,"verticalAlignment":"Top"},"columnIndex":1},{"blocks":[{"paragraphFormat":{"styleName":"Normal","listFormat":{}},"characterFormat":{},"inlines":[{"characterFormat":{"fontSize":10,"fontFamily":"Verdana","fontSizeBidi":10,"fontFamilyBidi":"Times New Roman"},"text":"29.171"}]}],"cellFormat":{"borders":{"top":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"left":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"right":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"bottom":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"diagonalDown":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0},"diagonalUp":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0},"horizontal":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0},"vertical":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0}},"shading":{"backgroundColor":"#D9E2F3FF","foregroundColor":"empty","textureStyle":"TextureNone"},"preferredWidth":37.720001220703125,"preferredWidthType":"Percent","cellWidth":117.95841899993776,"columnSpan":1,"rowSpan":1,"verticalAlignment":"Top"},"columnIndex":2}],"rowFormat":{"height":14.399999618530273,"allowBreakAcrossPages":true,"heightType":"Exactly","isHeader":false,"borders":{"top":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"left":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"right":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"bottom":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"diagonalDown":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0},"diagonalUp":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0},"horizontal":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"vertical":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0}},"gridBefore":0,"gridBeforeWidth":0,"gridBeforeWidthType":"Point","gridAfter":0,"gridAfterWidth":0,"gridAfterWidthType":"Point"}},{"cells":[{"blocks":[{"paragraphFormat":{"styleName":"Normal","listFormat":{}},"characterFormat":{},"inlines":[{"characterFormat":{"fontSize":10,"fontFamily":"Verdana","fontSizeBidi":10,"fontFamilyBidi":"Times New Roman"},"text":"10"}]}],"cellFormat":{"borders":{"top":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"left":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"right":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"bottom":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"diagonalDown":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0},"diagonalUp":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0},"horizontal":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0},"vertical":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0}},"shading":{"backgroundColor":"#FFFFFFFF","foregroundColor":"empty","textureStyle":"TextureNone"},"preferredWidth":13.420000076293945,"preferredWidthType":"Percent","cellWidth":64.71214527422465,"columnSpan":1,"rowSpan":1,"verticalAlignment":"Top"},"columnIndex":0},{"blocks":[{"paragraphFormat":{"styleName":"Normal","listFormat":{}},"characterFormat":{},"inlines":[{"characterFormat":{"fontSize":10,"fontFamily":"Verdana","fontSizeBidi":10,"fontFamilyBidi":"Times New Roman"},"text":"Rössle Sauerkraut."}]}],"cellFormat":{"borders":{"top":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"left":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"right":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"bottom":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"diagonalDown":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0},"diagonalUp":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0},"horizontal":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0},"vertical":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0}},"shading":{"backgroundColor":"#FFFFFFFF","foregroundColor":"empty","textureStyle":"TextureNone"},"preferredWidth":48.86000061035156,"preferredWidthType":"Percent","cellWidth":292.87942351880633,"columnSpan":1,"rowSpan":1,"verticalAlignment":"Top"},"columnIndex":1},{"blocks":[{"paragraphFormat":{"styleName":"Normal","listFormat":{}},"characterFormat":{},"inlines":[{"characterFormat":{"fontSize":10,"fontFamily":"Verdana","fontSizeBidi":10,"fontFamilyBidi":"Times New Roman"},"text":"25.696"}]}],"cellFormat":{"borders":{"top":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"left":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"right":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"bottom":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"diagonalDown":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0},"diagonalUp":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0},"horizontal":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0},"vertical":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0}},"shading":{"backgroundColor":"#FFFFFFFF","foregroundColor":"empty","textureStyle":"TextureNone"},"preferredWidth":37.720001220703125,"preferredWidthType":"Percent","cellWidth":117.95841899993776,"columnSpan":1,"rowSpan":1,"verticalAlignment":"Top"},"columnIndex":2}],"rowFormat":{"height":14.399999618530273,"allowBreakAcrossPages":true,"heightType":"Exactly","isHeader":false,"borders":{"top":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"left":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"right":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"bottom":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"diagonalDown":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0},"diagonalUp":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0},"horizontal":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"vertical":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0}},"gridBefore":0,"gridBeforeWidth":0,"gridBeforeWidthType":"Point","gridAfter":0,"gridAfterWidth":0,"gridAfterWidthType":"Point"}}],"grid":[64.71214527422465,292.87942351880633,117.95841899993776],"tableFormat":{"borders":{"top":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"left":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"right":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"bottom":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"diagonalDown":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0},"diagonalUp":{"color":"#000000","hasNoneStyle":false,"lineStyle":"None","lineWidth":0,"shadow":false,"space":0},"horizontal":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0},"vertical":{"color":"#8EAADBFF","hasNoneStyle":false,"lineStyle":"Single","lineWidth":0.5,"shadow":false,"space":0}},"shading":{"backgroundColor":"#FFFFFFFF","foregroundColor":"empty","textureStyle":"TextureNone"},"cellSpacing":0,"leftIndent":0,"tableAlignment":"Left","topMargin":0,"rightMargin":0.5,"leftMargin":0.5,"bottomMargin":0,"preferredWidth":475.54998779296875,"preferredWidthType":"Point","bidi":false,"allowAutoFit":true},"description":null,"title":null},{"paragraphFormat":{"afterSpacing":0,"styleName":"Normal","listFormat":{}},"characterFormat":{"fontFamily":"Calibri","fontColor":"#000000FF","fontFamilyBidi":"Calibri"},"inlines":[]},{"paragraphFormat":{"afterSpacing":0,"styleName":"Normal","listFormat":{}},"characterFormat":{},"inlines":[{"characterFormat":{"fontSize":10,"fontFamily":"Verdana","fontSizeBidi":10,"fontFamilyBidi":"Times New Roman"},"text":"The best-selling product of the company is Cote de Blaye, being part of the Beverages "},{"characterFormat":{"fontSize":10,"fontFamily":"Verdana","fontSizeBidi":10,"fontFamilyBidi":"Times New Roman"},"text":"category. The contribution of this product to the sum of our sales is $ 141.396."}]},{"paragraphFormat":{"afterSpacing":0,"lineSpacing":1,"lineSpacingType":"Multiple","styleName":"Normal","listFormat":{}},"characterFormat":{"fontSize":10,"fontFamily":"Verdana","fontSizeBidi":10,"fontFamilyBidi":"Times New Roman"},"inlines":[]},{"paragraphFormat":{"afterSpacing":0,"lineSpacing":1,"lineSpacingType":"Multiple","styleName":"Normal","listFormat":{}},"characterFormat":{"fontSize":10,"fontFamily":"Verdana","fontSizeBidi":10,"fontFamilyBidi":"Times New Roman"},"inlines":[]},{"paragraphFormat":{"styleName":"Normal","listFormat":{}},"characterFormat":{},"inlines":[{"characterFormat":{},"chartLegend":{"position":"Right","chartTitleArea":{"fontName":"+mn-lt","fontSize":9,"layout":{"layoutX":0,"layoutY":0},"dataFormat":{"fill":{"foreColor":"000000","rgb":"#000000"},"line":{"color":"808080","rgb":"#808080"}}}},"chartTitleArea":{"fontName":"+mn-lt","fontSize":14,"layout":{"layoutX":0,"layoutY":0},"dataFormat":{"fill":{"foreColor":"000000","rgb":"#000000"},"line":{"color":"000000","rgb":"#000000"}}},"chartArea":{"foreColor":"#FFFFFFFF"},"plotArea":{"foreColor":"#000000FF"},"chartCategory":[{"chartData":[{"yValue":141.396}],"categoryXName":"Côte de Blaye"},{"chartData":[{"yValue":80.368}],"categoryXName":"Thüringer Rostbratwurst"},{"chartData":[{"yValue":71.155}],"categoryXName":"Raclette Courdavault"},{"chartData":[{"yValue":47.234}],"categoryXName":"Tarte au sucre"},{"chartData":[{"yValue":46.825}],"categoryXName":"Camembert Pierrot"},{"chartData":[{"yValue":42.593}],"categoryXName":"Gnocchi di nonna Alice"},{"chartData":[{"yValue":41.819}],"categoryXName":"Manjimup Dried Apples"},{"chartData":[{"yValue":32.698}],"categoryXName":"Alice Mutton"},{"chartData":[{"yValue":29.171}],"categoryXName":"Carnarvon Tigers"},{"chartData":[{"yValue":25.696}],"categoryXName":"Rössle Sauerkraut"}],"chartSeries":[{"dataPoints":[{"fill":{"foreColor":"4472c4","rgb":"#4472c4"},"line":{"color":"ffffff","rgb":"#ffffff"}},{"fill":{"foreColor":"ed7d31","rgb":"#ed7d31"},"line":{"color":"ffffff","rgb":"#ffffff"}},{"fill":{"foreColor":"a5a5a5","rgb":"#a5a5a5"},"line":{"color":"ffffff","rgb":"#ffffff"}},{"fill":{"foreColor":"ffc000","rgb":"#ffc000"},"line":{"color":"ffffff","rgb":"#ffffff"}},{"fill":{"foreColor":"5b9bd5","rgb":"#5b9bd5"},"line":{"color":"ffffff","rgb":"#ffffff"}},{"fill":{"foreColor":"70ad47","rgb":"#70ad47"},"line":{"color":"ffffff","rgb":"#ffffff"}},{"fill":{"foreColor":"264379","rgb":"#264379"},"line":{"color":"ffffff","rgb":"#ffffff"}},{"fill":{"foreColor":"9f480e","rgb":"#9f480e"},"line":{"color":"ffffff","rgb":"#ffffff"}},{"fill":{"foreColor":"636363","rgb":"#636363"},"line":{"color":"ffffff","rgb":"#ffffff"}},{"fill":{"foreColor":"9a7200","rgb":"#9a7200"},"line":{"color":"ffffff","rgb":"#ffffff"}}],"seriesName":"Sales"}],"chartPrimaryCategoryAxis":{"chartTitle":null,"chartTitleArea":{"layout":{},"dataFormat":{"fill":{},"line":{}}},"categoryType":"Automatic","fontSize":11,"fontName":"Calibri","numberFormat":"General","maximumValue":0,"minimumValue":0,"majorUnit":0,"hasMajorGridLines":false,"hasMinorGridLines":false,"majorTickMark":"TickMark_Outside","minorTickMark":"TickMark_None","tickLabelPosition":"TickLabelPosition_NextToAxis"},"chartPrimaryValueAxis":{"chartTitle":null,"chartTitleArea":{"layout":{},"dataFormat":{"fill":{},"line":{}}},"fontSize":11,"fontName":"Calibri","maximumValue":0,"minimumValue":0,"majorUnit":0,"hasMajorGridLines":false,"hasMinorGridLines":false,"majorTickMark":"TickMark_Outside","minorTickMark":"TickMark_None","tickLabelPosition":"TickLabelPosition_NextToAxis"},"chartTitle":"Best Selling Products","chartType":"Pie","gapWidth":0,"overlap":0,"height":225,"width":432}]},{"paragraphFormat":{"styleName":"Normal","listFormat":{}},"characterFormat":{},"inlines":[]},{"paragraphFormat":{"afterSpacing":0,"lineSpacing":1,"lineSpacingType":"Multiple","styleName":"Normal","listFormat":{}},"characterFormat":{"fontSize":10,"fontFamily":"Verdana","fontSizeBidi":10,"fontFamilyBidi":"Verdana"},"inlines":[{"characterFormat":{"fontSize":10,"fontFamily":"Verdana","styleName":"a","fontSizeBidi":10,"fontFamilyBidi":"Verdana"},"text":"According to the above chart, the total count of the selling products is 24 and the average "},{"characterFormat":{"fontSize":10,"fontFamily":"Verdana","styleName":"a","fontSizeBidi":10,"fontFamilyBidi":"Verdana"},"text":"sales attributed to this product is $ 5.891 with highest sale $ 15.810 in the month of May in "},{"characterFormat":{"fontSize":10,"fontFamily":"Verdana","styleName":"a","fontSizeBidi":10,"fontFamilyBidi":"Verdana"},"text":"2014. In the same year, in the month of March the same product reached the amount of $ "},{"characterFormat":{"fontSize":10,"fontFamily":"Verdana","styleName":"a","fontSizeBidi":10,"fontFamilyBidi":"Verdana"},"text":"15.019. These were the highest sales of the product among the other products for the year "},{"characterFormat":{"fontSize":10,"fontFamily":"Verdana","styleName":"a","fontSizeBidi":10,"fontFamilyBidi":"Verdana"},"text":"2014."}]}],"headersFooters":{}}],"characterFormat":{"bold":false,"italic":false,"fontSize":11,"fontFamily":"Calibri","underline":"None","strikethrough":"None","baselineAlignment":"Normal","highlightColor":"NoColor","fontColor":"#000000","fontSizeBidi":11,"fontFamilyBidi":"Calibri"},"paragraphFormat":{"leftIndent":0,"rightIndent":0,"firstLineIndent":0,"textAlignment":"Left","beforeSpacing":0,"afterSpacing":8,"lineSpacing":1.0791666507720947,"lineSpacingType":"Multiple","listFormat":{},"bidi":false},"defaultTabWidth":36,"enforcement":false,"hashValue":"","saltValue":"","formatting":false,"protectionType":"NoProtection","styles":[{"name":"Normal","type":"Paragraph","paragraphFormat":{"listFormat":{}},"characterFormat":{},"next":"Normal"},{"name":"Heading 1","type":"Paragraph","paragraphFormat":{"beforeSpacing":12,"afterSpacing":3,"lineSpacing":1,"lineSpacingType":"Multiple","outlineLevel":"Level1","listFormat":{}},"characterFormat":{"bold":true,"fontSize":16,"fontFamily":"Arial","boldBidi":true,"fontSizeBidi":16,"fontFamilyBidi":"Arial"},"basedOn":"Normal","link":"Heading 1 Char","next":"Normal"},{"name":"Heading 1 Char","type":"Character","characterFormat":{"bold":true,"fontSize":16,"fontFamily":"Arial","boldBidi":true,"fontSizeBidi":16,"fontFamilyBidi":"Arial"},"basedOn":"Default Paragraph Font"},{"name":"Default Paragraph Font","type":"Character","characterFormat":{}},{"name":"Balloon Text","type":"Paragraph","paragraphFormat":{"afterSpacing":0,"lineSpacing":1,"lineSpacingType":"Multiple","listFormat":{}},"characterFormat":{"fontSize":9,"fontFamily":"Segoe UI","fontSizeBidi":9,"fontFamilyBidi":"Segoe UI"},"basedOn":"Normal","link":"Balloon Text Char"},{"name":"Balloon Text Char","type":"Character","characterFormat":{"fontSize":9,"fontFamily":"Segoe UI","fontSizeBidi":9,"fontFamilyBidi":"Segoe UI"},"basedOn":"Default Paragraph Font"},{"name":"a","type":"Character","characterFormat":{},"basedOn":"Default Paragraph Font"},{"name":"Heading 2","type":"Paragraph","paragraphFormat":{"leftIndent":0,"rightIndent":0,"firstLineIndent":0,"textAlignment":"Left","beforeSpacing":2,"afterSpacing":0,"lineSpacing":1.0791666507720947,"lineSpacingType":"Multiple","outlineLevel":"Level2","listFormat":{}},"characterFormat":{"fontSize":13,"fontFamily":"Calibri Light","fontColor":"#2F5496"},"basedOn":"Normal","link":"Heading 2 Char","next":"Normal"},{"name":"Heading 2 Char","type":"Character","characterFormat":{"fontSize":13,"fontFamily":"Calibri Light","fontColor":"#2F5496"},"basedOn":"Default Paragraph Font"},{"name":"Heading 3","type":"Paragraph","paragraphFormat":{"leftIndent":0,"rightIndent":0,"firstLineIndent":0,"textAlignment":"Left","beforeSpacing":2,"afterSpacing":0,"lineSpacing":1.0791666507720947,"lineSpacingType":"Multiple","outlineLevel":"Level3","listFormat":{}},"characterFormat":{"fontSize":12,"fontFamily":"Calibri Light","fontColor":"#1F3763"},"basedOn":"Normal","link":"Heading 3 Char","next":"Normal"},{"name":"Heading 3 Char","type":"Character","characterFormat":{"fontSize":12,"fontFamily":"Calibri Light","fontColor":"#1F3763"},"basedOn":"Default Paragraph Font"},{"name":"Heading 4","type":"Paragraph","paragraphFormat":{"leftIndent":0,"rightIndent":0,"firstLineIndent":0,"textAlignment":"Left","beforeSpacing":2,"afterSpacing":0,"lineSpacing":1.0791666507720947,"lineSpacingType":"Multiple","outlineLevel":"Level4","listFormat":{}},"characterFormat":{"italic":true,"fontFamily":"Calibri Light","fontColor":"#2F5496"},"basedOn":"Normal","link":"Heading 4 Char","next":"Normal"},{"name":"Heading 4 Char","type":"Character","characterFormat":{"italic":true,"fontFamily":"Calibri Light","fontColor":"#2F5496"},"basedOn":"Default Paragraph Font"},{"name":"Heading 5","type":"Paragraph","paragraphFormat":{"leftIndent":0,"rightIndent":0,"firstLineIndent":0,"textAlignment":"Left","beforeSpacing":2,"afterSpacing":0,"lineSpacing":1.0791666507720947,"lineSpacingType":"Multiple","outlineLevel":"Level5","listFormat":{}},"characterFormat":{"fontFamily":"Calibri Light","fontColor":"#2F5496"},"basedOn":"Normal","link":"Heading 5 Char","next":"Normal"},{"name":"Heading 5 Char","type":"Character","characterFormat":{"fontFamily":"Calibri Light","fontColor":"#2F5496"},"basedOn":"Default Paragraph Font"},{"name":"Heading 6","type":"Paragraph","paragraphFormat":{"leftIndent":0,"rightIndent":0,"firstLineIndent":0,"textAlignment":"Left","beforeSpacing":2,"afterSpacing":0,"lineSpacing":1.0791666507720947,"lineSpacingType":"Multiple","outlineLevel":"Level6","listFormat":{}},"characterFormat":{"fontFamily":"Calibri Light","fontColor":"#1F3763"},"basedOn":"Normal","link":"Heading 6 Char","next":"Normal"},{"name":"Heading 6 Char","type":"Character","characterFormat":{"fontFamily":"Calibri Light","fontColor":"#1F3763"},"basedOn":"Default Paragraph Font"}],"lists":[],"abstractLists":[]}`;
-
-//Open the document in Document Editor.
-documenteditor.open(sfdt);
-
-
diff --git a/ej2-javascript/code-snippet/document-editor/chart-cs1/js/index.html b/ej2-javascript/code-snippet/document-editor/chart-cs1/js/index.html
deleted file mode 100644
index 8b83f8cd9..000000000
--- a/ej2-javascript/code-snippet/document-editor/chart-cs1/js/index.html
+++ /dev/null
@@ -1,57 +0,0 @@
-
- EJ2 Animation
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/ej2-javascript/code-snippet/document-editor/replace-cs1/app.ts b/ej2-javascript/code-snippet/document-editor/replace-cs1/app.ts
deleted file mode 100644
index e69de29bb..000000000
diff --git a/ej2-javascript/code-snippet/document-editor/replace-cs1/index.css b/ej2-javascript/code-snippet/document-editor/replace-cs1/index.css
deleted file mode 100644
index fcf73db8f..000000000
--- a/ej2-javascript/code-snippet/document-editor/replace-cs1/index.css
+++ /dev/null
@@ -1,13 +0,0 @@
-
-#loader {
- color: #008cff;
- height: 40px;
- left: 45%;
- position: absolute;
- top: 45%;
- width: 30%;
- }
-
- #container {
- visibility: hidden;
- }
\ No newline at end of file
diff --git a/ej2-javascript/code-snippet/document-editor/replace-cs1/index.js b/ej2-javascript/code-snippet/document-editor/replace-cs1/index.js
deleted file mode 100644
index 36a3e2270..000000000
--- a/ej2-javascript/code-snippet/document-editor/replace-cs1/index.js
+++ /dev/null
@@ -1,35 +0,0 @@
-var documenteditor = new ej.documenteditor.DocumentEditor({ enableSelection: true, enableSearch: true, enableEditor: true, isReadOnly: false });
-documenteditor.appendTo('#DocumentEditor');
-var sfdt = `{
- "sections": [
- {
- "blocks": [
- {
- "inlines": [
- {
- "characterFormat": {
- "bold": true,
- "italic": true
- },
- "text": "Adventure Works Cycles, the fictitious company on which the AdventureWorks sample databases are based, is a large, multinational manufacturing company. The company manufactures and sells metal and composite bicycles to North American, European and Asian commercial markets. While its base operation is located in Bothell, Washington with 290 employees, several regional sales teams are located throughout their market base."
- }
- ]
- }
- ]
- }
- ]
-}`;
-documenteditor.open(sfdt);
-document.getElementById('replace_all').addEventListener('click',function () {
- var textToFind = (document.getElementById('find_text')).value;
- var textToReplace = (document.getElementById('replace_text')).value;
- if (textToFind !== '') {
- // Find all the occurences of given text
- documenteditor.searchModule.findAll(textToFind);
- if (documenteditor.searchModule.searchResults.length > 0) {
- // Replace all the occurences of given text
- documenteditor.searchModule.searchResults.replaceAll(textToReplace);
- }
- }
-});
-
diff --git a/ej2-javascript/code-snippet/document-editor/replace-cs1/index.ts b/ej2-javascript/code-snippet/document-editor/replace-cs1/index.ts
deleted file mode 100644
index f78d0d8da..000000000
--- a/ej2-javascript/code-snippet/document-editor/replace-cs1/index.ts
+++ /dev/null
@@ -1,45 +0,0 @@
-
-
-import { DocumentEditor, Selection, Editor, Search } from '@syncfusion/ej2-documenteditor';
-//Inject require modules.
-DocumentEditor.Inject(Selection, Search, Editor);
-
-//Initialize the Document Editor component.
-let documenteditor: DocumentEditor = new DocumentEditor({ height: '370px', enableSelection: true, enableSearch: true, enableEditor: true, isReadOnly: false });
-documenteditor.appendTo('#DocumentEditor');
-let sfdt: string = `{
- "sections": [
- {
- "blocks": [
- {
- "inlines": [
- {
- "characterFormat": {
- "bold": true,
- "italic": true
- },
- "text": "Adventure Works Cycles, the fictitious company on which the AdventureWorks sample databases are based, is a large, multinational manufacturing company. The company manufactures and sells metal and composite bicycles to North American, European and Asian commercial markets. While its base operation is located in Bothell, Washington with 290 employees, several regional sales teams are located throughout their market base."
- }
- ]
- }
- ]
- }
- ]
-}`;
-
-//Open the SFDT document in Document Editor.
-documenteditor.open(sfdt);
-document.getElementById('replace_all').addEventListener('click', () => {
- let textToFind: string = (document.getElementById('find_text') as HTMLInputElement).value;
- let textToReplace: string = (document.getElementById('replace_text') as HTMLInputElement).value;
- if (textToFind !== '') {
- // Find all the occurences of given text
- documenteditor.searchModule.findAll(textToFind);
- if (documenteditor.searchModule.searchResults.length > 0) {
- // Replace all the occurences of given text
- documenteditor.searchModule.searchResults.replaceAll(textToReplace);
- }
- }
-});
-
-
diff --git a/ej2-javascript/code-snippet/document-editor/replace-cs1/js/index.html b/ej2-javascript/code-snippet/document-editor/replace-cs1/js/index.html
deleted file mode 100644
index 5e24936b4..000000000
--- a/ej2-javascript/code-snippet/document-editor/replace-cs1/js/index.html
+++ /dev/null
@@ -1,57 +0,0 @@
-
- EJ2 Animation
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/ej2-javascript/document-editor/accessibility.md b/ej2-javascript/document-editor/accessibility.md
deleted file mode 100644
index 343509ac1..000000000
--- a/ej2-javascript/document-editor/accessibility.md
+++ /dev/null
@@ -1,54 +0,0 @@
----
-layout: post
-title: Accessibility in ##Platform_Name## Document editor component | Syncfusion
-description: Learn here all about Accessibility in Syncfusion ##Platform_Name## Document editor component of Syncfusion Essential JS 2 and more.
-control: Accessibility
-platform: ej2-javascript
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Accessibility in Angular Document editor component
-
-The accessibility compliance for the Document editor component is outlined below.
-
-| Accessibility Criteria | Compatibility |
-| -- | -- |
-| [WCAG 2.2 Support](../common/accessibility#accessibility-standards) | |
-| [Section 508 Support](../common/accessibility#accessibility-standards) | |
-| [Screen Reader Support](../common/accessibility#screen-reader-support) | |
-| [Right-To-Left Support](../common/accessibility#right-to-left-support) | |
-| [Color Contrast](../common/accessibility#color-contrast) | |
-| [Mobile Device Support](../common/accessibility#mobile-device-support) | |
-| [Keyboard Navigation Support](../common/accessibility#keyboard-navigation-support) | |
-| [Accessibility Checker Validation](../common/accessibility#ensuring-accessibility) | |
-| [Axe-core Accessibility Validation](../common/accessibility#ensuring-accessibility) | |
-
-
-
- All features of the component meet the requirement.
-
-
- Some features of the component do not meet the requirement.
-
-
- The component does not meet the requirement.
-
-## Keyboard interaction
-
-Document editor supports [keyboard shortcuts](./keyboard-shortcut).
-
-## Ensuring accessibility
-
-The Document editor component's accessibility levels are ensured through an [accessibility-checker](https://www.npmjs.com/package/accessibility-checker) and [axe-core](https://www.npmjs.com/package/axe-core) software tools during automated testing.
-
-The accessibility compliance of the Document editor component is shown in the following sample. Open the [sample](https://ej2.syncfusion.com/accessibility/wordprocessor.html) in a new window to evaluate the accessibility of the Document editor component with accessibility tools.
-
-{% previewsample "page.domainurl/code-snippet/document-editor/accessibility-cs1" %}
-
-## See also
-
-- [Accessibility in Syncfusion® Angular components](../common/accessibility)
\ No newline at end of file
diff --git a/ej2-javascript/document-editor/bookmark.md b/ej2-javascript/document-editor/bookmark.md
deleted file mode 100644
index 5523a23a2..000000000
--- a/ej2-javascript/document-editor/bookmark.md
+++ /dev/null
@@ -1,125 +0,0 @@
----
-layout: post
-title: Bookmark in ##Platform_Name## Document editor control | Syncfusion
-description: Learn here all about Bookmark in Syncfusion ##Platform_Name## Document editor control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: Bookmark
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Bookmark in ##Platform_Name## Document editor control
-
-Bookmark is a powerful tool that helps you to mark a place in the document to find again easily. You can enter many bookmarks in the document and give each one a unique name to identify easily.
-
-Document Editor provides built-in dialog to add, delete, and navigate bookmarks within the document. To add a bookmark, select a portion of text in the document. After that, jump to the location or add links to it within the document using built-in hyperlink dialog. You can also delete bookmarks from a document.
-
->Bookmark names need to begin with a letter. They can include both numbers and letters, but not spaces. To separate the words, use an underscore.
->Bookmark names starting with an underscore are called hidden bookmarks. For example, bookmarks generated for table of contents.
-
-## Add bookmark
-
-Using [`insertBookmark`](../api/document-editor/editor/#insertbookmark) method, Bookmark can be added to the selected text.
-
-```c#
-container.documentEditor.editor.insertBookmark("Bookmark1");
-```
-
-## Select Bookmark
-
-You can select the bookmark in the document using [`selectBookmark`](../api/document-editor/selection/#selectbookmark) method by providing Bookmark name to select as shown in the following code snippet.
-
-```c#
-container.documentEditor.selection.selectBookmark("Bookmark1", true);
-```
-
->Note: Second parameter is optional parameter and it denotes is exclude bookmark start and end from selection. If true, excludes bookmark start and end from selection.
-
-## Delete Bookmark
-
-You can delete bookmark in the document using [`deleteBookmark`](../api/document-editor/editor/#deletebookmark) method as shown in the following code snippet.
-
-```c#
-container.documentEditor.editor.deleteBookmark("Bookmark1");
-```
-
-## Get Bookmark from document
-
-You can get all the bookmarks in the document using [`getBookmarks`](../api/document-editor/#getbookmarks) method as shown in the following code snippet.
-
-```c#
-container.documentEditor.getBookmarks(false);
-```
-
->Note: Parameter denotes is include hidden bookmarks. If false, ignore hidden bookmark.
-
-## Get Bookmark from selection
-
-You can get bookmarks in current selection in the document using [`getBookmarks`](../api/document-editor/selection/#getbookmarks) method as shown in the following code snippet.
-
-```c#
-container.documentEditor.selection.getBookmarks(false);
-```
-
-## Replace bookmark content
-
-You can replace bookmark content without removing the bookmark start and end for backtracking the bookmark content.
-
-```c#
-container.documentEditor.selection.selectBookmark("Bookmark1", true);
-container.documentEditor.editor.insertText('Hello World')
-```
-
-You can replace content by removing the bookmark start and end, thus the bookmark content can't be tracked in future.
-
-```c#
-container.documentEditor.selection.selectBookmark("Bookmark1");
-container.documentEditor.editor.insertText('Hello World')
-```
-
-## Show or Hide bookmark
-
-You can show or hide the show square brackets around bookmarked items in Document editor component.
-
-The following example code illustrates how to show or hide square brackets around bookmarked items.
-
-```ts
-container.documentEditorSettings.showBookmarks = true;
-```
-
-## Bookmark Dialog
-
-The following example shows how to open bookmark dialog in Document Editor.
-
-{% if page.publishingplatform == "typescript" %}
-
- {% tabs %}
-{% highlight ts tabtitle="index.ts" %}
-{% include code-snippet/document-editor/dialog-cs1/index.ts %}
-{% endhighlight %}
-{% highlight html tabtitle="index.html" %}
-{% include code-snippet/document-editor/dialog-cs1/index.html %}
-{% endhighlight %}
-{% endtabs %}
-
-{% previewsample "page.domainurl/code-snippet/document-editor/dialog-cs1" %}
-
-{% elsif page.publishingplatform == "javascript" %}
-
-{% tabs %}
-{% highlight js tabtitle="index.js" %}
-{% include code-snippet/document-editor/dialog-cs1/index.js %}
-{% endhighlight %}
-{% highlight html tabtitle="index.html" %}
-{% include code-snippet/document-editor/dialog-cs1/index.html %}
-{% endhighlight %}
-{% endtabs %}
-
-{% previewsample "page.domainurl/code-snippet/document-editor/dialog-cs1" %}
-{% endif %}
-
-## See Also
-
-* [Feature modules](../document-editor/feature-module)
-* [Bookmark dialog](../document-editor/dialog#bookmark-dialog)
diff --git a/ej2-javascript/document-editor/chart.md b/ej2-javascript/document-editor/chart.md
deleted file mode 100644
index b98073e51..000000000
--- a/ej2-javascript/document-editor/chart.md
+++ /dev/null
@@ -1,66 +0,0 @@
----
-layout: post
-title: Chart in ##Platform_Name## Document Editor Control | Syncfusion
-description: Learn here all about Chart in Syncfusion ##Platform_Name## Document editor control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: Chart
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Chart in ##Platform_Name## Document Editor Control
-
-Document Editor provides chart preservation support. Using Document Editor, you can see the chart reports from your Word document.
-
-The following example shows chart preservation in Document Editor.
-
-{% if page.publishingplatform == "typescript" %}
-
- {% tabs %}
-{% highlight ts tabtitle="index.ts" %}
-{% include code-snippet/document-editor/chart-cs1/index.ts %}
-{% endhighlight %}
-{% highlight html tabtitle="index.html" %}
-{% include code-snippet/document-editor/chart-cs1/index.html %}
-{% endhighlight %}
-{% endtabs %}
-
-{% previewsample "page.domainurl/code-snippet/document-editor/chart-cs1" %}
-
-{% elsif page.publishingplatform == "javascript" %}
-
-{% tabs %}
-{% highlight js tabtitle="index.js" %}
-{% include code-snippet/document-editor/chart-cs1/index.js %}
-{% endhighlight %}
-{% highlight html tabtitle="index.html" %}
-{% include code-snippet/document-editor/chart-cs1/index.html %}
-{% endhighlight %}
-{% endtabs %}
-
-{% previewsample "page.domainurl/code-snippet/document-editor/chart-cs1" %}
-{% endif %}
-
-## Supported Chart Types
-
-The following chart types are supported in Document Editor
-* Scatter_Markers
-* Bubble
-* Area
-* Area_Stacked
-* Area_Stacked_100
-* Bar_Clustered
-* Bar_Stacked
-* Bar_Stacked_100
-* Column_Clustered
-* Column_Stacked
-* Column_Stacked_100
-* Pie
-* Doughnut
-* Line
-* Line_Markers
-* Line_Markers_Stacked
-* Line_Markers_Stacked_100
-* Line_Stacked
-* Line_Stacked_100
diff --git a/ej2-javascript/document-editor/clipboard.md b/ej2-javascript/document-editor/clipboard.md
deleted file mode 100644
index d64f940f2..000000000
--- a/ej2-javascript/document-editor/clipboard.md
+++ /dev/null
@@ -1,101 +0,0 @@
----
-layout: post
-title: Clipboard in ##Platform_Name## Document editor control | Syncfusion
-description: Learn here all about Clipboard in Syncfusion ##Platform_Name## Document editor control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: Clipboard
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Clipboard in ##Platform_Name## Document editor control
-
-Document Editor takes advantage of system clipboard and allows you to copy or move a portion of the document into it in HTML format, so that it can be pasted in any application that supports clipboard.
-
-## Copy
-
-Copy a portion of document to system clipboard using built-in context menu of Document Editor. You can also do it programmatically using the following sample code.
-
-```ts
-documentEditor.selection.copy();
-```
-
-## Cut
-
-Cut a portion of document to system clipboard using built-in context menu of Document Editor. You can also do it programmatically using the following sample code.
-
-```ts
-documentEditor.editor.cut();
-```
-
-## Paste
-
-Due to limitations, you can paste contents from system clipboard in Document Editor only using the ‘CTRL + V’ keyboard shortcut.
-
->Note: Due to browser limitation of getting content from system clipboard, paste using API and context menu option doesn't work.
-
-## Local paste (copy/paste within control)
-
-Document Editor expose API to enable local paste within the control. On enabling this, the following is performed:
-* Selected contents will be stored to an internal clipboard in addition to system clipboard.
-* Clipboard paste will be overridden, and internally stored data (SFDT data) that has formatted text will be pasted using paste() API in Document editor.
-
-Refer to the following sample code.
-
-```ts
-//Initialize the Document Editor.
-let editor: DocumentEditor = new DocumentEditor({ enableEditor: true, isReadOnly: false, enableSelection: true });
-//Enable the local paste.
-editor.enableLocalPaste = true;
-```
-
-By default, **enableLocalPaste** is false.
-
-When local paste is enabled for a Document Editor instance, you can paste contents programmatically if the internal clipboard has stored data during last copy operation. Refer to the following sample code.
-
-```ts
-documentEditor.editor.paste();
-```
-
-### Paste options in context menu
-
-In Document editor, paste options in context menu will be in disabled state if you were try to copy/paste content from outside of Document editor. It gets enabled when **enableLocalPaste** is true and trying to copy/paste content inside Document editor.
-
->Note: Due to browser limitation of getting content from system clipboard, paste using API and context menu option doesn't work. Hence, the paste option is disabled in context menu.
-Alternatively, you can use the keyboard shortcuts,
-
-* Cut: Ctrl + X
-* Copy: Ctrl + C
-* Paste: Ctrl + V
-
-### EnableLocalPaste behaviour
-
-|**EnableLocalPaste** |**Paste behavior details**|
-|--------------------------|----------------------|
-|True |Allows to paste content that is copied from the same Document Editor component alone and prevents pasting content from system clipboard. Hence the content copied from outside Document Editor component can’t be pasted. Browser limitation of pasting from system clipboard using API and context menu options, will be resolved. So, you can copy and paste content within the Document Editor component using API and context menu options too.|
-|False|Allows to paste content from system clipboard. Hence the content copied from both the Document Editor component and outside can be pasted. Browser limitation of pasting from system clipboard using API and context menu options, will remain as a limitation.|
-
-Note:
-* Keyboard shortcut for pasting will work properly in both cases.
-* Copying content from Document Editor component and pasting outside will work properly in both cases.
-
-## Paste with formatting
-
-Document Editor provides support to paste the system clipboard data with formatting. To enable clipboard paste with formatting options and copy/paste content from outside of Document editor, set the `enableLocalPaste` property in Document Editor to false and use this .NET Standard library [`Syncfusion.EJ2.WordEditor.AspNet.Core`]() by the web API service implementation. This library helps you to paste the system clipboard data with formatting.
-
-Refer this [page](../document-editor/web-services-overview) for more details.
-
-You can paste your system clipboard data in the following ways:
-* **Keep Source Formatting** This option retains the character styles and direct formatting applied to the copied text. Direct formatting includes characteristics such as font size, italics, or other formatting that is not included in the paragraph style.
-* **Match Destination Formatting** This option discards most of the formatting applied directly to the copied text, but it retains the formatting applied for emphasis, such as bold and italic when it is applied to only a portion of the selection. The text takes on the style characteristics of the paragraph where it is pasted. The text also takes on any direct formatting or character style properties of text that immediately precedes the cursor when the text is pasted.
-* **Text Only** This option discards all formatting and non-text elements such as pictures or tables. The text takes on the style characteristics of the paragraph where it is pasted and takes on any direct formatting or character style properties of text that immediately precedes the cursor when the text is pasted. Graphical elements are discarded and tables are converted to a series of paragraphs.
-
-This paste option appear as follows.
-
-
-
-## See Also
-
-* [Feature modules](../document-editor/feature-module)
-* [Keyboard shortcuts](../document-editor/keyboard-shortcut#clipboard)
diff --git a/ej2-javascript/document-editor/collaborative-editing/overview.md b/ej2-javascript/document-editor/collaborative-editing/overview.md
deleted file mode 100644
index 0df8058ec..000000000
--- a/ej2-javascript/document-editor/collaborative-editing/overview.md
+++ /dev/null
@@ -1,43 +0,0 @@
----
-layout: post
-title: Collaborative Editing in ##Platform_Name## Document editor control | Syncfusion
-description: Learn about collaborative editing in Syncfusion ##Platform_Name## Document editor control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: Collaborative Editing
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Collaborative Editing
-
-Allows multiple users to work on the same document simultaneously. This can be done in real-time, so that collaborators can see the changes as they are made. Collaborative editing can be a great way to improve efficiency, as it allows team members to work together on a document without having to wait for others to finish their changes.
-
-## Prerequisites
-
-- *Real-time Transport Protocol*: This protocol facilitates instant communication between clients and the server, ensuring immediate updates during collaborative editing.
-- *Distributed Cache or Database*: Used to temporarily store the queue of editing operations.
-
-### Real time transport protocol
-
-- *Managing Connections*: Keeps active connections open for real-time collaboration, allowing seamless communication between users and the server.
-- *Broadcasting Changes*: Ensures that any edits made by one user are instantly sent to all collaborators, keeping everyone on the same page with the latest document version.
-
-### Distributed cache or database
-
-To support collaborative editing, it's crucial to have a backing system that temporarily stores the editing operations of all active users. There are two primary options:
-
-- ***Distributed Cache***: Handles more HTTP requests per second than a database approach. For example, a server with 2 vCPUs and 8GB RAM can process up to 125 requests per second using a distributed cache. We highly recommend using a distributed cache as a backing system over a database.
-
-- ***Database***: With the same server configuration, it can handle up to 50 requests per second.
-
-Using the distributed cache or database all the editing operations are queued in order and conflict resolution is performed using `Operational Transformation` algorithm.
-
->**Tips**: To calculate the average requests per second of your application Assume the editor in your live application is actively used by 1000 users and each user’s edit can trigger 2 to 5 requests per second. The total requests per second of your applications will be around 2000 to 5000. In this case, you can finalize a configuration to support around 5000 average requests per second.
-
->**Note**: The above metrics are based solely on the collaborative editing module. Actual throughput may decrease depending on other server-side interactions, such as document importing, pasting formatted content, editing restrictions, and spell checking. Therefore, it is advisable to monitor your app’s traffic and choose a configuration that best suits your needs.
-
-#### See Also
-
-- [Collaborative editing using Redis cache in ASP.NET Core](../../document-editor/collaborative-editing/using-redis-cache-asp-net-core)
-- [Collaborative editing using Java](../../document-editor/collaborative-editing/using-redis-cache-java)
diff --git a/ej2-javascript/document-editor/collaborative-editing/using-redis-cache-asp-net-core.md b/ej2-javascript/document-editor/collaborative-editing/using-redis-cache-asp-net-core.md
deleted file mode 100644
index a5fa3a9c1..000000000
--- a/ej2-javascript/document-editor/collaborative-editing/using-redis-cache-asp-net-core.md
+++ /dev/null
@@ -1,408 +0,0 @@
----
-layout: post
-title: Collaborative Editing in ##Platform_Name## Document editor control | Syncfusion
-description: Learn how to enable collaborative editing using Redis in Syncfusion ##Platform_Name## Document editor control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: Collaborative Editing
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Collaborative Editing
-
-Allows multiple users to work on the same document simultaneously. This can be done in real-time, so that collaborators can see the changes as they are made. Collaborative editing can be a great way to improve efficiency, as it allows team members to work together on a document without having to wait for others to finish their changes.
-
-## Prerequisites
-
-The following are needed to enable collaborative editing in Document Editor.
-
-* `SignalR`
-* `Redis`
-
-## SignalR
-
-In collaborative editing, real-time communication is Essential® for users to see each other's changes instantly. We use a real-time transport protocol to efficiently send and receive data as edits occur. For this, we utilize SignalR, which supports real-time data exchange between the client and server. SignalR ensures that updates are transmitted immediately, allowing seamless collaboration by handling the complexities of connection management and offering reliable communication channels.
-
-To make SignalR work in a distributed environment (with more than one server instance), it needs to be configured with either Azure SignalR Service or a Redis backplane.
-
-### Scale-out SignalR using Azure SignalR service
-
-Azure SignalR Service is a scalable, managed service for real-time communication in web applications. It enables real-time messaging between web clients (browsers) and your server-side application(across multiple servers).
-
-Below is a code snippet to configure Azure SignalR in an ASP.NET Core application using the ```AddAzureSignalR``` method
-
-```csharp
-builder.Services.AddSignalR() .AddAzureSignalR("", options => {
- // Specify the channel name
- options.Channels.Add("document-editor");
- });
-```
-
-### Scale-out SignalR using Redis
-
-Using a Redis backplane, you can achieve horizontal scaling of your SignalR application. The SignalR leverages Redis to efficiently broadcast messages across multiple servers. This allows your application to handle large user bases with minimal latency.
-
-In the SignalR app, install the following NuGet package:
-* ` Microsoft.AspNetCore.SignalR.StackExchangeRedis`
-
-Below is a code snippet to configure Redis backplane in an ASP.NET Core application using the ```AddStackExchangeRedis ``` method
-
-```csharp
-builder.Services.AddSignalR().AddStackExchangeRedis("");
-```
-Configure options as needed:
-
-The following example shows how to add a channel prefix in the ConfigurationOptions object.
-
-```csharp
-builder.Services.AddDistributedMemoryCache().AddSignalR().AddStackExchangeRedis(connectionString, options =>
- {
- options.Configuration.ChannelPrefix = "document-editor";
- });
-```
-
-## Redis
-
-In collaborative editing, Redis is used to store temporary data that helps queue editing operations and resolve conflicts using the `Operational Transformation` algorithm.
-
-All editing operations in collaborative editing are stored in the Redis cache. To prevent memory buildup, we can configure a `SaveThreshold` limit at the application level. If the `SaveThreshold` is 100, editing operations up to twice the save threshold limit are kept in Redis per document. Once exceeded, the first 100 operations (as defined by the save threshold) are removed from the cache and automatically saved to the source input document.
-
-The configuration and store size of the Redis cache can be adjusted based on the following considerations.
-
-- *Storage Requirements*: A minimum of 400KB of cache memory is needed for editing a single document, with the capacity to store up to 100 editing operations. Storage needs may increase based on following factor.
- - *Images*: Increases with the number of images added to the document.
- - *Pasted content*: Depends on the size of the SFDT content.
-- *Connection Limits*: Redis has a limit on concurrent connections. Choose the Redis configuration based on your user base to ensure optimal performance.
-
-> For better performance, we recommend to have minimum `SaveThreshold` limit of 100.
-
-## How to enable collaborative editing in client side
-
-### Step 1: Enable collaborative editing in Document Editor
-
-To enable collaborative editing, inject `CollaborativeEditingHandler` and set the property `enableCollaborativeEditing` to true in the Document Editor, like in the code snippet below.
-
-{% if page.publishingplatform == "typescript" %}
-{% tabs %}
-{% highlight ts tabtitle="index.ts" %}
-{% include code-snippet/document-editor/collaborative-editing-cs1/index.ts %}
-{% endhighlight %}
-{% endtabs %}
-
-{% elsif page.publishingplatform == "javascript" %}
-
-{% tabs %}
-{% highlight js tabtitle="index.js" %}
-{% include code-snippet/document-editor/collaborative-editing-cs1/index.js %}
-{% endhighlight %}
-{% endtabs %}
-
-{% endif %}
-
-### Step 2: Configure SignalR to send and receive changes
-
-To broadcast the changes made and receive changes from remote users, configure SignalR like below.
-
-{% if page.publishingplatform == "typescript" %}
-{% tabs %}
-{% highlight ts tabtitle="index.ts" %}
-{% include code-snippet/document-editor/collaborative-editing-cs1/script-1.ts %}
-{% endhighlight %}
-{% endtabs %}
-
-{% elsif page.publishingplatform == "javascript" %}
-
-{% tabs %}
-{% highlight js tabtitle="index.js" %}
-{% include code-snippet/document-editor/collaborative-editing-cs1/script-1.js %}
-{% endhighlight %}
-{% endtabs %}
-
-{% endif %}
-
-### Step 3: Join SignalR room while opening the document
-
-When opening a document, we need to generate a unique ID for each document. These unique IDs are then used to create rooms using SignalR, which facilitates sending and receiving data from the server.
-
-{% if page.publishingplatform == "typescript" %}
-{% tabs %}
-{% highlight ts tabtitle="index.ts" %}
-{% include code-snippet/document-editor/collaborative-editing-cs1/script-2.ts %}
-{% endhighlight %}
-{% endtabs %}
-
-{% elsif page.publishingplatform == "javascript" %}
-
-{% tabs %}
-{% highlight js tabtitle="index.js" %}
-{% include code-snippet/document-editor/collaborative-editing-cs1/script-2.js %}
-{% endhighlight %}
-{% endtabs %}
-
-{% endif %}
-
-### Step 4: Broadcast current editing changes to remote users
-
-Changes made on the client-side need to be sent to the server-side to broadcast them to other connected users. To send the changes made to the server, use the method shown below from the document editor using the `contentChange` event.
-
-{% if page.publishingplatform == "typescript" %}
-{% tabs %}
-{% highlight ts tabtitle="index.ts" %}
-{% include code-snippet/document-editor/collaborative-editing-cs1/script-3.ts %}
-{% endhighlight %}
-{% endtabs %}
-
-{% elsif page.publishingplatform == "javascript" %}
-
-{% tabs %}
-{% highlight js tabtitle="index.js" %}
-{% include code-snippet/document-editor/collaborative-editing-cs1/script-3.js %}
-{% endhighlight %}
-{% endtabs %}
-
-{% endif %}
-
-## How to enable collaborative editing in ASP.NET Core
-
-### Step 1: Configure SignalR in ASP.NET Core
-
-We are using Microsoft SignalR to broadcast the changes. Please add the following configuration to your application's `Program.cs` file.
-
-```csharp
- using Microsoft.Azure.SignalR;
- .....
- builder.Services.AddSignalR();
- .....
- .....
- .....
- app.MapHub("/documenteditorhub");
- .....
- .....
-```
-
-### Step 2: Configure SignalR hub to create room for collaborative editing session
-
-To manage groups for each document, create a folder named "Hub" and add a file named `DocumentEditorHub.cs` inside it. Add the following code to the file to manage SignalR groups using room names.
-
-Join the group by using unique id of the document by using `JoinGroup` method.
-
-```csharp
-static Dictionary userManager = new Dictionary();
- internal static Dictionary> groupManager = new Dictionary>();
-
- // Join to the specified room name
- public async Task JoinGroup(ActionInfo info)
- {
- if (!userManager.ContainsKey(Context.ConnectionId))
- {
- userManager.Add(Context.ConnectionId, info);
- }
- info.ConnectionId = Context.ConnectionId;
- //Add the current connected use to the specified group
- await Groups.AddToGroupAsync(Context.ConnectionId, info.RoomName);
- if (groupManager.ContainsKey(info.RoomName))
- {
- await Clients.Caller.SendAsync("dataReceived", "addUser", groupManager[info.RoomName]);
- }
- lock (groupManager)
- {
- if (groupManager.ContainsKey(info.RoomName))
- {
- groupManager[info.RoomName].Add(info);
- }
- else
- {
- List actions = new List
- {
- info
- };
- groupManager.Add(info.RoomName, actions);
- }
- }
- // Notify other users in the group about new user joined the collaborative editing session.
- Clients.GroupExcept(info.RoomName, Context.ConnectionId).SendAsync("dataReceived", "addUser", info);
- }
-
-```
-
-Handle user disconnection using SignalR.
-
-```csharp
-//Handle disconnection from group.
- public override Task OnDisconnectedAsync(Exception? e)
- {
- string roomName = userManager[Context.ConnectionId].RoomName;
- if (groupManager.ContainsKey(roomName))
- {
- groupManager[roomName].Remove(userManager[Context.ConnectionId]);
-
- if (groupManager[roomName].Count == 0)
- {
- groupManager.Remove(roomName);
- //If all user disconnected from current room. Auto save the change to source document.
- CollaborativeEditingController.UpdateOperationsToSourceDocument(roomName, “<>”, false);
- }
- }
-
- if (userManager.ContainsKey(Context.ConnectionId))
- {
- //Notify other user in the group about user exit the collaborative editing session
- Clients.OthersInGroup(roomName).SendAsync("dataReceived", "removeUser", Context.ConnectionId);
- Groups.RemoveFromGroupAsync(Context.ConnectionId, roomName);
- userManager.Remove(Context.ConnectionId);
- }
- return base.OnDisconnectedAsync(e);
- }
-
-```
-
-### Step 3: Configure Redis cache connection string in application level
-
-Configure the Redis that stores temporary data for the collaborative editing session. Provide the Redis connection string in `appsettings.json` file.
-
-```json
-.....
- "ConnectionStrings": {
- "RedisConnectionString": "<>"
- }
-.....
-
-```
-
-### Step 4: Configure Web API actions for collaborative editing
-
-#### Import File
-
-1. When opening a document, check the Redis cache for pending operations and retrieve them for the collaborative editing session.
-2. If pending operations exist, apply them to the WordDocument instance using the `UpdateActions` method before converting it to the SFDT format.
-
-```csharp
-public string ImportFile([FromBody] FileInfo param)
- {
- .....
- .....
- DocumentContent content = new DocumentContent();
-
- .....
- //Get source document from database/file system/blob storage
- WordDocument document = GetSourceDocument(param.fileName);
- .....
- //Get the temporary operations
- List actions = await GetPendingOperations(param.fileName, 0, -1);
- if(actions!=null && actions.Count > 0)
- {
- //Apply temporary data to the document.
- document.UpdateActions(actions);
- }
- string json = Newtonsoft.Json.JsonConvert.SerializeObject(document);
- content.version = 0;
- content.sfdt = json;
- return Newtonsoft.Json.JsonConvert.SerializeObject(content);
- }
-
-```
-
-#### Update editing records to Redis cache.
-
-Each edit operation performed by the user is sent to the server and pushed into a Redis list data structure. Each operation is assigned a version number upon insertion into Redis.
-
-After inserting the record into the server, the position of the current editing operation must be transformed relative to any previous editing operations not yet synced with the client using the `TransformOperation` method to resolve any potential conflicts with the help of the `Operational Transformation` algorithm.
-
-Once the conflict is resolved, the current operation is broadcast to all connected users within the group.
-
-```csharp
-public async Task UpdateAction([FromBody] ActionInfo param)
-{
- try
- {
- ActionInfo modifiedAction = AddOperationsToCache(param);
- //After transformation broadcast changes to all users in the gropu
- await _hubContext.Clients.Group(param.RoomName).SendAsync("dataReceived", "action", modifiedAction);
- return modifiedAction;
- }
- catch
- {
- return null;
- }
-}
-
-private ActionInfo AddOperationsToCache(ActionInfo action)
- {
- int clientVersion = action.Version;
- string insertScript = "-------"
- …………
- …………
- …………
- …………
-
- IDatabase database = _redisConnection.GetDatabase();
- // Define the keys for Redis operations based on the action's room name
- RedisKey[] keys = new RedisKey[] { action.RoomName + CollaborativeEditingHelper.VersionSuffix, action.RoomName, action.RoomName + CollaborativeEditingHelper.RevisionSuffix };
- // Serialize the action and prepare values for the Redis script
- RedisValue[] values = new RedisValue[] { JsonConvert.SerializeObject(action), clientVersion.ToString(), CollaborativeEditingHelper.SaveThreshold.ToString() };
- // Execute the Lua script in Redis and store the results
- RedisResult[] results = (RedisResult[])await database.ScriptEvaluateAsync(insertScript, keys, values);
-
- List previousOperations = ((RedisResult[])results[1]).Select(value => JsonConvert.DeserializeObject(value.ToString())).ToList();
- previousOperations.ForEach(op => op.Version = ++clientVersion);
- if (previousOperations.Count > 1)
- {
- // Set the current action to the last operation in the list
- action = previousOperations.Last();
- // Transform operations that have not been transformed yet
- previousOperations.Where(op => !op.IsTransformed).ToList().ForEach(op => CollaborativeEditingHandler.TransformOperation(op, previousOperations));
- }
- action = actions[actions.Count - 1];
- action.Version = updateVersion;
- //Return the transformed operation to broadcast it to other clients.
- return action;
- }
-
-```
-
-#### Add Web API to get previous operation as a backup to get lost operations
-
-On the client side, messages broadcast using SignalR might be received out of order or lost due to network issues. In such cases, we need a backup method to retrieve missing operations from Redis. By using the following method, we can retrieve all operations performed after the last successful client-synchronized version and return any missing operations to the requesting client.
-
-```csharp
- public async Task GetActionsFromServer(ActionInfo param)
- {
- try
- {
- // Initialize necessary variables from the parameters and helper class
- int saveThreshold = CollaborativeEditingHelper.SaveThreshold;
- string tableName = param.RoomName;
- int lastSyncedVersion = param.Version;
- int clientVersion = param.Version;
-
- // Retrieve the database connection
- IDatabase database = _redisConnection.GetDatabase();
-
- // Fetch actions that are effective and pending based on the last synced version
- List actions = await GetEffectivePendingVersion(tableName, lastSyncedVersion);
-
- // Increment the version for each action sequentially
- actions.ForEach(action => action.Version = ++clientVersion);
-
- // Filter actions to only include those that are newer than the client's last known version
- actions = actions.Where(action => action.Version > lastSyncedVersion).ToList();
-
- // Transform actions that have not been transformed yet
- actions.Where(action => !action.IsTransformed).ToList()
- .ForEach(action => CollaborativeEditingHandler.TransformOperation(action, actions));
-
- // Serialize the filtered and transformed actions to JSON and return
- return Newtonsoft.Json.JsonConvert.SerializeObject(actions);
- }
- catch (Exception ex)
- {
- // In case of an exception, return an empty JSON object
- return "{}";
- }
- }
-```
-
-Full version of the code discussed about can be found in below GitHub location.
-
-GitHub Example: [`Collaborative editing examples`](https://github.com/SyncfusionExamples/EJ2-Document-Editor-Collaborative-Editing)
\ No newline at end of file
diff --git a/ej2-javascript/document-editor/collaborative-editing/using-redis-cache-java.md b/ej2-javascript/document-editor/collaborative-editing/using-redis-cache-java.md
deleted file mode 100644
index 4a45bcb93..000000000
--- a/ej2-javascript/document-editor/collaborative-editing/using-redis-cache-java.md
+++ /dev/null
@@ -1,349 +0,0 @@
----
-layout: post
-title: Collaborative Editing in ##Platform_Name## Document editor control | Syncfusion
-description: Learn how to enable collaborative editing in Syncfusion ##Platform_Name## Document editor control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: Collaborative Editing Java
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Collaborative Editing Java
-
-Allows multiple users to work on the same document simultaneously. This can be done in real-time, so that collaborators can see the changes as they are made. Collaborative editing can be a great way to improve efficiency, as it allows team members to work together on a document without having to wait for others to finish their changes.
-
-
-## Prerequisites
-
-The following are needed to enable collaborative editing in Document Editor.
-
-- `SockJS`
-- `Redis`
-
-## How to enable collaborative editing in client side
-
-### Step 1: Enable collaborative editing in Document Editor
-
-To enable collaborative editing, inject `CollaborativeEditingHandler` and set the property `enableCollaborativeEditing` to true in the Document Editor, like in the code snippet below.
-
-{% if page.publishingplatform == "typescript" %}
-{% tabs %}
-{% highlight ts tabtitle="index.ts" %}
-{% include code-snippet/document-editor/collaborative-editing-java-cs1/index.ts %}
-{% endhighlight %}
-{% endtabs %}
-
-{% elsif page.publishingplatform == "javascript" %}
-
-{% tabs %}
-{% highlight js tabtitle="index.js" %}
-{% include code-snippet/document-editor/collaborative-editing-java-cs1/index.js %}
-{% endhighlight %}
-{% endtabs %}
-
-{% endif %}
-
-### Step 2: Configure SockJS to send and receive changes
-
-To broadcast the changes made and receive changes from remote users, configure SockJS like below.
-
-{% if page.publishingplatform == "typescript" %}
-{% tabs %}
-{% highlight ts tabtitle="index.ts" %}
-{% include code-snippet/document-editor/collaborative-editing-java-cs1/script-1.ts %}
-{% endhighlight %}
-{% endtabs %}
-
-{% elsif page.publishingplatform == "javascript" %}
-
-{% tabs %}
-{% highlight js tabtitle="index.js" %}
-{% include code-snippet/document-editor/collaborative-editing-java-cs1/script-1.js %}
-{% endhighlight %}
-{% endtabs %}
-
-{% endif %}
-
-### Step 3: Subscribe to specific topic while opening the document
-
-When opening a document, we need to generate a unique ID for each document. These unique IDs are then used to create rooms using SockJS, which facilitates sending and receiving data from the server.
-
-{% if page.publishingplatform == "typescript" %}
-{% tabs %}
-{% highlight ts tabtitle="index.ts" %}
-{% include code-snippet/document-editor/collaborative-editing-java-cs1/script-2.ts %}
-{% endhighlight %}
-{% endtabs %}
-
-{% elsif page.publishingplatform == "javascript" %}
-
-{% tabs %}
-{% highlight js tabtitle="index.js" %}
-{% include code-snippet/document-editor/collaborative-editing-java-cs1/script-2.js %}
-{% endhighlight %}
-{% endtabs %}
-
-{% endif %}
-
-### Step 4: Broadcast current editing changes to remote users
-
-Changes made on the client-side need to be sent to the server-side to broadcast them to other connected users. To send the changes made to the server, use the method shown below from the document editor using the `contentChange` event.
-
-{% if page.publishingplatform == "typescript" %}
-{% tabs %}
-{% highlight ts tabtitle="index.ts" %}
-{% include code-snippet/document-editor/collaborative-editing-java-cs1/script-3.ts %}
-{% endhighlight %}
-{% endtabs %}
-
-{% elsif page.publishingplatform == "javascript" %}
-
-{% tabs %}
-{% highlight js tabtitle="index.js" %}
-{% include code-snippet/document-editor/collaborative-editing-java-cs1/script-3.js %}
-{% endhighlight %}
-{% endtabs %}
-
-{% endif %}
-
-## How to enable collaborative editing in Java
-
-### Step 1: Configure SockJS hub to create room for collaborative editing session.
-
-To manage groups for each document, create a folder named “Hub” and add a file named ``` DocumentEditorHub.java ``` inside it. Add the following code to the file to manage SockJS groups using room names.
-
-Join the group by using unique id of the document by using `joinGroup` method.
-
-```java
-@MessageMapping("/join/{documentName}")
-public void joinGroup(ActionInfo info, SimpMessageHeaderAccessor headerAccessor,
- @DestinationVariable String documentName) throws JsonProcessingException {
- // To get the connection Id
- String connectionId = headerAccessor.getSessionId();
- info.setConnectionId(connectionId);
- String docName = info.getRoomName();
- HashMap additionalHeaders = new HashMap<>();
- additionalHeaders.put("action", "connectionId");
- MessageHeaders headers = new MessageHeaders(additionalHeaders);
- // send the connection Id to the client
- broadcastToRoom(docName, info, headers);
- …………
- …………
- …………
-}
-
-public static void broadcastToRoom(String roomName, Object payload, MessageHeaders headers) {
- messagingTemplate.convertAndSend("/topic/public/" + roomName, MessageBuilder.createMessage(payload, headers));
-}
-```
-### Step 2: Handle user disconnection using SockJS.
-
-```java
-@EventListener
-public void handleWebSocketDisconnectListener(SessionDisconnectEvent event) throws Exception {
- String sessionId = event.getSessionId();
- try (Jedis jedis = RedisSubscriber.getJedis()) {
- // to get the user details of the provided sessionId
- String docName = jedis.hget("documentMap", sessionId);
- // Publish a message indicating the user's departure from the group
- jedis.publish(docName, "LEAVE|" + sessionId);
- } catch (JedisConnectionException e) {
- System.out.println(e);
- }
-}
-```
-
-### Step 3: Configure Redis cache connection string in application level.
-
-Configure the Redis that stores temporary data for the collaborative editing session. Provide the Redis connection string in `application.properties` file.
-
-```java
-//Redis configuration
-spring.datasource.redishost= ""
-spring.datasource.redisport= ""
-spring.datasource.redispassword= ""
-spring.datasource.redisssl =
-```
-
-### Step 4: Configure Web API actions for collaborative editing.
-
-#### Import File
-- When opening a document, create a Redis cache to store temporary data for the collaborative editing session.
-- If the Redis cache already exists, retrieve the records from the Redis cache and apply them to the WordProcessorHelper instance using the `updateActions` method before converting it to the SFDT format.
-
-```java
-public String importFile(@RequestBody FilesPathInfo file) throws Exception {
- try {
- ClassLoader classLoader = getClass().getClassLoader();
- // Get source document from database/file system/blob storage
- WordProcessorHelper document = getDocumentFromBucketS3(file.getFileName(), datasourceAccessKey,
- datasourceSecretKey, datasourceBucketName);
- documentName=file.getFileName();
- // Get the list of pending operations for the document
- List actions = getPendingOperations(file.getFileName(), 0, -1);
- if (actions != null && actions.size() > 0) {
- // If there are any pending actions, update the document with these actions
- document.updateActions(actions);
- }
- // Serialize the updated document to SFDT format
- String json = WordProcessorHelper.serialize(document);
- // Return the serialized content as a JSON string
- return json;
- } catch (Exception e) {
- e.printStackTrace();
- return "{\"sections\":[{\"blocks\":[{\"inlines\":[{\"text\":" + e.getMessage() + "}]}]}]}";
- }
-}
-```
-
-#### Update editing records to Redis
-- Each edit operation made by the user is sent to the server and is pushed to the Redis. Each operation receives a version number after being inserted into the Redis.
-- After inserting the records to the server, the position of the current editing operation must be transformed against any previous editing operations not yet synced with the client using the TransformOperation method.
-- After performing the transformation, the current operation is broadcast to all connected users within the group.
-
-```java
-public ActionInfo updateAction(@RequestBody ActionInfo param) throws Exception {
- String roomName = param.getRoomName();
- ActionInfo transformedAction = addOperationsToCache(param);
- HashMap action = new HashMap<>();
- action.put("action", "updateAction");
- DocumentEditorHub.publishToRedis(roomName, transformedAction);
- DocumentEditorHub.broadcastToRoom(roomName, transformedAction, new MessageHeaders(action));
- return transformedAction;
-}
-
-private ActionInfo addOperationsToCache(ActionInfo action) throws Exception {
- int clientVersion = action.getVersion();
- …………
- …………
- …………
-
- // Define the keys for Redis operations based on the action's room name
- String[] keys = { roomName + CollaborativeEditingHelper.versionInfoSuffix, roomName,
- roomName + CollaborativeEditingHelper.revisionInfoSuffix,
- roomName + CollaborativeEditingHelper.actionsToRemoveSuffix };
- // Prepare values for the Redis script
- String[] values = { serializedAction, String.valueOf(clientVersion),
- String.valueOf(CollaborativeEditingHelper.saveThreshold) };
-
- …………
- …………
- …………
- // Return the updated action
- return action;
-}
-```
-
-#### Add Web API to get previous operation as a backup to get lost operations
-On the client side, messages send from server using SockJS may be received in a different order, or some operations may be missed due to network issues. In these cases, we need a backup method to retrieve missing records from the Redis.
-Using the following method, we can retrieve all operations after the last successful client-synced version and return all missing operations to the requesting client.
-
-```java
-@PostMapping("/api/collaborativeediting/GetActionsFromServer")
-public String getActionsFromServer(@RequestBody ActionInfo param) throws ClassNotFoundException {
- try (Jedis jedis = RedisSubscriber.getJedis()) {
- // Initialize necessary variables from the parameters and helper class
- int saveThreshold = CollaborativeEditingHelper.saveThreshold;
- String roomName = param.getRoomName();
- int lastSyncedVersion = param.getVersion();
- int clientVersion = param.getVersion();
- // Fetch actions that are effective and pending based on the last synced version
- List actions = GetEffectivePendingVersion(roomName, lastSyncedVersion, jedis);
- List currentAction = new ArrayList<>();
-
- for (ActionInfo action : actions) {
- // Increment the version for each action sequentially
- action.setVersion(++clientVersion);
-
- // Filter actions to only include those that are newer than the client's last
- // known version
- if (action.getVersion() > lastSyncedVersion) {
- // Transform actions that have not been transformed yet
- if (!action.isTransformed()) {
- CollaborativeEditingHandler.transformOperation(action, new ArrayList<>(actions));
- }
- currentAction.add(action);
- }
- }
- // Serialize the filtered and transformed actions to JSON and return
- return gson.toJson(currentAction);
- } catch (Exception ex) {
- ex.printStackTrace();
- // In case of an exception, return an empty JSON object
- return "{}";
- }
-}
-```
-## How to perform Scaling in Collaborative Editing.
-
-### Role of Scaling in Collaborative editing
-As the number of users increases, collaborative application face challenges in maintaining responsiveness and performance. This is where scaling becomes crucial. Scaling refers to the ability of an application to handle growing demands by effectively distributing the workload across multiple resources.
-
-During scaling the users may connected to different servers, so collaborative editing application introduces a specific challenge like, updating the edit operations to all the users connected in different serves. To overcome this issue you need to use ``` Redis Cache pub/sub ``` for message relay(syncing the editing operations to the users connected to different server instance)
-
-### Use of Redis Pub/Sub in scaling environment
-Redis offers Pub/Sub functionality. The publish/subscribe (pub/sub) pattern provides asynchronous communication among multiple AWS services without creating interdependency. When a user edits a document, the application can publish the changes to a Redis channel. Clients (in different server instances) subscribed to that channel receive real-time updates, reflecting the changes in their document views.
-
-### Steps to configure Redis in Collaborative Editing Application
-Refer to the below steps to know about the Redis pub/sub implementation to sync the messages.
-
-#### Step 1: Configure Redis in application level to establish the connection.
-
-```java
-//Redis configuration
-spring.datasource.redishost= ""
-spring.datasource.redisport= ""
-```
-#### Step 2: Publish each editing operation to a Redis channel
-
-Publish each editing operation to Redis channel with the room name. This will send notifications to all the users(in different servers) subscribed to that specific channel. Refer to the publishToRedis() method in DocumentEditorHub.Java for details.
-
-```java
-try (Jedis jedis = RedisSubscriber.jedisPool.getResource()) {
-jedis.publish("collaborativeedtiting", new com.fasterxml.jackson.databind.ObjectMapper().writeValueAsString(payload));
- break;
- } catch (JedisConnectionException e) {
- }
-```
-#### Step 3: Subscribe to the specific channel using the Redis cache 'Subscribe'
-
- Redis cache will be initialized and subscribe to the specific channel using the Redis cache 'Subscribe' option. This ensures that users in any server will get notified when an editing operation is published to the Redis cache using the onMessage() API. Refer to the code snippet in RedisSubscriber.Java for details.
-
- ```java
-@PostConstruct
- public void subscribeToInstanceChannel() {
- //Subscriber to `collaborativeediting`
- String channel = "collaborativeedtiting";
- new Thread(() -> {
- JedisPoolConfig poolConfig = new JedisPoolConfig();
- jedisPool = new JedisPool(poolConfig, REDIS_HOST, REDIS_PORT);
- try (Jedis jedis = jedisPool.getResource()) {
- jedis.subscribe(new JedisPubSub() {
- @Override
- public void onMessage(String channel, String message) {
- -------------
- ------
- // Message will be broadcasted to all the users connected to that room using sockjs
- DocumentEditorHub.broadcastToRoom(action.getRoomName(), action, updateActionheaders);
- } catch (JsonProcessingException e) {
- e.printStackTrace();
- }
- }
- @Override
- public void onSubscribe(String channel, int subscribedChannels) {
- System.out.println("Subscribed to channel: " + channel);
- }
- }, channel);
- } catch (JedisConnectionException e) {
- // Handle the connection exception
- System.out.println("Connection failed. Retrying ...");
- }
- }).start();
- }
-```
-
-
-Full version of the code discussed about can be found in below GitHub location.
-
-GitHub Example: [`Collaborative editing examples`](https://github.com/SyncfusionExamples/EJ2-Document-Editor-Collaborative-Editing)
diff --git a/ej2-javascript/document-editor/comments.md b/ej2-javascript/document-editor/comments.md
deleted file mode 100644
index 0e510f6ec..000000000
--- a/ej2-javascript/document-editor/comments.md
+++ /dev/null
@@ -1,323 +0,0 @@
----
-layout: post
-title: Comments in ##Platform_Name## Document editor control | Syncfusion
-description: Learn here all about Comments in Syncfusion ##Platform_Name## Document editor control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: Comments
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Comments in ##Platform_Name## Document editor control
-
-Document Editor allows you to add comments to documents. You can add, navigate and remove comments in code and from the UI.
-
-## Add a new comment
-
-Comments can be inserted to the selected text.
-
-```ts
-//Add new commnt in the document.
-documentEditor.editor.insertComment('Test comment');
-```
-
-## Add a New Comment with Date, Author, and Status
-
-Comments can be inserted into the selected text with a specified date, author, and status [`insertComment`](../api/document-editor/editor/#insertcomment).
-
-{% if page.publishingplatform == "typescript" %}
-{% highlight ts %}
-// In this example, a comment with the text "Hello world"
-// is added by the author Nancy Davolio on July 23, 2024, at 2:30 PM.
-// The isResolved status is set to false.
-
-// Create a specific date: July 23, 2024, at 2:30:00 PM.
-// Note: July is represented by 6 (0-based index).
-let specificDate = new Date(2024, 6, 23, 14, 30, 0);
-
-
-// Define the properties of the comment including author, date, and resolution status.
-let commentProperties: CommentProperties = {
- author: 'Nancy Davolio', // The author of the comment.
- dateTime: specificDate, // The date and time when the comment is created.
- isResolved: false // The status of the comment; false indicates it is unresolved.
-};
-
-// Insert the comment with the specified properties into the document editor.
-documentEditor.editor.insertComment('Hello world', commentProperties);
-{% endhighlight %}
-{% elsif page.publishingplatform == "javascript" %}
-{% highlight ts %}
-// In this example, a comment with the text "Hello world"
-// is added by the author Nancy Davolio on July 23, 2024, at 2:30 PM.
-// The isResolved status is set to false.
-
-// Create a specific date: July 23, 2024, at 2:30:00 PM.
-// Note: July is represented by 6 (0-based index).
-var specificDate = new Date(2024, 6, 23, 14, 30, 0);
-
-// Define the properties of the comment including author, date, and resolution status.
-var commentProperties = {
- author: 'Nancy Davolio', // The author of the comment.
- dateTime: specificDate, // The date and time when the comment is created.
- isResolved: false // The status of the comment; false indicates it is unresolved.
-};
-
-// Insert the comment with the specified properties into the document editor.
-documentEditor.editor.insertComment('Hello world', commentProperties);
-{% endhighlight %}
-{% endif %}
-
-## Add a Reply Comment with Date, Author, and Status
-
-Reply comments can be inserted into the parent comment with a specified date, author using [`insertReplyComment`](../api/document-editor/editor/#insertreplycomment).
-
-{% if page.publishingplatform == "typescript" %}
-{% highlight ts %}
-// In this example, a comment with the text "Hello world"
-// is added by the author Nancy Davolio on July 23, 2024, at 2:30 PM.
-// The isResolved status is set to false.
-
-// Create a specific date: July 23, 2024, at 2:30:00 PM.
-// Note: July is represented by 6 (0-based index).
-let specificDate = new Date(2024, 6, 23, 14, 30, 0);
-
-// Define the properties of the comment including author, date, and resolution status.
-let commentProperties: CommentProperties = {
- author: 'Nancy Davolio', // The author of the comment.
- dateTime: specificDate, // The date and time when the comment is created.
- isResolved: false // The status of the comment; false indicates it is unresolved.
-};
-
-// Insert the comment with the specified properties into the Document Editor.
-let comment: Comment = documentEditor.editor.insertComment('Hello world', commentProperties);
-// Insert a reply comment with specified properties into the Document Editor
-documentEditor.editor.insertReplyComment(comment.id, 'Hello world', commentProperties);
-{% endhighlight %}
-{% elsif page.publishingplatform == "javascript" %}
-{% highlight ts %}
-// In this example, a comment with the text "Hello world"
-// is added by the author Nancy Davolio on July 23, 2024, at 2:30 PM.
-// The isResolved status is set to false.
-
-// Create a specific date: July 23, 2024, at 2:30:00 PM.
-// Note: July is represented by 6 (0-based index).
-var specificDate = new Date(2024, 6, 23, 14, 30, 0);
-
-// Define the properties of the comment including author, date, and resolution status.
-var commentProperties = {
- author: 'Nancy Davolio', // The author of the comment.
- dateTime: specificDate, // The date and time when the comment is created.
- isResolved: false // The status of the comment; false indicates it is unresolved.
-};
-
-// Insert the comment with the specified properties into the document editor.
-var comment = documentEditor.editor.insertComment('Hello world', commentProperties);
-// Insert a reply comment with specified properties into the Document Editor
-documentEditor.editor.insertReplyComment(comment.id, 'Hello world', commentProperties);
-{% endhighlight %}
-{% endif %}
-
-## Get Comments
-
-Document Editor allows to get the comments along with its reply and comment properties using [`getComments`](../api/document-editor/#getComments).
-
-{% if page.publishingplatform == "typescript" %}
-{% highlight ts %}
-//Get Comments in the document along with the properties author, date, status.
-let commentinfo: CommentInfo[] = container.documentEditor.getComments();
-{% endhighlight %}
-{% elsif page.publishingplatform == "javascript" %}
-{% highlight ts %}
-//Get Comments in the document along with the properties author, date, status.
-var commentInfo = container.documentEditor.getComments();
-{% endhighlight %}
-{% endif %}
-
-
-## Comment navigation
-
-Next and previous comments can be navigated using the below code snippet.
-
-```ts
-//Navigate to next comment
-documentEditor.selection.navigateNextComment();
-
-//Navigate to previous comment
-documentEditor.selection.navigatePreviousComment();
-```
-
-
-## Delete comment
-
-Current comment can be be deleted using [`deleteComment`](../api/document-editor/editor/#deletecomment).
-
-{% if page.publishingplatform == "typescript" %}
-{% highlight ts %}
-//Delete the current selected comment.
-container.documentEditor.editor.deleteComment();
-
-//Get Comments in the document along with the properties author, date, status.
-let commentinfo: CommentInfo[] = container.documentEditor.getComments();
-
-//Delete the particular parent comments and all of its reply comments
-container.documentEditor.editor.deleteComment(commentinfo[0].id);
-
-//Delete the particular reply comment.
-container.documentEditor.editor.deleteComment(commentinfo[0].replies[0].id);
-{% endhighlight %}
-{% elsif page.publishingplatform == "javascript" %}
-{% highlight ts %}
-//Delete the current selected comment.
-container.documentEditor.editor.deleteComment();
-
-//Get Comments in the document along with the properties author, date, status.
-var commentinfo = container.documentEditor.getComments();
-
-//Delete the particular parent comments and all of its reply comments
-container.documentEditor.editor.deleteComment(commentinfo[0].id);
-
-//Delete the particular reply comment.
-container.documentEditor.editor.deleteComment(commentinfo[0].replies[0].id);
-{% endhighlight %}
-{% endif %}
-
-## Delete all comment
-
-All the comments in the document can be deleted using the below code snippet.
-
-```ts
-//Delete all the comments present in the current document.
-documentEditor.editor.deleteAllComments();
-```
-
-## Protect the document in comments only mode
-
-Document Editor provides support for protecting the document with `CommentsOnly` protection. In this protection, user allowed to add or edit comments alone in the document.
-
-Document editor provides an option to protect and unprotect document using [`enforceProtection`](../api/document-editor/editor/#enforceprotection) and [`stopProtection`](../api/document-editor/editor/#stopprotection) API.
-
-The following example code illustrates how to enforce and stop protection in Document editor container.
-
-```ts
-let container: DocumentEditorContainer = new DocumentEditorContainer({
- enableToolbar: true,
- height: '590px',
-});
-DocumentEditorContainer.Inject(Toolbar);
-container.serviceUrl =
- 'http://localhost:5000/api/documenteditor/';
-container.appendTo('#container');
-
-//enforce protection
-container.documentEditor.editor.enforceProtection('123', 'CommentsOnly');
-
-//stop the document protection
-container.documentEditor.editor.stopProtection('123');
-```
-
-Comment only protection can be enabled in UI by using [Restrict Editing pane](../document-editor/document-management#restrict-editing-pane)
-
-
-
->Note: In enforce Protection method, first parameter denotes password and second parameter denotes protection type. Possible values of protection type are `NoProtection |ReadOnly |FormFieldsOnly |CommentsOnly`. In stop protection method, parameter denotes the password.
-
-## Mention Support in comments
-
-Mention support displays a list of items that users can select or tag from the suggested list. To use this feature, type the @ character in the comment box and select or tag the user from the suggestion list.
-
-The following example illustrates how to enable mention support in Document Editor
-
-```ts
-let mentionData: any = [
- { "Name": "Mary Kate", "EmailId": "marry@company.com" },
- { "Name": "Andrew James", "EmailId": "james@company.com" },
- { "Name": "Andrew Fuller", "EmailId": "andrew@company.com"}
-];
-let container: DocumentEditorContainer = new DocumentEditorContainer({ enableToolbar: true,height: '590px',
-// Enable mention support in document editor
- documentEditorSettings: {
- mentionSettings: { dataSource: mentionData, fields: { text: 'Name' }},
- }
-});
-DocumentEditorContainer.Inject(Toolbar);
-container.serviceUrl = 'https://services.syncfusion.com/js/production/api/documenteditor/';
-container.appendTo('#container');
-```
-
-> The Web API hosted link `https://services.syncfusion.com/js/production/api/documenteditor/` utilized in the Document Editor's serviceUrl property is intended solely for demonstration and evaluation purposes. For production deployment, please host your own web service with your required server configurations. You can refer and reuse the [GitHub Web Service example](https://github.com/SyncfusionExamples/EJ2-DocumentEditor-WebServices) or [Docker image](https://hub.docker.com/r/syncfusion/word-processor-server) for hosting your own web service and use for the serviceUrl property.
-
-## Events
-
-DocumentEditor provides [beforeCommentAction](../api/document-editor-container/#beforecommentaction) event, which is triggered on comment actions like Post, edit, reply, resolve and reopen. This event provides an opportunity to perform custom logic on comment actions like Post, edit, reply, resolve and reopen. The event handler receives the [CommentActionEventArgs](../api/document-editor/commentActionEventArgs) object as an argument, which allows access to information about the comment.
-
-To demonstrate a specific use case, let’s consider an example where we want to restrict the delete functionality based on the author’s name. The following code snippet illustrates how to allow only the author of a comment to delete:
-
-{% if page.publishingplatform == "typescript" %}
-
-```ts
-
-import { DocumentEditorContainer, Toolbar, CommentActionEventArgs } from '@syncfusion/ej2-documenteditor';
-
-// Inject require modules.
-DocumentEditorContainer.Inject(Toolbar);
-let mentionData: any = [
- { "Name": "Mary Kate", "EmailId": "marry@company.com" },
- { "Name": "Andrew James", "EmailId": "james@company.com" },
- { "Name": "Andrew Fuller", "EmailId": "andrew@company.com"}
-];
-let container: DocumentEditorContainer = new DocumentEditorContainer({ enableToolbar: true,height: '590px', beforeCommentAction:beforecomment,
-// Enable mention support in document editor
- documentEditorSettings: {
- mentionSettings: { dataSource: mentionData, fields: { text: 'Name' }},
- }
-});
-DocumentEditorContainer.Inject(Toolbar);
-container.serviceUrl = 'https://services.syncfusion.com/js/production/api/documenteditor/';
-container.appendTo('#container');
-container.currentUser="Guest User";
-
-// Event get triggerd on comment actions like Post, edit, reply, resolve and reopen
-function beforecomment(args : CommentActionEventArgs){
- // Check the type and author of the comment and current user are different
- if(args.type === "Delete" && container.currentUser !== args.author){
- // Cancel the comment action
- args.cancel = true;
- }
-}
-```
-
-{% elsif page.publishingplatform == "javascript" %}
-
-```js
-
-var mentionData = [
- { "Name": "Mary Kate", "EmailId": "marry@company.com" },
- { "Name": "Andrew James", "EmailId": "james@company.com" },
- { "Name": "Andrew Fuller", "EmailId": "andrew@company.com"}
- ];
- // Initialize DocumentEditorContainer component.
- var documenteditorContainer = new ej.documenteditor.DocumentEditorContainer({ enableToolbar: true, height: '590px', beforeCommentAction:beforecomment,documentEditorSettings: {
- mentionSettings: { dataSource: mentionData, fields: { text: 'Name' }},
- } });
- ej.documenteditor.DocumentEditorContainer.Inject(ej.documenteditor.Toolbar);
- documenteditorContainer.serviceUrl = 'http://localhost:6028/api/documenteditor/';
- //DocumentEditorContainer control rendering starts
- documenteditorContainer.appendTo('#DocumentEditor');
- documenteditorContainer.currentUser = "Guest User";
-
-
- // Event get triggerd on comment actions like Post, edit, reply, resolve and reopen
- function beforecomment(args){
- // Check the type and author of the comment and current user are different
- if(args.type === "Delete" && documenteditorContainer.currentUser !== args.author){
- // Cancel the comment action
- args.cancel = true;
- }
- }
-```
-
-{% endif %}
-
-> The Web API hosted link `https://services.syncfusion.com/js/production/api/documenteditor/` utilized in the Document Editor's serviceUrl property is intended solely for demonstration and evaluation purposes. For production deployment, please host your own web service with your required server configurations. You can refer and reuse the [GitHub Web Service example](https://github.com/SyncfusionExamples/EJ2-DocumentEditor-WebServices) or [Docker image](https://hub.docker.com/r/syncfusion/word-processor-server) for hosting your own web service and use for the serviceUrl property.
diff --git a/ej2-javascript/document-editor/content-control.md b/ej2-javascript/document-editor/content-control.md
deleted file mode 100644
index 1e1ea4a1e..000000000
--- a/ej2-javascript/document-editor/content-control.md
+++ /dev/null
@@ -1,166 +0,0 @@
----
-layout: post
-title: Content control in ##Platform_Name## Document editor control | Syncfusion
-description: Learn here all about Content control in Syncfusion ##Platform_Name## Document editor control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: Content control
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Content control in ##Platform_Name## Document editor control
-
-Document Editor provides support for inserting, editing content controls
-
-Content controls can be categorized based on its occurrence in a document as follows,
-
-InlineContentControl: Among inline content inside, as a child of a paragraph.
-BlockContentControl: Among paragraphs and tables, as a child of a Body, HeaderFooter.
-
-## Types of Content Controls
-
-* Rich Text
-* Plain Text
-* Check Box
-* Date picker
-* Drop-Down List and Combo Box
-* Picture
-
-## Insert content control
-
-Content control can be inserted using [`insertContentControl`](../api/document-editor/editor/#insertContentControl) method in editor module.
-
-{% if page.publishingplatform == "typescript" %}
-{% highlight ts %}
-//Insert Rich Text Content Control
-container.documentEditor.editor.insertContentControl('RichText');
-//Insert Rich Text Content Control with default sfdt string
-let sfdt = {"sections":[{"blocks":[{"inlines":[{"text": "Hello"}]}]}]};
-container.documentEditor.editor.insertContentControl('RichText', sfdt);
-
-//Insert Plain Text Content Control
-container.documentEditor.editor.insertContentControl('Text');
-//Insert Plain Text Content Control with default string
-container.documentEditor.editor.insertContentControl('Text', 'Hello World');
-
-//Insert CheckBox Content Control
-container.documentEditor.editor.insertContentControl('CheckBox');
-//Insert CheckBox Content Control with mention checked state
-container.documentEditor.editor.insertContentControl('CheckBox', true);
-
-//Insert ComboBox Content Control
-container.documentEditor.editor.insertContentControl('ComboBox');
-//Insert ComboBox Content Control with items
-container.documentEditor.editor.insertContentControl('ComboBox', 'One', ['One', 'Two', 'Three']);
-
-//Insert Date Content Control
-container.documentEditor.editor.insertContentControl('Date');
-//Insert Date Content Control
-container.documentEditor.editor.insertContentControl('Date', '01/01/2024');
-
-//Insert DropDownList Content Control
-container.documentEditor.editor.insertContentControl('DropDownList');
-//Insert DropDownList Content Control with items
-container.documentEditor.editor.insertContentControl('DropDownList', 'One', ['One', 'Two', 'Three']);
-
-//Insert Picture Content Control
-container.documentEditor.editor.insertContentControl('Picture');
-//Insert Picture Content Control with default image
-container.documentEditor.editor.insertContentControl('Picture', 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAAWCAYAAADEtGw7AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAADgSURBVEhLY3jx4sV/WuDBafCluXH/D6ydhlWObIMPLmn8/32KPBiD2OjyKAY7+zbDsX945/91azehiBWU9IPVgVwJMxSX4SgG65jXwrGVa+v/6TOXoojBDEZ2LQh/m676/+D+/XBzQJgsg0EY5GqQgSCDsYUz2QaDMCiosIUvCKMYDFKIjK9dvYrCB3kXJIaMkfUjY5JdDEpioCCAYZCFyGbAMFkGI0fcMDUYpAgZY4s8EEYWwxWBJLsYhJHFQIYjmwHDQ9xgkGEwDCp0QAYji8EMRhYjymBq4lGDofjFfwCV5AGEIf9DQQAAAABJRU5ErkJggg==');
-{% endhighlight %}
-{% elsif page.publishingplatform == "javascript" %}
-{% highlight ts %}
-//Insert Rich Text Content Control
-container.documentEditor.editor.insertContentControl('RichText');
-//Insert Rich Text Content Control with default sfdt string
-var sfdt = {"sections":[{"blocks":[{"inlines":[{"text": "Hello"}]}]}]};
-container.documentEditor.editor.insertContentControl('RichText', sfdt);
-
-//Insert Plain Text Content Control
-container.documentEditor.editor.insertContentControl('Text');
-//Insert Plain Text Content Control with default string
-container.documentEditor.editor.insertContentControl('Text', 'Hello World');
-
-//Insert CheckBox Content Control
-container.documentEditor.editor.insertContentControl('CheckBox');
-//Insert CheckBox Content Control with mention checked state
-container.documentEditor.editor.insertContentControl('CheckBox', true);
-
-//Insert ComboBox Content Control
-container.documentEditor.editor.insertContentControl('ComboBox');
-//Insert ComboBox Content Control with items
-container.documentEditor.editor.insertContentControl('ComboBox', 'One', ['One', 'Two', 'Three']);
-
-//Insert Date Content Control
-container.documentEditor.editor.insertContentControl('Date');
-//Insert Date Content Control
-container.documentEditor.editor.insertContentControl('Date', '01/01/2024');
-
-//Insert DropDownList Content Control
-container.documentEditor.editor.insertContentControl('DropDownList');
-//Insert DropDownList Content Control with items
-container.documentEditor.editor.insertContentControl('DropDownList', 'One', ['One', 'Two', 'Three']);
-
-//Insert Picture Content Control
-container.documentEditor.editor.insertContentControl('Picture');
-//Insert Picture Content Control with default image
-container.documentEditor.editor.insertContentControl('Picture', 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAAWCAYAAADEtGw7AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAADgSURBVEhLY3jx4sV/WuDBafCluXH/D6ydhlWObIMPLmn8/32KPBiD2OjyKAY7+zbDsX945/91azehiBWU9IPVgVwJMxSX4SgG65jXwrGVa+v/6TOXoojBDEZ2LQh/m676/+D+/XBzQJgsg0EY5GqQgSCDsYUz2QaDMCiosIUvCKMYDFKIjK9dvYrCB3kXJIaMkfUjY5JdDEpioCCAYZCFyGbAMFkGI0fcMDUYpAgZY4s8EEYWwxWBJLsYhJHFQIYjmwHDQ9xgkGEwDCp0QAYji8EMRhYjymBq4lGDofjFfwCV5AGEIf9DQQAAAABJRU5ErkJggg==');
-{% endhighlight %}
-{% endif %}
-
-## Import content control properties
-
-Content control properties can be set using the [`ContentControlInfo`](../api/document-editor/#importContentControlData) and import it using [`importContentControlData`](../api/document-editor/#importContentControlData)
-
-{% if page.publishingplatform == "typescript" %}
-{% highlight ts %}
-let data: ContentControlInfo[] = [];
-let contentControlData: ContentControlInfo = { title: placeHolderPrefix + 'Name', tag: '', value: 'John', canDelete: false, canEdit: false, type: 'RichText' };
-data.push(contentControlData);
-container.documentEditor.importContentControlData(data);
-{% endhighlight %}
-{% elsif page.publishingplatform == "javascript" %}
-{% highlight ts %}
-var data = [];
-var contentControlData = { title: placeHolderPrefix + 'Name', tag: '', value: 'John', canDelete: false, canEdit: false, type: 'RichText' };
-data.push(contentControlData);
-container.documentEditor.importContentControlData(data);
-{% endhighlight %}
-{% endif %}
-
-## Export content control properties
-
-Content control properties can be exported using the [`exportContentControlData`](../api/document-editor/#exportContentControlData)
-
-{% if page.publishingplatform == "typescript" %}
-{% highlight ts %}
-let contentControlInfos: ContentControlInfo[] = container.documentEditor.exportContentControlData();
-{% endhighlight %}
-{% elsif page.publishingplatform == "javascript" %}
-{% highlight ts %}
-var contentControlInfos = container.documentEditor.exportContentControlData();
-{% endhighlight %}
-{% endif %}
-
-## Reset content control
-
-Content control properties can be reset using the [`resetcontentcontroldata`](../api/document-editor/#resetcontentcontroldata)
-
-{% if page.publishingplatform == "typescript" %}
-{% highlight ts %}
-let data: ContentControlInfo[] = [];
-let contentControlData: ContentControlInfo = { title: placeHolderPrefix + 'Name', tag: '', value: 'John', canDelete: false, canEdit: false, type: 'RichText' };
-data.push(contentControlData);
-container.documentEditor.resetContentControlData(data);
-{% endhighlight %}
-{% elsif page.publishingplatform == "javascript" %}
-{% highlight ts %}
-var data = [];
-var contentControlData = { title: placeHolderPrefix + 'Name', tag: '', value: 'John', canDelete: false, canEdit: false, type: 'RichText' };
-data.push(contentControlData);
-container.documentEditor.resetContentControlData(data);
-{% endhighlight %}
-{% endif %}
-
->Note: Content control with custom XML mapping of file type WordML is converted as normal Rich Text Content Control to provide lossless round-tripping upon saving.
diff --git a/ej2-javascript/document-editor/dialog.md b/ej2-javascript/document-editor/dialog.md
deleted file mode 100644
index 5f9a11d9e..000000000
--- a/ej2-javascript/document-editor/dialog.md
+++ /dev/null
@@ -1,481 +0,0 @@
----
-layout: post
-title: Dialog in ##Platform_Name## Document editor control | Syncfusion
-description: Learn here all about Dialog in Syncfusion ##Platform_Name## Document editor control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: Dialog
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Dialog in ##Platform_Name## Document editor control
-
-Document Editor provides dialog support to major operations such as insert or edit hyperlink, formatting text, paragraph, style, list and table properties.
-
-## Font Dialog
-
-Font dialog allows you to modify all text properties for selected contents at once such as bold, italic, underline, font size, font color, strikethrough, subscript and superscript.
-
-Refer to the following example.
-
-{% if page.publishingplatform == "typescript" %}
-
- {% tabs %}
-{% highlight ts tabtitle="index.ts" %}
-{% include code-snippet/document-editor/dialog-cs2/index.ts %}
-{% endhighlight %}
-{% highlight html tabtitle="index.html" %}
-{% include code-snippet/document-editor/dialog-cs2/index.html %}
-{% endhighlight %}
-{% endtabs %}
-
-{% previewsample "page.domainurl/code-snippet/document-editor/dialog-cs2" %}
-
-{% elsif page.publishingplatform == "javascript" %}
-
-{% tabs %}
-{% highlight js tabtitle="index.js" %}
-{% include code-snippet/document-editor/dialog-cs2/index.js %}
-{% endhighlight %}
-{% highlight html tabtitle="index.html" %}
-{% include code-snippet/document-editor/dialog-cs2/index.html %}
-{% endhighlight %}
-{% endtabs %}
-
-{% previewsample "page.domainurl/code-snippet/document-editor/dialog-cs2" %}
-{% endif %}
-
-## Paragraph dialog
-
-This dialog allows modifying the paragraph formatting for selection at once such as text alignment, indentation, and spacing.
-
-To open this dialog, refer to the following example.
-
-{% if page.publishingplatform == "typescript" %}
-
- {% tabs %}
-{% highlight ts tabtitle="index.ts" %}
-{% include code-snippet/document-editor/dialog-cs3/index.ts %}
-{% endhighlight %}
-{% highlight html tabtitle="index.html" %}
-{% include code-snippet/document-editor/dialog-cs3/index.html %}
-{% endhighlight %}
-{% endtabs %}
-
-{% previewsample "page.domainurl/code-snippet/document-editor/dialog-cs3" %}
-
-{% elsif page.publishingplatform == "javascript" %}
-
-{% tabs %}
-{% highlight js tabtitle="index.js" %}
-{% include code-snippet/document-editor/dialog-cs3/index.js %}
-{% endhighlight %}
-{% highlight html tabtitle="index.html" %}
-{% include code-snippet/document-editor/dialog-cs3/index.html %}
-{% endhighlight %}
-{% endtabs %}
-
-{% previewsample "page.domainurl/code-snippet/document-editor/dialog-cs3" %}
-{% endif %}
-
-## Table dialog
-
-This dialog allows creating and inserting a table at cursor position by specifying the required number of rows and columns.
-
-To open this dialog, refer to the following example.
-
-{% if page.publishingplatform == "typescript" %}
-
- {% tabs %}
-{% highlight ts tabtitle="index.ts" %}
-{% include code-snippet/document-editor/dialog-cs4/index.ts %}
-{% endhighlight %}
-{% highlight html tabtitle="index.html" %}
-{% include code-snippet/document-editor/dialog-cs4/index.html %}
-{% endhighlight %}
-{% endtabs %}
-
-{% previewsample "page.domainurl/code-snippet/document-editor/dialog-cs4" %}
-
-{% elsif page.publishingplatform == "javascript" %}
-
-{% tabs %}
-{% highlight js tabtitle="index.js" %}
-{% include code-snippet/document-editor/dialog-cs4/index.js %}
-{% endhighlight %}
-{% highlight html tabtitle="index.html" %}
-{% include code-snippet/document-editor/dialog-cs4/index.html %}
-{% endhighlight %}
-{% endtabs %}
-
-{% previewsample "page.domainurl/code-snippet/document-editor/dialog-cs4" %}
-{% endif %}
-
-## Bookmark dialog
-
-This dialog allows you to perform the following operations:
-
-* View all bookmarks.
-* Navigate to a bookmark.
-* Create a bookmark at current selection.
-* Delete an existing bookmark.
-To open this dialog, refer to the following example.
-
-{% if page.publishingplatform == "typescript" %}
-
- {% tabs %}
-{% highlight ts tabtitle="index.ts" %}
-{% include code-snippet/document-editor/dialog-cs5/index.ts %}
-{% endhighlight %}
-{% highlight html tabtitle="index.html" %}
-{% include code-snippet/document-editor/dialog-cs5/index.html %}
-{% endhighlight %}
-{% endtabs %}
-
-{% previewsample "page.domainurl/code-snippet/document-editor/dialog-cs5" %}
-
-{% elsif page.publishingplatform == "javascript" %}
-
-{% tabs %}
-{% highlight js tabtitle="index.js" %}
-{% include code-snippet/document-editor/dialog-cs5/index.js %}
-{% endhighlight %}
-{% highlight html tabtitle="index.html" %}
-{% include code-snippet/document-editor/dialog-cs5/index.html %}
-{% endhighlight %}
-{% endtabs %}
-
-{% previewsample "page.domainurl/code-snippet/document-editor/dialog-cs5" %}
-{% endif %}
-
-## Hyperlink dialog
-
-This dialog allows editing or inserting a hyperlink at cursor position.
-
-To open this dialog, refer to the following example.
-
-{% if page.publishingplatform == "typescript" %}
-
- {% tabs %}
-{% highlight ts tabtitle="index.ts" %}
-{% include code-snippet/document-editor/dialog-cs6/index.ts %}
-{% endhighlight %}
-{% highlight html tabtitle="index.html" %}
-{% include code-snippet/document-editor/dialog-cs6/index.html %}
-{% endhighlight %}
-{% endtabs %}
-
-{% previewsample "page.domainurl/code-snippet/document-editor/dialog-cs6" %}
-
-{% elsif page.publishingplatform == "javascript" %}
-
-{% tabs %}
-{% highlight js tabtitle="index.js" %}
-{% include code-snippet/document-editor/dialog-cs6/index.js %}
-{% endhighlight %}
-{% highlight html tabtitle="index.html" %}
-{% include code-snippet/document-editor/dialog-cs6/index.html %}
-{% endhighlight %}
-{% endtabs %}
-
-{% previewsample "page.domainurl/code-snippet/document-editor/dialog-cs6" %}
-{% endif %}
-
-## Table of contents dialog
-
-This dialog allows creating and inserting table of contents at cursor position. If the table of contents already exists at cursor position, you can customize its properties.
-
-To open this dialog, refer to the following example.
-
-{% if page.publishingplatform == "typescript" %}
-
- {% tabs %}
-{% highlight ts tabtitle="index.ts" %}
-{% include code-snippet/document-editor/dialog-cs7/index.ts %}
-{% endhighlight %}
-{% highlight html tabtitle="index.html" %}
-{% include code-snippet/document-editor/dialog-cs7/index.html %}
-{% endhighlight %}
-{% endtabs %}
-
-{% previewsample "page.domainurl/code-snippet/document-editor/dialog-cs7" %}
-
-{% elsif page.publishingplatform == "javascript" %}
-
-{% tabs %}
-{% highlight js tabtitle="index.js" %}
-{% include code-snippet/document-editor/dialog-cs7/index.js %}
-{% endhighlight %}
-{% highlight html tabtitle="index.html" %}
-{% include code-snippet/document-editor/dialog-cs7/index.html %}
-{% endhighlight %}
-{% endtabs %}
-
-{% previewsample "page.domainurl/code-snippet/document-editor/dialog-cs7" %}
-{% endif %}
-
-## Styles Dialog
-
-This dialog allows managing the styles in a document. It will display all the styles in the document with options to modify the properties of the existing style or create new style with the help of ‘Style dialog’. Refer to the following example.
-
-{% if page.publishingplatform == "typescript" %}
-
- {% tabs %}
-{% highlight ts tabtitle="index.ts" %}
-{% include code-snippet/document-editor/dialog-cs8/index.ts %}
-{% endhighlight %}
-{% highlight html tabtitle="index.html" %}
-{% include code-snippet/document-editor/dialog-cs8/index.html %}
-{% endhighlight %}
-{% endtabs %}
-
-{% previewsample "page.domainurl/code-snippet/document-editor/dialog-cs8" %}
-
-{% elsif page.publishingplatform == "javascript" %}
-
-{% tabs %}
-{% highlight js tabtitle="index.js" %}
-{% include code-snippet/document-editor/dialog-cs8/index.js %}
-{% endhighlight %}
-{% highlight html tabtitle="index.html" %}
-{% include code-snippet/document-editor/dialog-cs8/index.html %}
-{% endhighlight %}
-{% endtabs %}
-
-{% previewsample "page.domainurl/code-snippet/document-editor/dialog-cs8" %}
-{% endif %}
-
-## Style dialog
-
-You can directly use this dialog for modifying any existing style or add new style by providing the style name.
-
-To open this dialog, refer to the following example.
-
-{% if page.publishingplatform == "typescript" %}
-
- {% tabs %}
-{% highlight ts tabtitle="index.ts" %}
-{% include code-snippet/document-editor/dialog-cs9/index.ts %}
-{% endhighlight %}
-{% highlight html tabtitle="index.html" %}
-{% include code-snippet/document-editor/dialog-cs9/index.html %}
-{% endhighlight %}
-{% endtabs %}
-
-{% previewsample "page.domainurl/code-snippet/document-editor/dialog-cs9" %}
-
-{% elsif page.publishingplatform == "javascript" %}
-
-{% tabs %}
-{% highlight js tabtitle="index.js" %}
-{% include code-snippet/document-editor/dialog-cs9/index.js %}
-{% endhighlight %}
-{% highlight html tabtitle="index.html" %}
-{% include code-snippet/document-editor/dialog-cs9/index.html %}
-{% endhighlight %}
-{% endtabs %}
-
-{% previewsample "page.domainurl/code-snippet/document-editor/dialog-cs9" %}
-{% endif %}
-
-## List dialog
-
-This dialog allows creating a new list or modifying existing lists in the document.
-
-To open this dialog, refer to the following example.
-{% if page.publishingplatform == "typescript" %}
-
- {% tabs %}
-{% highlight ts tabtitle="index.ts" %}
-{% include code-snippet/document-editor/dialog-cs10/index.ts %}
-{% endhighlight %}
-{% highlight html tabtitle="index.html" %}
-{% include code-snippet/document-editor/dialog-cs10/index.html %}
-{% endhighlight %}
-{% endtabs %}
-
-{% previewsample "page.domainurl/code-snippet/document-editor/dialog-cs10" %}
-
-{% elsif page.publishingplatform == "javascript" %}
-
-{% tabs %}
-{% highlight js tabtitle="index.js" %}
-{% include code-snippet/document-editor/dialog-cs10/index.js %}
-{% endhighlight %}
-{% highlight html tabtitle="index.html" %}
-{% include code-snippet/document-editor/dialog-cs10/index.html %}
-{% endhighlight %}
-{% endtabs %}
-
-{% previewsample "page.domainurl/code-snippet/document-editor/dialog-cs10" %}
-{% endif %}
-
-## Borders and shading dialog
-
-This dialog allows customizing the border style, border width, and background color of the table or selected cells.
-
-To open this dialog, refer to the following example.
-
-{% if page.publishingplatform == "typescript" %}
-
- {% tabs %}
-{% highlight ts tabtitle="index.ts" %}
-{% include code-snippet/document-editor/dialog-cs11/index.ts %}
-{% endhighlight %}
-{% highlight html tabtitle="index.html" %}
-{% include code-snippet/document-editor/dialog-cs11/index.html %}
-{% endhighlight %}
-{% endtabs %}
-
-{% previewsample "page.domainurl/code-snippet/document-editor/dialog-cs11" %}
-
-{% elsif page.publishingplatform == "javascript" %}
-
-{% tabs %}
-{% highlight js tabtitle="index.js" %}
-{% include code-snippet/document-editor/dialog-cs11/index.js %}
-{% endhighlight %}
-{% highlight html tabtitle="index.html" %}
-{% include code-snippet/document-editor/dialog-cs11/index.html %}
-{% endhighlight %}
-{% endtabs %}
-
-{% previewsample "page.domainurl/code-snippet/document-editor/dialog-cs11" %}
-{% endif %}
-
-## Table options dialog
-
-This dialog allows customizing the default cell margins and spacing between each cells of the selected table.
-
-To open this dialog, refer to the following example.
-
-{% if page.publishingplatform == "typescript" %}
-
- {% tabs %}
-{% highlight ts tabtitle="index.ts" %}
-{% include code-snippet/document-editor/dialog-cs12/index.ts %}
-{% endhighlight %}
-{% highlight html tabtitle="index.html" %}
-{% include code-snippet/document-editor/dialog-cs12/index.html %}
-{% endhighlight %}
-{% endtabs %}
-
-{% previewsample "page.domainurl/code-snippet/document-editor/dialog-cs12" %}
-
-{% elsif page.publishingplatform == "javascript" %}
-
-{% tabs %}
-{% highlight js tabtitle="index.js" %}
-{% include code-snippet/document-editor/dialog-cs12/index.js %}
-{% endhighlight %}
-{% highlight html tabtitle="index.html" %}
-{% include code-snippet/document-editor/dialog-cs12/index.html %}
-{% endhighlight %}
-{% endtabs %}
-
-{% previewsample "page.domainurl/code-snippet/document-editor/dialog-cs12" %}
-{% endif %}
-
-## Table properties dialog
-
-This dialog allows customizing the table, row, and cell properties of the selected table.
-
-To open this dialog, refer to the following example.
-
-{% if page.publishingplatform == "typescript" %}
-
- {% tabs %}
-{% highlight ts tabtitle="index.ts" %}
-{% include code-snippet/document-editor/dialog-cs13/index.ts %}
-{% endhighlight %}
-{% highlight html tabtitle="index.html" %}
-{% include code-snippet/document-editor/dialog-cs13/index.html %}
-{% endhighlight %}
-{% endtabs %}
-
-{% previewsample "page.domainurl/code-snippet/document-editor/dialog-cs13" %}
-
-{% elsif page.publishingplatform == "javascript" %}
-
-{% tabs %}
-{% highlight js tabtitle="index.js" %}
-{% include code-snippet/document-editor/dialog-cs13/index.js %}
-{% endhighlight %}
-{% highlight html tabtitle="index.html" %}
-{% include code-snippet/document-editor/dialog-cs13/index.html %}
-{% endhighlight %}
-{% endtabs %}
-
-{% previewsample "page.domainurl/code-snippet/document-editor/dialog-cs13" %}
-{% endif %}
-
-## Page setup dialog
-
-This dialog allows customizing margins, size, and layout options for pages of the section.
-
-To open this dialog, refer to the following example.
-
-{% if page.publishingplatform == "typescript" %}
-
- {% tabs %}
-{% highlight ts tabtitle="index.ts" %}
-{% include code-snippet/document-editor/dialog-cs14/index.ts %}
-{% endhighlight %}
-{% highlight html tabtitle="index.html" %}
-{% include code-snippet/document-editor/dialog-cs14/index.html %}
-{% endhighlight %}
-{% endtabs %}
-
-{% previewsample "page.domainurl/code-snippet/document-editor/dialog-cs14" %}
-
-{% elsif page.publishingplatform == "javascript" %}
-
-{% tabs %}
-{% highlight js tabtitle="index.js" %}
-{% include code-snippet/document-editor/dialog-cs14/index.js %}
-{% endhighlight %}
-{% highlight html tabtitle="index.html" %}
-{% include code-snippet/document-editor/dialog-cs14/index.html %}
-{% endhighlight %}
-{% endtabs %}
-
-{% previewsample "page.domainurl/code-snippet/document-editor/dialog-cs14" %}
-{% endif %}
-
-## Column dialog
-
-This dialog allows the end user to customize the number of columns, column width, and space between columns for the pages in a section.
-
-To open this dialog, refer to the following example.
-
-{% if page.publishingplatform == "typescript" %}
-
- {% tabs %}
-{% highlight ts tabtitle="index.ts" %}
-{% include code-snippet/document-editor/dialog-cs15/index.ts %}
-{% endhighlight %}
-{% highlight html tabtitle="index.html" %}
-{% include code-snippet/document-editor/dialog-cs15/index.html %}
-{% endhighlight %}
-{% endtabs %}
-
-{% previewsample "page.domainurl/code-snippet/document-editor/dialog-cs15" %}
-
-{% elsif page.publishingplatform == "javascript" %}
-
-{% tabs %}
-{% highlight js tabtitle="index.js" %}
-{% include code-snippet/document-editor/dialog-cs15/index.js %}
-{% endhighlight %}
-{% highlight html tabtitle="index.html" %}
-{% include code-snippet/document-editor/dialog-cs15/index.html %}
-{% endhighlight %}
-{% endtabs %}
-
-{% previewsample "page.domainurl/code-snippet/document-editor/dialog-cs15" %}
-{% endif %}
-
-## See Also
-
-* [Feature module](../document-editor/feature-module/)
\ No newline at end of file
diff --git a/ej2-javascript/document-editor/document-management.md b/ej2-javascript/document-editor/document-management.md
deleted file mode 100644
index 03a205e6f..000000000
--- a/ej2-javascript/document-editor/document-management.md
+++ /dev/null
@@ -1,89 +0,0 @@
----
-layout: post
-title: Document management in ##Platform_Name## Document editor control | Syncfusion
-description: Learn here all about Document management in Syncfusion ##Platform_Name## Document editor control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: Document management
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Document management in ##Platform_Name## Document editor control
-
-Document Editor provides support to restrict editing. When the protected document includes range permission, then unique user or user group only authorized to edit separate text area.
-
-## Set current user
-
-You can use the `currentUser` property to authorize the current document user by name, email, or user group name.
-
-The following code shows how to set currentUser
-
-```ts
-documentEditor.currentUser = 'engineer@mycompany.com';
-```
-
-## Customize highlight color of text area
-
-You can highlight the editable region of the current user using the `userColor` property.
-
-The following code shows how to set userColor.
-
-```ts
-documentEditor.userColor = '#fff000';
-```
-
-## Highlighting the editable text area
-
-You can toggle the highlight the editable region value using the "highlightEditableRanges" property.
-
-The folowing code shows how to toggle the highlight editable region value.
-
-```typescript
-documentEditor.documentEditorSettings.highlightEditableRanges = true;
-```
-
-## Restrict Editing Pane
-
-Restrict Editing Pane provides the following options to manage the document:
-* To apply formatting restrictions to the current document, select the allow formatting check box.
-* To apply editing restrictions to the current document, select the read only check box.
-* To add users to the current document, select more users option and add user from the popup dialog.
-* To include range permission to the current document, select parts of the document and choose users who are allowed to freely edit them from the listed check box.
-* To apply the chosen editing restrictions, click the **YES,START ENFORCING PROTECTION** button. A dialog box displays asking for a password to protect.
-* To stop protection, select **STOP PROTECTION** button. A dialog box displays asking for a password to stop protection.
-
-The following code shows Restrict Editing Pane. To unprotect the document, use password '123'.
-
-{% if page.publishingplatform == "typescript" %}
-
- {% tabs %}
-{% highlight ts tabtitle="index.ts" %}
-{% include code-snippet/document-editor/data-protection-cs1/index.ts %}
-{% endhighlight %}
-{% highlight html tabtitle="index.html" %}
-{% include code-snippet/document-editor/data-protection-cs1/index.html %}
-{% endhighlight %}
-{% endtabs %}
-
-{% previewsample "page.domainurl/code-snippet/document-editor/data-protection-cs1" %}
-
-{% elsif page.publishingplatform == "javascript" %}
-
-{% tabs %}
-{% highlight js tabtitle="index.js" %}
-{% include code-snippet/document-editor/data-protection-cs1/index.js %}
-{% endhighlight %}
-{% highlight html tabtitle="index.html" %}
-{% include code-snippet/document-editor/data-protection-cs1/index.html %}
-{% endhighlight %}
-{% endtabs %}
-
-{% previewsample "page.domainurl/code-snippet/document-editor/data-protection-cs1" %}
-{% endif %}
-
-## See Also
-
-* [How to protect the document in form filling mode](../document-editor/form-fields/#protect-the-document-in-form-filling-mode)
-* [How to protect the document in comments only mode](../document-editor/comments/#protect-the-document-in-comments-only-mode)
-* [How to protect the document in track changes only mode](../document-editor/track-changes/#protect-the-document-in-track-changes-only-mode)
\ No newline at end of file
diff --git a/ej2-javascript/document-editor/export.md b/ej2-javascript/document-editor/export.md
deleted file mode 100644
index dced7f61c..000000000
--- a/ej2-javascript/document-editor/export.md
+++ /dev/null
@@ -1,346 +0,0 @@
----
-layout: post
-title: Export in ##Platform_Name## Document editor control | Syncfusion
-description: Learn here all about Export in Syncfusion ##Platform_Name## Document editor control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: Export
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Export in ##Platform_Name## Document editor control
-
-Document Editor exports the document into various known file formats in client-side such as Microsoft Word document (.docx), Word template (.dotx), text document (.txt), and its own format called **Syncfusion Document Text (.sfdt)**.
-
-We are providing two types of save APIs as mentioned below.
-
-|API name|Purpose|Code Snippet for Document Editor|Code Snippet for Document Editor Container|
-|--------|---------|----------|----------|
-|save(filename,FormatType):void FormatType: Sfdt or Docx or Txt|Creates the document with specified file name and format type. Then, the created file is downloaded in the client browser by default.|documenteditor.save('sample', 'Docx')|container.documenteditor.save('sample', 'Docx')|
-|saveAsBlob(FormatType):Blob|Creates the document in specified format type and returns the created document as Blob. This blob can be uploaded to your required server, database, or file path.|documenteditor.saveAsBlob('Docx')|container.documenteditor.saveAsBlob('Docx')|
-
-## SFDT export
-
-The following example shows how to export documents in Document Editor as Syncfusion document text (.sfdt).
-
-{% if page.publishingplatform == "typescript" %}
-
-{% tabs %}
-{% highlight ts tabtitle="index.ts" %}
-{% include code-snippet/document-editor/export-cs1/index.ts %}
-{% endhighlight %}
-{% highlight html tabtitle="index.html" %}
-{% include code-snippet/document-editor/export-cs1/index.html %}
-{% endhighlight %}
-{% endtabs %}
-
-{% previewsample "page.domainurl/code-snippet/document-editor/export-cs1" %}
-
-{% tabs %}
-{% highlight ts tabtitle="index.ts" %}
-{% include code-snippet/document-editor/export-container-cs1/index.ts %}
-{% endhighlight %}
-{% highlight html tabtitle="index.html" %}
-{% include code-snippet/document-editor/export-container-cs1/index.html %}
-{% endhighlight %}
-{% endtabs %}
-
-{% previewsample "page.domainurl/code-snippet/document-editor/export-container-cs1" %}
-
-{% elsif page.publishingplatform == "javascript" %}
-
-{% tabs %}
-{% highlight js tabtitle="index.js" %}
-{% include code-snippet/document-editor/export-cs1/index.js %}
-{% endhighlight %}
-{% highlight html tabtitle="index.html" %}
-{% include code-snippet/document-editor/export-cs1/index.html %}
-{% endhighlight %}
-{% endtabs %}
-
-{% previewsample "page.domainurl/code-snippet/document-editor/export-cs1" %}
-
-{% tabs %}
-{% highlight js tabtitle="index.js" %}
-{% include code-snippet/document-editor/export-container-cs1/index.js %}
-{% endhighlight %}
-{% highlight html tabtitle="index.html" %}
-{% include code-snippet/document-editor/export-container-cs1/index.html %}
-{% endhighlight %}
-{% endtabs %}
-
-{% previewsample "page.domainurl/code-snippet/document-editor/export-container-cs1" %}
-{% endif %}
-
-## Word export
-
-The following example shows how to export the document as Word document (.docx).
-
->Note: The Syncfusion® Document Editor component's document pagination (page-by-page display) can't be guaranteed for all the Word documents to match the pagination of Microsoft Word application. For more information about [why the document pagination (page-by-page display) differs from Microsoft Word](../document-editor/import/#why-the-document-pagination-differs-from-microsoft-word)
-
-{% if page.publishingplatform == "typescript" %}
-
-{% tabs %}
-{% highlight ts tabtitle="index.ts" %}
-{% include code-snippet/document-editor/export-cs2/index.ts %}
-{% endhighlight %}
-{% highlight html tabtitle="index.html" %}
-{% include code-snippet/document-editor/export-cs2/index.html %}
-{% endhighlight %}
-{% endtabs %}
-
-{% previewsample "page.domainurl/code-snippet/document-editor/export-cs2" %}
-
-{% tabs %}
-{% highlight ts tabtitle="index.ts" %}
-{% include code-snippet/document-editor/export-container-cs2/index.ts %}
-{% endhighlight %}
-{% highlight html tabtitle="index.html" %}
-{% include code-snippet/document-editor/export-container-cs2/index.html %}
-{% endhighlight %}
-{% endtabs %}
-
-{% previewsample "page.domainurl/code-snippet/document-editor/export-container-cs2" %}
-
-{% elsif page.publishingplatform == "javascript" %}
-
-{% tabs %}
-{% highlight js tabtitle="index.js" %}
-{% include code-snippet/document-editor/export-cs2/index.js %}
-{% endhighlight %}
-{% highlight html tabtitle="index.html" %}
-{% include code-snippet/document-editor/export-cs2/index.html %}
-{% endhighlight %}
-{% endtabs %}
-
-{% previewsample "page.domainurl/code-snippet/document-editor/export-cs2" %}
-
-{% tabs %}
-{% highlight js tabtitle="index.js" %}
-{% include code-snippet/document-editor/export-container-cs2/index.js %}
-{% endhighlight %}
-{% highlight html tabtitle="index.html" %}
-{% include code-snippet/document-editor/export-container-cs2/index.html %}
-{% endhighlight %}
-{% endtabs %}
-
-{% previewsample "page.domainurl/code-snippet/document-editor/export-container-cs2" %}
-{% endif %}
-
-## Word Template Export
-
-The following example shows how to export the document as Word Template (.dotx).
-
->Note: The Syncfusion® Document Editor component's document pagination (page-by-page display) can't be guaranteed for all the Word documents to match the pagination of Microsoft Word application. For more information about [why the document pagination (page-by-page display) differs from Microsoft Word](../document-editor/import/#why-the-document-pagination-differs-from-microsoft-word)
-
-{% if page.publishingplatform == "typescript" %}
-
-{% tabs %}
-{% highlight ts tabtitle="index.ts" %}
-{% include code-snippet/document-editor/export-cs4/index.ts %}
-{% endhighlight %}
-{% highlight html tabtitle="index.html" %}
-{% include code-snippet/document-editor/export-cs4/index.html %}
-{% endhighlight %}
-{% endtabs %}
-
-{% previewsample "page.domainurl/code-snippet/document-editor/export-cs4" %}
-
-{% tabs %}
-{% highlight ts tabtitle="index.ts" %}
-{% include code-snippet/document-editor/export-container-cs4/index.ts %}
-{% endhighlight %}
-{% highlight html tabtitle="index.html" %}
-{% include code-snippet/document-editor/export-container-cs4/index.html %}
-{% endhighlight %}
-{% endtabs %}
-
-{% previewsample "page.domainurl/code-snippet/document-editor/export-container-cs4" %}
-
-{% elsif page.publishingplatform == "javascript" %}
-
-{% tabs %}
-{% highlight js tabtitle="index.js" %}
-{% include code-snippet/document-editor/export-cs4/index.js %}
-{% endhighlight %}
-{% highlight html tabtitle="index.html" %}
-{% include code-snippet/document-editor/export-cs4/index.html %}
-{% endhighlight %}
-{% endtabs %}
-
-{% previewsample "page.domainurl/code-snippet/document-editor/export-cs4" %}
-
-{% tabs %}
-{% highlight js tabtitle="index.js" %}
-{% include code-snippet/document-editor/export-container-cs4/index.js %}
-{% endhighlight %}
-{% highlight html tabtitle="index.html" %}
-{% include code-snippet/document-editor/export-container-cs4/index.html %}
-{% endhighlight %}
-{% endtabs %}
-
-{% previewsample "page.domainurl/code-snippet/document-editor/export-container-cs4" %}
-{% endif %}
-
-## Text export
-
-The following example shows how to export document as text document (.txt).
-
-{% if page.publishingplatform == "typescript" %}
-
-{% tabs %}
-{% highlight ts tabtitle="index.ts" %}
-{% include code-snippet/document-editor/export-cs3/index.ts %}
-{% endhighlight %}
-{% highlight html tabtitle="index.html" %}
-{% include code-snippet/document-editor/export-cs3/index.html %}
-{% endhighlight %}
-{% endtabs %}
-
-{% previewsample "page.domainurl/code-snippet/document-editor/export-cs3" %}
-
-{% tabs %}
-{% highlight ts tabtitle="index.ts" %}
-{% include code-snippet/document-editor/export-container-cs3/index.ts %}
-{% endhighlight %}
-{% highlight html tabtitle="index.html" %}
-{% include code-snippet/document-editor/export-container-cs3/index.html %}
-{% endhighlight %}
-{% endtabs %}
-
-{% previewsample "page.domainurl/code-snippet/document-editor/export-container-cs3" %}
-
-{% elsif page.publishingplatform == "javascript" %}
-
-{% tabs %}
-{% highlight js tabtitle="index.js" %}
-{% include code-snippet/document-editor/export-cs3/index.js %}
-{% endhighlight %}
-{% highlight html tabtitle="index.html" %}
-{% include code-snippet/document-editor/export-cs3/index.html %}
-{% endhighlight %}
-{% endtabs %}
-
-{% previewsample "page.domainurl/code-snippet/document-editor/export-cs3" %}
-
-{% tabs %}
-{% highlight js tabtitle="index.js" %}
-{% include code-snippet/document-editor/export-container-cs3/index.js %}
-{% endhighlight %}
-{% highlight html tabtitle="index.html" %}
-{% include code-snippet/document-editor/export-container-cs3/index.html %}
-{% endhighlight %}
-{% endtabs %}
-
-{% previewsample "page.domainurl/code-snippet/document-editor/export-container-cs3" %}
-{% endif %}
-
-## Export as blob
-
-Document Editor also supports API to store the document into a blob. Refer to the following sample to export document into blob in client-side.
-
-```ts
-import { DocumentEditor, FormatType, WordExport, SfdtExport } from '@syncfusion/ej2-documenteditor';
-
-//Inject require modules for Export.
-DocumentEditor.Inject(WordExport, SfdtExport);
-
-let documenteditor: DocumentEditor = new DocumentEditor({ enableSfdtExport: true, enableWordExport: true, enableTextExport: true });
-
-documenteditor.appendTo('#DocumentEditor');
-
-documenteditor.open(sfdt);
-
-document.getElementById('export').addEventListener('click', () => {
- //Export the current document as `Blob` object.
- documenteditor.saveAsBlob('Docx').then((exportedDocument: Blob) => {
- // The blob can be processed further
- });
-});
-
-```
-
-For instance, to export the document as Rich Text Format file, implement an ASP.NET MVC web API controller using DocIO library by passing the DOCX blob. Refer to the following code example.
-
-```c#
- //API controller for the conversion.
- [HttpPost]
- public HttpResponseMessage ExportAsRtf()
- {
- System.Web.HttpPostedFile data = HttpContext.Current.Request.Files[0];
- //Opens document stream
- WordDocument wordDocument = new WordDocument(data.InputStream);
- MemoryStream stream = new MemoryStream();
- //Converts document stream as RTF
- wordDocument.Save(stream, FormatType.Rtf);
- wordDocument.Close();
- stream.Position = 0;
- return new HttpResponseMessage() { Content = new StreamContent(stream) };
- }
-```
-
-In client-side, you can consume this web service and save the document as Rich Text Format (.rtf) file. Refer to the following example.
-
-```ts
-document.getElementById('export').addEventListener('click', () => {
- //Expor the document as `Blob` object.
- documenteditor.saveAsBlob('Docx').then((exportedDocument: Blob) => {
- // The blob can be processed further
- let formData: FormData = new FormData();
- formData.append('fileName', 'sample.docx');
- formData.append('data', exportedDocument);
- saveAsRtf(formData);
- });
-});
-
-function saveAsRtf(formData: FormData): void {
- //Send the blob object to server to process further.
- let httpRequest: XMLHttpRequest = new XMLHttpRequest();
- httpRequest.open('POST', '/api/DocumentEditor/ExportAsRtf', true);
- httpRequest.onreadystatechange = () => {
- if (httpRequest.readyState === 4) {
- if (httpRequest.status === 200 || httpRequest.status === 304) {
- if (!(!navigator.msSaveBlob)) {
- navigator.msSaveBlob(httpRequest.response, 'sample.rtf');
- } else {
- let downloadLink: HTMLAnchorElement = document.createElementNS('http://www.w3.org/1999/xhtml', 'a') as HTMLAnchorElement;
- download('sample.rtf', 'rtf', httpRequest.response, downloadLink, 'download' in downloadLink);
- }
- } else {
- console.error(httpRequest.response);
- }
- }
- }
- httpRequest.responseType = 'blob';
- httpRequest.send(formData);
-}
-
-//Download the document in client side.
-function download(fileName: string, extension: string, buffer: Blob, downloadLink: HTMLAnchorElement, hasDownloadAttribute: Boolean): void {
- if (hasDownloadAttribute) {
- downloadLink.download = fileName;
- let dataUrl: string = window.URL.createObjectURL(buffer);
- downloadLink.href = dataUrl;
- let event: MouseEvent = document.createEvent('MouseEvent');
- event.initEvent('click', true, true);
- downloadLink.dispatchEvent(event);
- setTimeout((): void => {
- window.URL.revokeObjectURL(dataUrl);
- dataUrl = undefined;
- });
- } else {
- if (extension !== 'docx' && extension !== 'xlsx') {
- let url: string = window.URL.createObjectURL(buffer);
- let isPopupBlocked: Window = window.open(url, '_blank');
- if (!isPopupBlocked) {
- window.location.href = url;
- }
- }
- }
-}
-```
-
-## See Also
-
-* [Feature modules](../document-editor/feature-module/)
\ No newline at end of file
diff --git a/ej2-javascript/document-editor/faq/unsupported-file-format.md b/ej2-javascript/document-editor/faq/unsupported-file-format.md
deleted file mode 100644
index 7af31007a..000000000
--- a/ej2-javascript/document-editor/faq/unsupported-file-format.md
+++ /dev/null
@@ -1,30 +0,0 @@
----
-layout: post
-title: Unsupported file in ##Platform_Name## Document editor control | Syncfusion
-description: Learn here all about Unsupported file in Syncfusion ##Platform_Name## Document editor control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: Unsupported file
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Why Do I Get the Unsupported Warning Message When Opening a Document?
-
-If you receive an "The file format you have selected isn't supported. Please choose valid format." message when opening a document in the Document Editor, it typically indicates that the document format is not supported by the current version of the Document Editor. Here are some common reasons for this warning:
-1. Unsupported File Format: The document you are trying to open might be in a format that the Document Editor does not support. Ensure you are using a supported format, such as SFDT.
-2. Corrupted Document: The document file might be corrupted or improperly formatted. Try opening a different document to see if the issue persists.
-To avoid this warning, always use the recommended document formats and features supported by the Document Editor.
-
-Document Editor supports the following file formats:
-• Word Document (*.docx)
-• Syncfusion Document Text (*.sfdt)
-• Plain Text (*.txt)
-• Word Template (*.dotx)
-• HyperText Markup Language (*.html)
-• Rich Text Format (*.rtf)
-• Word XML Document(*.xml)
-• Word 97-2003 Template (*.dot)
-• Word 97-2003 Document (*.doc)
-
-By using these supported formats, you can ensure compatibility and avoid unsupported warning messages when opening documents in the Document Editor.
diff --git a/ej2-javascript/document-editor/feature-module.md b/ej2-javascript/document-editor/feature-module.md
deleted file mode 100644
index 7addc3f4e..000000000
--- a/ej2-javascript/document-editor/feature-module.md
+++ /dev/null
@@ -1,56 +0,0 @@
----
-layout: post
-title: Feature module in ##Platform_Name## Document editor control | Syncfusion
-description: Learn here all about Feature module in Syncfusion ##Platform_Name## Document editor control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: Feature module
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Feature module in ##Platform_Name## Document editor control
-
-Document Editor features are segregated into individual feature-wise modules to enable selective referencing. By default, the Document Editor displays the document in read-only mode. The required modules should be injected to extend its functionality. The following are the selective modules of Document Editor that can be included as required:
-* **Print** - Prints the document.
-* **SfdtExport** - Exports the document as Syncfusion Document Text (.SFDT) file.
-* **Selection** - Selects a portion of the document and copy it to the clipboard.
-* **Search** - Searches specific text and navigate between the results.
-* **WordExport** - Exports the document as Word Document (.DOCX) file.
-* **TextExport** - Exports the document as Text Document (.TXT) file.
-* **Editor** - Performs all kind of editing operations.
-* **EditorHistory** - Maintains the history of editing operations so that you can perform undo and redo at any time.
-* User interface options such as context menu, options pane, image resizer, and dialog are available as individual modules.
-
->In addition to injecting the required modules in your application, enable corresponding properties to extend the functionality for a Document Editor instance.
-Refer to the following table.
-
-| Module | Dependent modules to be injected for extending the functionality of Document Editor in your application | Property to enable the functionality for a Document Editor instance |
-|---|---|---|
-|Print|`DocumentEditor.Inject(Print)`|`let documenteditor: DocumentEditor = new DocumentEditor({ enablePrint: true });`|
-|SfdtExport|`DocumentEditor.Inject(SfdtExport)`|`let documenteditor: DocumentEditor = new DocumentEditor({ enableSfdtExport: true });`|
-|Selection|`DocumentEditor.Inject(Selection)`|`let documenteditor: DocumentEditor = new DocumentEditor({ enableSelection: true });`|
-|Search|`DocumentEditor.Inject(Selection, Search)`|`let documenteditor: DocumentEditor = new DocumentEditor({ enableSearch: true });`|
-|WordExport|`DocumentEditor.Inject(SfdtExport, WordExport)`|`let documenteditor: DocumentEditor = new DocumentEditor({ enableWordExport: true });`|
-|TextExport|`DocumentEditor.Inject(SfdtExport, TextExport)`|`let documenteditor: DocumentEditor = new DocumentEditor({ enableTextExport: true });`|
-|Editor|`DocumentEditor.Inject(Selection, Editor)`|`let documenteditor: DocumentEditor = new DocumentEditor({ isReadOnly: false, enableEditor: true });`|
-|EditorHistory|`DocumentEditor.Inject(Selection, Editor, EditorHistory)`|`let documenteditor: DocumentEditor = new DocumentEditor({ isReadOnly: false, enableEditor: true, enableEditorHistory: true });`|
-|OptionsPane(Find)|`DocumentEditor.Inject(Selection, Search, OptionsPane)`|`let documenteditor: DocumentEditor = new DocumentEditor({ enableSearch: true, enableOptionsPane: true });`|
-|OptionsPane(Find and Replace)|`DocumentEditor.Inject(Selection, Search, Editor, OptionsPane)`|`let documenteditor: DocumentEditor = new DocumentEditor({ isReadOnly: false, enableEditor: true, enableSearch: true, enableOptionsPane: true });`|
-|ContextMenu|`DocumentEditor.Inject(Selection, ContextMenu)`|`let documenteditor: DocumentEditor = new DocumentEditor({ enableSelection: true, enableContextMenu: true });`|
-|ImageResizer|`DocumentEditor.Inject(Selection, Editor, ImageResizer)`|`let documenteditor: DocumentEditor = new DocumentEditor({ isReadOnly: false, enableEditor: true, enableImageResizer: true });`|
-|HyperlinkDialog|`DocumentEditor.Inject(Selection, Editor, HyperlinkDialog)`|`let documenteditor: DocumentEditor = new DocumentEditor({ isReadOnly: false, enableEditor: true, enableHyperlinkDialog: true });`|
-|TableDialog|`DocumentEditor.Inject(Selection, Editor, TableDialog)`|`let documenteditor: DocumentEditor = new DocumentEditor({ isReadOnly: false, enableEditor: true, enableTableDialog: true });`|
-|FontDialog|`DocumentEditor.Inject(Selection, Editor, FontDialog)`|`let documenteditor: DocumentEditor = new DocumentEditor({ isReadOnly: false, enableEditor: true, enableFontDialog: true });`|
-|ParagraphDialog|`DocumentEditor.Inject(Selection, Editor, ParagraphDialog)`|`let documenteditor: DocumentEditor = new DocumentEditor({ isReadOnly: false, enableEditor: true, enableParagraphDialog: true });`|
-|BookmarkDialog|`DocumentEditor.Inject(Selection, Editor, BookmarkDialog)`|`let documenteditor: DocumentEditor = new DocumentEditor({ isReadOnly: false, enableEditor: true, enableBookmarkDialog: true });`|
-|PageSetupDialog|`DocumentEditor.Inject(Selection, Editor, PageSetupDialog)`|`let documenteditor: DocumentEditor = new DocumentEditor({ isReadOnly: false, enableEditor: true, enablePageSetupDialog: true });`|
-|TableOfContentsDialog|`DocumentEditor.Inject(Selection, Editor, TableOfContentsDialog)`|`let documenteditor: DocumentEditor = new DocumentEditor({ isReadOnly: false, enableEditor: true, enableTableOfContentsDialog: true });`|
-|ListDialog|`DocumentEditor.Inject(Selection, Editor, ListDialog)`|`let documenteditor: DocumentEditor = new DocumentEditor({ isReadOnly: false, enableEditor: true, enableListDialog: true });`|
-|TablePropertiesDialog|`DocumentEditor.Inject(Selection, Editor, TablePropertiesDialog)`|`let documenteditor: DocumentEditor = new DocumentEditor({ isReadOnly: false, enableEditor: true, enableTablePropertiesDialog: true });`|
-|CellOptionsDialog|`DocumentEditor.Inject(Selection, Editor, CellOptionsDialog)`|`let documenteditor: DocumentEditor = new DocumentEditor({ isReadOnly: false, enableEditor: true, enableTablePropertiesDialog: true });`|
-|BordersAndShadingDialog|`DocumentEditor.Inject(Selection, Editor, BordersAndShadingDialog)`|`let documenteditor: DocumentEditor = new DocumentEditor({ isReadOnly: false, enableEditor: true, enableBordersAndShadingDialog: true });`|
-|TableOptionsDialog|`DocumentEditor.Inject(Selection, Editor, TableOptionsDialog)`|`let documenteditor: DocumentEditor = new DocumentEditor({ isReadOnly: false, enableEditor: true, enableTableOptionsDialog: true });`|
-|StylesDialog|`DocumentEditor.Inject(Selection, Editor, StylesDialog,StyleDialog)`|`let documenteditor: DocumentEditor = new DocumentEditor({ isReadOnly: false, enableEditor: true, enableStyleDialog: true ,enableStylesDialog: true });`|
-|StyleDialog|`DocumentEditor.Inject(Selection, Editor, StyleDialog)`|`let documenteditor: DocumentEditor = new DocumentEditor({ isReadOnly: false, enableEditor: true, enableStyleDialog: true });`|
-|BulletsAndNumberingDialog|`DocumentEditor.Inject(Selection, Editor, BulletsAndNumberingDialog)`|`let documenteditor: DocumentEditor = new DocumentEditor({ isReadOnly: false, enableEditor: true, enableStyleDialog: true });`|
\ No newline at end of file
diff --git a/ej2-javascript/document-editor/fields.md b/ej2-javascript/document-editor/fields.md
deleted file mode 100644
index 1e134d570..000000000
--- a/ej2-javascript/document-editor/fields.md
+++ /dev/null
@@ -1,86 +0,0 @@
----
-layout: post
-title: Fields in ##Platform_Name## Document editor control | Syncfusion
-description: Learn here all about Fields in Syncfusion ##Platform_Name## Document editor control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: Fields
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Fields in ##Platform_Name## Document editor control
-
-Document Editor has preservation support for all types of fields in an existing word document without any data loss.
-
-## Adding Fields
-
-You can add a field to the document by using [`insertField`](../api/document-editor/editor/#insertfield) method in [`Editor`](../api/document-editor/editor/) module.
-
-The following example code illustrates how to insert merge field programmatically by providing the field code and field result.
-
-```ts
-
-let fieldCode: string = 'MERGEFIELD First Name \\* MERGEFORMAT ';
-let fieldResult: string = '«First Name»';
-documenteditor.editor.insertField(fieldCode, fieldResult);
-
-```
-
->Note: Document editor does not validate/process the field code/field result. it simply inserts the field with specified field information.
-
-## Update fields
-
-Document Editor provides support for updating bookmark cross reference field. The following example code illustrates how to update bookmark cross reference field.
-
-```ts
-//Update all the bookmark cross reference field in the document.
-documentEditor.updateFields();
-```
-
-Bookmark cross reference fields can be updated through UI by using update fields option in `Toolbar`.
-
-
-
-The following type of fields are automatically updated in Document Editor.
-
-* NUMPAGES
-* SECTION
-* PAGE
-
-## Get field info
-
-You can get field code and field result of the current selected field by using [`getFieldInfo`](../api/document-editor/selection/#getfieldinfo) method in the [`Selection`](../api/document-editor/selection/) module.
-
-```ts
-//Gets the field information of the selected field.
-let fieldInfo: FieldInfo = documentEditor.selection.getFieldInfo();
-```
-
->Note: For nested fields, this method returns combined field code and result.
-
-## Set field info
-
-You can modify the field code and field result of the current selected field by using [`setFieldInfo`](../api/document-editor/editor/#setfieldinfo) method in the [`Editor`](../api/document-editor/editor/) module.
-
-```ts
-//Gets the field information for the selected field.
-let fieldInfo: FieldInfo = documentEditor.selection.getFieldInfo();
-
-//Modify field code
-fieldInfo.code = 'MERGEFIELD First Name \\* MERGEFORMAT ';
-
-//Modify field result
-fieldInfo.result = '«First Name»';
-
-//Modify field code and result of the current selected field.
-documentEditor.editor.setFieldInfo(fieldInfo);
-```
-
->Note: For nested field, entire field gets replaced completely with the specified field information.
-
-## See Also
-
-* [Mail merge using DocIO](https://help.syncfusion.com/file-formats/docio/working-with-mail-merge)
-* [Mail merge demo](https://github.com/SyncfusionExamples/EJ2-Document-Editor-Web-Services/blob/master/ASP.NET%20Core/src/Controllers/DocumentEditorController.cs#L114)
-* You can refer to the [Microsoft support article to know more about the list of fields supported in Microsoft Word and its field codes](https://support.microsoft.com/en-us/office/list-of-field-codes-in-word-1ad6d91a-55a7-4a8d-b535-cf7888659a51)
\ No newline at end of file
diff --git a/ej2-javascript/document-editor/find-and-replace.md b/ej2-javascript/document-editor/find-and-replace.md
deleted file mode 100644
index 59830c18a..000000000
--- a/ej2-javascript/document-editor/find-and-replace.md
+++ /dev/null
@@ -1,177 +0,0 @@
----
-layout: post
-title: Find and replace in ##Platform_Name## Document editor control | Syncfusion
-description: Learn here all about Find and replace in Syncfusion ##Platform_Name## Document editor control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: Find and replace
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Find and replace in ##Platform_Name## Document editor control
-
-The Document Editor component searches a portion of text in the document through a built-in interface called `OptionsPane` or rich APIs. When used in combination with selection performs various operations on the search results like replacing it with some other text, highlighting it, making it bolder, and more.
-
-## Options pane
-
-This provides the options to search for a portion of text in the document. After search operation is completed, the search results will be displayed in a list and options to navigate between them. The current occurrence of matched text or all occurrences with another text can be replaced by switching to `Replace` tab. This pane is opened using the keyboard shortcut `CTRL+F`. You can also open it programmatically using the following sample code.
-
-{% if page.publishingplatform == "typescript" %}
-
- {% tabs %}
-{% highlight ts tabtitle="index.ts" %}
-{% include code-snippet/document-editor/find-cs1/index.ts %}
-{% endhighlight %}
-{% highlight html tabtitle="index.html" %}
-{% include code-snippet/document-editor/find-cs1/index.html %}
-{% endhighlight %}
-{% endtabs %}
-
-{% previewsample "page.domainurl/code-snippet/document-editor/find-cs1" %}
-
-{% elsif page.publishingplatform == "javascript" %}
-
-{% tabs %}
-{% highlight js tabtitle="index.js" %}
-{% include code-snippet/document-editor/find-cs1/index.js %}
-{% endhighlight %}
-{% highlight html tabtitle="index.html" %}
-{% include code-snippet/document-editor/find-cs1/index.html %}
-{% endhighlight %}
-{% endtabs %}
-
-{% previewsample "page.domainurl/code-snippet/document-editor/find-cs1" %}
-{% endif %}
-
-You can close the options pane by pressing `Esc` key.
-
-## Search
-
-The [`Search`](../api/document-editor/search/) module of Document Editor exposes the following APIs:
-
-|API Name|Type |Description|
-|---|---|---|
-|[`findAll()`](../api/document-editor/search/#findall)| Method |Searches for specified text in the whole document and highlights it with yellow.|
-|[`searchResults`](../api/document-editor/search/#searchresults) |Property |This is an instance of [`SearchResults`](../api/document-editor/searchResults/).|
-|[`find()`](../api/document-editor/search/#find) | Method |Find immediate occurrence of specified text from cursor position in the document and highlights it with yellow.|
-
-### Find the immediate occurrence in the document
-
-Using [`find()`](../api/document-editor/search/#find) method, you can find the immediate occurrence of specified text from current cursor position in the document.
-
-The following example code illustrates how to use find in Document editor.
-
-```ts
-documenteditor.search.find('Some text', 'None');
-```
-
->Note: Second parameter is optional parameter and it denotes find Options. Possible values of find options are `'None' |'WholeWord' |'CaseSensitive'| 'CaseSensitiveWholeWord'`.
-
-### Find all the occurrences in the document
-
-Using [`findAll()`](../api/document-editor/search/#findall) method, you can find all the occurrences of specified text in the whole document and highlight it with yellow.
-
-The following example code illustrates how to find All the text in the document.
-
-```ts
-documenteditor.search.findAll('Some text', 'None');
-```
-
->Note: Second parameter is optional parameter and it denotes find Options. Possible values of find options are `'None' |'WholeWord' |'CaseSensitive'| 'CaseSensitiveWholeWord'`.
-
-## Search results
-
-The [`SearchResults`](../api/document-editor/searchResults/) class provides information about the search results after a search operation is completed that can be identified using the [`searchResultsChange`](../api/document-editor#searchresultschange) event. This will expose the following APIs:
-
-|API Name|Type |Description|
-|---|---|---|
-|[`length`](../api/document-editor/searchResults/#length)|Property|Returns the total number of results found on the search.|
-|[`index`](../api/document-editor/searchResults/#index)|Property|Returns the index of selected search result. You can change the value for this property to move the selection.|
-|[`replaceAll()`](../api/document-editor/searchResults/#replaceall)|Method|Replaces all the occurrences with specified text.|
-|[`clear()`](../api/document-editor/searchResults/#clear)|Method|Clears the search result.|
-
-### Replace all the occurrences
-
-Using [`replaceAll`](../api/document-editor/searchResults/#replaceall), you can replace all the occurrences with specified text.
-
-The following example code illustrates how to use replace All in Document editor.
-
-```ts
-documentEditor.search.findAll('Some text');
-// Replace all the searched text with word 'Mike'
-documentEditor.search.searchResults.replaceAll("Mike");
-```
-
-### Replace
-
-Using [`insertText`](../api/document-editor/editor/#inserttext), you can replace the current searched text with specified text and it replace single occurrence.
-
->Note: This [`insertText`](../api/document-editor/editor/#inserttext) API accepts following control characters
->* New line characters ("\r", "\r\n", "\n") - Inserts a new paragraph and appends the remaining text to the new paragraph.
->* Line break character ("\v") - Moves the remaining text to start in new line.
->* Tab character ("\t") - Allocates a tab space and continue the next character.
-
-The following example code illustrates how to find a text in the document and replace each occurrence of the text one by one programmatically.
-
-```ts
-container.documentEditor.search.findAll('works');
-
-let searchLength: number = container.documentEditor.search.searchResults.length;
-
-for (let i = 0; i < searchLength; i++) {
- // It will move selection to specific searched index,move to each occurrence one by one
- container.documentEditor.search.searchResults.index = i;
- // Replace it with some text
- container.documentEditor.editor.insertText('Hello');
-}
-
-container.documentEditor.search.searchResults.clear();
-```
-
-## SearchResultsChange event
-
-[`DocumentEditor`](../api/document-editor/) exposes the [`searchResultsChange`](../api/document-editor#searchresultschange) event that will be triggered whenever search results are changed. Consider the following scenarios:
-
-* A search operation is completed with some results.
-* The results are replaced with some other text, since it will be cleared automatically.
-* The results are cleared explicitly.
-
-Refer to the following code example.
-
-```ts
-documenteditor.searchResultsChange = function() {
-
-};
-```
-
-## Customize find and replace
-
-Using the exposed APIs, you can customize the find and replace functionality in your application. Refer to the following sample code.
-
-{% if page.publishingplatform == "typescript" %}
-
- {% tabs %}
-{% highlight ts tabtitle="index.ts" %}
-{% include code-snippet/document-editor/replace-cs1/index.ts %}
-{% endhighlight %}
-{% highlight html tabtitle="index.html" %}
-{% include code-snippet/document-editor/replace-cs1/index.html %}
-{% endhighlight %}
-{% endtabs %}
-
-{% previewsample "page.domainurl/code-snippet/document-editor/replace-cs1" %}
-
-{% elsif page.publishingplatform == "javascript" %}
-
-{% tabs %}
-{% highlight js tabtitle="index.js" %}
-{% include code-snippet/document-editor/replace-cs1/index.js %}
-{% endhighlight %}
-{% highlight html tabtitle="index.html" %}
-{% include code-snippet/document-editor/replace-cs1/index.html %}
-{% endhighlight %}
-{% endtabs %}
-
-{% previewsample "page.domainurl/code-snippet/document-editor/replace-cs1" %}
-{% endif %}
\ No newline at end of file
diff --git a/ej2-javascript/document-editor/form-fields.md b/ej2-javascript/document-editor/form-fields.md
deleted file mode 100644
index 6ce515610..000000000
--- a/ej2-javascript/document-editor/form-fields.md
+++ /dev/null
@@ -1,150 +0,0 @@
----
-layout: post
-title: Form fields in ##Platform_Name## Document editor control | Syncfusion
-description: Learn here all about Form fields in Syncfusion ##Platform_Name## Document editor control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: Form fields
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Form fields in ##Platform_Name## Document editor control
-
-DocumentEditorContainer component provide support for inserting Text, CheckBox, DropDown form fields through in-built toolbar.
-
-
-
-## Insert form field
-
-Form fields can be inserted using [`insertFormField`](../api/document-editor/editor/#insertformfield) method in editor module.
-
-```ts
-//Insert Text form field
-documentEditor.editor.insertFormField('Text');
-//Insert Checkbox form field
-documentEditor.editor.insertFormField('CheckBox');
-//Insert Drop down form field
-documentEditor.editor.insertFormField('DropDown');
-```
-
-## Get form field names
-
-All the form fields names form current document can be retrieved using [`getFormFieldNames()`](../api/document-editor/#getformfieldnames).
-
-```ts
-let formFieldsNames: string[] = documentEditor.getFormFieldNames();
-```
-
-## Get form field properties
-
-Form field properties can be retrieved using [`getFormFieldInfo()`](../api/document-editor/#getformfieldinfo).
-
-```ts
-//Get Text form field by using bookmark name.
-let textfieldInfo: TextFormFieldInfo = documentEditor.getFormFieldInfo('Text1') as TextFormFieldInfo;
-//Checkbox form field by using bookmark name.
-let checkboxfieldInfo: CheckBoxFormFieldInfo = documentEditor.getFormFieldInfo('Check1') as CheckBoxFormFieldInfo;
-//Dropdown form field by using bookmark name.
-let dropdownfieldInfo: DropDownFormFieldInfo = documentEditor.getFormFieldInfo('Drop1') as DropDownFormFieldInfo;
-```
-
-## Set form field properties
-
-Form field properties can be modified using [`setFormFieldInfo`](../api/document-editor/#setformfieldinfo).
-
-```ts
-// Set text form field properties
-let textfieldInfo: TextFormFieldInfo = documentEditor.getFormFieldInfo('Text1') as TextFormFieldInfo;
-textfieldInfo.defaultValue = "Hello";
-textfieldInfo.format = "Uppercase";
-textfieldInfo.type = "Text";
-textfieldInfo.name = "Text2";
-documentEditor.setFormFieldInfo('Text1', textfieldInfo);
-
-// Set checkbox form field properties
-let checkboxfieldInfo: CheckBoxFormFieldInfo = documentEditor.getFormFieldInfo('Check1') as CheckBoxFormFieldInfo;
-checkboxfieldInfo.defaultValue = true;
-checkboxfieldInfo.name = "Check2";
-documentEditor.setFormFieldInfo('Check1', checkboxfieldInfo);
-
-// Set checkbox form field properties
-let dropdownfieldInfo: DropDownFormFieldInfo = documentEditor.getFormFieldInfo('Drop1') as DropDownFormFieldInfo;
-dropdownfieldInfo.dropdownItems = ['One', 'Two', 'Three']
-dropdownfieldInfo.name = "Drop2";
-documentEditor.setFormFieldInfo('Drop1', dropdownfieldInfo);
-```
-
->Note:If a form field already exists in the document with the new name specified, the old form field name property will be cleared and it will not be accessible. Ensure the new name is unique.
-
-## Form Field Shading
-
-You can customize form field shading at the application level using the [`formFieldSettings`](../api/document-editor/#formFieldSettings) property.
-
-The example code below demonstrates how to set a custom shading color and how to disable shading (by default, shading is enabled).
-
-```ts
-// Set a custom shading color (for example, white)
-container.documentEditorSettings.formFieldSettings.shadingColor = '#ffffff';
-
-// Disable form field shading entirely
-container.documentEditorSettings.formFieldSettings.applyShading = false;
-```
-
-N> This customization only affects the application UI and will not be preserved when exporting the document.
-
-## Export form field data
-
-Data of the all the Form fields in the document can be exported using [`exportFormData`](../api/document-editor/#exportformdata).
-
-```ts
-let formFieldDate: FormFieldData[] = documentEditor.exportFormData();
-```
-
-## Import form field data
-
-Form fields can be prefilled with data using [`importFormData`](../api/document-editor/#importformdata).
-
-```ts
-let textformField: FormFieldData = { fieldName: 'Text1', value: 'Hello World' };
-let checkformField: FormFieldData = { fieldName: 'Check1', value: true };
-let dropdownformField: FormFieldData = { fieldName: 'Drop1', value: 1 };
-//Import form field data
-this.container.documentEditor.importFormData([textformField, checkformField, dropdownformField]);
-```
-
-## Reset form fields
-
-Reset all the form fields in current document to default value using [`resetFormFields`](../api/document-editor/#resetformfields).
-
-```ts
-documentEditor.resetFormFields();
-```
-
-## Protect the document in form filling mode
-
-Document Editor provides support for protecting the document with `FormFieldsOnly` protection. In this protection, user can only fill form fields in the document.
-
-Document editor provides an option to protect and unprotect document using [`enforceProtection`](../api/document-editor/editor/#enforceprotection) and [`stopProtection`](../api/document-editor/editor/#stopprotection) API.
-
-The following example code illustrates how to enforce and stop protection in Document editor container.
-
-```ts
-let container: DocumentEditorContainer = new DocumentEditorContainer({
- enableToolbar: true,
- height: '590px',
-});
-DocumentEditorContainer.Inject(Toolbar);
-container.serviceUrl =
- 'https://services.syncfusion.com/js/production/api/documenteditor/';
-container.appendTo('#container');
-
-//enforce protection
-container.documentEditor.editor.enforceProtection('123', 'FormFieldsOnly');
-
-//stop the document protection
-container.documentEditor.editor.stopProtection('123');
-```
-> The Web API hosted link `https://services.syncfusion.com/js/production/api/documenteditor/` utilized in the Document Editor's serviceUrl property is intended solely for demonstration and evaluation purposes. For production deployment, please host your own web service with your required server configurations. You can refer and reuse the [GitHub Web Service example](https://github.com/SyncfusionExamples/EJ2-DocumentEditor-WebServices) or [Docker image](https://hub.docker.com/r/syncfusion/word-processor-server) for hosting your own web service and use for the serviceUrl property.
-
->Note: In enforce Protection method, first parameter denotes password and second parameter denotes protection type. Possible values of protection type are `NoProtection |ReadOnly |FormFieldsOnly |CommentsOnly`. In stop protection method, parameter denotes the password.
\ No newline at end of file
diff --git a/ej2-javascript/document-editor/global-local.md b/ej2-javascript/document-editor/global-local.md
deleted file mode 100644
index 6692df114..000000000
--- a/ej2-javascript/document-editor/global-local.md
+++ /dev/null
@@ -1,528 +0,0 @@
----
-layout: post
-title: Global local in ##Platform_Name## Document editor control | Syncfusion
-description: Learn here all about Global local in Syncfusion ##Platform_Name## Document editor control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: Global local
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Global local in ##Platform_Name## Document editor control
-
-## Localization
-
-The [`Localization`](../api/base/l10n/) library allows you to localize default text content of the DocumentEditor. The Document Editor component has static text on some features (like find & replace, context-menu, dialogs) that can be changed to other cultures (Arabic, Deutsch, French, etc.) by defining the locale value and translation object. Please refer the sample link [RTL](https://ej2.syncfusion.com/demos/document-editor/right-to-left/)
-
-Note: Please refer the [Locale](https://github.com/syncfusion/ej2-locale/tree/master/src).
-
-## Document Editor
-
-The following list of properties and its values are used in the Document Editor.
-
-Locale keywords |Text
------|-----
-Table | Table
-Row | Row
-Cell | Cell
-Ok | OK
-Cancel | Cancel
-Size | Size
-Preferred Width | Preferred width
-Points | Points
-Percent | Percent
-Measure in | Measure in
-Alignment | Alignment
-Left | Left
-Center | Center
-Right | Right
-Justify | Justify
-Indent from left | Indent from left
-Borders and Shading | Borders and Shading
-Options | Options
-Specify height | Specify height
-At least | At least
-Exactly | Exactly
-Row height is | Row height is
-Allow row to break across pages | Allow row to break across pages
-Repeat as header row at the top of each page | Repeat as header row at the top of each page
-Vertical alignment | Vertical alignment
-Top | Top
-Bottom | Bottom
-Default cell margins | Default cell margins
-Default cell spacing | Default cell spacing
-Allow spacing between cells | Allow spacing between cells
-Cell margins | Cell margins
-Same as the whole table | Same as the whole table
-Borders | Borders
-None | None
-Style | Style
-Width | Width
-Height | Height
-Letter | Letter
-Tabloid | Tabloid
-Legal | Legal
-Statement | Statement
-Executive | Executive
-A3 | A3
-A4 | A4
-A5 | A5
-B4 | B4
-B5 | B5
-Custom Size | Custom size
-Different odd and even | Different odd and even
-Different first page | Different first page
-From edge | From edge
-Header | Header
-Footer | Footer
-Margin | Margins
-Paper | Paper
-Layout | Layout
-Orientation | Orientation
-Landscape | Landscape
-Portrait | Portrait
-Show page numbers | Show page numbers
-Right align page numbers | Right align page numbers
-Nothing | Nothing
-Tab leader | Tab leader
-Show levels | Show levels
-Use hyperlinks instead of page numbers | Use hyperlinks instead of page numbers
-Build table of contents from | Build table of contents from
-Styles | Styles
-Available styles | Available styles
-TOC level | TOC level
-Heading | Heading
-Heading 1 | Heading 1
-Heading 2 | Heading 2
-Heading 3 | Heading 3
-Heading 4 | Heading 4
-Heading 5 | Heading 5
-Heading 6 | Heading 6
-List Paragraph | List Paragraph
-Normal | Normal
-Outline levels | Outline levels
-Table entry fields | Table entry fields
-Modify | Modify
-Color | Color
-Setting | Setting
-Box | Box
-All | All
-Custom | Custom
-Preview | Preview
-Shading | Shading
-Fill | Fill
-Apply To | Apply to
-Table Properties | Table Properties
-Cell Options | Cell Options
-Table Options | Table Options
-Insert Table | Insert Table
-Number of columns | Number of columns
-Number of rows | Number of rows
-Text to display | Text to display
-Address | Address
-Insert Hyperlink | Insert Hyperlink
-Edit Hyperlink | Edit Hyperlink
-Insert | Insert
-General | General
-Indentation | Indentation
-Before text | Before text
-Special | Special
-First line | First line
-Hanging | Hanging
-After text | After text
-By | By
-Before | Before
-Line Spacing | Line spacing
-After | After
-At | At
-Multiple | Multiple
-Spacing | Spacing
-Define new Multilevel list | Define new Multilevel list
-List level | List level
-Choose level to modify | Choose level to modify
-Level | Level
-Number format | Number format
-Number style for this level | Number style for this level
-Enter formatting for number | Enter formatting for number
-Start at | Start at
-Restart list after | Restart list after
-Position | Position
-Text indent at | Text indent at
-Aligned at | Aligned at
-Follow number with | Follow number with
-Tab character | Tab character
-Space | Space
-Arabic | Arabic
-UpRoman | UpRoman
-LowRoman | LowRoman
-UpLetter | UpLetter
-LowLetter | LowLetter
-Number | Number
-Leading zero | Leading zero
-Bullet | Bullet
-Ordinal | Ordinal
-Ordinal Text | Ordinal Text
-For East | For East
-No Restart | No Restart
-Font | Font
-Font style | Font style
-Underline style | Underline style
-Font color | Font color
-Effects | Effects
-Strikethrough | Strikethrough
-Superscript | Superscript
-Subscript | Subscript
-Double strikethrough | Double strikethrough
-Regular | Regular
-Bold | Bold
-Italic | Italic
-Cut | Cut
-Copy | Copy
-Paste | Paste
-Hyperlink | Hyperlink
-Open Hyperlink | Open Hyperlink
-Copy Hyperlink | Copy Hyperlink
-Remove Hyperlink | Remove Hyperlink
-Paragraph | Paragraph
-Linked Style | Linked(Paragraph and Character)
-Character | Character
-Merge Cells | Merge Cells
-Insert Above | Insert Above
-Insert Below | Insert Below
-Insert Left | Insert Left
-Insert Right | Insert Right
-Delete | Delete
-Delete Table | Delete Table
-Delete Row | Delete Row
-Delete Column | Delete Column
-File Name | File Name
-Format Type | Format Type
-Save | Save
-Navigation | Navigation
-Results | Results
-Replace | Replace
-Replace All | Replace All
-We replaced all | We replaced all
-Find | Find
-No matches | No matches
-All Done | All Done
-Result | Result
-of | of
-instances | instances
-with | with
-Click to follow link | Click to follow link
-Continue Numbering | Continue Numbering
-Bookmark name | Bookmark name
-Close | Close
-Restart At | Restart At
-Properties | Properties
-Name | Name
-Style type | Style type
-Style based on | Style based on
-Style for following paragraph | Style for following paragraph
-Formatting | Formatting
-Numbering and Bullets | Numbering and Bullets
-Numbering | Numbering
-Update Field | Update Field
-Edit Field | Edit Field
-Bookmark | Bookmark
-Page Setup | Page Setup
-No bookmarks found | No bookmarks found
-Number format tooltip information | Single-level number format: [PREFIX]%[LEVELNUMBER][SUFFIX] For example, 'Chapter %1.' will display numbering likeChapter 1. ItemChapter 2. Item… Chapter N. Item Multilevel number format:[PREFIX]%[LEVELNUMBER][SUFFIX]+[PREFIX]%[LEVELNUMBER][SUFFIX]For example, '%1.%2.' will display numbering like1.1. Item1.2. Item…1.N. Item
-Format | Format
-Create New Style | Create New Style
-Modify Style | Modify Style
-New | New
-Bullets | Bullets
-Use bookmarks | Use bookmarks
-Table of Contents | Table of Contents
-AutoFit | AutoFit
-AutoFit to Contents | AutoFit to Contents
-AutoFit to Window | AutoFit to Window
-Fixed Column Width | Fixed Column Width
-Reset | Reset
-Match case | Match case
-Whole words | Whole words
-Add | Add
-Go To | Go To
-Search for | Search for
-Replace with | Replace with
-TOC 1 | TOC 1
-TOC 2 | TOC 2
-TOC 3 | TOC 3
-TOC 4 | TOC 4
-TOC 5 | TOC 5
-TOC 6 | TOC 6
-TOC 7 | TOC 7
-TOC 8 | TOC 8
-TOC 9 | TOC 9
-Right-to-left | Right-to-left
-Left-to-right | Left-to-right
-Direction | Direction
-Table direction | Table direction
-Indent from right | Indent from right
-Contextual Spacing | Don't add space between the paragraphs of the same styles
-Password Mismatch | The password don't match
-Restrict Editing | Restrict Editing
-Formatting restrictions | Formatting restrictions
-Allow formatting | Allow formatting
-Editing restrictions | Editing restrictions
-Read only | Read only
-Exceptions Optional | Exceptions (optional)
-Select Part Of Document And User | Select parts of the document and choose users who are allowed to freely edit them.
-Everyone | Everyone
-More users | More users
-Add Users | Add Users
-Enforcing Protection | Yes, Start Enforcing Protection
-Start Enforcing Protection | Start Enforcing Protection
-Enter User | Enter User
-Users | Users
-Enter new password | Enter new password
-Reenter new password to confirm | Reenter new password to confirm
-Your permissions | Your permissions
-Protected Document | This document is protected from unintentional editing. You may edit in this region.
-FormFieldsOnly | This document is protected from unintentional editing. You may only fill in forms in this region.
-You may format text only with certain styles | You may format text only with certain styles.
-Stop Protection | Stop Protection
-Password | Password
-Spelling Editor | Spelling Editor
-Spelling | Spelling
-Spell Check | Spell Check
-Underline errors | Underline errors
-Ignore | Ignore
-Ignore all | Ignore All
-Add to Dictionary | Add to Dictionary
-Change | Change
-Change All | Change All
-Suggestions | Suggestions
-The password is incorrect | The password is incorrect
-Error in establishing connection with web server | Error in establishing connection with web server
-Highlight the regions I can edit | Highlight the regions I can edit
-Show All Regions I Can Edit | Show All Regions I Can Edit
-Find Next Region I Can Edit | Find Next Region I Can Edit
-Keep source formatting | Keep source formatting
-Match destination formatting | Match destination formatting
-Text only | Text only
-Comments | Comments
-Type your comment | Type your comment
-Post | Post
-Reply | Reply
-New Comment | New Comment
-Edit | Edit
-Resolve | Resolve
-Reopen | Reopen
-No comments in this document | No comments in this document
-more | more
-Type your comment here | Type your comment here
-Next Comment | Next Comment
-Previous Comment | Previous Comment
-Un-posted comments | Un-posted comments
-Discard Comment | Added comments not posted. If you continue, that comment will be discarded.
-No Headings | No Heading Found!
-Add Headings | This document has no headings. Please add headings and try again.
-More Options | More Options
-Click to see this comment | Click to see this comment
-Drop Down Form Field | Drop Down Form Field
-Drop-down items | Drop-down items
-Items in drop-down list | Items in drop-down list
-ADD | ADD
-REMOVE | REMOVE
-Field settings | Field settings
-Tooltip | Tooltip
-Drop-down enabled | Drop-down enabled
-Check Box Form Field | Check Box Form Field
-Check box size | Check box size
-Auto | Auto
-Default value | Default value
-Not checked | Not checked
-Checked | Checked
-Check box enabled | Check box enabled
-Text Form Field | Text Form Field
-Type | Type
-Default text | Default text
-Maximum length | Maximum length
-Text format | Text format
-Fill-in enabled | Fill-in enabled
-Default number | Default number
-Default date | Default date
-Date format | Date format
-Merge Track | This action wont be marked as change. Do you want to continue?
-UnTrack | Cannot be tracked
-Accept | Accept
-Reject | Reject
-Previous Changes | Previous Changes
-Next Changes | Next Changes
-Inserted | Inserted
-Deleted | Deleted
-Changes | Changes
-Accept all | Accept all
-Reject all | Reject all
-No changes | No changes
-Accept Changes | Accept Changes
-Reject Changes | Reject Changes
-User | User
-View | View
-
-## Document Editor Container
-
-The following list of properties and its values are used in the Document Editor container.
-
-Locale keywords |Text
------|-----
-New | New
-Open | Open
-Undo | Undo
-Redo | Redo
-Image | Image
-Table | Table
-Link | Link
-Bookmark | Bookmark
-Table of Contents | Table of Contents
-HEADING - - - - 1 | HEADING - - - - 1
-HEADING - - - - 2 | HEADING - - - - 2
-HEADING - - - - 3 | HEADING - - - - 3
-Header | Header
-Footer | Footer
-Page Setup | Page Setup
-Page Number | Page Number
-Break | Break
-Find | Find
-Local Clipboard | Local Clipboard
-Restrict Editing | Restrict Editing
-Upload from computer | Upload from computer
-By URL | By URL
-Page Break | Page Break
-Section Break | Section Break
-Header And Footer | Header & Footer
-Options | Options
-Levels | Levels
-Different First Page | Different First Page
-Different header and footer for odd and even pages | Different header and footer for odd and even pages.
-Different Odd And Even Pages | Different Odd & Even Pages
-Different header and footer for first page | Different header and footer for first page.
-Position | Position
-Header from Top | Header from Top
-Footer from Bottom | Footer from Bottom
-Distance from top of the page to top of the header | Distance from top of the page to top of the header.
-Distance from bottom of the page to bottom of the footer | Distance from bottom of the page to bottom of the footer.
-Aspect ratio | Aspect ratio
-W | W
-H | H
-Width | Width
-Height | Height
-Text | Text
-Paragraph | Paragraph
-Fill | Fill
-Fill color | Fill color
-Border Style | Border Style
-Outside borders | Outside borders
-All borders | All borders
-Inside borders | Inside borders
-Left border | Left border
-Inside vertical border | Inside vertical border
-Right border | Right border
-Top border | Top border
-Inside horizontal border | Inside horizontal border
-Bottom border | Bottom border
-Border color | Border color
-Border width | Border width
-Cell | Cell
-Merge cells | Merge cells
-Insert Or Delete | Insert / Delete
-Insert columns to the left | Insert columns to the left
-Insert columns to the right | Insert columns to the right
-Insert rows above | Insert rows above
-Insert rows below | Insert rows below
-Delete rows | Delete rows
-Delete columns | Delete columns
-Cell Margin | Cell Margin
-Top | Top
-Bottom | Bottom
-Left | Left
-Right | Right
-Align Text | Align Text
-Align top | Align top
-Align bottom | Align bottom
-Align center | Align center
-Number of heading or outline levels to be shown in table of contents | Number of heading or outline levels to be shown in table of contents.
-Show page numbers | Show page numbers
-Show page numbers in table of contents | Show page numbers in table of contents.
-Right align page numbers | Right align page numbers
-Right align page numbers in table of contents | Right align page numbers in table of contents.
-Use hyperlinks | Use hyperlinks
-Use hyperlinks instead of page numbers | Use hyperlinks instead of page numbers.
-Font | Font
-Font Size | Font Size
-Font color | Font color
-Text highlight color | Text highlight color
-Clear all formatting | Clear all formatting
-Bold Tooltip | Bold (Ctrl+B)
-Italic Tooltip | Italic (Ctrl+I)
-Underline Tooltip | Underline (Ctrl+U)
-Strikethrough | Strikethrough
-Superscript Tooltip | Superscript (Ctrl+Shift++)
-Subscript Tooltip | Subscript (Ctrl+=)
-Align left Tooltip | Align left (Ctrl+L)
-Center Tooltip | Center (Ctrl+E)
-Align right Tooltip | Align right (Ctrl+R)
-Justify Tooltip | Justify (Ctrl+J)
-Decrease indent | Decrease indent
-Increase indent | Increase indent
-Line spacing | Line spacing
-Bullets | Bullets
-Numbering | Numbering
-Styles | Styles
-Manage Styles | Manage Styles
-Page | Page
-of | of
-Fit one page | Fit one page
-Spell Check | Spell Check
-Underline errors | Underline errors
-Fit page width | Fit page width
-Update | Update
-Cancel | Cancel
-Insert | Insert
-No Border | No Border
-Create a new document | Create a new document.
-Open a document | Open a document.
-Undo Tooltip | Undo the last operation (Ctrl+Z).
-Redo Tooltip | Redo the last operation (Ctrl+Y).
-Insert inline picture from a file | Insert inline picture from a file.
-Insert a table into the document | Insert a table into the document
-Create Hyperlink | Create a link in your document for quick access to web pages and files (Ctrl+K).
-Insert a bookmark in a specific place in this document | Insert a bookmark in a specific place in this document.
-Provide an overview of your document by adding a table of contents | Provide an overview of your document by adding a table of contents.
-Add or edit the header | Add or edit the header.
-Add or edit the footer | Add or edit the footer.
-Open the page setup dialog | Open the page setup dialog.
-Add page numbers | Add page numbers.
-Find Text | Find text in the document (Ctrl+F).
-Toggle between the internal clipboard and system clipboard | Toggle between the internal clipboard and system clipboard.Access to system clipboard through script is denied due to browsers security policy. Instead, 1. You can enable internal clipboard to cut, copy and paste within the component. 2. You can use the keyboard shortcuts (Ctrl+X, Ctrl+C and Ctrl+V) to cut, copy and paste with system clipboard.
-Current Page Number | The current page number in the document. Click or tap to navigate specific page.
-Read only | Read only
-Protections | Protections
-Error in establishing connection with web server | Error in establishing connection with web server
-Single | Single
-Double | Double
-New comment | New comment
-Comments | Comments
-Print layout | Print layout
-Web layout | Web layout
-Text Form | Text Form
-Check Box | Check Box
-DropDown | Drop-Down
-Update Fields | Update Fields
-Update cross reference fields | Update cross reference fields
-Hide properties pane | Hide properties pane
-Show properties pane | Show properties pane
-
-## Color Picker
-
-The following list of properties and its values are used in the color picker.
-
-Locale keywords |Text
------|-----
-Apply | Apply
-Cancel | Cancel
-ModeSwitcher | Switch Mode
\ No newline at end of file
diff --git a/ej2-javascript/document-editor/header-footer.md b/ej2-javascript/document-editor/header-footer.md
deleted file mode 100644
index f70b076e6..000000000
--- a/ej2-javascript/document-editor/header-footer.md
+++ /dev/null
@@ -1,92 +0,0 @@
----
-layout: post
-title: Header footer in ##Platform_Name## Document editor control | Syncfusion
-description: Learn here all about Header footer in Syncfusion ##Platform_Name## Document editor control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: Header footer
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Header footer in ##Platform_Name## Document editor control
-
-Document Editor supports headers and footers in its document. Each section in the document can have the following types of headers and footers:
-
-* First page: Used only on the first page of the section.
-* Even pages: Used on all even numbered pages in the section.
-* Default: Used on all pages of the section, where first or even pages are not applicable or not specified.
-
-You can define this by setting format properties of the corresponding section using the following sample code.
-
-```ts
-//Defines whether different header footer is required for first page of the section
-documenteditor.selection.sectionFormat.differentFirstPage = true;
-//Defines whether different header footer is required for odd and even pages in the section
-documenteditor.selection.sectionFormat.differentOddAndEvenPages = true;
-```
-
-## Go to header footer region
-
-Double click in header or footer region to move the selection into it. You can also do this by using the following code.
-
-```ts
-documenteditor.selection.goToHeader();
-```
-
-```ts
-documenteditor.selection.goToFooter();
-```
-
-## Header and footer distance
-
-You can define the distance of header region content from the top of the page. Refer to the following sample code.
-
-```ts
-documenteditor.selection.sectionFormat.headerDistance= 36;
-```
-
-Same way, you can define the distance of footer region content from the bottom of the page. Refer to the following sample code.
-
-```ts
-documenteditor.selection.sectionFormat.footerDistace=36;
-```
-
-## Close header footer region
-
-Move the selection to the document body from header or footer region by double clicking or tapping the document area. You can also perform this by using the following sample code.
-
-```ts
-documenteditor.selection.closeHeaderFooter()
-```
-
-## Link to previous
-
-Link to previous is enabled by default when document has more than one section. If you're using different headers and footers such as different first page or different odd and even pages, they can't be linked together because they're all separate.
-
-Before setting or getting the link to previous value, use the ['goToHeader'](../api/document-editor/selection/#gotoheader) or ['goToFooter'](../api/document-editor/selection/#gotofooter) API to move the current selection to the header or footer region.
-
-You can get or set the default header footer link to previous value of a section at cursor position by using the following sample code.
-
-```typescript
-container.documentEditor.selection.sectionFormat.oddPageHeader.linkToPrevious = false;
-container.documentEditor.selection.sectionFormat.oddPageFooter.linkToPrevious = false;
-```
-
-In case the document has different header and footer types, such as different first page, odd, and even pages.
-
-```typescript
-// Different first page
-container.documentEditor.selection.sectionFormat.firstPageHeader.linkToPrevious = false;
-container.documentEditor.selection.sectionFormat.firstPageFooter.linkToPrevious = false;
-
-//Even page
-container.documentEditor.selection.sectionFormat.evenPageHeader.linkToPrevious = false;
-container.documentEditor.selection.sectionFormat.evenPageFooter.linkToPrevious = false;
-```
-
->Note: When there is more than one section in the document, the Link to Previous option becomes available. By default, this feature is disabled state in UI and set to return false for the first section.
-
-## See Also
-
-* [Working with Section Formatting](../document-editor/section-format/)
\ No newline at end of file
diff --git a/ej2-javascript/document-editor/history.md b/ej2-javascript/document-editor/history.md
deleted file mode 100644
index c63a45b3a..000000000
--- a/ej2-javascript/document-editor/history.md
+++ /dev/null
@@ -1,64 +0,0 @@
----
-layout: post
-title: History in ##Platform_Name## Document editor control | Syncfusion
-description: Learn here all about History in Syncfusion ##Platform_Name## Document editor control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: History
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# History in ##Platform_Name## Document editor control
-
-Document Editor tracks the history of all editing actions done in the document, which allows undo and redo functionality.
-
-## Enable or disable history
-
-Inject the ‘EditorHistory’ module in your application to provide history preservation functionality for ‘DocumentEditor’. Refer to the following code example.
-
-```ts
-//Inject require modules.
-DocumentEditor.Inject(Editor, Selection, EditorHistory);
-let editor: DocumentEditor = new DocumentEditor({ enableEditor: true, isReadOnly: false });
-//Enable editor history module.
-editor.enableEditorHistory = true;
-```
-
-You can enable or disable history preservation for a Document Editor instance any time using the ‘enableEditorHistory’ property. Refer to the following sample code.
-
-```ts
-editor.enableEditorHistory = false;
-```
-
-## Undo and redo
-
-You can perform undo and redo by ‘CTRL+Z’ and ‘CTRL+Y’ keyboard shortcuts. Document Editor exposes API to do it programmatically.
-
-To undo the last editing operation in Document Editor, refer to the following sample code.
-
-```ts
-editor.editorHistory.undo();
-```
-
-To redo the last undone action, refer to the following code example.
-
-```ts
-editor.editorHistory.redo();
-```
-
-## Stack size
-
-History of editing actions will be maintained in stack, so that the last item will be reverted first. By default, Document Editor limits the size of undo and redo stacks to 500 each respectively. However, you can customize this limit. Refer to the following sample code.
-
-```ts
-//Set undo limit.
-editor.editorHistory.undoLimit = 400;
-//Set redo limit.
-editor.editorHistory.redoLimit = 400;
-```
-
-## See Also
-
-* [Feature modules](../document-editor/feature-module/)
-* [Keyboard shortcuts](../document-editor/keyboard-shortcut/)
\ No newline at end of file
diff --git a/ej2-javascript/document-editor/how-to.md b/ej2-javascript/document-editor/how-to.md
deleted file mode 100644
index 08aceb385..000000000
--- a/ej2-javascript/document-editor/how-to.md
+++ /dev/null
@@ -1,78 +0,0 @@
----
-layout: post
-title: How to in ##Platform_Name## Document editor control | Syncfusion
-description: Learn here all about How to in Syncfusion ##Platform_Name## Document editor control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: How to
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# How to in ##Platform_Name## Document editor control
-
-Document Editor triggers the [`keyDown`](../api/document-editor/documentEditorKeyDownEventArgs/) event every time when any key is entered and provides an instance of `DocumentEditorKeyDownEventArgs`. You can use the `isHandled` property to override the keyboard shortcut behavior.
-
-## Preventing default keyboard shortcut
-
-The following code shows how to prevent the `CTRL + C` keyboard shortcut for copying selected content in Document Editor.
-
-{% if page.publishingplatform == "typescript" %}
-
- {% tabs %}
-{% highlight ts tabtitle="index.ts" %}
-{% include code-snippet/document-editor/prevent-keyboard-cs1/index.ts %}
-{% endhighlight %}
-{% highlight html tabtitle="index.html" %}
-{% include code-snippet/document-editor/prevent-keyboard-cs1/index.html %}
-{% endhighlight %}
-{% endtabs %}
-
-{% previewsample "page.domainurl/code-snippet/document-editor/prevent-keyboard-cs1" %}
-
-{% elsif page.publishingplatform == "javascript" %}
-
-{% tabs %}
-{% highlight js tabtitle="index.js" %}
-{% include code-snippet/document-editor/prevent-keyboard-cs1/index.js %}
-{% endhighlight %}
-{% highlight html tabtitle="index.html" %}
-{% include code-snippet/document-editor/prevent-keyboard-cs1/index.html %}
-{% endhighlight %}
-{% endtabs %}
-
-{% previewsample "page.domainurl/code-snippet/document-editor/prevent-keyboard-cs1" %}
-{% endif %}
-
-## Override or define the keyboard shortcut
-
-Override or define a new keyboard shortcut behavior instead of preventing the keyboard shortcut.
-
-For example, `Ctrl + S` keyboard shortcut saves the document in SFDT format by default, and there is no behavior for `Ctrl + Alt + S`. The following code demonstrates how to override the `Ctrl + S` shortcut to save a document in DOCX format and define `Ctrl + Alt + S` to save the document in SFDT format.
-
-{% if page.publishingplatform == "typescript" %}
-
- {% tabs %}
-{% highlight ts tabtitle="index.ts" %}
-{% include code-snippet/document-editor/override-keyboard-cs1/index.ts %}
-{% endhighlight %}
-{% highlight html tabtitle="index.html" %}
-{% include code-snippet/document-editor/override-keyboard-cs1/index.html %}
-{% endhighlight %}
-{% endtabs %}
-
-{% previewsample "page.domainurl/code-snippet/document-editor/override-keyboard-cs1" %}
-
-{% elsif page.publishingplatform == "javascript" %}
-
-{% tabs %}
-{% highlight js tabtitle="index.js" %}
-{% include code-snippet/document-editor/override-keyboard-cs1/index.js %}
-{% endhighlight %}
-{% highlight html tabtitle="index.html" %}
-{% include code-snippet/document-editor/override-keyboard-cs1/index.html %}
-{% endhighlight %}
-{% endtabs %}
-
-{% previewsample "page.domainurl/code-snippet/document-editor/override-keyboard-cs1" %}
-{% endif %}
\ No newline at end of file
diff --git a/ej2-javascript/document-editor/how-to/add-save-button-in-toolbar.md b/ej2-javascript/document-editor/how-to/add-save-button-in-toolbar.md
deleted file mode 100644
index c38e65496..000000000
--- a/ej2-javascript/document-editor/how-to/add-save-button-in-toolbar.md
+++ /dev/null
@@ -1,72 +0,0 @@
----
-layout: post
-title: Add save button in ##Platform_Name## Document editor toolbar | Syncfusion
-description: Learn here to add save button in Syncfusion ##Platform_Name## Document editor control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: Add save button tool bar
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Add save button in ##Platform_Name## Document editor toolbar
-
-## To add a save button to the existing toolbar in DocumentEditorContainer
-
-DocumentEditorContainer allows you to add a new button to the existing items in a toolbar using [`CustomToolbarItemModel`](../../api/document-editor/customToolbarItemModel/) and with existing items in [`toolbarItems`](../../api/document-editor-container/#toolbaritems) property. Newly added item click action can be defined in [`toolbarclick`](../../api/toolbar/clickEventArgs/).
-
-{% if page.publishingplatform == "typescript" %}
-```ts
-import { DocumentEditorContainer, CustomToolbarItemModel, Toolbar } from '@syncfusion/ej2-documenteditor';
-import { ClickEventArgs } from '@syncfusion/ej2-navigations';
-DocumentEditorContainer.Inject(Toolbar);
-
-let hostUrl = 'https://services.syncfusion.com/js/production/api/documenteditor/';
-let toolItem: CustomToolbarItemModel = {
- prefixIcon: "e-save icon",
- tooltipText: "Save the Document",
- text: "Save",
- id: "save"
-};
-
-//Initialize Document Editor Container component with custom toolbar item.
-let container: DocumentEditorContainer = new DocumentEditorContainer({
- toolbarItems: ['New', 'Open', toolItem, 'Separator', 'Undo', 'Redo', 'Separator', 'Image', 'Table', 'Hyperlink', 'Bookmark', 'TableOfContents', 'Separator', 'Header', 'Footer', 'PageSetup', 'PageNumber', 'Break', 'InsertFootnote', 'InsertEndnote', 'Separator', 'Find', 'Separator', 'Comments', 'TrackChanges', 'Separator', 'LocalClipboard', 'RestrictEditing', 'Separator', 'FormFields', 'UpdateFields','ContentControl'], serviceUrl:hostUrl, height:'590px',
-});
-container.appendTo('#container');
-//To handle custom toolbar click event.
-container.toolbarClick = (args: ClickEventArgs): void => {
- switch (args.item.id) {
- case 'save':
- //Save the document(Download the document)
- container.documentEditor.save('sample', 'Docx');
- break;
- }
-};
-{% elsif page.publishingplatform == "javascript" %}
-ej.documenteditor.DocumentEditorContainer.Inject(ej.documenteditor.Toolbar);
-var hostUrl = 'https://services.syncfusion.com/js/production/api/documenteditor/';
-let toolItem = {
- prefixIcon: "e-save icon",
- tooltipText: "Save the Document",
- text: "Save",
- id: "save"
-};
-
-var container = new ej.documenteditor.DocumentEditorContainer({ toolbarItems: ['New', 'Open', toolItem, 'Separator', 'Undo', 'Redo', 'Separator', 'Image', 'Table', 'Hyperlink', 'Bookmark', 'TableOfContents', 'Separator', 'Header', 'Footer', 'PageSetup', 'PageNumber', 'Break', 'InsertFootnote', 'InsertEndnote', 'Separator', 'Find', 'Separator', 'Comments', 'TrackChanges', 'Separator', 'LocalClipboard', 'RestrictEditing', 'Separator', 'FormFields', 'UpdateFields', 'ContentControl'], serviceUrl: hostUrl, height: '590px' });
-
-container.appendTo("#container");
-//To handle custom toolbar click event.
-container.toolbarClick = (args) => {
- switch (args.item.id) {
- case 'save':
- //Save the document(Download the document)
- container.documentEditor.save('sample', 'Docx');
- break;
- }
-};
-{% endif %}
-```
-> The Web API hosted link `https://services.syncfusion.com/js/production/api/documenteditor/` utilized in the Document Editor's serviceUrl property is intended solely for demonstration and evaluation purposes. For production deployment, please host your own web service with your required server configurations. You can refer and reuse the [GitHub Web Service example](https://github.com/SyncfusionExamples/EJ2-DocumentEditor-WebServices) or [Docker image](https://hub.docker.com/r/syncfusion/word-processor-server) for hosting your own web service and use for the serviceUrl property.
-
->Note: Default value of `toolbarItems` is `['New', 'Open', 'Separator', 'Undo', 'Redo', 'Separator', 'Image', 'Table', 'Hyperlink', 'Bookmark', 'TableOfContents', 'Separator', 'Header', 'Footer', 'PageSetup', 'PageNumber', 'Break', 'InsertFootnote', 'InsertEndnote', 'Separator', 'Find', 'Separator', 'Comments', 'TrackChanges', 'Separator', 'LocalClipboard', 'RestrictEditing', 'Separator', 'FormFields', 'UpdateFields','ContentControl']`.
\ No newline at end of file
diff --git a/ej2-javascript/document-editor/how-to/auto-save-document-in-document-editor.md b/ej2-javascript/document-editor/how-to/auto-save-document-in-document-editor.md
deleted file mode 100644
index d77f4a4bf..000000000
--- a/ej2-javascript/document-editor/how-to/auto-save-document-in-document-editor.md
+++ /dev/null
@@ -1,128 +0,0 @@
----
-layout: post
-title: Auto save document in document editor in ##Platform_Name## Document editor control | Syncfusion
-description: Learn here all about Auto save document in document editor in Syncfusion ##Platform_Name## Document editor control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: Auto save document in document editor
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Auto save document in document editor in ##Platform_Name## Document editor control
-
-In this article, we are going to see how to autosave the document in AWS S3. You can automatically save the edited content in regular intervals of time. It helps reduce the risk of data loss by saving an open document automatically at customized intervals.
-
-The following example illustrates how to auto save the document in AWS S3.
-
-* In the client-side, using content change event, we can automatically save the edited content in regular intervals of time. Based on `contentChanged` boolean, the document send as Docx format to server-side using [`saveAsBlob`](../../api/document-editor/#saveasblob) method.
-
-```ts
-import {
- DocumentEditorContainer,
- Toolbar,
-} from '@syncfusion/ej2-documenteditor';
-let container: DocumentEditorContainer = new DocumentEditorContainer({ enableToolbar: true, height: '590px' });
-let contentChanged: boolean = false;
-DocumentEditorContainer.Inject(Toolbar);
-container.serviceUrl = 'https://services.syncfusion.com/js/production/api/documenteditor/';
-container.created = function () {
- setInterval(() => {
- if (contentChanged) {
- //You can save the document as below
- container.documentEditor.saveAsBlob('Docx').then((blob: Blob) => {
- console.log('Saved sucessfully');
- let exportedDocument: Blob = blob;
- //Now, save the document where ever you want.
- let formData: FormData = new FormData();
- formData.append('fileName', 'sample.docx');
- formData.append('data', exportedDocument);
- /* tslint:disable */
- var req = new XMLHttpRequest();
- // Replace your running Url here
- req.open(
- 'POST',
- 'http://localhost:62869/api/documenteditor/SaveToS3',
- true
- );
- req.onreadystatechange = () => {
- if (req.readyState === 4) {
- if (req.status === 200 || req.status === 304) {
- console.log('Saved sucessfully');
- }
- }
- };
- req.send(formData);
- });
- contentChanged = false;
- }
- }, 1000);
-};
-container.appendTo('#container');
-
-container.contentChange = (): void => {
- contentChanged = true;
-};
-```
-
-> The Web API hosted link `https://services.syncfusion.com/js/production/api/documenteditor/` utilized in the Document Editor's serviceUrl property is intended solely for demonstration and evaluation purposes. For production deployment, please host your own web service with your required server configurations. You can refer and reuse the [GitHub Web Service example](https://github.com/SyncfusionExamples/EJ2-DocumentEditor-WebServices) or [Docker image](https://hub.docker.com/r/syncfusion/word-processor-server) for hosting your own web service and use for the serviceUrl property.
-
-* In server-side, configure the access key and secret key in `web.config` file and register profile in `startup.cs`.
-
-In `web.config`, add key like below format:
-
-```c#
-
-
-
-
-
-```
-
-In `startup.cs`, register profile in below format:
-
-```c#
-Amazon.Util.ProfileManager.RegisterProfile("sync_development","", "");
-```
-
-* In server-side, Receives the stream content from client-side and process it to save the document in aws s3. Add Web API in controller file like below to save the document in aws s3.
-
-```c#
-[AcceptVerbs("Post")]
-[HttpPost]
-[EnableCors("AllowAllOrigins")]
-[Route("SaveToS3")]
-public string SaveToS3()
-{
- IFormFile file = HttpContext.Request.Form.Files[0];
- Stream stream = new MemoryStream();
- file.CopyTo(stream);
- UploadFileStreamToS3(stream, "documenteditor", "", "GettingStarted.docx");
- stream.Close();
- return "Sucess";
-}
-
-public bool UploadFileStreamToS3(System.IO.Stream localFilePath, string bucketName, string subDirectoryInBucket, string fileNameInS3)
-{
- AWSCredentials credentials = new StoredProfileAWSCredentials("sync_development");
- IAmazonS3 client = new AmazonS3Client(credentials, Amazon.RegionEndpoint.USEast1);
- TransferUtility utility = new TransferUtility(client);
- TransferUtilityUploadRequest request = new TransferUtilityUploadRequest();
-
- if (subDirectoryInBucket == "" || subDirectoryInBucket == null)
- {
- request.BucketName = bucketName; //no subdirectory just bucket name
- }
- else
- { // subdirectory and bucket name
- request.BucketName = bucketName + @"/" + subDirectoryInBucket;
- }
- request.Key = fileNameInS3; //file name up in S3
- request.InputStream = localFilePath;
- utility.Upload(request); //commensing the transfer
-
- return true; //indicate that the file was sent
-}
-```
-
-Get the complete working sample in this [`link`](https://github.com/SyncfusionExamples/Auto-Save-documents-in-Word-Processor).
diff --git a/ej2-javascript/document-editor/how-to/auto-save-document.md b/ej2-javascript/document-editor/how-to/auto-save-document.md
deleted file mode 100644
index fec223cb6..000000000
--- a/ej2-javascript/document-editor/how-to/auto-save-document.md
+++ /dev/null
@@ -1,89 +0,0 @@
----
-layout: post
-title: Auto save document in ##Platform_Name## Document Editor | Syncfusion
-description: Learn here all about Auto save document in document editor in Syncfusion ##Platform_Name## Document editor control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: Auto save document in document editor
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Auto save document in ##Platform_Name## Document editor control
-
-In this article, we are going to see how to autosave the document to server. You can automatically save the edited content in regular intervals of time. It helps reduce the risk of data loss by saving an open document automatically at customized intervals.
-
-The following example illustrates how to auto save the document in server.
-
-* In the client-side, using content change event, we can automatically save the edited content in regular intervals of time. Based on `contentChanged` boolean, the document send as Docx format to server-side using [`saveAsBlob`](../../api/document-editor/#saveasblob) method.
-
-```ts
-import {
- DocumentEditorContainer,
- Toolbar,
-} from '@syncfusion/ej2-documenteditor';
-let container: DocumentEditorContainer = new DocumentEditorContainer({ enableToolbar: true, height: '590px' });
-let contentChanged: boolean = false;
-DocumentEditorContainer.Inject(Toolbar);
-container.serviceUrl = 'https://services.syncfusion.com/js/production/api/documenteditor/';
-container.created = function () {
- setInterval(() => {
- if (contentChanged) {
- //You can save the document as below
- container.documentEditor.saveAsBlob('Docx').then((blob: Blob) => {
- console.log('Saved sucessfully');
- let exportedDocument: Blob = blob;
- //Now, save the document where ever you want.
- let formData: FormData = new FormData();
- formData.append('fileName', 'sample.docx');
- formData.append('data', exportedDocument);
- /* tslint:disable */
- var req = new XMLHttpRequest();
- // Replace your running Url here
- req.open(
- 'POST',
- 'http://localhost:62869/api/documenteditor/AutoSave',
- true
- );
- req.onreadystatechange = () => {
- if (req.readyState === 4) {
- if (req.status === 200 || req.status === 304) {
- console.log('Saved sucessfully');
- }
- }
- };
- req.send(formData);
- });
- contentChanged = false;
- }
- }, 1000);
-};
-container.appendTo('#container');
-
-container.contentChange = (): void => {
- contentChanged = true;
-};
-```
-
-> The Web API hosted link `https://services.syncfusion.com/js/production/api/documenteditor/` utilized in the Document Editor's serviceUrl property is intended solely for demonstration and evaluation purposes. For production deployment, please host your own web service with your required server configurations. You can refer and reuse the [GitHub Web Service example](https://github.com/SyncfusionExamples/EJ2-DocumentEditor-WebServices) or [Docker image](https://hub.docker.com/r/syncfusion/word-processor-server) for hosting your own web service and use for the serviceUrl property.
-
-* In server-side, Receives the stream content from client-side and process it to save the document in Server or Database from the received stream. Add Web API in controller file like below to save the document.
-
-```c#
-[AcceptVerbs("Post")]
-[HttpPost]
-[EnableCors("AllowAllOrigins")]
-[Route("AutoSave")]
-public string AutoSave()
-{
- IFormFile file = HttpContext.Request.Form.Files[0];
- Stream stream = new MemoryStream();
- file.CopyTo(stream);
- //Save the stream to database or server as per the requirement.
- stream.Close();
- return "Sucess";
-}
-```
-
-## See Also
-* [Autosave document in DocumentEditor](../../document-editor/how-to/auto-save-document-in-document-editor)
diff --git a/ej2-javascript/document-editor/how-to/change-document-view.md b/ej2-javascript/document-editor/how-to/change-document-view.md
deleted file mode 100644
index fb94df9c1..000000000
--- a/ej2-javascript/document-editor/how-to/change-document-view.md
+++ /dev/null
@@ -1,32 +0,0 @@
----
-layout: post
-title: Change document view in ##Platform_Name## Document editor control | Syncfusion
-description: Learn here all about Change document view in Syncfusion ##Platform_Name## Document editor control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: Change document view
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Change document view in ##Platform_Name## Document editor control
-
-## How to change the document view in DocumentEditor component
-
-DocumentEditor allows you to change the view to web layout and print using the [`layoutType`](../../api/document-editor#layouttype) property with the supported [`LayoutType`](../../api/document-editor/layoutType/).
-
-```ts
-let docEdit: DocumentEditor = new DocumentEditor({ layoutType: 'Continuous'});
-```
-
->Note: Default value of [`layoutType`](../../api/document-editor#layouttype) in DocumentEditor component is [`Pages`](../../api/document-editor/layoutType/).
-
-## How to change the document view in DocumentEditorContainer component
-
-DocumentEditorContainer component allows you to change the view to web layout and print using the [`layoutType`](../../api/document-editor-container#layouttype) property with the supported [`LayoutType`](../../api/document-editor/layoutType/).
-
-```ts
-let container: DocumentEditorContainer = new DocumentEditorContainer({ layoutType: "Continuous" });
-```
-
->Note: Default value of [`layoutType`](../../api/document-editor#layouttype) in DocumentEditorContainer component is [`Pages`](../../api/document-editor/layoutType/).
\ No newline at end of file
diff --git a/ej2-javascript/document-editor/how-to/change-the-cursor-color-in-document-editor.md b/ej2-javascript/document-editor/how-to/change-the-cursor-color-in-document-editor.md
deleted file mode 100644
index 9cbe5252e..000000000
--- a/ej2-javascript/document-editor/how-to/change-the-cursor-color-in-document-editor.md
+++ /dev/null
@@ -1,26 +0,0 @@
----
-layout: post
-title: Change the cursor color in document editor in ##Platform_Name## Document editor control | Syncfusion
-description: Learn here all about Change the cursor color in document editor in Syncfusion ##Platform_Name## Document editor control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: Change the cursor color in document editor
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Change the cursor color in document editor in ##Platform_Name## Document editor control
-
-Document Editor default cursor color is black. The user can change the color by overriding the css property using class name. The Document editor cursor css have a class named `e-de-blink-cursor`.
-
-Please refer the below code snippet to change the cursor color to red.
-
-```
-.e-de-blink-cursor {
-border-left: 1px solid red!important;
-}
-```
-
-Output will be like below:
-
-
diff --git a/ej2-javascript/document-editor/how-to/change-the-default-search-highlight-color.md b/ej2-javascript/document-editor/how-to/change-the-default-search-highlight-color.md
deleted file mode 100644
index 4b9df75d6..000000000
--- a/ej2-javascript/document-editor/how-to/change-the-default-search-highlight-color.md
+++ /dev/null
@@ -1,37 +0,0 @@
----
-layout: post
-title: Change the default search highlight color in ##Platform_Name## Document editor control | Syncfusion
-description: Learn here all about Change the default search highlight color in Syncfusion ##Platform_Name## Document editor control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: Change the default search highlight color
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Change the default search highlight color in ##Platform_Name## Document editor control
-
-Document editor provides an options to change the default search highlight color using [`searchHighlightColor`](../../api/document-editor/documentEditorSettingsModel/#searchhighlightcolor) in Document editor settings. The highlight color which is given in [`documentEditorSettings`](../../api/document-editor-container/#documenteditorsettings) will be highlighted on the searched text. By default, search highlight color is `yellow`.
-
-Similarly, you can use [`documentEditorSettings`](../../api/document-editor#documenteditorsettings) property for DocumentEditor also.
-
-The following example code illustrates how to change the default search highlight color.
-
-```ts
-let container: DocumentEditorContainer = new DocumentEditorContainer({ enableToolbar: true,height: '590px',
-// Add required search highlight color
- documentEditorSettings: {
- searchHighlightColor: 'Grey',
- }
-});
-DocumentEditorContainer.Inject(Toolbar);
-container.serviceUrl = 'https://services.syncfusion.com/js/production/api/documenteditor/';
-container.appendTo('#container');
-
-```
-
-> The Web API hosted link `https://services.syncfusion.com/js/production/api/documenteditor/` utilized in the Document Editor's serviceUrl property is intended solely for demonstration and evaluation purposes. For production deployment, please host your own web service with your required server configurations. You can refer and reuse the [GitHub Web Service example](https://github.com/SyncfusionExamples/EJ2-DocumentEditor-WebServices) or [Docker image](https://hub.docker.com/r/syncfusion/word-processor-server) for hosting your own web service and use for the serviceUrl property.
-
-Output will be like below:
-
-
\ No newline at end of file
diff --git a/ej2-javascript/document-editor/how-to/customize-color-picker.md b/ej2-javascript/document-editor/how-to/customize-color-picker.md
deleted file mode 100644
index 537f4c5de..000000000
--- a/ej2-javascript/document-editor/how-to/customize-color-picker.md
+++ /dev/null
@@ -1,45 +0,0 @@
----
-layout: post
-title: Customize color picker in ##Platform_Name## Document editor control | Syncfusion
-description: Learn here all about Customize color picker in Syncfusion ##Platform_Name## Document editor control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: Customize Color Picker
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Customize color picker in ##Platform_Name## Document editor control
-
-Document editor provides an options to customize the color picker using [`colorPickerSettings`](../../api/document-editor/documentEditorSettingsModel/#colorpickersettings) in Document editor settings. The color picker offers customization options for default appearance, by allowing selection between Picker or Palette mode, for font and border colors."
-
-Similarly, you can use [`documentEditorSettings`](../../api/document-editor#documenteditorsettings) property for DocumentEditor also.
-
-The following example code illustrates how to Customize the color picker in Document editor container.
-
-```ts
-let container: DocumentEditorContainer = new DocumentEditorContainer({ enableToolbar: true,height: '590px',
- //Customizing options for color picker.
- documentEditorSettings: {
- colorPickerSettings: { mode: 'Palette', modeSwitcher: true, showButtons: true },
- }
-});
-DocumentEditorContainer.Inject(Toolbar);
-container.serviceUrl = 'https://services.syncfusion.com/js/production/api/documenteditor/';
-container.appendTo('#container');
-```
-
-> The Web API hosted link `https://services.syncfusion.com/js/production/api/documenteditor/` utilized in the Document Editor's serviceUrl property is intended solely for demonstration and evaluation purposes. For production deployment, please host your own web service with your required server configurations. You can refer and reuse the [GitHub Web Service example](https://github.com/SyncfusionExamples/EJ2-DocumentEditor-WebServices) or [Docker image](https://hub.docker.com/r/syncfusion/word-processor-server) for hosting your own web service and use for the serviceUrl property.
-
-The following table illustrates all the possible properties for the color picker.
-
-| Property | Behavior |
-|---|---|
-| columns | It is used to render the ColorPicker palette with specified columns. Defaults to 10 |
-| disabled | It is used to enable / disable ColorPicker component. If it is disabled the ColorPicker popup won’t open. Defaults to false |
-| mode | It is used to render the ColorPicker with the specified mode. Defaults to ‘Picker’ |
-| modeSwitcher | It is used to show / hide the mode switcher button of ColorPicker component. Defaults to true |
-| showButtons | It is used to show / hide the control buttons (apply / cancel) of ColorPicker component. Defaults to true |
-
-
->**Note**: According to the Word document specifications, it is not possible to modify the **`Predefined Highlight colors`**. This limitation means that the range of highlight colors provided by default cannot be customized or expanded upon by the user to suit individual preferences. Consequently, users must work within the confines of the existing color palette, as no functionality currently exists to modify or personalize these predefined highlighting options.
\ No newline at end of file
diff --git a/ej2-javascript/document-editor/how-to/customize-context-menu.md b/ej2-javascript/document-editor/how-to/customize-context-menu.md
deleted file mode 100644
index c2eebb9e4..000000000
--- a/ej2-javascript/document-editor/how-to/customize-context-menu.md
+++ /dev/null
@@ -1,205 +0,0 @@
----
-layout: post
-title: Customize context menu in ##Platform_Name## Document editor control | Syncfusion
-description: Learn here all about Customize context menu in Syncfusion ##Platform_Name## Document editor control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: Customize context menu
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Customize context menu in ##Platform_Name## Document editor control
-
-## How to customize context menu in Document Editor
-
-Document Editor allows you to add custom option in context menu. It can be achieved by using the [`addCustomMenu()`](../../api/document-editor/contextMenu/#addcustommenu) method and custom action is defined using the [`customContextMenuSelect`](../../api/document-editor/customContentMenuEventArgs/)
-
-### Add Custom Option
-
-The following code shows how to add custom option in context menu.
-
-```ts
-let documentEditor: DocumentEditor = new DocumentEditor({
- isReadOnly: false, serviceUrl: 'https://services.syncfusion.com/js/production/api/documenteditor/'
-});
-documentEditor.enableAllModules();
-documentEditor.appendTo('#DocumentEditor');
-//Creating custom menu items
-let menuItems: MenuItemModel[] = [
- {
- text: 'Search In Google',
- id: 'search_in_google',
- iconCss: 'e-icons e-de-ctnr-find'
- }];
-//Adding custom options
-documentEditor.contextMenu.addCustomMenu(menuItems, false);
-//To handle contextmenu select event
-documentEditor.customContextMenuSelect = (args: CustomContentMenuEventArgs): void => {
- let item: string = args.id;
- let id: string = documentEditor.element.id;
- switch (item) {
- case id + 'search_in_google':
- let searchContent: string = documentEditor.selection.text;
- if (!documentEditor.selection.isEmpty && /\S/.test(searchContent)) {
- window.open('http://google.com/search?q=' + searchContent);
- }
- break;
- }
-};
-```
-
-### Customize custom option in context menu
-
-Document Editor allows you to customize the added custom option and also to hide/show default context menu.
-
-#### Hide default context menu items
-
-The following code shows how to hide default context menu and add custom option in context menu.
-
-```ts
-let documentEditor: DocumentEditor = new DocumentEditor({
- isReadOnly: false, serviceUrl: 'https://services.syncfusion.com/js/production/api/documenteditor/'
-});
-documentEditor.enableAllModules();
-documentEditor.appendTo('#DocumentEditor');
-//Creating custom menu items
-let menuItems: MenuItemModel[] = [
- {
- text: 'Search In Google',
- id: 'search_in_google',
- iconCss: 'e-icons e-de-ctnr-find'
- }];
-//Adding custom options
-documentEditor.contextMenu.addCustomMenu(menuItems, true);
-```
-
-#### Customize added context menu items
-
-The following code shows how to hide/show added custom option in context menu using the [`customContextMenuBeforeOpen`](../../api/document-editor/beforeOpenCloseCustomContentMenuEventArgs/).
-
-```ts
-let documentEditor: DocumentEditor = new DocumentEditor({
- isReadOnly: false, serviceUrl: 'https://services.syncfusion.com/js/production/api/documenteditor/'
-});
-documentEditor.enableAllModules();
-documentEditor.appendTo('#DocumentEditor');
-//Creating custom menu items
-let menuItems: MenuItemModel[] = [
- {
- text: 'Search In Google',
- id: 'search_in_google',
- iconCss: 'e-icons e-de-ctnr-find'
- }];
-//Adding custom options
-documentEditor.contextMenu.addCustomMenu(menuItems, false);
-//To show/hide custom menu item
-documentEditor.customContextMenuBeforeOpen = (args: BeforeOpenCloseCustomContentMenuEventArgs): void => {
- let search: HTMLElement = document.getElementById(args.ids[0]);
- search.style.display = 'none';
- let searchContent: string = documentEditor.selection.text;
- if ((!documentEditor.selection.isEmpty) && (/\S/.test(searchContent))) {
- search.style.display = 'block';
- }
-};
-//To handle contextmenu select event
-documentEditor.customContextMenuSelect = (args: CustomContentMenuEventArgs): void => {
- let item: string = args.id;
- let id: string = documentEditor.element.id;
- switch (item) {
- case id + 'search_in_google':
- let searchContent: string = documentEditor.selection.text;
- if (!documentEditor.selection.isEmpty && /\S/.test(searchContent)) {
- window.open('http://google.com/search?q=' + searchContent);
- }
- break;
- }
-};
-```
-
-The following is the output of custom context menu with customization.
-
-{% if page.publishingplatform == "typescript" %}
-
- {% tabs %}
-{% highlight ts tabtitle="index.ts" %}
-{% include code-snippet/document-editor/customize-context-menu-cs1/index.ts %}
-{% endhighlight %}
-{% highlight html tabtitle="index.html" %}
-{% include code-snippet/document-editor/customize-context-menu-cs1/index.html %}
-{% endhighlight %}
-{% endtabs %}
-
-{% previewsample "page.domainurl/code-snippet/document-editor/customize-context-menu-cs1" %}
-
-{% elsif page.publishingplatform == "javascript" %}
-
-{% tabs %}
-{% highlight js tabtitle="index.js" %}
-{% include code-snippet/document-editor/customize-context-menu-cs1/index.js %}
-{% endhighlight %}
-{% highlight html tabtitle="index.html" %}
-{% include code-snippet/document-editor/customize-context-menu-cs1/index.html %}
-{% endhighlight %}
-{% endtabs %}
-
-{% previewsample "page.domainurl/code-snippet/document-editor/customize-context-menu-cs1" %}
-{% endif %}
-
-#### Customize Context Menu with sub-menu items
-
-Document Editor allows you to customize the Context Menu with sub-menu items. It can be achieved by using the [`addCustomMenu()`](../../api/document-editor/contextMenu/#addcustommenu) method.
-
-The following code shows how to add a sub items in the custom option in context menu in Document Editor Container.
-
-```ts
-import {
- DocumentEditorContainer,
- Toolbar,
-} from '@syncfusion/ej2-documenteditor';
-import { MenuItemModel } from '@syncfusion/ej2-navigations';
-
-//Inject require modules.
-DocumentEditorContainer.Inject(Toolbar);
-
-// creating Custom Options
-let menuItems: MenuItemModel[] = [
- {
- text: 'Form field',
- id: 'form field',
- iconCss: 'e-de-formfield e-icons',
- items: [
- {
- text: 'Text form',
- id: 'Text form',
- iconCss: 'e-icons e-de-textform',
- },
- {
- text: 'Check box',
- id: 'Check box',
- iconCss: 'e-icons e-de-checkbox-form',
- },
- {
- text: 'Drop down',
- id: 'Drop down',
- iconCss: 'e-icons e-de-dropdownform',
- },
- ],
- },
-];
-//Initialize Document Editor component.
-let container: DocumentEditorContainer = new DocumentEditorContainer({
- enableToolbar: true,
- height: '590px',
-});
-
-//Open the default document in `created` event.
-container.created = function () {
- // adding Custom Options
- container.documentEditor.contextMenu.addCustomMenu(menuItems, false, true);
-};
-//Render Document Editor Container component.
-container.appendTo('#DocumentEditor');
-
-
-```
\ No newline at end of file
diff --git a/ej2-javascript/document-editor/how-to/customize-font-family-drop-down.md b/ej2-javascript/document-editor/how-to/customize-font-family-drop-down.md
deleted file mode 100644
index c1c136a8f..000000000
--- a/ej2-javascript/document-editor/how-to/customize-font-family-drop-down.md
+++ /dev/null
@@ -1,36 +0,0 @@
----
-layout: post
-title: Customize font family drop down in ##Platform_Name## Document editor control | Syncfusion
-description: Learn here all about Customize font family drop down in Syncfusion ##Platform_Name## Document editor control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: Customize font family drop down
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Customize font family drop down in ##Platform_Name## Document editor control
-
-Document editor provides an options to customize the font family drop down list values using [`fontfamilies`](../../api/document-editor/documentEditorSettingsModel/#fontfamilies) in Document editor settings. Fonts which are added in fontFamilies of [`documentEditorSettings`](../../api/document-editor-container/#documenteditorsettings) will be displayed on font drop down list of text properties pane and font dialog.
-
-Similarly, you can use [`documentEditorSettings`](../../api/document-editor#documenteditorsettings) property for DocumentEditor also.
-
-The following example code illustrates how to change the font families in Document editor container.
-
-```ts
-let container: DocumentEditorContainer = new DocumentEditorContainer({ enableToolbar: true,height: '590px',
-// Add required font families to list it in font drop down
- documentEditorSettings: {
- fontFamilies: ['Algerian', 'Arial', 'Calibri', 'Windings'],
- }
-});
-DocumentEditorContainer.Inject(Toolbar);
-container.serviceUrl = 'https://services.syncfusion.com/js/production/api/documenteditor/';
-container.appendTo('#container');
-```
-
-> The Web API hosted link `https://services.syncfusion.com/js/production/api/documenteditor/` utilized in the Document Editor's serviceUrl property is intended solely for demonstration and evaluation purposes. For production deployment, please host your own web service with your required server configurations. You can refer and reuse the [GitHub Web Service example](https://github.com/SyncfusionExamples/EJ2-DocumentEditor-WebServices) or [Docker image](https://hub.docker.com/r/syncfusion/word-processor-server) for hosting your own web service and use for the serviceUrl property.
-
-Output will be like below:
-
-
\ No newline at end of file
diff --git a/ej2-javascript/document-editor/how-to/customize-tool-bar.md b/ej2-javascript/document-editor/how-to/customize-tool-bar.md
deleted file mode 100644
index 53c61a98a..000000000
--- a/ej2-javascript/document-editor/how-to/customize-tool-bar.md
+++ /dev/null
@@ -1,61 +0,0 @@
----
-layout: post
-title: Customize tool bar in ##Platform_Name## Document editor control | Syncfusion
-description: Learn here all about Customize tool bar in Syncfusion ##Platform_Name## Document editor control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: Customize tool bar
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Customize tool bar in ##Platform_Name## Document editor control
-
-## How to customize existing toolbar in DocumentEditorContainer
-
-DocumentEditorContainer allows you to customize(add, show, hide, enable, and disable) existing items in a toolbar.
-
-* Add - New items can defined by [`CustomToolbarItemModel`](../../api/document-editor/customToolbarItemModel/) and with existing items in [`toolbarItems`](../../api/document-editor-container/#toolbaritems) property. Newly added item click action can be defined in [`toolbarclick`](../../api/toolbar/clickEventArgs/).
-
-* Show, Hide - Existing items can be shown or hidden using the [`toolbarItems`](../../api/document-editor-container/#toolbaritems) property. Pre-defined toolbar items are available with [`ToolbarItem`](../../api/document-editor/toolbarItem/).
-
-* Enable, Disable - Toolbar items can be enabled or disable using [`enableItems`](../../api/document-editor-container/toolbar/#enableItems)
-
-```ts
-let toolItem: CustomToolbarItemModel = {
- prefixIcon: "e-de-ctnr-lock",
- tooltipText: "Disable Image",
- text: onWrapText("Disable Image"),
- id: "Custom"
-};
-
-//Initialize Document Editor Container component with custom toolbar item.
-let container: DocumentEditorContainer = new DocumentEditorContainer({
- toolbarItems: [toolItem, 'Undo', 'Redo', 'Separator', 'Image', 'Table', 'Hyperlink', 'Bookmark', 'TableOfContents', 'Separator', 'Header', 'Footer', 'PageSetup', 'PageNumber', 'Break', 'InsertFootnote', 'InsertEndnote', 'Separator', 'Find', 'Separator', 'Comments', 'TrackChanges', 'Separator', 'LocalClipboard', 'RestrictEditing', 'Separator', 'FormFields', 'UpdateFields','ContentControl']
-});
-container.appendTo('#container');
-//To handle custom toolbar click event.
-container.toolbarClick = (args: ClickEventArgs): void => {
- switch (args.item.id) {
- case 'Custom':
- //Disable image toolbar item.
- container.toolbar.enableItems(4, false);
- break;
- }
-};
-
-function onWrapText(text: string): string {
- let content: string = '';
- const index: number = text.lastIndexOf(' ');
-
- if (index !== -1) {
- content = text.slice(0, index) + "
" + text.slice(index + 1) + "
";
- } else {
- content = text;
- }
-
- return content;
-}
-```
-
->Note: Default value of `toolbarItems` is `['New', 'Open', 'Separator', 'Undo', 'Redo', 'Separator', 'Image', 'Table', 'Hyperlink', 'Bookmark', 'TableOfContents', 'Separator', 'Header', 'Footer', 'PageSetup', 'PageNumber', 'Break', 'InsertFootnote', 'InsertEndnote', 'Separator', 'Find', 'Separator', 'Comments', 'TrackChanges', 'Separator', 'LocalClipboard', 'RestrictEditing', 'Separator', 'FormFields', 'UpdateFields','ContentControl']`.
\ No newline at end of file
diff --git a/ej2-javascript/document-editor/how-to/deploy-document-editor-component-for-mobile.md b/ej2-javascript/document-editor/how-to/deploy-document-editor-component-for-mobile.md
deleted file mode 100644
index 9cf4f5626..000000000
--- a/ej2-javascript/document-editor/how-to/deploy-document-editor-component-for-mobile.md
+++ /dev/null
@@ -1,53 +0,0 @@
----
-layout: post
-title: Deploy document editor component for mobile in ##Platform_Name## Document editor control | Syncfusion
-description: Learn here all about Deploy document editor component for mobile in Syncfusion ##Platform_Name## Document editor control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: Deploy document editor component for mobile
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Deploy document editor component for mobile in ##Platform_Name## Document editor control
-
-## Document editor component for Mobile
-
-At present, Document editor component is not responsive for mobile, and we haven't ensured the editing functionalities in mobile browsers. Whereas it works properly as a document viewer in mobile browsers.
-
-Hence, it is recommended to switch the Document editor component as read-only in mobile browsers. Also, invoke [`fitPage`](../../api/document-editor/#fitpage) method with [`FitPageWidth`](../../api/document-editor/pageFitType/) parameter in document change event, such as to display one full page by adjusting the zoom factor.
-
-The following example code illustrates how to deploy Document Editor component for Mobile.
-
-```ts
-//Initialize Document Editor Container component.
-import { DocumentEditorContainer, Toolbar } from '@syncfusion/ej2-documenteditor';
-
-DocumentEditorContainer.Inject(Toolbar);
-let container: DocumentEditorContainer = new DocumentEditorContainer({
- enableToolbar: true, height: '590px'
-});
-container.serviceUrl = 'https://services.syncfusion.com/js/production/api/documenteditor/';
-container.appendTo('#DocumentEditor');
-
-//To detect the device
-let isMobileDevice: bool = /Android|Windows Phone|webOS/i.test(navigator.userAgent);
-
-container.documentChange = () => {
- if (isMobileDevice) {
- container.restrictEditing = true;
- setTimeout(() => {
- container.documentEditor.fitPage("FitPageWidth");
- }, 50);
- }
- else {
- container.restrictEditing = false;
- }
-}
-```
-
-> The Web API hosted link `https://services.syncfusion.com/js/production/api/documenteditor/` utilized in the Document Editor's serviceUrl property is intended solely for demonstration and evaluation purposes. For production deployment, please host your own web service with your required server configurations. You can refer and reuse the [GitHub Web Service example](https://github.com/SyncfusionExamples/EJ2-DocumentEditor-WebServices) or [Docker image](https://hub.docker.com/r/syncfusion/word-processor-server) for hosting your own web service and use for the serviceUrl property.
-
-You can download the complete working example from this [GitHub location](https://github.com/SyncfusionExamples/Deploy-Document-Editor-in-Mobile-Friendly-Web-page/)
-
->Note: You can use the [`restrictEditing`](../../api/document-editor-container#restrictediting) in DocumentEditorContainer and [`isReadOnly`](../../api/document-editor/#isreadonly) in DocumentEditor based on your requirement to change component to read only mode.
\ No newline at end of file
diff --git a/ej2-javascript/document-editor/how-to/disable-auto-focus.md b/ej2-javascript/document-editor/how-to/disable-auto-focus.md
deleted file mode 100644
index 0745f0bd6..000000000
--- a/ej2-javascript/document-editor/how-to/disable-auto-focus.md
+++ /dev/null
@@ -1,30 +0,0 @@
----
-layout: post
-title: Disable auto focus in ##Platform_Name## Document editor control | Syncfusion
-description: Learn here all about Disable auto focus in Syncfusion ##Platform_Name## Document editor control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: Disable auto focus
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Disable auto focus in ##Platform_Name## Document editor control
-
-Document Editor gets focused automatically when the page loads. If you want the Document editor not to be focused automatically it can be customized.
-
-The following example illustrates to disable the auto focus in DocumentEditorContainer.
-
-```ts
-let container: DocumentEditorContainer = new DocumentEditorContainer({ enableToolbar: true, height: '590px', enableAutoFocus: false});
-```
-
->Note: Default value of [`enableAutoFocus`](../../api/document-editor-container/#enableautofocus) property is `true`.
-
-The following example illustrates to disable the auto focus in DocumentEditor.
-
-```ts
-let editor: DocumentEditor = new DocumentEditor({ height: '590px', enableAutoFocus: false});
-```
-
->Note: Default value of [`enableAutoFocus`](../../api/document-editor/#enableautofocus) property is `true`.
\ No newline at end of file
diff --git a/ej2-javascript/document-editor/how-to/disable-drag-and-drop.md b/ej2-javascript/document-editor/how-to/disable-drag-and-drop.md
deleted file mode 100644
index 4ff09bfa5..000000000
--- a/ej2-javascript/document-editor/how-to/disable-drag-and-drop.md
+++ /dev/null
@@ -1,30 +0,0 @@
----
-layout: post
-title: Disable drag and drop in ##Platform_Name## Document editor control | Syncfusion
-description: Learn here all about Disable drag and drop in Syncfusion ##Platform_Name## Document editor control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: Disable drag and drop
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Disable drag and drop in ##Platform_Name## Document editor control
-
-Document Editor provides support to drag and drop contents within the component and it can be customized(enable and disable) using [`allowDragAndDrop`](../../api/document-editor-container/documenteditorsettings/#allowDragAndDrop) property in Document editor settings.
-
-The following example illustrates to disable the drag and drop option in DocumentEditorContainer.
-
-```ts
-let container: DocumentEditorContainer = new DocumentEditorContainer({ enableToolbar: true, height: '590px', documentEditorSettings: { allowDragAndDrop: false } });
-```
-
->Note: Default value of [`allowDragAndDrop`](../../api/document-editor-container/#documenteditorsettings/#allowDragAndDrop) property is `true`.
-
-The following example illustrates to disable the drag and drop option in DocumentEditor.
-
-```ts
-let editor: DocumentEditor = new DocumentEditor({ height: '590px', documentEditorSettings: { allowDragAndDrop: false } });
-```
-
->Note: Default value of [`allowDragAndDrop`](../../api/document-editor/#documenteditorsettings/#allowDragAndDrop) property is `true`.
\ No newline at end of file
diff --git a/ej2-javascript/document-editor/how-to/disable-header-and-footer-edit-in-document-editor.md b/ej2-javascript/document-editor/how-to/disable-header-and-footer-edit-in-document-editor.md
deleted file mode 100644
index fccb5947c..000000000
--- a/ej2-javascript/document-editor/how-to/disable-header-and-footer-edit-in-document-editor.md
+++ /dev/null
@@ -1,97 +0,0 @@
----
-layout: post
-title: Disable header and footer edit in ##Platform_Name## Document editor | Syncfusion
-description: Learn here all about disabling editing in header and footer ##Platform_Name## Document editor control.
-platform: ej2-javascript
-control: Disable header and footer edit in document editor
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Disable header and footer edit in ##Platform_Name## Document editor
-
-## Disable header and footer edit in DocumentEditorContainer instance
-
-You can use [`restrictEditing`](../../api/document-editor-container/#restrictediting) property to disable header and footer editing based on selection context type.
-
-RestrictEditing allows you to restrict the document modification and makes the Document read only mode. So, by using this property, and if selection inside header or footer, you can set this property as true.
-
-The following example code illustrates how to header and footer edit in `DocumentEditorContainer` instance.
-
-```ts
-import { DocumentEditorContainer, Toolbar } from '@syncfusion/ej2-documenteditor';
-
-let hostUrl: string = 'https://services.syncfusion.com/js/production/';
-
-let container: DocumentEditorContainer = new DocumentEditorContainer({ enableToolbar: true, height: '590px' });
-DocumentEditorContainer.Inject(Toolbar);
-container.serviceUrl = hostUrl + 'api/documenteditor/';
-container.appendTo('#container');
-container.selectionChange = (): void => {
- // Check whether selection is in header
- if (container.documentEditor.selection.contextType.indexOf('Header') > -1 ||
- // Check whether selection is in Footer
- container.documentEditor.selection.contextType.indexOf('Footer') > -1) {
- // Change the document to read only mode
- container.restrictEditing = true;
- } else {
- // Change the document to editable mode
- container.restrictEditing = false;
- }
-};
-```
-
-Otherwise, you can disable clicking inside Header or Footer by using [`closeHeaderFooter`](../../api/document-editor/selection/#closeheaderfooter) API in selection module.
-
-The following example code illustrates how to close header and footer when selection is inside header or footer in `DocumentEditorContainer` instance.
-
-```ts
-import { DocumentEditorContainer, Toolbar } from '@syncfusion/ej2-documenteditor';
-
-let hostUrl: string = 'https://services.syncfusion.com/js/production/';
-
-let container: DocumentEditorContainer = new DocumentEditorContainer({ enableToolbar: true, height: '590px' });
-DocumentEditorContainer.Inject(Toolbar);
-container.serviceUrl = hostUrl + 'api/documenteditor/';
-container.appendTo('#container');
-container.selectionChange = (): void => {
-
- // Check whether selection is in header
- if (container.documentEditor.selection.contextType.indexOf('Header') > -1 ||
- // Check whether selection is in Footer
- container.documentEditor.selection.contextType.indexOf('Footer') > -1) {
- // Close header Footer
- container.documentEditor.selection.closeHeaderFooter();
- }
-};
-```
-
-## Disable header and footer edit in DocumentEditor instance
-
-Like restrictEditing, you can use [`isReadOnly`](../../api/document-editor/#isreadonly) property in Document editor to disable header and footer edit.
-
-The following example code illustrates how to header and footer edit in `DocumentEditor` instance.
-
-```ts
-import { DocumentEditor } from '@syncfusion/ej2-documenteditor';
-
-let hostUrl: string = 'https://services.syncfusion.com/js/production/';
-
-let documentEditor: DocumentEditor = new DocumentEditor({ isReadOnly: false, height: '590px' });
-documentEditor.enableAllModules();
-documentEditor.serviceUrl = hostUrl + 'api/documenteditor/';
-documentEditor.appendTo('#documentEditor');
-documentEditor.selectionChange = (): void => {
- // Check whether selection is in header
- if (documentEditor.selection.contextType.indexOf('Header') > -1 ||
- // Check whether selection is in Footer
- documentEditor.selection.contextType.indexOf('Footer') > -1) {
- // Change the document to read only mode
- documentEditor.isReadOnly = true;
- } else {
- // Change the document to editable mode
- documentEditor.isReadOnly = false;
- }
-};
-```
diff --git a/ej2-javascript/document-editor/how-to/disable-optimized-text-measuring.md b/ej2-javascript/document-editor/how-to/disable-optimized-text-measuring.md
deleted file mode 100644
index f5051a912..000000000
--- a/ej2-javascript/document-editor/how-to/disable-optimized-text-measuring.md
+++ /dev/null
@@ -1,54 +0,0 @@
----
-layout: post
-title: Disable optimized text measuring in ##Platform_Name## Document editor control | Syncfusion
-description: Learn here all about Disable optimized text measuring in Syncfusion ##Platform_Name## Document editor control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: Disable optimized text measuring
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Disable optimized text measuring in ##Platform_Name## Document editor control
-
-Starting from v19.3.0.x, the accuracy of text size measurements in Document editor is improved such as to match Microsoft Word pagination for most Word documents. This improvement is included as default behavior along with an optional API [`enableOptimizedTextMeasuring`](../../api/document-editor/documentEditorSettingsModel/#enableoptimizedtextmeasuring) in Document editor settings.
-
-If you want the Document editor component to retain the document pagination (display page-by-page) behavior like v19.2.0.x and older versions. Then you can disable this optimized text measuring improvement, by setting `false` to [`enableOptimizedTextMeasuring`](../../api/document-editor/documentEditorSettingsModel/#enableoptimizedtextmeasuring) property of JavaScript Document Editor component.
-
-## Disable optimized text measuring in `DocumentEditorContainer` instance
-
-The following example code illustrates how to disable optimized text measuring improvement in `DocumentEditorContainer` instance.
-
-```ts
-import { DocumentEditorContainer, Toolbar } from '@syncfusion/ej2-documenteditor';
-
-DocumentEditorContainer.Inject(Toolbar);
-
-let container: DocumentEditorContainer = new DocumentEditorContainer({ enableToolbar: true, height: '590px' });
-
-// Disable optimized text measuring improvement
-container.documentEditorSettings = { enableOptimizedTextMeasuring: false };
-
-container.serviceUrl = 'https://services.syncfusion.com/js/production/api/documenteditor/';
-
-container.appendTo('#container');
-```
-
-## Disable optimized text measuring in `DocumentEditor` instance
-
-The following example code illustrates how to disable optimized text measuring improvement in `DocumentEditor` instance.
-
-```ts
-import { DocumentEditor } from '@syncfusion/ej2-documenteditor';
-
-let documenteditor: DocumentEditor = new DocumentEditor({ isReadOnly: false, height: '370px', serviceUrl: 'https://services.syncfusion.com/js/production/api/documenteditor/' });
-
-documenteditor.enableAllModules();
-
-// Disable optimized text measuring improvement
-documenteditor.documentEditorSettings = { enableOptimizedTextMeasuring: false };
-
-documenteditor.appendTo('#DocumentEditor');
-```
-
-> The Web API hosted link `https://services.syncfusion.com/js/production/api/documenteditor/` utilized in the Document Editor's serviceUrl property is intended solely for demonstration and evaluation purposes. For production deployment, please host your own web service with your required server configurations. You can refer and reuse the [GitHub Web Service example](https://github.com/SyncfusionExamples/EJ2-DocumentEditor-WebServices) or [Docker image](https://hub.docker.com/r/syncfusion/word-processor-server) for hosting your own web service and use for the serviceUrl property.
\ No newline at end of file
diff --git a/ej2-javascript/document-editor/how-to/enable-ruler-in-document-editor-component.md b/ej2-javascript/document-editor/how-to/enable-ruler-in-document-editor-component.md
deleted file mode 100644
index 493f4bcbf..000000000
--- a/ej2-javascript/document-editor/how-to/enable-ruler-in-document-editor-component.md
+++ /dev/null
@@ -1,79 +0,0 @@
----
-layout: post
-title: how to enable ruler in ##Platform_Name## Document editor control | Syncfusion
-component: "DocumentEditor"
-description: Learn how to enable ruler in Syncfusion ##Platform_Name## Document editor control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: Enable ruler
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Enable ruler
-
-## How to enable ruler in Document Editor component
-
-Using ruler we can refer to setting specific margins, tab stops, or indentations within a document to ensure consistent formatting in Document Editor.
-
-The following example illustrates how to enable ruler in Document Editor
-
-{% if page.publishingplatform == "typescript" %}
-
-{% tabs %}
-{% highlight ts tabtitle="index.ts" %}
-{% include code-snippet/document-editor/ruler-cs1/index.ts %}
-{% endhighlight %}
-{% highlight html tabtitle="index.html" %}
-{% include code-snippet/document-editor/ruler-cs1/index.html %}
-{% endhighlight %}
-{% endtabs %}
-
-{% previewsample "page.domainurl/code-snippet/document-editor/ruler-cs1" %}
-
-{% elsif page.publishingplatform == "javascript" %}
-
-{% tabs %}
-{% highlight js tabtitle="index.js" %}
-{% include code-snippet/document-editor/ruler-cs1/index.js %}
-{% endhighlight %}
-{% highlight html tabtitle="index.html" %}
-{% include code-snippet/document-editor/ruler-cs1/index.html %}
-{% endhighlight %}
-{% endtabs %}
-
-{% previewsample "page.domainurl/code-snippet/document-editor/ruler-cs1" %}
-{% endif %}
-
-## How to enable ruler in Document Editor Container component
-
-Using ruler we can refer to setting specific margins, tab stops, or indentations within a document to ensure consistent formatting in Document Editor Container.
-
-The following example illustrates how to enable ruler in Document Editor Container.
-
-{% if page.publishingplatform == "typescript" %}
-
-{% tabs %}
-{% highlight ts tabtitle="index.ts" %}
-{% include code-snippet/document-editor/ruler-cs2/index.ts %}
-{% endhighlight %}
-{% highlight html tabtitle="index.html" %}
-{% include code-snippet/document-editor/ruler-cs2/index.html %}
-{% endhighlight %}
-{% endtabs %}
-
-{% previewsample "page.domainurl/code-snippet/document-editor/ruler-cs2" %}
-
-{% elsif page.publishingplatform == "javascript" %}
-
-{% tabs %}
-{% highlight js tabtitle="index.js" %}
-{% include code-snippet/document-editor/ruler-cs2/index.js %}
-{% endhighlight %}
-{% highlight html tabtitle="index.html" %}
-{% include code-snippet/document-editor/ruler-cs2/index.html %}
-{% endhighlight %}
-{% endtabs %}
-
-{% previewsample "page.domainurl/code-snippet/document-editor/ruler-cs2" %}
-{% endif %}
\ No newline at end of file
diff --git a/ej2-javascript/document-editor/how-to/export-document-as-pdf.md b/ej2-javascript/document-editor/how-to/export-document-as-pdf.md
deleted file mode 100644
index 9b3168188..000000000
--- a/ej2-javascript/document-editor/how-to/export-document-as-pdf.md
+++ /dev/null
@@ -1,210 +0,0 @@
----
-layout: post
-title: Export document as pdf in ##Platform_Name## Document editor control | Syncfusion
-description: Learn here all about Export document as pdf in Syncfusion ##Platform_Name## Document editor control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: Export document as pdf
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Export document as pdf in ##Platform_Name## Document editor control
-
-In this article, we are going to see how to export the document as Pdf format. You can export the document as Pdf in following ways:
-
-## Export the document as pdf in client-side
-
-Use [`pdf export component`](https://www.npmjs.com/package/@syncfusion/ej2-pdf-export) in application level to export the document as pdf using [`exportasimage`](../../api/document-editor/#exportasimage) API. Here, all pages will be converted to image and inserted as pdf pages(works like print as PDF).
-
->Note:
-* You can install the pdf export packages from this [`link`](https://www.npmjs.com/package/@syncfusion/ej2-pdf-export).
-* There is one limitation we can’t search the text because we are exporting the pdf as image.
-
-The following example code illustrates how to export the document as pdf in client-side.
-
-{% if page.publishingplatform == "typescript" %}
-
-```ts
-import {
- DocumentEditorContainer,
- ImageFormat,
- Toolbar,
-} from '@syncfusion/ej2-documenteditor';
-import {
- PdfBitmap,
- PdfDocument,
- PdfPageOrientation,
- PdfPageSettings,
- PdfSection,
- SizeF,
-} from '@syncfusion/ej2-pdf-export';
-
-let container: DocumentEditorContainer = new DocumentEditorContainer({
- enableToolbar: true,
- height: '590px',
-});
-DocumentEditorContainer.Inject(Toolbar);
-container.serviceUrl =
- 'https://services.syncfusion.com/js/production/api/documenteditor/';
-
-container.appendTo('#container');
-
-document.getElementById('export').addEventListener('click', function () {
- let obj = this;
- let pdfdocument: PdfDocument = new PdfDocument();
- let count: number = container.documentEditor.pageCount;
- container.documentEditor.documentEditorSettings.printDevicePixelRatio = 2;
- let loadedPage = 0;
- for (let i = 1; i <= count; i++) {
- setTimeout(() => {
- let format: ImageFormat = 'image/jpeg' as ImageFormat;
- // Getting pages as image
- let image = container.documentEditor.exportAsImage(i, format);
- image.onload = function () {
- let imageHeight = parseInt(
- image.style.height.toString().replace('px', '')
- );
- let imageWidth = parseInt(
- image.style.width.toString().replace('px', '')
- );
- let section: PdfSection = pdfdocument.sections.add() as PdfSection;
- let settings: PdfPageSettings = new PdfPageSettings(0);
- if (imageWidth > imageHeight) {
- settings.orientation = PdfPageOrientation.Landscape;
- }
- settings.size = new SizeF(imageWidth, imageHeight);
- (section as PdfSection).setPageSettings(settings);
- let page = section.pages.add();
- let graphics = page.graphics;
- let imageStr = image.src.replace('data:image/jpeg;base64,', '');
- let pdfImage = new PdfBitmap(imageStr);
- graphics.drawImage(pdfImage, 0, 0, imageWidth, imageHeight);
- loadedPage++;
- if (loadedPage == count) {
- // Exporting the document as pdf
- pdfdocument.save(
- (container.documentEditor.documentName === ''
- ? 'sample'
- : container.documentEditor.documentName) + '.pdf'
- );
- }
- };
- }, 500);
- }
-});
-```
-{% elsif page.publishingplatform == "javascript" %}
-
-```js
-// Initialize DocumentEditorContainer component.
- var documenteditorContainer = new ej.documenteditor.DocumentEditorContainer({ enableToolbar: true, height: '590px' });
- ej.documenteditor.DocumentEditorContainer.Inject(ej.documenteditor.Toolbar);
- documenteditorContainer.serviceUrl = 'http://localhost:62870/api/documenteditor/';
- //DocumentEditorContainer control rendering starts
- documenteditorContainer.appendTo('#DocumentEditor');
-
- document.getElementById('export').addEventListener('click', function () {
- let pdfdocument = new ej.pdfexport.PdfDocument();
- let count = container.documentEditor.pageCount;
- container.documentEditor.documentEditorSettings.printDevicePixelRatio = 2;
- let loadedPage = 0;
- for (let i = 1; i <= count; i++) {
- setTimeout(() => {
- let format = 'image/jpeg';
- // Getting pages as image
- let image = container.documentEditor.exportAsImage(i, format);
- image.onload = function () {
- let imageHeight = parseInt(image.style.height.toString().replace('px', ''));
- let imageWidth = parseInt(image.style.width.toString().replace('px', ''));
- let section = pdfdocument.sections.add();
- let settings = new ej.pdfexport.PdfPageSettings(0);
- if (imageWidth > imageHeight) {
- settings.orientation = PdfPageOrientation.Landscape;
- }
- settings.size = new ej.pdfexport.SizeF(imageWidth, imageHeight);
- section.setPageSettings(settings);
- let page = section.pages.add();
- let graphics = page.graphics;
- let imageStr = image.src.replace('data:image/jpeg;base64,', '');
- let pdfImage = new ej.pdfexport.PdfBitmap(imageStr);
- graphics.drawImage(pdfImage, 0, 0, imageWidth, imageHeight);
- loadedPage++;
- if (loadedPage == count) {
- // Exporting the document as pdf
- pdfdocument.save((container.documentEditor.documentName === ''? 'sample': container.documentEditor.documentName) + '.pdf');
- }
- };
- }, 500);
- }
- })
-```
-{% endif %}
-
-## Export document as pdf in server-side using Syncfusion® DocIO
-
-With the help of [`Synfusion DocIO`](https://help.syncfusion.com/file-formats/docio/word-to-pdf), you can export the document as Pdf in server-side. Here, you can search the text.
-
-The following way illustrates how to convert the document as Pdf:
-
-* Using [`serialize`](../../api/document-editor/#serialize) API, convert the document as Sfdt and send it to server-side.
-
-The following example code illustrates how to convert the document to sfdt and pass it to server-side.
-
-```ts
-import { DocumentEditorContainer, Toolbar } from '@syncfusion/ej2-documenteditor';
-let container: DocumentEditorContainer = new DocumentEditorContainer({
- enableToolbar: true,
- height: '590px',
-});
-DocumentEditorContainer.Inject(Toolbar);
-container.serviceUrl =
- 'https://services.syncfusion.com/js/production/api/documenteditor/';
-
-container.appendTo('#container');
-
-document.getElementById('export').addEventListener('click', function () {
- let http: XMLHttpRequest = new XMLHttpRequest();
- // Replace your running web service Url here
- http.open('POST', 'http://localhost:62869/api/documenteditor/ExportPdf');
- http.setRequestHeader('Content-Type', 'application/json;charset=UTF-8');
- http.responseType = 'json';
- //Serialize document content as SFDT.
- let sfdt: any = { content: container.documentEditor.serialize() };
- //Send the sfdt content to server side.
- http.send(JSON.stringify(sfdt));
-});
-```
-
-> The Web API hosted link `https://services.syncfusion.com/js/production/api/documenteditor/` utilized in the Document Editor's serviceUrl property is intended solely for demonstration and evaluation purposes. For production deployment, please host your own web service with your required server configurations. You can refer and reuse the [GitHub Web Service example](https://github.com/SyncfusionExamples/EJ2-DocumentEditor-WebServices) or [Docker image](https://hub.docker.com/r/syncfusion/word-processor-server) for hosting your own web service and use for the serviceUrl property.
-
-* Using Save API in server-side, you can convert the sfdt to stream.
-* Finally, convert the stream to Pdf using [`Syncfusion.DocIORenderer.Net.Core`](https://www.nuget.org/packages/Syncfusion.DocIORenderer.Net.Core) library.
-
-The following example code illustrates how to process the sfdt in server-side.
-
-```c#
-[AcceptVerbs("Post")]
-[HttpPost]
-[EnableCors("AllowAllOrigins")]
-[Route("ExportPdf")]
-public void ExportPdf([FromBody]SaveParameter data)
-{
- // Converts the sfdt to stream
- Stream document = WordDocument.Save(data.content, FormatType.Docx);
- Syncfusion.DocIO.DLS.WordDocument doc = new Syncfusion.DocIO.DLS.WordDocument(document, Syncfusion.DocIO.FormatType.Docx);
- //Instantiation of DocIORenderer for Word to PDF conversion
- DocIORenderer render = new DocIORenderer();
- //Converts Word document into PDF document
- PdfDocument pdfDocument = render.ConvertToPDF(doc);
- // Saves the document to server machine file system, you can customize here to save into databases or file servers based on requirement.
- FileStream fileStream = new FileStream("sample.pdf", FileMode.OpenOrCreate, FileAccess.ReadWrite);
- //Saves the PDF file
- pdfDocument.Save(fileStream);
- pdfDocument.Close();
- fileStream.Close();
- document.Close();
-}
-```
-
-Get the complete working sample in this [`link`](https://github.com/SyncfusionExamples/Export-document-as-PDF-in-Document-Editor/).
\ No newline at end of file
diff --git a/ej2-javascript/document-editor/how-to/get-current-word.md b/ej2-javascript/document-editor/how-to/get-current-word.md
deleted file mode 100644
index 011a7cec1..000000000
--- a/ej2-javascript/document-editor/how-to/get-current-word.md
+++ /dev/null
@@ -1,74 +0,0 @@
----
-layout: post
-title: Get current word in ##Platform_Name## Document editor control | Syncfusion
-description: Learn here all about Get current word in Syncfusion ##Platform_Name## Document editor control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: Get current word
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Get current word in ##Platform_Name## Document editor control
-
-You can get the current word or paragraph content from the JavaScript Document Editor component as plain text and SFDT (rich text).
-
-## Select and get the word in current cursor position
-
-You can use [`selectCurrentWord`](../../api/document-editor/selection#selectcurrentword) API in selection module to select the current word at cursor position and use [`text`](../../api/document-editor/selection/#text-code-classlanguage-textstringcode) API to get the selected content as plain text from JavaScript Document Editor component.
-
-The following example code illustrates how to select and get the current word as plain text.
-
-```ts
-import { DocumentEditorContainer, Toolbar } from '@syncfusion/ej2-documenteditor';
-
-DocumentEditorContainer.Inject(Toolbar);
-
-let container: DocumentEditorContainer = new DocumentEditorContainer({ enableToolbar: true, height: '590px' });
-
-container.serviceUrl = 'https://services.syncfusion.com/js/production/api/documenteditor/';
-
-container.appendTo('#container');
-// To insert text in cursor position
-container.documentEditor.editor.insertText('Document editor');
-// To select the current word in document
-container.documentEditor.selection.selectCurrentWord();
-
-// To get the selected content as text
-let selectedContentText: string = container.documentEditor.selection.text;
-// To get the selected content as SFDT (rich text)
-let selectedContentSFDT: string = container.documentEditor.selection.sfdt;
-```
-
-> The Web API hosted link `https://services.syncfusion.com/js/production/api/documenteditor/` utilized in the Document Editor's serviceUrl property is intended solely for demonstration and evaluation purposes. For production deployment, please host your own web service with your required server configurations. You can refer and reuse the [GitHub Web Service example](https://github.com/SyncfusionExamples/EJ2-DocumentEditor-WebServices) or [Docker image](https://hub.docker.com/r/syncfusion/word-processor-server) for hosting your own web service and use for the serviceUrl property.
-
-To get the bookmark content as SFDT (rich text), please check this [`link`](../../document-editor/how-to/get-the-selected-content/#get-the-selected-content-as-sfdt-rich-text)
-
-## Select and get the paragraph in current cursor position
-
-You can use [`selectParagraph`](../../api/document-editor/selection/#selectparagraph) API in selection module to select the current paragraph at cursor position and use [`text`](../../api/document-editor/selection/#text-code-classlanguage-textstringcode) API or [`sfdt`](../../api/document-editor/selection/#sfdt-code-classlanguage-textstringcode) API to get the selected content as plain text or SFDT from JavaScript Document Editor component.
-
-The following example code illustrates how to select and get the current paragraph as SFDT.
-
-```ts
-import { DocumentEditorContainer, Toolbar } from '@syncfusion/ej2-documenteditor';
-
-DocumentEditorContainer.Inject(Toolbar);
-
-let container: DocumentEditorContainer = new DocumentEditorContainer({ enableToolbar: true, height: '590px' });
-
-container.serviceUrl = 'https://services.syncfusion.com/js/production/api/documenteditor/';
-
-container.appendTo('#container');
-// To insert text in cursor position
-container.documentEditor.editor.insertText('Document editor');
-// To select the current paragraph in document
-container.documentEditor.selection.selectParagraph();
-
-// To get the selected content as text
-let selectedContentText: string = container.documentEditor.selection.text;
-// To get the selected content as SFDT (rich text)
-let selectedContentSFDT: string = container.documentEditor.selection.sfdt;
-```
-
-> The Web API hosted link `https://services.syncfusion.com/js/production/api/documenteditor/` utilized in the Document Editor's serviceUrl property is intended solely for demonstration and evaluation purposes. For production deployment, please host your own web service with your required server configurations. You can refer and reuse the [GitHub Web Service example](https://github.com/SyncfusionExamples/EJ2-DocumentEditor-WebServices) or [Docker image](https://hub.docker.com/r/syncfusion/word-processor-server) for hosting your own web service and use for the serviceUrl property.
\ No newline at end of file
diff --git a/ej2-javascript/document-editor/how-to/get-the-selected-content.md b/ej2-javascript/document-editor/how-to/get-the-selected-content.md
deleted file mode 100644
index a3cff6404..000000000
--- a/ej2-javascript/document-editor/how-to/get-the-selected-content.md
+++ /dev/null
@@ -1,112 +0,0 @@
----
-layout: post
-title: Get the selected content in ##Platform_Name## Document editor control | Syncfusion
-description: Learn here all about Get the selected content in Syncfusion ##Platform_Name## Document editor control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: Get the selected content
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Get the selected content in ##Platform_Name## Document editor control
-
-You can get the selected content from the JavaScript Document Editor component as plain text and SFDT (rich text).
-
-## Get the selected content as plain text
-
-You can use [`text`](../../api/document-editor/selection/#text-code-classlanguage-textstringcode) API to get the selected content as plain text from JavaScript Document Editor component.
-
-The following example code illustrates how to add search in google option in context menu for the selected text.
-
-```ts
-import { DocumentEditorContainer, Toolbar, CustomContentMenuEventArgs } from '@syncfusion/ej2-documenteditor';
-import { MenuItemModel } from '@syncfusion/ej2-navigations';
-
-DocumentEditorContainer.Inject(Toolbar);
-
-let container: DocumentEditorContainer = new DocumentEditorContainer({ enableToolbar: true, height: '590px' });
-
-container.serviceUrl = 'https://services.syncfusion.com/js/production/api/documenteditor/';
-
-container.appendTo('#container');
-
-//Creating custom menu items
-let menuItems: MenuItemModel[] = [
- {
- text: 'Search In Google',
- id: 'search_in_google',
- iconCss: 'e-icons e-de-ctnr-find'
- }];
-//Adding custom options
-container.documentEditor.contextMenu.addCustomMenu(menuItems, false);
-//To handle contextmenu select event
-container.documentEditor.customContextMenuSelect = (args: CustomContentMenuEventArgs): void => {
- let item: string = args.id;
- let id: string = container.documentEditor.element.id;
- switch (item) {
- case id + 'search_in_google':
- // To get the selected content as plain text
- let searchContent: string = container.documentEditor.selection.text;
- if (!container.documentEditor.selection.isEmpty && /\S/.test(searchContent)) {
- window.open('http://google.com/search?q=' + searchContent);
- }
- break;
- }
-};
-```
-
-> The Web API hosted link `https://services.syncfusion.com/js/production/api/documenteditor/` utilized in the Document Editor's serviceUrl property is intended solely for demonstration and evaluation purposes. For production deployment, please host your own web service with your required server configurations. You can refer and reuse the [GitHub Web Service example](https://github.com/SyncfusionExamples/EJ2-DocumentEditor-WebServices) or [Docker image](https://hub.docker.com/r/syncfusion/word-processor-server) for hosting your own web service and use for the serviceUrl property.
-
-You can add the following custom options using this API,
-
-* Save or export the selected text as text file.
-* Search the selected text in Google or other search engines.
-* Show synonyms for the selected word in context menu and replace with selected synonym using the setter method of same API.
-
-## Get the selected content as SFDT (rich text)
-
-{% if page.publishingplatform == "typescript" %}
-
-You can use [`sfdt`](../../api/document-editor/selection/#sfdt-code-classlanguage-textstringcode) API to get the selected content as rich text from TypeScript Document Editor component.
-
-{% elsif page.publishingplatform == "javascript" %}
-
-You can use [`sfdt`](../../api/document-editor/selection/#sfdt-code-classlanguage-textstringcode) API to get the selected content as rich text from JavaScript Document Editor component.
-
-{% endif %}
-
-The following example code illustrates how to get the content of a bookmark and export it as SFDT.
-
-```ts
-import { DocumentEditorContainer, Toolbar } from '@syncfusion/ej2-documenteditor';
-
-DocumentEditorContainer.Inject(Toolbar);
-
-let container: DocumentEditorContainer = new DocumentEditorContainer({ enableToolbar: true, height: '590px' });
-
-container.serviceUrl = 'https://services.syncfusion.com/js/production/api/documenteditor/';
-
-container.appendTo('#container');
-
-// To insert text in cursor position
-container.documentEditor.editor.insertText('Document editor');
-// To select all the content in document
-container.documentEditor.selection.selectAll();
-// Insert bookmark to selected content
-container.documentEditor.editor.insertBookmark('Bookmark1');
-//Select the bookmark
-container.documentEditor.selection.selectBookmark('Bookmark1');
-// To get the selected content as sfdt
-let selectedContent: string = container.documentEditor.selection.sfdt;
-// Insert the sfdt content in cursor position using paste API
-container.documentEditor.editor.paste(selectedContent);
-```
-
-> The Web API hosted link `https://services.syncfusion.com/js/production/api/documenteditor/` utilized in the Document Editor's serviceUrl property is intended solely for demonstration and evaluation purposes. For production deployment, please host your own web service with your required server configurations. You can refer and reuse the [GitHub Web Service example](https://github.com/SyncfusionExamples/EJ2-DocumentEditor-WebServices) or [Docker image](https://hub.docker.com/r/syncfusion/word-processor-server) for hosting your own web service and use for the serviceUrl property.
-
-You can add the following custom options using this API,
-
-* Save or export the selected content as SFDT file.
-* Get the content of a bookmark in Word document as SFDT by selecting a bookmark using [`selectbookmark`](../../api/document-editor/selection/#selectbookmark) API.
-* Create template content that can be inserted to multiple documents in cursor position using [`paste`](../../api/document-editor/editor/#paste) API.
\ No newline at end of file
diff --git a/ej2-javascript/document-editor/how-to/hide-tool-bar-and-properties-pane.md b/ej2-javascript/document-editor/how-to/hide-tool-bar-and-properties-pane.md
deleted file mode 100644
index 75263328b..000000000
--- a/ej2-javascript/document-editor/how-to/hide-tool-bar-and-properties-pane.md
+++ /dev/null
@@ -1,60 +0,0 @@
----
-layout: post
-title: Hide tool bar and properties pane in ##Platform_Name## Document editor control | Syncfusion
-description: Learn here all about Hide tool bar and properties pane in Syncfusion ##Platform_Name## Document editor control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: Hide tool bar and properties pane
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Hide tool bar and properties pane in ##Platform_Name## Document editor control
-
-**Document editor container** provides the main document view area along with the built-in toolbar and properties pane.
-
-**Document editor** provides just the main document view area. Here, the user can compose, view, and edit the Word documents. You may prefer to use this component when you want to design your own UI options for your application.
-
-## Hide the properties pane
-
-By default, Document editor container has built-in properties pane which contains options for formatting text, table, image and header and footer. You can use [`showPropertiesPane`](../../api/document-editor-container/documentEditorContainerModel/#showpropertiespane) API in [`DocumentEditorContainer`](../../api/document-editor-container/documentEditorContainerModel/) to hide the properties pane.
-
-The following example code illustrates how to hide the properties pane.
-
-```ts
-import { DocumentEditorContainer, Toolbar } from '@syncfusion/ej2-documenteditor';
-
-DocumentEditorContainer.Inject(Toolbar);
-
-let container: DocumentEditorContainer = new DocumentEditorContainer({ enableToolbar: true, height: '590px', showPropertiesPane:false });
-
-container.serviceUrl = 'https://services.syncfusion.com/js/production/api/documenteditor/';
-
-container.appendTo('#container');
-```
-
-> The Web API hosted link `https://services.syncfusion.com/js/production/api/documenteditor/` utilized in the Document Editor's serviceUrl property is intended solely for demonstration and evaluation purposes. For production deployment, please host your own web service with your required server configurations. You can refer and reuse the [GitHub Web Service example](https://github.com/SyncfusionExamples/EJ2-DocumentEditor-WebServices) or [Docker image](https://hub.docker.com/r/syncfusion/word-processor-server) for hosting your own web service and use for the serviceUrl property.
-
->Note: Positioning and customizing the properties pane in Document editor container is not possible. Instead, you can hide the exiting properties pane and create your own pane using public API's.
-
-## Hide the toolbar
-
-You can use [`enableToolbar`](../../api/document-editor-container/documentEditorContainerModel/#enabletoolbar) API in [`DocumentEditorContainer`](../../api/document-editor-container/documentEditorContainerModel/) to hide the existing toolbar.
-
-The following example code illustrates how to hide the existing toolbar.
-
-```ts
-import { DocumentEditorContainer, Toolbar } from '@syncfusion/ej2-documenteditor';
-
-let container: DocumentEditorContainer = new DocumentEditorContainer({ enableToolbar: false, height: '590px' });
-
-container.serviceUrl = 'https://services.syncfusion.com/js/production/api/documenteditor/';
-
-container.appendTo('#container');
-```
-
-> The Web API hosted link `https://services.syncfusion.com/js/production/api/documenteditor/` utilized in the Document Editor's serviceUrl property is intended solely for demonstration and evaluation purposes. For production deployment, please host your own web service with your required server configurations. You can refer and reuse the [GitHub Web Service example](https://github.com/SyncfusionExamples/EJ2-DocumentEditor-WebServices) or [Docker image](https://hub.docker.com/r/syncfusion/word-processor-server) for hosting your own web service and use for the serviceUrl property.
-
-## See Also
-
-* [How to customize the toolbar](../../document-editor/how-to/customize-tool-bar)
\ No newline at end of file
diff --git a/ej2-javascript/document-editor/how-to/insert-page-number-and-navigate-to-page.md b/ej2-javascript/document-editor/how-to/insert-page-number-and-navigate-to-page.md
deleted file mode 100644
index 0b6354c9e..000000000
--- a/ej2-javascript/document-editor/how-to/insert-page-number-and-navigate-to-page.md
+++ /dev/null
@@ -1,96 +0,0 @@
----
-layout: post
-title: Page number and navigate Page in Document editor control | Syncfusion
-description: Learn here all about Insert page number and navigate to page in Syncfusion ##Platform_Name## Document editor control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: Insert page number and navigate to page
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Insert page number and navigate to page in ##Platform_Name## Document editor control
-
-You can insert page number and navigate to specific page in JavaScript Document Editor component by following ways.
-
-## Insert page number
-
-You can use [`insertPageNumber`](../../api/document-editor/editor/#insertpagenumber) API in editor module to insert the page number in current cursor position. By default, Page number will insert in Arabic number style. You can change it, by providing the number style in parameter.
-
->Note: Currently, Documenteditor have options to insert page number at current cursor position.
-
-The following example code illustrates how to insert page number in header.
-
-```ts
-import { DocumentEditorContainer, Toolbar } from '@syncfusion/ej2-documenteditor';
-
-DocumentEditorContainer.Inject(Toolbar);
-
-let container: DocumentEditorContainer = new DocumentEditorContainer({ enableToolbar: true, height: '590px' });
-
-container.serviceUrl = 'https://services.syncfusion.com/js/production/api/documenteditor/';
-
-container.appendTo('#container');
-// To insert text in cursor position
-container.documentEditor.editor.insertText('Document editor');
-// To move the selection to header
-container.documentEditor.selection.goToHeader();
-// Insert page number in the current cursor position
-container.documentEditor.editor.insertPageNumber();
-```
-
-> The Web API hosted link `https://services.syncfusion.com/js/production/api/documenteditor/` utilized in the Document Editor's serviceUrl property is intended solely for demonstration and evaluation purposes. For production deployment, please host your own web service with your required server configurations. You can refer and reuse the [GitHub Web Service example](https://github.com/SyncfusionExamples/EJ2-DocumentEditor-WebServices) or [Docker image](https://hub.docker.com/r/syncfusion/word-processor-server) for hosting your own web service and use for the serviceUrl property.
-
-Also, you use [`insertField`](../../api/document-editor/editor/#insertfield) API in Editor module to insert the Page number in current position
-
-```ts
-//Current page number
-container.documentEditor.editor.insertField('PAGE \* MERGEFORMAT', '1');
-```
-
-## Get page count
-
-You can use [`pageCount`](../../api/document-editor/#pagecount) API to gets the total number of pages in Document.
-
-The following example code illustrates how to get the number of pages in Document.
-
-```ts
-import { DocumentEditorContainer, Toolbar } from '@syncfusion/ej2-documenteditor';
-
-DocumentEditorContainer.Inject(Toolbar);
-
-let container: DocumentEditorContainer = new DocumentEditorContainer({ enableToolbar: true, height: '590px' });
-
-container.serviceUrl = 'https://services.syncfusion.com/js/production/api/documenteditor/';
-
-container.appendTo('#container');
-// To insert text in cursor position
-container.documentEditor.editor.insertText('Document editor');
-// To get the total number of pages
-let pageCount : number=container.documentEditor.pageCount;
-```
-
-
-## Navigate to specific page
-
-You can use [`goToPage`](../../api/document-editor/selection/#gotopage) API in Selection module to move selection to the start of the specified page number.
-
-The following example code illustrates how to move selection to specific page.
-
-```ts
-import { DocumentEditorContainer, Toolbar } from '@syncfusion/ej2-documenteditor';
-
-DocumentEditorContainer.Inject(Toolbar);
-
-let container: DocumentEditorContainer = new DocumentEditorContainer({ enableToolbar: true, height: '590px' });
-
-container.serviceUrl = 'https://services.syncfusion.com/js/production/api/documenteditor/';
-
-container.appendTo('#container');
-let sfdt: any = {sfdt: 'UEsDBAoAAAAIAPaKZVrvd0ouRgMAAPguAAAEAAAAc2ZkdO1ZW2/aMBj9K8h7RRVJICF5mzqhPUxTpT1WPDiJTaw5lznuaIv63+dbuBRC05ZLNJmXY+LY5/g7nw3ytwJlxUlOntEvnHIQcfaAhqBGCYjuV0BgxUC0AtUSRL7jDkGVgSgIRYPmoiGQGeQGY4NZCiLPHwJsMMUViEYCS6QbMdEgmMBPtLyDCwSGABUYRGI4lii6GWkQKSS4AJEjEGmsFkUtJvjKYEwSMb5ISlqrHvRnqZDGPFFDdc/9/EWQqtVVWC4tTlktkQtZK9FHuUa20Bib75mGvxIE1ryQwkuWQyp4qdSpOhI9q1gdhrRG4glRbPvPORWUABNWc/AiZJ1VkdFhaSyNpbE0lsbSWBpLY2ksjaWxNJbG0lgaS2NpLM1/QdN+4VajpCxSe+NmaSyNpbE0H6KZi4G6Z74ueZiDVr1iWrh+BpHjiIZ4BdxCSmJGxLQPqiJTc10CggoyXaYRQ+SZrQfJ1tYwmGxmxnCnC+MCo60nQumn4kBJYQpPGrFBrsXGtQKowZScqFlQSdcVLqP2t2Rt2sti3V4mTcltE2hcG0UcU91I+VIX0UwlC5niWCbEArH22iDONX+lIc14rpVgrAUmZV6ZyD/x2KiUcQCyCvdlpj5AZcGT+g3dyQUz+eei+jqdiscNhUxeyfgdwZQUi4FzKtI3rZSlzW0vb0ZB6Pi+PxkFgTsKx8Guuc5+wU9nur+b6YMfZJFx6YyKrzubjEMfvErezUu7KWye63Ll1o7cDtDgNoMMvBHF5iWuc+Aicr8hDB8oH9xBBhcMVtlgVhZ8ra2le0fjy+uFuBdLh/dlg9uWDd5ls8Htkg1uezZ418qGRpvXU4O9NoPdoxFzZl7geyc02OtisNdu8PnkdjR43FODx/sGk+aH+ZI7eNzF4PEhg88tt6PBk54aPDmwgy/o66SLr5ODG/eqdvo9tdN/l50nP4f9Lnb677TzAsdv0FM7g48dvyf3Nejia/DR4/cCBk97avC07Q/U6GZyNGae+pzQ4mkXi6ftf6HOKbijyWFPTQ6P7eLruB12cTs8vqH7YDtip/H88HXV/qXMTkBV7IyKRtSsLPn1RRkV8gqSqmtJMRnVmOQamfn6qJHki1pN+w9QSwECFAAKAAAACAD2imVa73dKLkYDAAD4LgAABAAAAAAAAAAAAAAAAAAAAAAAc2ZkdFBLBQYAAAAAAQABADIAAABoAwAAAAA=',};
-container.documentEditor.open(sfdt);
-// To move selection to page number 2
-container.documentEditor.selection.goToPage(2);
-```
-
-> The Web API hosted link `https://services.syncfusion.com/js/production/api/documenteditor/` utilized in the Document Editor's serviceUrl property is intended solely for demonstration and evaluation purposes. For production deployment, please host your own web service with your required server configurations. You can refer and reuse the [GitHub Web Service example](https://github.com/SyncfusionExamples/EJ2-DocumentEditor-WebServices) or [Docker image](https://hub.docker.com/r/syncfusion/word-processor-server) for hosting your own web service and use for the serviceUrl property.
\ No newline at end of file
diff --git a/ej2-javascript/document-editor/how-to/insert-text-in-current-position.md b/ej2-javascript/document-editor/how-to/insert-text-in-current-position.md
deleted file mode 100644
index 4d7598589..000000000
--- a/ej2-javascript/document-editor/how-to/insert-text-in-current-position.md
+++ /dev/null
@@ -1,120 +0,0 @@
----
-layout: post
-title: How to insert text in ##Platform_Name## Document editor | Syncfusion
-description: Learn here all about Insert text in current position in Syncfusion ##Platform_Name## Document editor control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: Insert text in current position
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Insert text in current position in ##Platform_Name## Document editor
-
-You can insert the text, paragraph and rich-text content in JavaScript Document Editor component.
-
-## Insert text in current cursor position
-
-You can use [`insertText`](../../api/document-editor/editor/#inserttext) API in editor module to insert the text in current cursor position.
-
-The following example illustrates how to add the text in current selection.
-
-```ts
- let hostUrl: string = 'https://services.syncfusion.com/js/production/';
- let container: DocumentEditorContainer = new DocumentEditorContainer({ enableToolbar: true, height: '590px' });
- DocumentEditorContainer.Inject(Toolbar);
- container.serviceUrl = hostUrl + 'api/documenteditor/';
- container.appendTo('#container');
-
- document.getElementById('insert').addEventListener('click',function(){
- // It will insert the provided text in current selection
- container.documentEditor.editor.insertText('Syncfusion');
- });
-```
-
-Please check below gif which illustrates how to insert text in current cursor position on button click:
-
-
-
-## Insert paragraph in current cursor position
-
-To insert new paragraph at current selection, you can can use [`insertText`](../../api/document-editor/editor/#inserttext) API with parameter as `\r\n` or `\n`.
-
-The following example code illustrates how to add the new paragraph in current selection.
-
-```ts
-// It will add the new paragraph in current selection
-container.documentEditor.editor.insertText('\n');
-```
-
-## Insert the rich-text content
-
-To insert the HTML content, you have to convert the HTML content to SFDT Format using [`web service`](../../document-editor/web-services-overview). Then use [`paste`](../../api/document-editor/editor/#paste) API to insert the sfdt at current cursor position.
-
->Note: HTML string should be well formatted. [`DocIO`](https://help.syncfusion.com/file-formats/docio/html) support only well formatted XHTML.
-
-The following example illustrates how to insert the HTML content at current cursor position.
-
-* Send the HTML content to server side for SFDT conversion. Refer to the following example to send the HTML content to server side and inserting it in current cursor position.
-
-```ts
-import {
- DocumentEditorContainer,
- Toolbar,
-} from '@syncfusion/ej2-documenteditor';
-
-let hostUrl: string =
- 'https://services.syncfusion.com/js/production/';
-
-let container: DocumentEditorContainer = new DocumentEditorContainer({
- enableToolbar: true,
- height: '590px',
-});
-DocumentEditorContainer.Inject(Toolbar);
-container.serviceUrl = hostUrl + 'api/documenteditor/';
-container.appendTo('#container');
-
-let htmltags: string =
- "
The img element
";
-document.getElementById('export').addEventListener('click', () => {
- let http: XMLHttpRequest = new XMLHttpRequest();
- http.open('POST', 'http://localhost:5000/api/documenteditor/LoadString');
- http.setRequestHeader('Content-Type', 'application/json;charset=UTF-8');
- http.responseType = 'json';
- http.onreadystatechange = function () {
- if (http.readyState === 4) {
- if (http.status === 200 || http.status === 304) {
- // Insert the sfdt content in cursor position using paste API
- container.documentEditor.editor.paste(http.response);
- } else {
- alert('failed;');
- }
- }
- };
-
- let htmlContent: any = { content: htmltags };
- http.send(JSON.stringify(htmlContent));
-});
-```
-
-* Please refer the following code example for server-side web implementation for HTML conversion using DocumentEditor.
-
-```c#
-//API controller for the conversion.
-[HttpPost]
-public string LoadString([FromBody]InputParameter data)
-{
- // You can also load HTML file/string from server side.
- Syncfusion.EJ2.DocumentEditor.WordDocument document = Syncfusion.EJ2.DocumentEditor.WordDocument.LoadString(data.content, FormatType.Html); // Convert the HTML to SFDT format.
- string json = Newtonsoft.Json.JsonConvert.SerializeObject(document);
- document.Dispose();
- return json;
-}
-
-public class InputParameter
-{
- public string content {get; set; }
-}
-```
-
->Note: The above example illustrates inserting HTML content. Similarly, you can insert any rich-text content by converting any of the supported file formats (DOCX, DOC, WordML, HTML, RTF) to SFDT.
\ No newline at end of file
diff --git a/ej2-javascript/document-editor/how-to/insert-text-or-image-in-table-programmatically.md b/ej2-javascript/document-editor/how-to/insert-text-or-image-in-table-programmatically.md
deleted file mode 100644
index 43fa73ff1..000000000
--- a/ej2-javascript/document-editor/how-to/insert-text-or-image-in-table-programmatically.md
+++ /dev/null
@@ -1,74 +0,0 @@
----
-layout: post
-title: Insert text or image in table programmatically in ##Platform_Name## Document editor control | Syncfusion
-description: Learn here all about Insert text or image in table programmatically in Syncfusion ##Platform_Name## Document editor control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: Insert text or image in table programmatically
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Insert text or image in table programmatically in ##Platform_Name## Document editor control
-
-Using Document editor API's, you can insert [`text`](../../document-editor/how-to/insert-text-in-current-position/#insert-text-in-current-cursor-position) or [`image`](../../document-editor/image/#images) in [`table`](../../document-editor/table/#create-a-table) programmatically based on your requirement.
-
-Use [`selection`](../../document-editor/how-to/move-selection-to-specific-position/#selects-content-based-on-start-and-end-hierarchical-index) API's to navigate between rows and cells.
-
-The following example illustrates how to create 2*2 table and then add text and image programmatically.
-
-```ts
-import { DocumentEditorContainer, Toolbar } from '@syncfusion/ej2-documenteditor';
-
-DocumentEditorContainer.Inject(Toolbar);
-
-let container: DocumentEditorContainer = new DocumentEditorContainer({ enableToolbar: true, height: '590px' });
-
-container.serviceUrl = 'https://services.syncfusion.com/js/production/api/documenteditor/';
-
-container.appendTo('#container');
-// To insert the table in cursor position
-container.documentEditor.editor.insertTable(2,2);
-// To insert the image at table first cell
-container.documentEditor.editor.insertImage("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHElEQVQI12P4 //8/w38GIAXDIBKE0DHxgljNBAAO9TXL0Y4OHwAAAABJRU5ErkJggg==");
-// To move the cursor to next cell
-moveCursorToNextCell();
-// To insert the image at table second cell
-container.documentEditor.editor.insertImage("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHElEQVQI12P4 //8/w38GIAXDIBKE0DHxgljNBAAO9TXL0Y4OHwAAAABJRU5ErkJggg==");
-// To move the cursor to next row
-moveCursorToNextRow();
-// To insert text in cursor position
-container.documentEditor.editor.insertText('Text');
-// To move the cursor to next cell
-moveCursorToNextCell();
-// To insert text in cursor position
-container.documentEditor.editor.insertText('Text');
-
-function moveCursorToNextCell() {
-// To get current selection start offset
-var startOffset=container.documentEditor.selection.startOffset;
-// Increasing cell index to consider next cell
-var cellIndex= parseInt(startOffset.substring(6, 7)) + 1;
-// Changing start offset
-startOffset = startOffset.substring(0, 6) + cellIndex.toString() + startOffset.substring(7, startOffset.length);
-// Navigating selection using select method
-container.documentEditor.selection.select(startOffset, startOffset);
-}
-
-function moveCursorToNextRow() {
-// To get current selection start offset
-var startOffset=container.documentEditor.selection.startOffset;
-// Increasing row index to consider next row
-var rowIndex= parseInt(startOffset.substring(4, 5)) + 1;
-var cellIndex= parseInt(startOffset.substring(6,7)) != 0? parseInt(startOffset.substring(6,7)) - 1:0;
-// Changing start offset
-startOffset = startOffset.substring(0, 4) + rowIndex.toString() + startOffset.substring(5, 6) + cellIndex + startOffset.substring(7, startOffset.length);
-// Navigating selection using select method
-container.documentEditor.selection.select(startOffset, startOffset);
-}
-```
-
-> The Web API hosted link `https://services.syncfusion.com/js/production/api/documenteditor/` utilized in the Document Editor's serviceUrl property is intended solely for demonstration and evaluation purposes. For production deployment, please host your own web service with your required server configurations. You can refer and reuse the [GitHub Web Service example](https://github.com/SyncfusionExamples/EJ2-DocumentEditor-WebServices) or [Docker image](https://hub.docker.com/r/syncfusion/word-processor-server) for hosting your own web service and use for the serviceUrl property.
-
-The output will be like below.
-
diff --git a/ej2-javascript/document-editor/how-to/move-selection-to-specific-position.md b/ej2-javascript/document-editor/how-to/move-selection-to-specific-position.md
deleted file mode 100644
index ce86b5fbc..000000000
--- a/ej2-javascript/document-editor/how-to/move-selection-to-specific-position.md
+++ /dev/null
@@ -1,76 +0,0 @@
----
-layout: post
-title: Move to specific position in ##Platform_Name## Document editor | Syncfusion
-description: Learn here all about Move selection to specific position in Syncfusion ##Platform_Name## Document editor control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: Move selection to specific position
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Move selection to specific position in ##Platform_Name## Document editor
-
-Using [`select`](../../api/document-editor/selection/#select) API in selection module, You can set cursor position to anywhere in the document.
-
-## Selects content based on start and end hierarchical index
-
-Hierarchical index will be in below format.
-
-`sectionIndex;blockIndex;offset`
-
-The following code snippet illustrate how to select using hierarchical index.
-
-```ts
-// Selection will occur between provided start and end offset
-documentEdContainerIns.documentEditor.editor.insertText("Welcome");
-// The below code will select the letters “We” from inserted text “Welcome”
-documentEdContainerIns.documentEditor.selection.select("0;0;0", "0;0;2");
-```
-
-The following table illustrates about Hierarchical index in detail.
-
-| Element |Hierarchical Format | Explanation |
-|-----------------|-------------|----|
-|Move selection to Paragraph |sectionIndex;blockIndex;offset **Ex:** 0;0;0|It moves the cursor to the start of paragraph.|
-|Move selection to Table|sectionIndex;tableIndex;rowIndex;cellIndex;blockIndex;offset **Ex:** 0;0;0;0;1;0|It moves the cursor to the second paragraph which is inside first row and cell of table.|
-|Move selection to header|pageIndex;H;sectionIndex;blockIndex;offset **Ex:** 1;H;0;0;0|It moves cursor to the header in second page.|
-|Move selection to Footer|pageIndex;F;sectionIndex;blockIndex;offset **Ex:** 1;F;0;0;0|It moves cursor to the footer in second page.|
-
-## Get the selection start and end hierarchical index
-
-Using [`startOffset`](../../api/document-editor/selection/#startoffset), you can get start hierarchical index which denotes the start index of current selection. Similarly, using [`endOffset`](../../api/document-editor/selection/#endoffset), you can get end hierarchical index which denotes the end index of current selection.
-
-The following code snippet illustrate how to get the selection start and end offset on selection changes in document.
-
-```ts
-import { DocumentEditorContainer, Toolbar } from '@syncfusion/ej2-documenteditor';
-
-let hostUrl: string = 'https://services.syncfusion.com/js/production/';
-
-let container: DocumentEditorContainer = new DocumentEditorContainer({ enableToolbar: true, height: '590px' });
-DocumentEditorContainer.Inject(Toolbar);
-container.serviceUrl = hostUrl + 'api/documenteditor/';
-container.appendTo('#container');
-// Event gets triggered on selection change in document
-container.selectionChange = (): void => {
-//Get the start index of current selection
-let startOffset:string = container.documentEditor.selection.startOffset;
-//Get the end index of current selection
-let endOffset:string = container.documentEditor.selection.endOffset;
-};
-```
-
-Document editor have [`selectionChange`](../../api/document-editor/#selectionchange) event which is triggered whenever the selection changes in Document.
-
-## Selects the content based on left and top position
-
-Here, you can specify the [`selection settings`](../../api/document-editor/selectionSettings/) to select the content based on left and top position.
-
-x denotes the left position and y denotes the top position and extend denotes whether to extend or update selection.
-
-Please check below code sample for reference.
-
-```ts
-Container.documentEditor.selection.select({ x: 188.4814208984375 , y: 662.00005, extend: true });
-```
\ No newline at end of file
diff --git a/ej2-javascript/document-editor/how-to/open-default-document.md b/ej2-javascript/document-editor/how-to/open-default-document.md
deleted file mode 100644
index d704bf15b..000000000
--- a/ej2-javascript/document-editor/how-to/open-default-document.md
+++ /dev/null
@@ -1,82 +0,0 @@
----
-layout: post
-title: Open default document in ##Platform_Name## Document editor control | Syncfusion
-description: Learn here all about Open default document in Syncfusion ##Platform_Name## Document editor control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: Open default document
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Open default document in ##Platform_Name## Document editor control
-
-In this article, we are going to see how to open a default document when DocumentEditor & DocumentEditorContainer is initialized.
-
-## Opening a default document in DocumentEditor
-
-By default, Document Editor will open blank document. You can use [`open`](../../api/document-editor/#open) API in Document Editor to open the sfdt content.
-
-Document editor have [`created`](../../api/document-editor/#created) event which gets triggered once Document editor control created. So, if you want to open the document by default, you can use [`open`](../../api/document-editor/#open) and [`created`](../../api/document-editor/#created) API.
-
-The following example illustrates how to open the default SFDT content once Document editor control gets created.
-
-{% if page.publishingplatform == "typescript" %}
-
- {% tabs %}
-{% highlight ts tabtitle="index.ts" %}
-{% include code-snippet/document-editor/open-default-document-cs1/index.ts %}
-{% endhighlight %}
-{% highlight html tabtitle="index.html" %}
-{% include code-snippet/document-editor/open-default-document-cs1/index.html %}
-{% endhighlight %}
-{% endtabs %}
-
-{% previewsample "page.domainurl/code-snippet/document-editor/open-default-document-cs1" %}
-
-{% elsif page.publishingplatform == "javascript" %}
-
-{% tabs %}
-{% highlight js tabtitle="index.js" %}
-{% include code-snippet/document-editor/open-default-document-cs1/index.js %}
-{% endhighlight %}
-{% highlight html tabtitle="index.html" %}
-{% include code-snippet/document-editor/open-default-document-cs1/index.html %}
-{% endhighlight %}
-{% endtabs %}
-
-{% previewsample "page.domainurl/code-snippet/document-editor/open-default-document-cs1" %}
-{% endif %}
-
-## Opening a default document in DocumentEditorContainer
-
-By default, Document Editor Container will open a blank document. You can use [`open`](../../api/document-editor/#open) API in Document Editor to open the SFDT content.
-
-Document editor Container have [`created`](../../api/document-editor-container/#created) event which gets triggered once Document editor container control created. So, if you want to open the document by default, you can use [`open`](../../api/document-editor/#open) and [`created`](../../api/document-editor-container/#created) API.
-
-{% if page.publishingplatform == "typescript" %}
-
- {% tabs %}
-{% highlight ts tabtitle="index.ts" %}
-{% include code-snippet/document-editor/open-default-document-cs2/index.ts %}
-{% endhighlight %}
-{% highlight html tabtitle="index.html" %}
-{% include code-snippet/document-editor/open-default-document-cs2/index.html %}
-{% endhighlight %}
-{% endtabs %}
-
-{% previewsample "page.domainurl/code-snippet/document-editor/open-default-document-cs2" %}
-
-{% elsif page.publishingplatform == "javascript" %}
-
-{% tabs %}
-{% highlight js tabtitle="index.js" %}
-{% include code-snippet/document-editor/open-default-document-cs2/index.js %}
-{% endhighlight %}
-{% highlight html tabtitle="index.html" %}
-{% include code-snippet/document-editor/open-default-document-cs2/index.html %}
-{% endhighlight %}
-{% endtabs %}
-
-{% previewsample "page.domainurl/code-snippet/document-editor/open-default-document-cs2" %}
-{% endif %}
diff --git a/ej2-javascript/document-editor/how-to/open-document-by-address.md b/ej2-javascript/document-editor/how-to/open-document-by-address.md
deleted file mode 100644
index 4234328a4..000000000
--- a/ej2-javascript/document-editor/how-to/open-document-by-address.md
+++ /dev/null
@@ -1,70 +0,0 @@
----
-layout: post
-title: Open document by address in ##Platform_Name## Document editor control | Syncfusion
-description: Learn here all about Open document by address in Syncfusion ##Platform_Name## Document editor control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: Open document by address
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Open document by address in ##Platform_Name## Document editor control
-
-## How to open a document from URL in DocumentEditor
-
-In this article, we are going to see how to open a document from URL in DocumentEditor
-
-please refer below example for client-side code
-
-```ts
-//Initialize Document Editor Container component.
-let container: DocumentEditorContainer = new DocumentEditorContainer();
-
-container.appendTo('#DocumentEditorContainer');
-
-document.getElementById('import').addEventListener('click', () => {
- let http: XMLHttpRequest = new XMLHttpRequest();
- //add your url in which you want to open document inside the ""
- let content = { fileUrl: "" };
- let baseurl: string = "/api/documenteditor/ImportFileURL";
- http.open("POST", baseurl, true);
- http.setRequestHeader("Content-Type", "application/json;charset=UTF-8");
- http.onreadystatechange = () => {
- if (http.readyState === 4) {
- if (http.status === 200 || http.status === 304) {
- //open the SFDT text in Document Editor
- container.documentEditor.open(http.responseText);
- }
- }
- };
- http.send(JSON.stringify(content));
-});
-```
-
-please refer below example for server-side code
-
-```c#
- [AcceptVerbs("Post")]
- public string ImportFileURL([FromBody]FileUrlInfo param)
- {
- try {
- using(WebClient client = new WebClient())
- {
- MemoryStream stream = new MemoryStream(client.DownloadData(param.fileUrl));
- WordDocument document = WordDocument.Load(stream, FormatType.Docx);
- string json = Newtonsoft.Json.JsonConvert.SerializeObject(document);
- document.Dispose();
- stream.Dispose();
- return json;
- }
- }
- catch (Exception) {
- return "";
- }
- }
- public class FileUrlInfo {
- public string fileUrl { get; set; }
- public string Content { get; set; }
- }
-```
diff --git a/ej2-javascript/document-editor/how-to/override-the-keyboard-shortcuts.md b/ej2-javascript/document-editor/how-to/override-the-keyboard-shortcuts.md
deleted file mode 100644
index be7c960cc..000000000
--- a/ej2-javascript/document-editor/how-to/override-the-keyboard-shortcuts.md
+++ /dev/null
@@ -1,46 +0,0 @@
----
-layout: post
-title: Override the keyboard shortcuts in ##Platform_Name## Document editor control | Syncfusion
-description: Learn here all about Override the keyboard shortcuts in Syncfusion ##Platform_Name## Document editor control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: Override the keyboard shortcuts
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Override the keyboard shortcuts in ##Platform_Name## Document editor control
-
-Document Editor triggers the [`keyDown`](../../api/document-editor#keydown) event every time when any key is entered and provides an instance of [`DocumentEditorKeyDownEventArgs`](../../api/document-editor/documentEditorKeyDownEventArgs/). You can use the [`isHandled`](../../api/document-editor/documentEditorKeyDownEventArgs#ishandled) property to override the keyboard shortcut behavior.
-
-## Preventing default keyboard shortcut
-
-The following code shows how to prevent the `CTRL + C` keyboard shortcut for copying selected content in Document Editor.
-
-{% tabs %}
-{% highlight ts tabtitle="index.ts" %}
-{% include code-snippet/document-editor/prevent-keyboard-cs2/index.ts %}
-{% endhighlight %}
-{% highlight html tabtitle="index.html" %}
-{% include code-snippet/document-editor/prevent-keyboard-cs2/index.html %}
-{% endhighlight %}
-{% endtabs %}
-
-{% previewsample "page.domainurl/code-snippet/document-editor/prevent-keyboard-cs2" %}
-
-## Override or define the keyboard shortcut
-
-Override or define a new keyboard shortcut behavior instead of preventing the keyboard shortcut.
-
-For example, `Ctrl + S` keyboard shortcut saves the document in SFDT format by default, and there is no behavior for `Ctrl + Alt + S`. The following code demonstrates how to override the `Ctrl + S` shortcut to save a document in DOCX format and define `Ctrl + Alt + S` to save the document in SFDT format.
-
-{% tabs %}
-{% highlight ts tabtitle="index.ts" %}
-{% include code-snippet/document-editor/override-keyboard-cs2/index.ts %}
-{% endhighlight %}
-{% highlight html tabtitle="index.html" %}
-{% include code-snippet/document-editor/override-keyboard-cs2/index.html %}
-{% endhighlight %}
-{% endtabs %}
-
-{% previewsample "page.domainurl/code-snippet/document-editor/override-keyboard-cs2" %}
\ No newline at end of file
diff --git a/ej2-javascript/document-editor/how-to/read-only-default.md b/ej2-javascript/document-editor/how-to/read-only-default.md
deleted file mode 100644
index a9ceaace3..000000000
--- a/ej2-javascript/document-editor/how-to/read-only-default.md
+++ /dev/null
@@ -1,74 +0,0 @@
----
-layout: post
-title: Read only default in ##Platform_Name## Document editor control | Syncfusion
-description: Learn here all about Read only default in Syncfusion ##Platform_Name## Document editor control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: Read only default
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Read only default in ##Platform_Name## Document editor control
-
-In this article, we are going to see how to open a document in read only mode by default in DocumentEditor & DocumentEditorContainer.
-
-## Opening a document in read only mode by default in DocumentEditor
-
-{% if page.publishingplatform == "typescript" %}
-
- {% tabs %}
-{% highlight ts tabtitle="index.ts" %}
-{% include code-snippet/document-editor/read-cs1/index.ts %}
-{% endhighlight %}
-{% highlight html tabtitle="index.html" %}
-{% include code-snippet/document-editor/read-cs1/index.html %}
-{% endhighlight %}
-{% endtabs %}
-
-{% previewsample "page.domainurl/code-snippet/document-editor/read-cs1" %}
-
-{% elsif page.publishingplatform == "javascript" %}
-
-{% tabs %}
-{% highlight js tabtitle="index.js" %}
-{% include code-snippet/document-editor/read-cs1/index.js %}
-{% endhighlight %}
-{% highlight html tabtitle="index.html" %}
-{% include code-snippet/document-editor/read-cs1/index.html %}
-{% endhighlight %}
-{% endtabs %}
-
-{% previewsample "page.domainurl/code-snippet/document-editor/read-cs1" %}
-{% endif %}
-
-## Opening a document in ready only mode by default in DocumentEditorContainer
-
-{% if page.publishingplatform == "typescript" %}
-
- {% tabs %}
-{% highlight ts tabtitle="index.ts" %}
-{% include code-snippet/document-editor/read-container-cs1/index.ts %}
-{% endhighlight %}
-{% highlight html tabtitle="index.html" %}
-{% include code-snippet/document-editor/read-container-cs1/index.html %}
-{% endhighlight %}
-{% endtabs %}
-
-{% previewsample "page.domainurl/code-snippet/document-editor/read-container-cs1" %}
-
-{% elsif page.publishingplatform == "javascript" %}
-
-{% tabs %}
-{% highlight js tabtitle="index.js" %}
-{% include code-snippet/document-editor/read-container-cs1/index.js %}
-{% endhighlight %}
-{% highlight html tabtitle="index.html" %}
-{% include code-snippet/document-editor/read-container-cs1/index.html %}
-{% endhighlight %}
-{% endtabs %}
-
-{% previewsample "page.domainurl/code-snippet/document-editor/read-container-cs1" %}
-{% endif %}
-
->Note: You can use the [`restrictEditing`](../../api/document-editor-container#restrictediting) in DocumentEditorContainer and [`isReadOnly`](../../api/document-editor/#isreadonly) in DocumentEditor based on your requirement to change component to read only mode.
\ No newline at end of file
diff --git a/ej2-javascript/document-editor/how-to/resize-document-editor.md b/ej2-javascript/document-editor/how-to/resize-document-editor.md
deleted file mode 100644
index 28a4c1a3d..000000000
--- a/ej2-javascript/document-editor/how-to/resize-document-editor.md
+++ /dev/null
@@ -1,84 +0,0 @@
----
-layout: post
-title: Resize document editor in ##Platform_Name## Document editor control | Syncfusion
-description: Learn here all about Resize document editor in Syncfusion ##Platform_Name## Document editor control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: Resize document editor
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Resize document editor in ##Platform_Name## Document editor control
-
-In this article, we are going to see how to change height and width of Documenteditor.
-
-## Change height of Document Editor
-
-DocumentEditorContainer initially render with default height. You can change height of documenteditor using [`height`](../../api/document-editor-container/documentEditorContainerModel/#height) property, the value which is in pixel.
-
-The following example code illustrates how to change height of Document Editor.
-
-```ts
-let container: DocumentEditorContainer = new DocumentEditorContainer({
- enableToolbar: true, height: "590px"
-});
-container.appendTo('#DocumentEditor');
-```
-
-Similarly, you can use [`height`](../../api/document-editor#height) property for DocumentEditor also.
-
-## Change width of Document Editor
-
-DocumentEditorContainer initially render with default width. You can change width of documenteditor using [`width`](../../api/document-editor-container/documentEditorContainerModel/#width) property, the value which is in percent.
-
-The following example code illustrates how to change width of Document Editor.
-
-```ts
-let container: DocumentEditorContainer = new DocumentEditorContainer({
- enableToolbar: true, width: "100%"
-});
-container.appendTo('#DocumentEditor');
-```
-
-Similarly, you can use [`width`](../../api/document-editor#width) property for DocumentEditor also.
-
-## Resize Document Editor
-
-Using [`resize`](../../api/document-editor-container#resize) method, you change height and width of Document editor.
-
-The following example code illustrates how to fit Document Editor to browser window size.
-
-```ts
-import {
- DocumentEditorContainer,
- Toolbar,
-} from '@syncfusion/ej2-documenteditor';
-
-let container: DocumentEditorContainer = new DocumentEditorContainer({ enableToolbar: true, height: '590px' });
-DocumentEditorContainer.Inject(Toolbar);
-container.serviceUrl =
- 'https://services.syncfusion.com/js/production/api/documenteditor/';
-
-container.created = (): void => {
- setInterval(() => {
- updateDocumentEditorSize();
- }, 100);
- //Adds event listener for browser window resize event.
- window.addEventListener('resize', onWindowResize);
-};
-container.appendTo('#container');
-
-function onWindowResize() {
- //Resizes the document editor component to fit full browser window automatically whenever the browser resized.
- updateDocumentEditorSize();
-}
-function updateDocumentEditorSize() {
- //Resizes the document editor component to fit full browser window.
- var windowWidth = window.innerWidth;
- var windowHeight = window.innerHeight;
- container.resize(windowWidth, windowHeight);
-}
-```
-
-> The Web API hosted link `https://services.syncfusion.com/js/production/api/documenteditor/` utilized in the Document Editor's serviceUrl property is intended solely for demonstration and evaluation purposes. For production deployment, please host your own web service with your required server configurations. You can refer and reuse the [GitHub Web Service example](https://github.com/SyncfusionExamples/EJ2-DocumentEditor-WebServices) or [Docker image](https://hub.docker.com/r/syncfusion/word-processor-server) for hosting your own web service and use for the serviceUrl property.
\ No newline at end of file
diff --git a/ej2-javascript/document-editor/how-to/retrieve-the-bookmark-content-as-text.md b/ej2-javascript/document-editor/how-to/retrieve-the-bookmark-content-as-text.md
deleted file mode 100644
index a0e27e662..000000000
--- a/ej2-javascript/document-editor/how-to/retrieve-the-bookmark-content-as-text.md
+++ /dev/null
@@ -1,130 +0,0 @@
----
-layout: post
-title: Retrieve the bookmark content as text in ##Platform_Name## Document editor control | Syncfusion
-description: Learn here all about Retrieve the bookmark content as text in Syncfusion ##Platform_Name## Document editor control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: Retrieve the bookmark content as text
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Retrieve the bookmark content as text in ##Platform_Name## Document editor control
-
-You can get the bookmark or whole document content from the JavaScript Document Editor component as plain text and SFDT (rich text).
-
-## Get the bookmark content as plain text
-
-You can [`selectBookmark`](../../document-editor/bookmark#select-bookmark) API to navigate to the bookmark and use [`text`](../../api/document-editor/selection/#text-code-classlanguage-textstringcode) API to get the bookmark content as plain text from JavaScript Document Editor component.
-
-The following example code illustrates how to get the bookmark content as plain text.
-
-```ts
-import { DocumentEditorContainer, Toolbar } from '@syncfusion/ej2-documenteditor';
-
-DocumentEditorContainer.Inject(Toolbar);
-
-let container: DocumentEditorContainer = new DocumentEditorContainer({ enableToolbar: true, height: '590px' });
-
-container.serviceUrl = 'https://services.syncfusion.com/js/production/api/documenteditor/';
-
-container.appendTo('#container');
-// To insert text in cursor position
-container.documentEditor.editor.insertText('Document editor');
-// To select all the content in document
-container.documentEditor.selection.selectAll();
-// Insert bookmark to selected content
-container.documentEditor.editor.insertBookmark('Bookmark1');
-
-// Provide your bookmark name to navigate to specific bookmark
-container.documentEditor.selection.selectBookmark('Bookmark1');
-
-// To get the selected content as text
- let selectedContent: string = container.documentEditor.selection.text;
-```
-
-> The Web API hosted link `https://services.syncfusion.com/js/production/api/documenteditor/` utilized in the Document Editor's serviceUrl property is intended solely for demonstration and evaluation purposes. For production deployment, please host your own web service with your required server configurations. You can refer and reuse the [GitHub Web Service example](https://github.com/SyncfusionExamples/EJ2-DocumentEditor-WebServices) or [Docker image](https://hub.docker.com/r/syncfusion/word-processor-server) for hosting your own web service and use for the serviceUrl property.
-
-To get the bookmark content as SFDT (rich text), please check this [`link`](../../document-editor/how-to/get-the-selected-content/#get-the-selected-content-as-sfdt-rich-text)
-
-## Get the whole document content as text
-
-You can use [`text`](../../api/document-editor/selection/#text-code-classlanguage-textstringcode) API to get the whole document content as plain text from JavaScript Document Editor component.
-
-The following example code illustrates how to get the whole document content as plain text.
-
-```ts
-import { DocumentEditorContainer, Toolbar } from '@syncfusion/ej2-documenteditor';
-
-DocumentEditorContainer.Inject(Toolbar);
-
-let container: DocumentEditorContainer = new DocumentEditorContainer({ enableToolbar: true, height: '590px' });
-
-container.serviceUrl = 'https://services.syncfusion.com/js/production/api/documenteditor/';
-
-container.appendTo('#container');
-// To insert text in cursor position
-container.documentEditor.editor.insertText('Document editor');
-// To select all the content in document
-container.documentEditor.selection.selectAll();
-
-// To get the content as text
- let selectedContent: string = container.documentEditor.selection.text;
-```
-
-> The Web API hosted link `https://services.syncfusion.com/js/production/api/documenteditor/` utilized in the Document Editor's serviceUrl property is intended solely for demonstration and evaluation purposes. For production deployment, please host your own web service with your required server configurations. You can refer and reuse the [GitHub Web Service example](https://github.com/SyncfusionExamples/EJ2-DocumentEditor-WebServices) or [Docker image](https://hub.docker.com/r/syncfusion/word-processor-server) for hosting your own web service and use for the serviceUrl property.
-
-## Get the whole document content as SFDT(rich text)
-
-You can use [`serialize`](../../api/document-editor/#serialize) API to get the whole document content as SFDT string from JavaScript Document Editor component.
-
-The following example code illustrates how to get the whole document content as SFDT.
-
-```ts
-import { DocumentEditorContainer, Toolbar } from '@syncfusion/ej2-documenteditor';
-
-DocumentEditorContainer.Inject(Toolbar);
-
-let container: DocumentEditorContainer = new DocumentEditorContainer({ enableToolbar: true, height: '590px' });
-
-container.serviceUrl = 'https://services.syncfusion.com/js/production/api/documenteditor/';
-
-container.appendTo('#container');
-// To insert text in cursor position
-container.documentEditor.editor.insertText('Document editor');
-
-// To get the content as SFDT
- let selectedContent: string = container.documentEditor.serialize();
-```
-
-
-## Get the header content as text
-
-You can use [`goToHeader`](../../api/document-editor/selection/#gotoheader) API to navigate the selection to the header and then use [`text`](../../api/document-editor/selection/#text-code-classlanguage-textstringcode) API to get the content as plain text.
-
-The following example code illustrates how to get the header content as plain text.
-
-```ts
-import { DocumentEditorContainer, Toolbar } from '@syncfusion/ej2-documenteditor';
-
-DocumentEditorContainer.Inject(Toolbar);
-
-let container: DocumentEditorContainer = new DocumentEditorContainer({ enableToolbar: true, height: '590px' });
-
-container.serviceUrl = 'https://services.syncfusion.com/js/production/api/documenteditor/';
-
-container.appendTo('#container');
-// To navigate the selection to header
-container.documentEditor.selection.goToHeader();
-// To insert text in cursor position
-container.documentEditor.editor.insertText('Document editor');
-// To select all the content in document
-container.documentEditor.selection.selectAll();
-
-// To get the selected content as text
- let selectedContent: string = container.documentEditor.selection.text;
-```
-
-> The Web API hosted link `https://services.syncfusion.com/js/production/api/documenteditor/` utilized in the Document Editor's serviceUrl property is intended solely for demonstration and evaluation purposes. For production deployment, please host your own web service with your required server configurations. You can refer and reuse the [GitHub Web Service example](https://github.com/SyncfusionExamples/EJ2-DocumentEditor-WebServices) or [Docker image](https://hub.docker.com/r/syncfusion/word-processor-server) for hosting your own web service and use for the serviceUrl property.
-
-Similarly, you can use [`goToFooter`](../../api/document-editor/selection/#gotofooter) API to navigate the selection to the footer and then use [`text`](../../api/document-editor/selection/#text-code-classlanguage-textstringcode) API to get the content as plain text.
\ No newline at end of file
diff --git a/ej2-javascript/document-editor/how-to/set-default-format-in-document-editor.md b/ej2-javascript/document-editor/how-to/set-default-format-in-document-editor.md
deleted file mode 100644
index 82ed41262..000000000
--- a/ej2-javascript/document-editor/how-to/set-default-format-in-document-editor.md
+++ /dev/null
@@ -1,114 +0,0 @@
----
-layout: post
-title: Set default format in document editor in ##Platform_Name## Document editor control | Syncfusion
-description: Learn here all about Set default format in document editor in Syncfusion ##Platform_Name## Document editor control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: Set default format in document editor
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Set default format in document editor in ##Platform_Name## Document editor control
-
-You can set the default character format, paragraph format and section format in Document editor.
-
-## Set the default character format
-
-You can use [`setDefaultCharacterFormat`](../../api/document-editor/#setdefaultcharacterformat) method to set the default character format. For example, Document editor default font size is 11 and you can change it as any valid value.
-
-The following example code illustrates how to change the default font size in Document editor.
-
-```ts
-import { DocumentEditorContainer, Toolbar } from '@syncfusion/ej2-documenteditor';
-
-let container: DocumentEditorContainer = new DocumentEditorContainer({ height: "590px" });
-container.serviceUrl = 'https://services.syncfusion.com/js/production/api/documenteditor/';
-DocumentEditorContainer.Inject(Toolbar);
-// Default font size set as 20
-container.setDefaultCharacterFormat({ fontSize: 20 });
-container.appendTo('#container');
-```
-
-> The Web API hosted link `https://services.syncfusion.com/js/production/api/documenteditor/` utilized in the Document Editor's serviceUrl property is intended solely for demonstration and evaluation purposes. For production deployment, please host your own web service with your required server configurations. You can refer and reuse the [GitHub Web Service example](https://github.com/SyncfusionExamples/EJ2-DocumentEditor-WebServices) or [Docker image](https://hub.docker.com/r/syncfusion/word-processor-server) for hosting your own web service and use for the serviceUrl property.
-
-Similarly, you can change the required [`CharacterFormatProperties`](../../api/document-editor/characterFormatProperties) default value.
-
-The following example code illustrates how to change other character format default value in Document editor.
-
-```ts
-import { CharacterFormatProperties, DocumentEditorContainer, Toolbar } from '@syncfusion/ej2-documenteditor';
-
-let container: DocumentEditorContainer = new DocumentEditorContainer({ height: "590px" });
-container.serviceUrl = 'https://services.syncfusion.com/js/production/api/documenteditor/';
-DocumentEditorContainer.Inject(Toolbar);
-// Set default value
-let defaultCharacterFormat: CharacterFormatProperties = {
- bold: false,
- italic: false,
- baselineAlignment: 'Normal',
- underline: 'None',
- fontColor: "#000000",
- fontFamily: 'Algerian',
- fontSize: 12
-};
-container.setDefaultCharacterFormat(defaultCharacterFormat);
-container.appendTo('#container');
-```
-
-> The Web API hosted link `https://services.syncfusion.com/js/production/api/documenteditor/` utilized in the Document Editor's serviceUrl property is intended solely for demonstration and evaluation purposes. For production deployment, please host your own web service with your required server configurations. You can refer and reuse the [GitHub Web Service example](https://github.com/SyncfusionExamples/EJ2-DocumentEditor-WebServices) or [Docker image](https://hub.docker.com/r/syncfusion/word-processor-server) for hosting your own web service and use for the serviceUrl property.
-
-## Set the default paragraph format
-
-You can use [`setDefaultParagraphFormat`](../../api/document-editor/#setdefaultparagraphformat) API to set the default paragraph format. You can change the required [`ParagraphFormatProperties`](../../api/document-editor/paragraphFormatProperties) default value.
-
-The following example code illustrates how to change the paragraph format(before spacing, line spacing etc.,) default value in Document editor.
-
-```ts
-import { ParagraphFormatProperties, DocumentEditorContainer, Toolbar } from '@syncfusion/ej2-documenteditor';
-
-let container: DocumentEditorContainer = new DocumentEditorContainer({ height: "590px" });
-container.serviceUrl = 'https://services.syncfusion.com/js/production/api/documenteditor/';
-DocumentEditorContainer.Inject(Toolbar);
-
-let defaultParagraphFormat: ParagraphFormatProperties = {
- beforeSpacing: 8,
- lineSpacing: 1.5,
- leftIndent: 24,
- textAlignment: "Center"
-};
-container.setDefaultParagraphFormat(defaultParagraphFormat);
-container.appendTo('#container');
-```
-
-> The Web API hosted link `https://services.syncfusion.com/js/production/api/documenteditor/` utilized in the Document Editor's serviceUrl property is intended solely for demonstration and evaluation purposes. For production deployment, please host your own web service with your required server configurations. You can refer and reuse the [GitHub Web Service example](https://github.com/SyncfusionExamples/EJ2-DocumentEditor-WebServices) or [Docker image](https://hub.docker.com/r/syncfusion/word-processor-server) for hosting your own web service and use for the serviceUrl property.
-
-## Set the default section format
-
-You can use [`setDefaultSectionFormat`](../../api/document-editor/#setdefaultsectionformat) API to set the default section format. You can change the required [`SectionFormatProperties`](../../api/document-editor/sectionFormatProperties) default value.
-
-The following example code illustrates how to change the section format(header and footer distance, page width and height, etc.,) default value in Document editor.
-
-```ts
-import { SectionFormatProperties, DocumentEditorContainer, Toolbar } from '@syncfusion/ej2-documenteditor';
-
-let container: DocumentEditorContainer = new DocumentEditorContainer({ height: "590px" });
-container.serviceUrl = 'https://services.syncfusion.com/js/production/api/documenteditor/';
-DocumentEditorContainer.Inject(Toolbar);
-
-let defaultSectionFormat: SectionFormatProperties = {
- pageWidth: 500,
- pageHeight: 800,
- headerDistance: 56,
- footerDistance: 48,
- leftMargin: 12,
- rightMargin: 12,
- topMargin: 0,
- bottomMargin: 0
-
-};
-container.setDefaultSectionFormat(defaultSectionFormat);
-container.appendTo('#container');
-```
-
-> The Web API hosted link `https://services.syncfusion.com/js/production/api/documenteditor/` utilized in the Document Editor's serviceUrl property is intended solely for demonstration and evaluation purposes. For production deployment, please host your own web service with your required server configurations. You can refer and reuse the [GitHub Web Service example](https://github.com/SyncfusionExamples/EJ2-DocumentEditor-WebServices) or [Docker image](https://hub.docker.com/r/syncfusion/word-processor-server) for hosting your own web service and use for the serviceUrl property.
\ No newline at end of file
diff --git a/ej2-javascript/document-editor/how-to/show-hide-spinner.md b/ej2-javascript/document-editor/how-to/show-hide-spinner.md
deleted file mode 100644
index 12e3c4352..000000000
--- a/ej2-javascript/document-editor/how-to/show-hide-spinner.md
+++ /dev/null
@@ -1,55 +0,0 @@
----
-layout: post
-title: Show hide spinner in ##Platform_Name## Document editor control | Syncfusion
-description: Learn here all about Show hide spinner in Syncfusion ##Platform_Name## Document editor control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: Show hide spinner
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Show hide spinner in ##Platform_Name## Document editor control
-
-Using [`spinner`](https://ej2.syncfusion.com/documentation/spinner/getting-started/#create-the-spinner-globally) component, you can show/hide spinner while opening document in DocumentEditor .
-
-Example code snippet to show/hide spinner
-
-```ts
-// showSpinner() will make the spinner visible
-showSpinner(document.getElementById('container'));
-
-// hideSpinner() method used hide spinner
-hideSpinner(document.getElementById('container'));
-```
-
-Refer to the following example.
-
-{% if page.publishingplatform == "typescript" %}
-
- {% tabs %}
-{% highlight ts tabtitle="index.ts" %}
-{% include code-snippet/document-editor/spinner-cs1/index.ts %}
-{% endhighlight %}
-{% highlight html tabtitle="index.html" %}
-{% include code-snippet/document-editor/spinner-cs1/index.html %}
-{% endhighlight %}
-{% endtabs %}
-
-{% previewsample "page.domainurl/code-snippet/document-editor/spinner-cs1" %}
-
-{% elsif page.publishingplatform == "javascript" %}
-
-{% tabs %}
-{% highlight js tabtitle="index.js" %}
-{% include code-snippet/document-editor/spinner-cs1/index.js %}
-{% endhighlight %}
-{% highlight html tabtitle="index.html" %}
-{% include code-snippet/document-editor/spinner-cs1/index.html %}
-{% endhighlight %}
-{% endtabs %}
-
-{% previewsample "page.domainurl/code-snippet/document-editor/spinner-cs1" %}
-{% endif %}
-
->Note: In above example, we have used setInterval to hide spinner, just for demo purpose.
diff --git a/ej2-javascript/document-editor/image.md b/ej2-javascript/document-editor/image.md
deleted file mode 100644
index 8f28414cb..000000000
--- a/ej2-javascript/document-editor/image.md
+++ /dev/null
@@ -1,80 +0,0 @@
----
-layout: post
-title: Image in ##Platform_Name## Document editor control | Syncfusion
-description: Learn here all about Image in Syncfusion ##Platform_Name## Document editor control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: Image
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Image in ##Platform_Name## Document editor control
-
-Document Editor supports common raster format images like PNG, BMP, JPEG, SVG and GIF. You can insert an image file or online image in the document using the [`insertImage()`](../api/document-editor/editor/#insertimage) method. Refer to the following sample code.
-
-{% if page.publishingplatform == "typescript" %}
-
- {% tabs %}
-{% highlight ts tabtitle="index.ts" %}
-{% include code-snippet/document-editor/image-cs1/index.ts %}
-{% endhighlight %}
-{% highlight html tabtitle="index.html" %}
-{% include code-snippet/document-editor/image-cs1/index.html %}
-{% endhighlight %}
-{% endtabs %}
-
-{% previewsample "page.domainurl/code-snippet/document-editor/image-cs1" %}
-
-{% elsif page.publishingplatform == "javascript" %}
-
-{% tabs %}
-{% highlight js tabtitle="index.js" %}
-{% include code-snippet/document-editor/image-cs1/index.js %}
-{% endhighlight %}
-{% highlight html tabtitle="index.html" %}
-{% include code-snippet/document-editor/image-cs1/index.html %}
-{% endhighlight %}
-{% endtabs %}
-
-{% previewsample "page.domainurl/code-snippet/document-editor/image-cs1" %}
-{% endif %}
-
-N> 1. Image files will be internally converted to base64 string. Whereas, online images are preserved as URL. N> 2. EMF and WMF images can't be inserted, but these types of images will be preserved in Document Editor when using ASP.NET MVC Web API.
-
-## Alternate text
-
-Document Editor expose API to get or set the alternate text of the selected image. Refer to the following sample code.
-
-```ts
-documenteditor.selection.imageFormat.alternateText = 'Adventure Cycle';
-```
-
-## Image resizing
-
-Document Editor provides built-in image resizer that can be injected into your application based on the requirements. This allows you to resize the image by dragging the resizing points using mouse or touch interactions. This resizer appears as follows.
-
-
-
-## Changing size
-
-Document Editor expose API to get or set the size of the selected image. Refer to the following sample code.
-
-```ts
-documenteditor.selection.imageFormat.width = 800;
-documenteditor.selection.imageFormat.height = 800;
-```
-
->Note: Images are stored and processed(read/write) as base64 string in DocumentEditor. The online image URL is preserved as a URL in DocumentEditor upon saving.
-
-## Text wrapping style
-
-Text wrapping refers to how images fit with surrounding text in a document. Please [refer to this page](../document-editor/text-wrapping-style) for more information about text wrapping styles available in Word documents.
-
-## Positioning the image
-
-DocumentEditor preserves the position properties of the image and displays the image based on position properties. It does not support modifying the position properties. Whereas the image will be automatically moved along with text edited if it is positioned relative to the line or paragraph.
-
-## See Also
-
-* [Feature modules](../document-editor/feature-module/)
diff --git a/ej2-javascript/document-editor/images/ApplyBorderToSelectedCell_viaPropertiesPane.gif b/ej2-javascript/document-editor/images/ApplyBorderToSelectedCell_viaPropertiesPane.gif
deleted file mode 100644
index 6fc826460..000000000
Binary files a/ej2-javascript/document-editor/images/ApplyBorderToSelectedCell_viaPropertiesPane.gif and /dev/null differ
diff --git a/ej2-javascript/document-editor/images/Column_Limit_Alert.png b/ej2-javascript/document-editor/images/Column_Limit_Alert.png
deleted file mode 100644
index 01d15c9af..000000000
Binary files a/ej2-javascript/document-editor/images/Column_Limit_Alert.png and /dev/null differ
diff --git a/ej2-javascript/document-editor/images/Row_Limit_Alert.png b/ej2-javascript/document-editor/images/Row_Limit_Alert.png
deleted file mode 100644
index 147f9050a..000000000
Binary files a/ej2-javascript/document-editor/images/Row_Limit_Alert.png and /dev/null differ
diff --git a/ej2-javascript/document-editor/images/Shapes_images/shape_resizer.png b/ej2-javascript/document-editor/images/Shapes_images/shape_resizer.png
deleted file mode 100644
index d9df37635..000000000
Binary files a/ej2-javascript/document-editor/images/Shapes_images/shape_resizer.png and /dev/null differ
diff --git a/ej2-javascript/document-editor/images/Shapes_images/supported_shapes.png b/ej2-javascript/document-editor/images/Shapes_images/supported_shapes.png
deleted file mode 100644
index 4c21f90a9..000000000
Binary files a/ej2-javascript/document-editor/images/Shapes_images/supported_shapes.png and /dev/null differ
diff --git a/ej2-javascript/document-editor/images/Shapes_images/textbox_shape.png b/ej2-javascript/document-editor/images/Shapes_images/textbox_shape.png
deleted file mode 100644
index fd46f8d8f..000000000
Binary files a/ej2-javascript/document-editor/images/Shapes_images/textbox_shape.png and /dev/null differ
diff --git a/ej2-javascript/document-editor/images/Text-Wrapping-Style_images/behind-textwrapping.PNG b/ej2-javascript/document-editor/images/Text-Wrapping-Style_images/behind-textwrapping.PNG
deleted file mode 100644
index 946af7afb..000000000
Binary files a/ej2-javascript/document-editor/images/Text-Wrapping-Style_images/behind-textwrapping.PNG and /dev/null differ
diff --git a/ej2-javascript/document-editor/images/Text-Wrapping-Style_images/infront-textwrapping.PNG b/ej2-javascript/document-editor/images/Text-Wrapping-Style_images/infront-textwrapping.PNG
deleted file mode 100644
index 914a54c14..000000000
Binary files a/ej2-javascript/document-editor/images/Text-Wrapping-Style_images/infront-textwrapping.PNG and /dev/null differ
diff --git a/ej2-javascript/document-editor/images/Text-Wrapping-Style_images/inline-textwrapping.PNG b/ej2-javascript/document-editor/images/Text-Wrapping-Style_images/inline-textwrapping.PNG
deleted file mode 100644
index 7551b2dd5..000000000
Binary files a/ej2-javascript/document-editor/images/Text-Wrapping-Style_images/inline-textwrapping.PNG and /dev/null differ
diff --git a/ej2-javascript/document-editor/images/Text-Wrapping-Style_images/square-textwrapping.PNG b/ej2-javascript/document-editor/images/Text-Wrapping-Style_images/square-textwrapping.PNG
deleted file mode 100644
index 2339e6cdf..000000000
Binary files a/ej2-javascript/document-editor/images/Text-Wrapping-Style_images/square-textwrapping.PNG and /dev/null differ
diff --git a/ej2-javascript/document-editor/images/Text-Wrapping-Style_images/topandbottom-textwrapping.PNG b/ej2-javascript/document-editor/images/Text-Wrapping-Style_images/topandbottom-textwrapping.PNG
deleted file mode 100644
index f6201f314..000000000
Binary files a/ej2-javascript/document-editor/images/Text-Wrapping-Style_images/topandbottom-textwrapping.PNG and /dev/null differ
diff --git a/ej2-javascript/document-editor/images/azure_documenteditor.png b/ej2-javascript/document-editor/images/azure_documenteditor.png
deleted file mode 100644
index 13b593416..000000000
Binary files a/ej2-javascript/document-editor/images/azure_documenteditor.png and /dev/null differ
diff --git a/ej2-javascript/document-editor/images/azure_java_advancedtools.png b/ej2-javascript/document-editor/images/azure_java_advancedtools.png
deleted file mode 100644
index df6a54639..000000000
Binary files a/ej2-javascript/document-editor/images/azure_java_advancedtools.png and /dev/null differ
diff --git a/ej2-javascript/document-editor/images/azure_java_debugconsole.png b/ej2-javascript/document-editor/images/azure_java_debugconsole.png
deleted file mode 100644
index 049bf3b9d..000000000
Binary files a/ej2-javascript/document-editor/images/azure_java_debugconsole.png and /dev/null differ
diff --git a/ej2-javascript/document-editor/images/azure_publish.png b/ej2-javascript/document-editor/images/azure_publish.png
deleted file mode 100644
index b5a1eaed9..000000000
Binary files a/ej2-javascript/document-editor/images/azure_publish.png and /dev/null differ
diff --git a/ej2-javascript/document-editor/images/azure_target.png b/ej2-javascript/document-editor/images/azure_target.png
deleted file mode 100644
index 8a15cd104..000000000
Binary files a/ej2-javascript/document-editor/images/azure_target.png and /dev/null differ
diff --git a/ej2-javascript/document-editor/images/commentsonly.png b/ej2-javascript/document-editor/images/commentsonly.png
deleted file mode 100644
index f88ce7903..000000000
Binary files a/ej2-javascript/document-editor/images/commentsonly.png and /dev/null differ
diff --git a/ej2-javascript/document-editor/images/cursor-css.png b/ej2-javascript/document-editor/images/cursor-css.png
deleted file mode 100644
index f9ec9b864..000000000
Binary files a/ej2-javascript/document-editor/images/cursor-css.png and /dev/null differ
diff --git a/ej2-javascript/document-editor/images/font-family.png b/ej2-javascript/document-editor/images/font-family.png
deleted file mode 100644
index 39bc94df9..000000000
Binary files a/ej2-javascript/document-editor/images/font-family.png and /dev/null differ
diff --git a/ej2-javascript/document-editor/images/fontColor.png b/ej2-javascript/document-editor/images/fontColor.png
deleted file mode 100644
index 3568c2c6c..000000000
Binary files a/ej2-javascript/document-editor/images/fontColor.png and /dev/null differ
diff --git a/ej2-javascript/document-editor/images/image.JPG b/ej2-javascript/document-editor/images/image.JPG
deleted file mode 100644
index 8ab357854..000000000
Binary files a/ej2-javascript/document-editor/images/image.JPG and /dev/null differ
diff --git a/ej2-javascript/document-editor/images/image.png b/ej2-javascript/document-editor/images/image.png
deleted file mode 100644
index 383c9913c..000000000
Binary files a/ej2-javascript/document-editor/images/image.png and /dev/null differ
diff --git a/ej2-javascript/document-editor/images/insert_text.gif b/ej2-javascript/document-editor/images/insert_text.gif
deleted file mode 100644
index 183c6c7d9..000000000
Binary files a/ej2-javascript/document-editor/images/insert_text.gif and /dev/null differ
diff --git a/ej2-javascript/document-editor/images/java_azure_uploaded.png b/ej2-javascript/document-editor/images/java_azure_uploaded.png
deleted file mode 100644
index 4235e9d68..000000000
Binary files a/ej2-javascript/document-editor/images/java_azure_uploaded.png and /dev/null differ
diff --git a/ej2-javascript/document-editor/images/list.JPG b/ej2-javascript/document-editor/images/list.JPG
deleted file mode 100644
index 777649712..000000000
Binary files a/ej2-javascript/document-editor/images/list.JPG and /dev/null differ
diff --git a/ej2-javascript/document-editor/images/list.png b/ej2-javascript/document-editor/images/list.png
deleted file mode 100644
index 35794621d..000000000
Binary files a/ej2-javascript/document-editor/images/list.png and /dev/null differ
diff --git a/ej2-javascript/document-editor/images/note-toolbar.jpg b/ej2-javascript/document-editor/images/note-toolbar.jpg
deleted file mode 100644
index f88dc8598..000000000
Binary files a/ej2-javascript/document-editor/images/note-toolbar.jpg and /dev/null differ
diff --git a/ej2-javascript/document-editor/images/notes-option.jpg b/ej2-javascript/document-editor/images/notes-option.jpg
deleted file mode 100644
index eecbbb249..000000000
Binary files a/ej2-javascript/document-editor/images/notes-option.jpg and /dev/null differ
diff --git a/ej2-javascript/document-editor/images/paste.PNG b/ej2-javascript/document-editor/images/paste.PNG
deleted file mode 100644
index 3f677f113..000000000
Binary files a/ej2-javascript/document-editor/images/paste.PNG and /dev/null differ
diff --git a/ej2-javascript/document-editor/images/screentip.png b/ej2-javascript/document-editor/images/screentip.png
deleted file mode 100644
index 2e21aaf71..000000000
Binary files a/ej2-javascript/document-editor/images/screentip.png and /dev/null differ
diff --git a/ej2-javascript/document-editor/images/search-color.png b/ej2-javascript/document-editor/images/search-color.png
deleted file mode 100644
index f1f52c23d..000000000
Binary files a/ej2-javascript/document-editor/images/search-color.png and /dev/null differ
diff --git a/ej2-javascript/document-editor/images/spell-check-dialog.png b/ej2-javascript/document-editor/images/spell-check-dialog.png
deleted file mode 100644
index ffbebbdb0..000000000
Binary files a/ej2-javascript/document-editor/images/spell-check-dialog.png and /dev/null differ
diff --git a/ej2-javascript/document-editor/images/spell-check-menu.png b/ej2-javascript/document-editor/images/spell-check-menu.png
deleted file mode 100644
index 49fe61e67..000000000
Binary files a/ej2-javascript/document-editor/images/spell-check-menu.png and /dev/null differ
diff --git a/ej2-javascript/document-editor/images/table-image.png b/ej2-javascript/document-editor/images/table-image.png
deleted file mode 100644
index 187bf400d..000000000
Binary files a/ej2-javascript/document-editor/images/table-image.png and /dev/null differ
diff --git a/ej2-javascript/document-editor/images/table-of-contents.jpeg b/ej2-javascript/document-editor/images/table-of-contents.jpeg
deleted file mode 100644
index a85ed5a23..000000000
Binary files a/ej2-javascript/document-editor/images/table-of-contents.jpeg and /dev/null differ
diff --git a/ej2-javascript/document-editor/images/table-of-contents.png b/ej2-javascript/document-editor/images/table-of-contents.png
deleted file mode 100644
index 63244b302..000000000
Binary files a/ej2-javascript/document-editor/images/table-of-contents.png and /dev/null differ
diff --git a/ej2-javascript/document-editor/images/toolbar-form-fields.png b/ej2-javascript/document-editor/images/toolbar-form-fields.png
deleted file mode 100644
index db87eab74..000000000
Binary files a/ej2-javascript/document-editor/images/toolbar-form-fields.png and /dev/null differ
diff --git a/ej2-javascript/document-editor/images/track-changes.png b/ej2-javascript/document-editor/images/track-changes.png
deleted file mode 100644
index d200e5475..000000000
Binary files a/ej2-javascript/document-editor/images/track-changes.png and /dev/null differ
diff --git a/ej2-javascript/document-editor/images/tracked-changes.png b/ej2-javascript/document-editor/images/tracked-changes.png
deleted file mode 100644
index 7659bb1cb..000000000
Binary files a/ej2-javascript/document-editor/images/tracked-changes.png and /dev/null differ
diff --git a/ej2-javascript/document-editor/images/updatefields.png b/ej2-javascript/document-editor/images/updatefields.png
deleted file mode 100644
index 466950271..000000000
Binary files a/ej2-javascript/document-editor/images/updatefields.png and /dev/null differ
diff --git a/ej2-javascript/document-editor/images/word2013justification.png b/ej2-javascript/document-editor/images/word2013justification.png
deleted file mode 100644
index b56a3c3a3..000000000
Binary files a/ej2-javascript/document-editor/images/word2013justification.png and /dev/null differ
diff --git a/ej2-javascript/document-editor/import.md b/ej2-javascript/document-editor/import.md
deleted file mode 100644
index faf7f0add..000000000
--- a/ej2-javascript/document-editor/import.md
+++ /dev/null
@@ -1,209 +0,0 @@
----
-layout: post
-title: Import in ##Platform_Name## Document editor control | Syncfusion
-description: Learn here all about Import in Syncfusion ##Platform_Name## Document editor control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: Import
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Import in ##Platform_Name## Document editor control
-
-In Document Editor, the documents are stored in its own format called **Syncfusion Document Text (SFDT)**.
-
-The following example shows how to open SFDT data in Document Editor.
-
-{% if page.publishingplatform == "typescript" %}
-
- {% tabs %}
-{% highlight ts tabtitle="index.ts" %}
-{% include code-snippet/document-editor/import-cs1/index.ts %}
-{% endhighlight %}
-{% highlight html tabtitle="index.html" %}
-{% include code-snippet/document-editor/import-cs1/index.html %}
-{% endhighlight %}
-{% endtabs %}
-
-{% previewsample "page.domainurl/code-snippet/document-editor/import-cs1" %}
-
-{% elsif page.publishingplatform == "javascript" %}
-
-{% tabs %}
-{% highlight js tabtitle="index.js" %}
-{% include code-snippet/document-editor/import-cs1/index.js %}
-{% endhighlight %}
-{% highlight html tabtitle="index.html" %}
-{% include code-snippet/document-editor/import-cs1/index.html %}
-{% endhighlight %}
-{% endtabs %}
-
-{% previewsample "page.domainurl/code-snippet/document-editor/import-cs1" %}
-{% endif %}
-
-## Import document from local machine
-
-The following example shows how to import document from local machine.
-
-{% if page.publishingplatform == "typescript" %}
-
- {% tabs %}
-{% highlight ts tabtitle="index.ts" %}
-{% include code-snippet/document-editor/import-sfdt-cs1/index.ts %}
-{% endhighlight %}
-{% highlight html tabtitle="index.html" %}
-{% include code-snippet/document-editor/import-sfdt-cs1/index.html %}
-{% endhighlight %}
-{% endtabs %}
-
-{% previewsample "page.domainurl/code-snippet/document-editor/import-sfdt-cs1" %}
-
-{% elsif page.publishingplatform == "javascript" %}
-
-{% tabs %}
-{% highlight js tabtitle="index.js" %}
-{% include code-snippet/document-editor/import-sfdt-cs1/index.js %}
-{% endhighlight %}
-{% highlight html tabtitle="index.html" %}
-{% include code-snippet/document-editor/import-sfdt-cs1/index.html %}
-{% endhighlight %}
-{% endtabs %}
-
-{% previewsample "page.domainurl/code-snippet/document-editor/import-sfdt-cs1" %}
-{% endif %}
-
-## Convert word documents into SFDT
-
-You can convert word documents into SFDT format using the .NET Standard library [`Syncfusion.EJ2.WordEditor.AspNet.Core`]() by the web API service implementation. This library helps you to convert word documents (.dotx,.docx,.docm,.dot,.doc), rich text format documents (.rtf), and text documents (.txt) into SFDT format.
-
->Note: The Syncfusion® Document Editor component's document pagination (page-by-page display) can't be guaranteed for all the Word documents to match the pagination of Microsoft Word application. For more information about [why the document pagination (page-by-page display) differs from Microsoft Word](../document-editor/import/#why-the-document-pagination-differs-from-microsoft-word)
-
-Please refer the following example for converting word documents into SFDT.
-
-```ts
-import { DocumentEditor } from '@syncfusion/ej2-documenteditor';
-
-// Initialize the Document Editor component.
-let documenteditor: DocumentEditor = new DocumentEditor();
-
-documenteditor.appendTo('#DocumentEditor');
-
-document.getElementById('file_upload').setAttribute('accept', '.dotx,.docx,.docm,.dot,.doc,.rtf,.txt,.xml,.sfdt');
-
-//Open file picker.
-document.getElementById("import").addEventListener("click", (): void => {
- document.getElementById('file_upload').click();
-});
-
-document.getElementById('file_upload').addEventListener("change", (e: any): void => {
- if (e.target.files[0]) {
- //Get the selected file.
- let file = e.target.files[0];
- if (file.name.substr(file.name.lastIndexOf('.')) !== '.sfdt') {
- loadFile(file);
- }
- }
-});
-
-function loadFile(file: File): void {
- let ajax: XMLHttpRequest = new XMLHttpRequest();
- ajax.open('POST', 'https://localhost:4000/api/documenteditor/Import', true);
- ajax.onreadystatechange = () => {
- if (ajax.readyState === 4) {
- if (ajax.status === 200 || ajax.status === 304) {
- //Open SFDT text in Document Editor
- documenteditor.open(ajax.responseText);
- }
- }
- }
- let formData: FormData = new FormData();
- formData.append('files', file);
- //Send the selected file to web api for converting it into sfdt.
- ajax.send(formData);
-}
-```
-
-Here’s how to handle the server-side action for converting word document in to SFDT.
-
-```c#
- [AcceptVerbs("Post")]
- public string Import(Microsoft.AspNetCore.Http.IFormCollection data)
- {
- if (data.Files.Count == 0)
- return null;
- System.IO.Stream stream = new System.IO.MemoryStream();
- Microsoft.AspNetCore.Http.IFormFile file = data.Files[0];
- int index = file.FileName.LastIndexOf('.');
- string type = index > -1 && index < file.FileName.Length - 1 ?
- file.FileName.Substring(index) : ".docx";
- file.CopyTo(stream);
- stream.Position = 0;
-
- Syncfusion.EJ2.DocumentEditor.WordDocument document = Syncfusion.EJ2.DocumentEditor.WordDocument.Load(stream, GetFormatType(type.ToLower()));
- string sfdt = Newtonsoft.Json.JsonConvert.SerializeObject(document);
- document.Dispose();
- return sfdt;
- }
-
- internal static Syncfusion.EJ2.DocumentEditor.FormatType GetFormatType(string format)
- {
- if (string.IsNullOrEmpty(format))
- throw new System.NotSupportedException("EJ2 DocumentEditor does not support this file format.");
- switch (format.ToLower()) {
- case ".dotx":
- case ".docx":
- case ".docm":
- case ".dotm":
- return Syncfusion.EJ2.DocumentEditor.FormatType.Docx;
- case ".dot":
- case ".doc":
- return Syncfusion.EJ2.DocumentEditor.FormatType.Doc;
- case ".rtf":
- return Syncfusion.EJ2.DocumentEditor.FormatType.Rtf;
- case ".txt":
- return Syncfusion.EJ2.DocumentEditor.FormatType.Txt;
- case ".xml":
- return Syncfusion.EJ2.DocumentEditor.FormatType.WordML;
- default:
- throw new System.NotSupportedException("EJ2 DocumentEditor does not support this file format.");
- }
- }
-
-```
-
-To know about server-side action, please refer this [page](../document-editor/web-services-overview).
-
-## Compatibility with Microsoft Word
-
-Syncfusion® Document Editor is a minimal viable Word document viewer/editor product for web applications. As most compatible Word editor, the product vision is adding valuable feature sets of Microsoft Word, and not to cover 100% feature sets of Microsoft Word desktop application. You can even see the feature sets difference between Microsoft Word desktop and their Word online application. So kindly don't misunderstand this component as a complete replacement for Microsoft Word desktop application and expect 100% feature sets of it.
-
-### How Syncfusion® accepts the feature request for Document Editor
-
-Syncfusion accepts new feature request as valid based on feature value and technological feasibility, then plan to implement unsupported features incrementally in future releases in a phase-by-phase manner.
-
-### How to report the problems in Document Editor
-
-You can report the problems with displaying, or editing Word documents in Document Editor component through [`support forum`](https://www.syncfusion.com/forums/), [`Direct-Trac`](https://www.syncfusion.com/support/directtrac/), or [`feedback portal`](https://www.syncfusion.com/feedback/). Kindly share the Word document for replicating the problem easily in minimal time. If you have confidential data, you can replace it and attach the document.
-
-### Why the document pagination differs from Microsoft Word
-
-For your understanding about the Word document structure and the workflow of Word viewer/editor components, the Word document is a flow document in which content will not be preserved page by page; instead, the content will be preserved sequentially like a HTML file. Only the Word viewer/editor paginates the content of the Word document page by page dynamically, when opened for viewing or editing and this page-wise position information will not be preserved in the document level (it is Word file format specification standard). Syncfusion® Document Editor component also does the same.
-
-At present there is a known technical limitation related to slight difference in text size calculated using HTML element based text measuring approach. Even though the text size is calculated with correct font and font size values, the difference lies; it is as low as 0.00XX to 0. XXXX values compared to that of Microsoft Word application’s display. Hence the document pagination (page-by-page display) can't be guaranteed for all the Word documents to match the pagination of Microsoft Word application.
-
-### How Syncfusion® address the document pagination difference compared to Microsoft Word
-
-The following table illustrates the reasons for pagination (page-by-page display) difference compared to Microsoft Word in your documents and how Syncfusion® address it.
-
-| Root causes | How is it solved? |
-|-----------------|-------------|
-|Any mistake (wrong behavior handled) in lay outing the supported elements and formatting |Customer can report to Syncfusion® support and track the status through bug report link. Syncfusion® fixes the bugs in next possible weekly patch release and service pack or main releases. |
-|Font missing in deployment environment|Customer can either report to Syncfusion® support and get suggestion or solve it on their own by installing the missing fonts in their deployment environment.|
-|Any unsupported elements or formatting present in your document |Customer can report to Syncfusion® support and track the status through feature request link. Syncfusion® implements unsupported features incrementally in future releases based on feature importance, customer interest, efforts involved, and technological feasibility. Also, suggests alternate approach for possible cases.|
-|Technical limitation related to framework For example, there is a known case with slight fractional difference in text size measured using HTML and Microsoft Word’s display.|Customer can report to Syncfusion® support and track the status through feature request link. Syncfusion® does research about alternate approaches to overcome the technical limitation/behaviors and process it same as a feature. >Note: Here the challenge is, time schedule for implementation varies based on the alternate solution and its reliability.|
-
-## See Also
-
-* [Feature modules](../document-editor/feature-module)
-* [How to show and hide spinner while opening document in DocumentEditor](../document-editor/how-to/show-hide-spinner)
\ No newline at end of file
diff --git a/ej2-javascript/document-editor/js/getting-started.md b/ej2-javascript/document-editor/js/getting-started.md
deleted file mode 100644
index 9f21d3b36..000000000
--- a/ej2-javascript/document-editor/js/getting-started.md
+++ /dev/null
@@ -1,383 +0,0 @@
----
-layout: post
-title: Getting started with ##Platform_Name## Document editor control | Syncfusion
-description: Checkout and learn about Getting started with ##Platform_Name## Document editor control of Syncfusion Essential JS 2 and more details.
-platform: ej2-javascript
-control: Getting started
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Getting started in ##Platform_Name## Document editor control
-
-The Essential® JS 2 for JavaScript (global script) is an ES5 formatted pure JavaScript framework which can be directly used in latest web browsers.
-
-## Component Initialization
-
-The Essential® JS 2 JavaScript components can be initialized by using either of the following ways.
-
-* Using local script and style references in a HTML page.
-* Using CDN link for script and style reference.
-
-### Using local script and style references in a HTML page
-
-**Step 1:** Create an app folder `app` for Essential® JS 2 JavaScript components.
-
-**Step 2:** You can get the global scripts and styles from the [Essential Studio® JavaScript (Essential® JS 2)](https://www.syncfusion.com/downloads/essential-js2/) build installed location.
-
-**Syntax:**
-> Script: `**(installed location)**/JavaScript - EJ2/{RELEASE_VERSION}/Web (Essential JS 2)/JavaScript/{PACKAGE_NAME}/dist/global/{PACKAGE_NAME}.min.js`
->
-> Styles: `**(installed location)**/JavaScript - EJ2/{RELEASE_VERSION}/Web (Essential JS 2)/JavaScript/{PACKAGE_NAME}/styles/material.css`
-
-**Example:**
-
-> Script: `C:/Program Files (x86)/Syncfusion/Essential Studio/JavaScript - EJ2/23.1.36/Web (Essential JS 2)/JavaScript/ej2-documenteditor/dist/global/ej2-documenteditor.min.js`
->
-> Styles: `C:/Program Files (x86)/Syncfusion/Essential Studio/JavaScript - EJ2/23.1.36/Web (Essential JS 2)/JavaScript/ej2-documenteditor/styles/material.css`
-
-**Step 3:** Create a folder `app/resources` and copy/paste the global scripts and styles from the above installed location to `app/resources` location.
-
-**Step 4:** Create a HTML page (index.html) in `app` location and add the Essentials JS 2 script and style references.
-
-```html
-
-
-
- Essential JS 2
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-```
-
-**Step 5:** Now, add the `Div` element and initiate the **Essential® JS 2 DocumentEditor** component in the `index.html` by using following code
-
-```html
-
-
-
- Essential JS 2
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-```
-
-> The Web API hosted link `https://services.syncfusion.com/js/production/api/documenteditor/` utilized in the Document Editor's serviceUrl property is intended solely for demonstration and evaluation purposes. For production deployment, please host your own web service with your required server configurations. You can refer and reuse the [GitHub Web Service example](https://github.com/SyncfusionExamples/EJ2-DocumentEditor-WebServices) or [Docker image](https://hub.docker.com/r/syncfusion/word-processor-server) for hosting your own web service and use for the serviceUrl property.
-
-**Step 6:** Now, run the `index.html` in web browser, it will render the **Essential® JS 2 DocumentEditor** component.
-
-**Step 7:** To render DocumentEditorContainer component, add the `Div` element and initiate the **Essential® JS 2 DocumentEditorContainer** component in the `index.html` by using following code
-
-```html
-
-
-
- Essential JS 2
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-```
-
-> The Web API hosted link `https://services.syncfusion.com/js/production/api/documenteditor/` utilized in the Document Editor's serviceUrl property is intended solely for demonstration and evaluation purposes. For production deployment, please host your own web service with your required server configurations. You can refer and reuse the [GitHub Web Service example](https://github.com/SyncfusionExamples/EJ2-DocumentEditor-WebServices) or [Docker image](https://hub.docker.com/r/syncfusion/word-processor-server) for hosting your own web service and use for the serviceUrl property.
-
-Now, run the `index.html` in web browser, it will render the **Essential® JS 2 DocumentEditorContainer** component.
-
-### Using CDN link for script and style reference
-
-**Step 1:** Create an app folder `app` for the Essential® JS 2 JavaScript components.
-
-**Step 2:** The Essential® JS 2 component's global scripts and styles are already hosted in the below CDN link formats.
-
-**Syntax:**
-> Script: `https://cdn.syncfusion.com/ej2/23.1.36/{PACKAGE_NAME}/dist/global/{PACKAGE_NAME}.min.js`
->
-> Styles: `https://cdn.syncfusion.com/ej2/23.1.36/{PACKAGE_NAME}/styles/material.css`
-
-**Example:**
-> Script: [`https://cdn.syncfusion.com/ej2/23.1.36/ej2-documenteditor/dist/global/ej2-documenteditor.min.js`](https://cdn.syncfusion.com/ej2/23.1.36/ej2-documenteditor/dist/global/ej2-documenteditor.min.js)
->
-> Styles: [`https://cdn.syncfusion.com/ej2/23.1.36/ej2-documenteditor/styles/material.css`](https://cdn.syncfusion.com/ej2/23.1.36/ej2-documenteditor/styles/material.css)
-
-**Step 3:** Create a HTML page (index.html) in `app` location and add the CDN link references. Now, add the `Div` element and initiate the **Essential® JS 2 DocumentEditor** component in the index.html by using following code.
-
-```html
-
-
-
- Essential JS 2
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-```
-
-> The Web API hosted link `https://services.syncfusion.com/js/production/api/documenteditor/` utilized in the Document Editor's serviceUrl property is intended solely for demonstration and evaluation purposes. For production deployment, please host your own web service with your required server configurations. You can refer and reuse the [GitHub Web Service example](https://github.com/SyncfusionExamples/EJ2-DocumentEditor-WebServices) or [Docker image](https://hub.docker.com/r/syncfusion/word-processor-server) for hosting your own web service and use for the serviceUrl property.
-
-{% previewsample "page.domainurl/code-snippet/document-editor/es5-getting-started-cs1" %}
-
-**Step 4:** Now, run the `index.html` in web browser, it will render the **Essential® JS 2 DocumentEditor** component.
-
-**Step 5:** To render DocumentEditorContainer component, add the `Div` element and initiate the **Essential® JS 2 DocumentEditorContainer** component in the index.html by using following code.
-
-```html
-
-
-
- Essential JS 2
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-```
-
-> The Web API hosted link `https://services.syncfusion.com/js/production/api/documenteditor/` utilized in the Document Editor's serviceUrl property is intended solely for demonstration and evaluation purposes. For production deployment, please host your own web service with your required server configurations. You can refer and reuse the [GitHub Web Service example](https://github.com/SyncfusionExamples/EJ2-DocumentEditor-WebServices) or [Docker image](https://hub.docker.com/r/syncfusion/word-processor-server) for hosting your own web service and use for the serviceUrl property.
-
-{% previewsample "page.domainurl/code-snippet/document-editor/es5-getting-started-cs2" %}
-
-Now, run the `index.html` in web browser, it will render the **Essential® JS 2 DocumentEditorContainer** component.
-
-## Server side dependencies
-
-The Document Editor component requires server-side interactions for the following operations:
-
-* [Open file formats other than SFDT](../document-editor/import#convert-word-documents-into-sfdt)
-* [Paste with formatting](../document-editor/clipboard#paste-with-formatting)
-* [Restrict editing](../document-editor/document-management)
-* [Spell check](../document-editor/spell-check)
-* [Save as file formats other than SFDT and DOCX](../document-editor/server-side-export)
-
->Note: If you don't require the above functionalities then you can deploy as pure client-side component without any server-side interactions.
-
-Please refer the [example from GitHub](https://github.com/SyncfusionExamples/EJ2-DocumentEditor-WebServices) to configure the web service and set the [serviceUrl](../api/document-editor-container/#serviceurl).
-
-Syncfusion® provides a predefined [Word Processor server docker image](https://hub.docker.com/r/syncfusion/word-processor-server) targeting ASP.NET Core 2.1 framework. You can directly pull this docker image and deploy it in server on the go. You can also create own docker image by customizing the existing [docker project from GitHub](https://github.com/SyncfusionExamples/Word-Processor-Server-Docker).
-
->Note: Staring from `v19.3.0.x`, we have optimized the accuracy of text size measurements such as to match Microsoft Word pagination for most Word documents. This improvement is included as default behavior along with an optional API [to disable it and retain the document pagination behavior of older versions](../document-editor/how-to/disable-optimized-text-measuring)..
-
-## Frequently Asked Questions
-
-* [How to localize the Documenteditor container](../document-editor/global-local).
-* [How to load the document by default](../document-editor/how-to/open-default-document).
-* [How to customize tool bar](../document-editor/how-to/customize-tool-bar).
-* [How to resize Document editor component?](../document-editor/how-to/resize-document-editor)
-* [How to add a save button to the DocumentEditorContainer component toolbar](../document-editor/how-to/add-save-button-in-toolbar)
\ No newline at end of file
diff --git a/ej2-javascript/document-editor/js/how-to/customize-ribbon.md b/ej2-javascript/document-editor/js/how-to/customize-ribbon.md
deleted file mode 100644
index 44655ef4e..000000000
--- a/ej2-javascript/document-editor/js/how-to/customize-ribbon.md
+++ /dev/null
@@ -1,246 +0,0 @@
----
-layout: post
-title: Customize Ribbon in ##Platform_Name## Document Editor | Syncfusion
-description: Learn how to customize the ribbon in Syncfusion ##Platform_Name## Document Editor - file menu, backstage, tabs, groups, and items.
-platform: ej2-javascript
-control: Ribbon Customization
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Customize Ribbon in ##Platform_Name## Document Editor
-
-The Syncfusion Document Editor provides an extensive and flexible API to customize the built-in ribbon UI. You can:
-
-- Customize the File menu.
-- Add the Backstage menu instead of File menu.
-- Show, hide, or add Ribbon tabs.
-- Show, hide, or add groups within tabs.
-- Show, hide, add, enable, or disable items within groups.
-
-Below are detailed examples for each ribbon customization scenario.
-
-## File Menu Customization
-
-Document Editor provides APIs to remove existing File menu items and add new custom items based on your requirements. You can modify the File menu using the [`fileMenuItems`](../api/document-editor-container/#filemenuitems) property.
-
-In below code example, In the example below, the "Open" and "Export" items have been removed from the File Menu Items, and new custom items have been added.
-
-```js
-import { DocumentEditorContainer, Ribbon } from '@syncfusion/ej2-documenteditor';
-
-var documenteditorContainer = new ej.documenteditor.DocumentEditorContainer({ enableToolbar: true,
-toolbarMode: 'Ribbon', // Options: 'Ribbon' or 'Toolbar'
-ribbonLayout: 'Classic', // Options: 'Simplified' or 'Classic',
-fileMenuItems: ["New", "Print", { text: 'Export', id: 'custom_item',iconCss: 'e-icons e-export' }
-],
-fileMenuItemClick: function (args) {
- if (args.item.id) {
- container.documentEditor.save('Sample', 'Docx');
- }
-},
-height: '590px' });
-ej.documenteditor.DocumentEditorContainer.Inject(ej.documenteditor.Ribbon);
-documenteditorContainer.serviceUrl = 'https://services.syncfusion.com/js/production/api/documenteditor/';
-//DocumentEditorContainer control rendering starts
-documenteditorContainer.appendTo('#DocumentEditor');
-```
-
-## Backstage Menu Customization
-
-The Document Editor provides an [`backStageMenu`](../api/document-editor-container/#backStageMenu) API to add a backstage menu. When the backstage menu is enabled, the default File menu items are automatically hidden.
-
-The following code example shows how to add the backstage menu items.
-
-```ts
-import { DocumentEditorContainer, Ribbon } from '@syncfusion/ej2-documenteditor';
-
-var documenteditorContainer = new ej.documenteditor.DocumentEditorContainer({ enableToolbar: true,
-toolbarMode: 'Ribbon', // Options: 'Ribbon' or 'Toolbar'
-ribbonLayout: 'Classic', // Options: 'Simplified' or 'Classic',
-backstageMenu: {
- text: 'File',
- backButton: { text: 'close' },
- items: [
- { id: 'new', text: 'New', iconCss: 'e-icons e-de-ctnr-new' }],
-},
-height: '590px' });
-ej.documenteditor.DocumentEditorContainer.Inject(ej.documenteditor.Ribbon);
-documenteditorContainer.serviceUrl = 'https://services.syncfusion.com/js/production/api/documenteditor/';
-//DocumentEditorContainer control rendering starts
-documenteditorContainer.appendTo('#DocumentEditor');
-
-```
-
-Refer this documentation know more about [`backstage items`](https://ej2.syncfusion.com/documentation/ribbon/backstage)
-
-## Tab Customization
-
-You can customize the ribbon tabs in the Document Editor by showing, hiding, or adding tabs according to your application's requirements.
-
-### Show/Hide Tab
-
-Document editor provides the [`showTab`](../api/document-editor-container/ribbon/#showtab) API to show and hide the existing tab using existing `RibbonTabType` and `tabId`.
-
-The following code example how to show/hide existing tab using existing tab type and tab id.
-```ts
-// To hide the Home tab using the built-in `RibbonTabType`
-container.ribbon.showTab('Home', false);
-
-// To hide a tab by its tab id (for example, a custom tab)
-container.ribbon.showTab('custom_tab', false);
-```
-
-### Add Tab
-
-The Document Editor provides the [`addTab`](../api/document-editor-container/ribbon/#addtab) API, which allows you to insert a new custom tab either between existing tabs or at the end of the ribbon tabs.
-
-```ts
-import { RibbonTabModel } from '@syncfusion/ej2-ribbon';
-
-// To add the tab at end of tab
-let ribbonTab: RibbonTabModel = {
- header: 'Custom Tab', id: 'custom_tab', groups: [{
- header: 'Custom Group', collections: [{
- items: [{
- type: 'Button',
- buttonSettings: {
- content: 'New',
- iconCss: 'e-icons e-de-ctnr-new',
- clicked: function () {
- container.documentEditor.openBlank();
- }
- }
- }]
- }]
- }]
-};
-container.ribbon.addTab(ribbonTab);
-
-// To add the tab before the Insert tab(exising tab)
-container.ribbon.addTab(ribbonTab,'Insert');
-```
-
-
-## Group Customization
-
-You can also customize ribbon groups within a tab to better organize commands or add new functionalities as per your needs.
-
-### Show/Hide Group
-
-Document Editor provides an [`showGroup`](../api/document-editor-container/ribbon/#showgroup) API to show or hide existing groups within a ribbon tab.
-
-The following code example show how to show/hide the group using group Id or [`RibbonGroupInfo`](../api/document-editor-container/#ribbongroupinfo).
-
-```ts
-
-// To hide the clipboard group using group index
-container.ribbon.showGroup({tabId: 'Home', index: 1} , false);
-
-// To show the clipboard group using group index
-container.ribbon.showGroup({tabId: 'Home', index: 1} , true);
-
-// To hide the group using id
-container.ribbon.showGroup('custom_group', false);
-
-```
-
-### Add Group
-
-To extend the ribbon's functionality, you can add custom groups to any tab. This allows you to organize related commands together within a tab.
-
-```ts
-
-import { RibbonGroupModel } from '@syncfusion/ej2-ribbon';
-
-// Add the new group at the end of the Home tab
-let ribbonGroup: RibbonGroupModel =
-{
- header: 'Custom Group', collections: [{
- items: [{
- type: 'Button',
- buttonSettings: {
- content: 'New',
- iconCss: 'e-icons e-de-ctnr-new',
- clicked: function () {
- container.documentEditor.openBlank();
- }
- }
- }]
- }]
-};
-container.ribbon.addGroup('Home', ribbonGroup);
-
-// Add the new group at the specified index of the Home tab (before the Clipboard group)
-
-container.ribbon.addGroup('Home', ribbonGroup, 1);
-
-```
-
-## Item Customization
-
-You can customize individual items within ribbon groups. This includes showing, hiding, enabling, disabling, or adding new items to any group within a ribbon tab.
-
-### Show/Hide Item
-
-Using [`showItems`](../api/document-editor-container/ribbon/#showitems) API in Document editor ribbon to enable/disable the existing item. Here, you can specify the item Id or [`RibbonItemInfo`].
-
-The following code example show how to show/hide the item using item Id or [`RibbonItemInfo`](../api/document-editor-container/#ribboniteminfo).
-
-```ts
-// To hide the Bold and Italic items using ribbon item information
-container.ribbon.showItems({ tabId: 'Home', groupIndex: 2, itemIndexes: [5, 6] } , false);
-
-// To show the Bold and Italic items using ribbon item information
-container.ribbon.showItems({ tabId: 'Home', groupIndex: 2, itemIndexes: [5, 6] } , true);
-
-// To hide the item using item id
-container.ribbon.showItems('custom_item', false);
-```
-
-### Enable/Disable Item
-
-Using [`enableItems`](../api/document-editor-container/ribbon/#enableitems) API in Document editor ribbon to enable/disable the existing item.
-
-```ts
-// To disable the underline using ribbon item info
-container.ribbon.enableItems({ tabId: 'Home', groupIndex: 2, itemIndexes: [7] },false);
-
-// To enable the underline using ribbon item info
-container.ribbon.enableItems({ tabId: 'Home', groupIndex: 2, itemIndexes: [7] },true);
-
-// To disable the item using id
-container.ribbon.enableItems('custom_item', false);
-
-```
-
-### Add Item
-
-You can use the [`addItem`](../api/document-editor-container/ribbon/#additem) API in the Document Editor ribbon to add a new item. Additionally, you can specify the target tab and group where the new item should be placed.
-
-```ts
-
-// To add the item at the end of the specified group (the item will be added at the end of the Undo group)
-let ribbonItem: RibbonItemModel = {
- type: 'Button',
- buttonSettings: {
- content: 'New',
- iconCss: 'e-icons e-de-ctnr-new',
- clicked: function () {
- container.documentEditor.openBlank();
- }
- }
-};
-container.ribbon.addItem({ tabId: 'Home', index: 0 }, ribbonItem);
-
-// To add the item before the specified item index (the item will be added before the Redo item in the Undo group)
-
-container.ribbon.addItem({ tabId: 'Home', index: 0 }, ribbonItem, 1);
-
-```
-
-
-## Related Links
-
-- [File menu Customization Demo](https://ej2.syncfusion.com/demos/#/material/document-editor/ribbon-customization)
\ No newline at end of file
diff --git a/ej2-javascript/document-editor/js/how-to/optimize-sfdt.md b/ej2-javascript/document-editor/js/how-to/optimize-sfdt.md
deleted file mode 100644
index beb113167..000000000
--- a/ej2-javascript/document-editor/js/how-to/optimize-sfdt.md
+++ /dev/null
@@ -1,124 +0,0 @@
----
-layout: post
-title: Optimize sfdt in ##Platform_Name## Document editor control | Syncfusion
-description: Learn here all about Optimize sfdt in Syncfusion ##Platform_Name## Document editor control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: Optimize sfdt
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Optimize sfdt in ##Platform_Name## Document editor control
-
-Starting from version v21.1.x, the SFDT file generated in Word Processor component is optimized by default to reduce the file size. All static keys are minified, and the final JSON string is compressed. This helps reduce the SFDT file size relative to a DOCX file and provides the following benefits,
-* File transfer between client and server through the internet gets faster.
-* The new optimized SFDT files require less storage space than the old SFDT files.
-Hence, the optimized SFDT file can't be directly manipulated as JSON string.
-
-> This feature comes with a public API to switch between the old and new optimized SFDT format, allowing backward compatibility.
-
-As a backward compatibility to create older format SFDT files, refer the following code changes,
-
-
\ No newline at end of file
diff --git a/ej2-javascript/document-editor/js/ribbon.md b/ej2-javascript/document-editor/js/ribbon.md
deleted file mode 100644
index c2753c506..000000000
--- a/ej2-javascript/document-editor/js/ribbon.md
+++ /dev/null
@@ -1,69 +0,0 @@
----
-layout: post
-title: Ribbon in ##Platform_Name## Document editor control | Syncfusion
-description: Learn here all about the Ribbon UI in Syncfusion ##Platform_Name## Document editor control, how to switch between Ribbon and Toolbar modes.
-platform: ej2-javascript
-control: Ribbon
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Ribbon in ##Platform_Name## Document Editor Control
-
-The Document Editor provides a modern Ribbon interface similar to Microsoft Word's interface. This Ribbon UI provides an efficient and intuitive way to access editing features, organizing commands within well-structured tabs and groups to enhance your document editing experience. Additionally, the Ribbon interface supports contextual tabs. Contextual tabs appear only when certain elements, such as tables, images, or headers/footers, are selected in the document.
-
-You can switch between the classic **Toolbar** and the new **Ribbon** UI, and you can also choose between **Classic** and **Simplified** ribbon layouts.
-
-## Enable Ribbon Mode
-
-To enable Ribbon in Document Editor, use the [`toolbarMode`](../api/document-editor-container/#toolbarmode) property of `DocumentEditorContainer`. The available toolbar modes are:
-
-- **'Toolbar'** - The traditional toolbar UI.
-- **'Ribbon'** - The Ribbon UI, which provides a tabbed interface with grouped commands.
-
-By default, `toolbarMode` is `Toolbar`.
-
-The following code shows the how to enable the `Ribbon` in Document Editor.
-
-```js
-
-import { DocumentEditorContainer, Ribbon } from '@syncfusion/ej2-documenteditor';
-
-var documenteditorContainer = new ej.documenteditor.DocumentEditorContainer({ enableToolbar: true,
-toolbarMode: 'Ribbon', // Options: 'Ribbon' or 'Toolbar'
-height: '590px' });
-ej.documenteditor.DocumentEditorContainer.Inject(ej.documenteditor.Ribbon);
-documenteditorContainer.serviceUrl = 'https://services.syncfusion.com/js/production/api/documenteditor/';
-//DocumentEditorContainer control rendering starts
-documenteditorContainer.appendTo('#DocumentEditor');
-```
-
-## Ribbon Layouts
-
-Document Editor provides two different Ribbon layouts:
-
-- **Classic**: A traditional Office-like ribbon with detailed grouping and larger icons
-- **Simplified**: A more compact ribbon design with streamlined controls
-
-By default, `ribbonLayout` is set to `Simplified`.
-
-The following code shows the how to configure the ribbon layout in Document Editor:
-
-```ts
-
-import { DocumentEditorContainer, Ribbon } from '@syncfusion/ej2-documenteditor';
-
-var documenteditorContainer = new ej.documenteditor.DocumentEditorContainer({ enableToolbar: true,
-toolbarMode: 'Ribbon', // Options: 'Ribbon' or 'Toolbar'
-ribbonLayout: 'Classic', // Options: 'Simplified' or 'Classic'
-height: '590px' });
-ej.documenteditor.DocumentEditorContainer.Inject(ej.documenteditor.Ribbon);
-documenteditorContainer.serviceUrl = 'https://services.syncfusion.com/js/production/api/documenteditor/';
-//DocumentEditorContainer control rendering starts
-documenteditorContainer.appendTo('#DocumentEditor');
-```
-
-## See Also
-
-* [How to customize the ribbon](../document-editor/how-to/customize-ribbon)
\ No newline at end of file
diff --git a/ej2-javascript/document-editor/js/styles.md b/ej2-javascript/document-editor/js/styles.md
deleted file mode 100644
index f0e5ab04d..000000000
--- a/ej2-javascript/document-editor/js/styles.md
+++ /dev/null
@@ -1,228 +0,0 @@
----
-layout: post
-title: Styles in ##Platform_Name## Document editor control | Syncfusion
-description: Learn here all about Styles in Syncfusion ##Platform_Name## Document editor control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: Styles
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Styles in ##Platform_Name## Document editor control
-
-Styles are useful for applying a set of formatting consistently throughout the document. In Document Editor, styles are created and added to a document programmatically or via the built-in Styles dialog.
-
-## Styles definition overview
-
-A Style in Document Editor should have the following properties:
-
-* **name**: Name of the style. All styles in a document have a unique name, which is used as an identifier when applying the style.
-* **type**: Specifies the document elements that the style will target. For example, paragraph or character.
-* **next**: Specifies that the current style inherits the style set to this property. This is how hierarchical styles are defined.
-* **link**: Provides a relation between the paragraph and character style.
-* **characterFormat**: Specifies the properties of paragraph and character style.
-* **paragraphFormat**: Specifies the properties of paragraph style.
-* **basedOn**: Specifies that the current style inherits the style set to this property. This is how hierarchical styles are defined. It can be optional.
-
-> The style type should match the inherited style type. For example, it is not possible to have a character style inherit a paragraph style.
-
-## Default style
-
-The default style for span and paragraph properties is normal. It internally inherits the default style of the document loaded or Document Editor component.
-
-## Style hierarchy
-
-Each style initially checks its local value for the property that is being evaluated and turns to the style it is based on. If no local value is found, it turns to its default style.
-
-Style inheritance of different styles are listed as follows:
-
-### Character style
-
-Character styles are based only on other character styles.
-
-The inheritance is: Character properties are inherited from the base character style.
-
-### Paragraph style
-
-Paragraph styles are based on other paragraph styles or on linked styles. When a paragraph style is based on another paragraph style, the inheritance of the properties is as follows:
-* Paragraph properties are inherited from the base paragraph style.
-* Span properties are inherited from the base paragraph style.
-
-When a paragraph style is based on a linked style, the inheritance of the properties is as follows:
-* Paragraph properties are inherited from the paragraph style part in its base linked style.
-* Span properties are inherited from the span style part in its base linked style.
-
-### Linked style
-
-Linked styles are composite styles and their components are paragraph and character styles with link between them. To apply paragraph properties, take the properties from the linked paragraph style. Similarly, to apply character properties, take the properties from linked character style. Linked styles are based on other linked styles or on paragraph styles.
-
-When a linked style is based on a paragraph style, the hierarchy of the properties is as follows:
-
-* Paragraph properties are inherited from the ‘basedOn’ paragraph style.
-* Character properties are inherited from the ‘basedOn’ paragraph style.
-
-When a linked style is based on another linked style, the hierarchy of the properties is as follows:
-
-* Paragraph properties are inherited from the paragraph style part in its base linked style.
-* Span properties are inherited from the span style part in its base linked style.
-
-## Defining new styles
-
-New Styles are defined and added to the style collection of the document. In this way, they will be discovered by the default UI and applied to the parts of a document.
-
-### Defining a character style
-
-The following example shows how to programmatically create a character style.
-
-```javascript
-
-//Initialize Document Editor component.
-var documentEditor = new ej.documenteditor.DocumentEditor({ enableEditor: true, isReadOnly: false, enableSelection: true });
-
-// Create custom style object.
-var styleJson = {
- "type": "Character",
- "name": "New CharacterStyle",
- "basedOn": "Default Paragraph Font",
- "characterFormat": {
- "fontSize": 16.0,
- "fontFamily": "Calibri Light",
- "fontColor": "#2F5496",
- "bold": true,
- "italic": true,
- "underline": "Single"
- }
-};
-
-//Created new style using `createStyle` method.
-documentEditor.editor.createStyle(JSON.stringify(styleJson));
-```
-
-### Defining a paragraph style
-
-The following example shows how to programmatically create a paragraph style.
-
-```javascript
-
-//Initialize Document Editor component.
-var documentEditor = new ej.documenteditor.DocumentEditor({ enableEditor: true, isReadOnly: false, enableSelection: true });
-
-// Create custom style object.
-var styleJson = {
- "type": "Paragraph",
- "name": "New ParagraphStyle",
- "basedOn": "Normal",
- "characterFormat": {
- "fontSize": 16.0,
- "fontFamily": "Calibri Light",
- "fontColor": "#2F5496",
- "bold": true,
- "italic": true,
- "underline": "Single"
- },
- "paragraphFormat": {
- "leftIndent": 0.0,
- "rightIndent": 0.0,
- "firstLineIndent": 0.0,
- "beforeSpacing": 12.0,
- "afterSpacing": 0.0,
- "lineSpacing": 1.0791666507720947,
- "lineSpacingType": "Multiple",
- "textAlignment": "Left",
- "outlineLevel": "Level1"
- }
-};
-
-//Created new style using `createStyle` method.
-documentEditor.editor.createStyle(JSON.stringify(styleJson));
-```
-
-### Defining a linked style
-
-The following example shows how to programmatically create linked style.
-
-```javascript
-
-//Initialize Document Editor component.
-var documentEditor = new ej.documenteditor.DocumentEditor({ enableEditor: true,isReadOnly: false, enableSelection: true });
-
-// Create custom style object.
-var styleJson = {
- "type": "Paragraph",
- "name": "New Linked",
- "basedOn": "Normal",
- "next": "Normal",
- "link": "New Linked Char",
- "characterFormat": {
- "fontSize": 16.0,
- "fontFamily": "Calibri Light",
- "fontColor": "#2F5496"
- },
- "paragraphFormat": {
- "leftIndent": 0.0,
- "rightIndent": 0.0,
- "firstLineIndent": 0.0,
- "beforeSpacing": 12.0,
- "afterSpacing": 0.0,
- "lineSpacing": 1.0791666507720947,
- "lineSpacingType": "Multiple",
- "textAlignment": "Left",
- "outlineLevel": "Level1"
- }
-};
-
-//Created new style using `createStyle` method.
-documentEditor.editor.createStyle(JSON.stringify(styleJson));
-```
-
-## Applying a style
-
-The styles are applied using the **applyStyle** method of **editorModule**, the parameter should be passed is the **Name** of the Style.
-
-The styles of the **Character** type is applied to the currently selected part of the document. If there is no selection, the values that will be applied to the word at caret position. The styles of **Paragraph** type follow the same logic and are applied to all paragraphs in the selection or the current paragraph.
-
-When there is no selection, styles of **Linked** type will change the values of the paragraph, and apply both the Paragraph and Character properties. When there is selection, Linked Style changes only the character properties of the selected text.
-
-For example, the following line will apply the "New Linked" to the current paragraph.
-
-```javascript
-//Apply specified style for selected paragraph.
-editor.editorModule.applyStyle('New Linked');
-
-//Clear direct formatting and apply the specified style
-editor.editorModule.applyStyle('New Linked', true);
-```
-
-## Get Styles
-
-You can get the styles in the document using the below code snippet.
-
-```ts
-//Get paragraph styles
-let paragraphStyles = documentEditor.getStyles('Paragraph');
-//Get character styles
-let paragraphStyles = documentEditor.getStyles('Character');
-```
-
-## Modify an existing style
-
-You can modify a existing style with the specified style properties using [`createStyle`](../api/document-editor/editor/#createStyle) method. If modifyExistingStyle parameter is set to `true` the style properties is updated to the existing style.
-
-The following illustrate to modify an existing style.
-
-```ts
-let styleJson: any = {
- "type": "Paragraph",
- "name": "Heading 1",
- "characterFormat": {
- "fontSize": 32,
- "fontFamily": "Calibri"
- }
-};
-documentEditor.editor.createStyle(styleName, true);
-```
-
-> If modifyExistingStyle parameter is set to true and a style already exists with same name, it modifies the specified properties in the existing style.
-> If modifyExistingStyle parameter is set to false and a style already exists with same name, it creates a new style with unique name by appending ‘_1’. Hence, the newly style will not have the specified name.
-> If no style exists with same name, it creates a new style.
\ No newline at end of file
diff --git a/ej2-javascript/document-editor/js/web-services-overview.md b/ej2-javascript/document-editor/js/web-services-overview.md
deleted file mode 100644
index 82e37e41a..000000000
--- a/ej2-javascript/document-editor/js/web-services-overview.md
+++ /dev/null
@@ -1,120 +0,0 @@
----
-layout: post
-title: Web services in ##Platform_Name## Document editor control | Syncfusion
-description: Learn here all about Web services in Syncfusion ##Platform_Name## Document editor control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: Web services
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Web services in ##Platform_Name## Document editor control
-
-You can deploy web APIs for server-side dependencies of Document Editor component in the following platforms.
-
-* [ASP.NET Core](../document-editor/web-services/core)
-* [ASP.NET MVC](../document-editor/web-services/mvc)
-* [Java](../document-editor/web-services/java)
-
-## Which operations require server-side interaction
-
-|Operations|When client-server communication will be triggered?|What type of data will be transferred between client and server?|
-|------------|--------------------------------------|------------------------|
-|[Open file formats other than SFDT](../document-editor/import#convert-word-documents-into-sfdt)|When opening the document other than SFDT (Syncfusion® Document Editor's native file format), the server-side web API is invoked from client-side script.|**Client**: Sends the input file. **Server**: Receives the input file and sends the converted SFDT back to the client.
The server-side web API internally extracts the content from the document (DOCX, DOC, WordML, RTF, HTML) using Syncfusion® Word library (DocIO) and converts it into SFDT for opening the document in Document Editor.|
-|[Paste with formatting](../document-editor/clipboard#paste-with-formatting)|When pasting the formatted content (HTML/RTF) received from system clipboard. For converting HTML/RTF to SFDT format.
**Note**: Whereas plain text received from system clipboard will be pasted directly in the client-side.|**Client**: Sends the input Html or Rtf string. **Server**: Receives the input Html or Rtf string and sends the converted SFDT back to the client.|
-|[Restrict editing](../document-editor/document-management)|When protecting the document, for generating hash.|**Client**: Sends the input data for hashing algorithm. **Server**: Receives the input data for hashing algorithm and sends the result hash information back to the client.|
-|[Spellcheck](../document-editor/spell-check)(default)|When the spellchecker is enabled on client-side Document Editor, and it performs the spell check validation for words in the document.|**Client**: Sends the words (string) with their language for spelling validation. **Server**: Receives the words (string) with their language for spelling validation and sends the validation result as JSON back to the client.|
-|[SpellCheckByPage](../document-editor/spell-check)|Document editor provides options to spellcheck page by page when loading the documents. By [enabling optimized spell check](../document-editor/spell-check#enableoptimizedspellcheck) in client-side, you can perform spellcheck page by page when loading the documents.|**Client**: Sends the words (string) with their language for spelling validation. **Server**: Receives the words (string) with their language for spelling validation and sends the validation result as JSON back to the client.|
-|[Save as file formats other than SFDT and DOCX](../document-editor/server-side-export) (optional API)|You can configure this API, if you want to save the document in file format other than DOCX and SFDT.
For saving the files as WordML, DOC, RTF, HTML, ODT, Text using Syncfusion® Word library (DocIO) and PDF using Syncfusion® Word (DocIO) and PDF libraries.|You can transfer document from client to server either as SFDT or DOCX format.
First option (SFDT): **Client**: Sends the SFDT. **Server**: Receives the SFDT and saves the converted document as any file format supported by [Syncfusion® Word library (DocIO)](https://www.syncfusion.com/word-framework/net/word-library) in server or sends the saved file to the client browser.
Second option (DOCX): **Client**: Sends the DOCX file. **Server**: Receives the DOCX file and saves the converted document as any file format supported by [Syncfusion® Word library (DocIO)](https://www.syncfusion.com/word-framework/net/word-library) in server or sends the saved file to the client browser.|
-
->Note: If you don't require the above functionalities then you can deploy as pure client-side component without any server-side interactions.
-
-Please refer the [example from GitHub](https://github.com/SyncfusionExamples/EJ2-DocumentEditor-WebServices) to configure the web service and set the [serviceUrl](../api/document-editor-container#serviceurl).
-
-If your running web service Url is `http://localhost:62869/`, set the serviceUrl like below:
-
-```ts
-container.serviceUrl = "http://localhost:62869/api/documenteditor/";
-```
-
-## Required Web API structure
-
-Please check below table for expected web API structure.
-
-|Expected method name |Parameters |Return type |
-|-----|----|----|
-|Import |Files(IFormCollection) |json(sfdt format) |
-|SystemClipboard|CustomerParameter: content(type string either rtf or html) and type(either .rtf or .html) |json(sfdt format) |
-|RestrictEditing |Parameter of type CustomRestrictParameter public class CustomRestrictParameter { public string passwordBase64 { get; set; } public string saltBase64 { get; set; } public int spinCount { get; set; } } |result hash information |
-|SpellCheck(default) |Parameter: SpellCheckJsonData public class SpellCheckJsonData { public int LanguageID { get; set; } public string TexttoCheck { get; set; } public bool CheckSpelling { get; set; } public bool CheckSuggestion { get; set; } public bool AddWord { get; set; } } |Json type of Spellcheck containing details of spell checked word |
-|SpellCheckByPage |Parameter: SpellCheckJsonData public class SpellCheckJsonData { public int LanguageID { get; set; } public string TexttoCheck { get; set; } public bool CheckSpelling { get; set; } public bool CheckSuggestion { get; set; } public bool AddWord { get; set; } } |Json type of Spellcheck containing details of spell checked word
**Note**: Document editor provides options to spellcheck page by page when loading the documents. By [enabling optimized spell check](../document-editor/spell-check#enableoptimizedspellcheck) in client-side, you can perform spellcheck page by page when loading the documents. |
-|Save(optional API) |parameter: SaveParameter public class SaveParameter { public string Content { get; set; } public string FileName { get; set; } } |void(Save the file as file stream) |
-|ExportSFDT(optional API) |parameter: SaveParameter public class SaveParameter { public string Content { get; set; } public string FileName { get; set; } } |FileStreamResult (to save the document in client-side) |
-|Export(optional API) |Files(IFormCollection) |FileStreamResult (to save the document in client-side) |
-
-## Customize the expected method name
-
-Document editor component provides an option to customize the expected method name for Import, SystemClipboard, RestrictEditing and SpellCheck using [serverActionSettings](../api/document-editor-container/documentEditorContainerModel/#serveractionsettings).
-
-The following example code illustrates how to customize the method name using serverActionSettings.
-
-```javascript
-
- var container = new ej.documenteditor.DocumentEditorContainer({ enableToolbar: true, height: '590px' ,enableSpellCheck:true});
- ej.documenteditor.DocumentEditorContainer.Inject(ej.documenteditor.Toolbar);
- container.serviceUrl = hostUrl + 'api/documenteditor/';
- // Customize the API name
- var settings = { import: 'Import1', systemClipboard: 'SystemClipboard1', spellCheck: 'SpellCheck1', restrictEditing: 'RestrictEditing1' }
- container.serverActionSettings = settings;
- container.appendTo('#container');
-
-```
-
-## Add the custom headers to XMLHttpRequest
-
-Document editor component provides an an option to add custom headers of XMLHttpRequest using the [`headers`](../api/document-editor-container/documentEditorContainerModel/#headers).
-
-```javascript
-
- var container = new ej.documenteditor.DocumentEditorContainer({ enableToolbar: true, height: '590px'});
- ej.documenteditor.DocumentEditorContainer.Inject(ej.documenteditor.Toolbar);
- container.serviceUrl = hostUrl + 'api/documenteditor/';
- // custom headers
- var customHeaders = [{ 'Authorization': 'Bearer YOUR_ACCESS_TOKEN' }, { 'Content-Type': 'application/json' }];
- container.headers = customHeaders;
- container.appendTo('#container');
-
-```
-
-## Modify the XMLHttpRequest before request send
-
-Document editor component provides an option to modify the XMLHttpRequest object (setting additional headers, if needed) using [`beforeXmlHttpRequestSend`](../api/document-editor-container/#beforexmlhttprequestsend) event and it gets triggered before a server request.
-
-You can customize the required [`XMLHttpRequest`](../api/document-editor/xmlHttpRequestEventArgs/) properties.
-
-The following example code illustrates how to modify the XMLHttpRequest using beforeXmlHttpRequestSend.
-
-```javascript
-var container = new ej.documenteditor.DocumentEditorContainer({
- enableToolbar: true,
- height: '590px',
-});
-// Below action, cancel all server-side interactions expect spell check
-container.beforeXmlHttpRequestSend = function(args) {
- //Here, modifying the request headers
- args.headers = [{ syncfusion: 'true' }];;
- args.withCredentials = true;
- switch (args.serverActionType) {
- case 'Import':
- case 'RestrictEditing':
- case 'SystemClipboard':
- args.cancel = true;
- break;
- }
-};
-container.appendTo('#container');
-
-```
-
-Note: Find the customizable serverActionType values are `'Import' | 'RestrictEditing' | 'SpellCheck' | 'SystemClipboard'`.
\ No newline at end of file
diff --git a/ej2-javascript/document-editor/keyboard-shortcut.md b/ej2-javascript/document-editor/keyboard-shortcut.md
deleted file mode 100644
index af8b22fc7..000000000
--- a/ej2-javascript/document-editor/keyboard-shortcut.md
+++ /dev/null
@@ -1,134 +0,0 @@
----
-layout: post
-title: Keyboard shortcut in ##Platform_Name## Document editor control | Syncfusion
-description: Learn here all about Keyboard shortcut in Syncfusion ##Platform_Name## Document editor control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: Keyboard shortcut
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Keyboard shortcut in ##Platform_Name## Document editor control
-
-## Text formatting
-
-The following table lists the default keyboard shortcuts in Document Editor for formatting text:
-
-| Key combination | Description |
-|-----------------|-------------|
-|Ctrl + B |Toggles the bold property of selected text.|
-|Ctrl + I | Toggles the italic property of selected text.|
-|Ctrl + U | Toggles the underline property of selected text.|
-|Ctrl + + | Toggles the subscript formatting of selected text.|
-|Ctrl + Shift + + | Toggles the superscript formatting of selected contents.|
-| Ctrl + } | Increases the actual font size of selected text by one point.|
-| Ctrl + { | Decreases the actual font size of selected text by one point.|
-
-## Paragraph formatting
-
-The following table lists the default keyboard shortcuts for formatting the paragraph:
-
-| Key combination | Description |
-|-----------------|-------------|
-|Ctrl + E | Selected paragraphs are center aligned.|
-|Ctrl + J |Selected paragraphs are justified.|
-|Ctrl + L | Selected paragraphs are left aligned.|
-|Ctrl + R | Selected paragraphs are right aligned.|
-|Ctrl + 1 | Single line spacing is applied for selected paragraphs.|
-|Ctrl + 5 | 1.5 line spacing is applied for selected paragraphs.|
-|Ctrl + 2 | Double spacing is applied for selected paragraphs.|
-|Ctrl + 0 | No spacing is applied before the selected paragraphs.|
-|Ctrl + M | Increases the left indent of selected paragraphs by a factor of 36 points.|
-|Ctrl + Shift + M | Decreases the left indent of selected paragraphs by a factor of 36 points.|
-|Ctrl + * | Show/Hide the hidden characters like spaces, tab, paragraph marks, and breaks.|
-
-## Clipboard
-
-|Key Combination| Description |
-|---------------|-------------|
-|Ctrl + C | Copies selected contents to the clipboard.|
-|Ctrl + V | Pastes plain text content from the clipboard.|
-|Ctrl + X | Moves selected content to the clipboard.|
-
-## Keyboard shortcut to navigate around the document
-
-|Key Combination| Description |
-|---------------|-------------|
-|Left arrow| Moves the cursor position one character to the left.|
-|Right arrow| Moves the cursor position one character to the right.|
-|Down arrow| Moves the cursor position down one line.|
-|Up arrow| Moves the cursor position up one line.|
-|Ctrl + Left arrow| Moves the cursor position one word to the left.|
-|Ctrl + Right arrow| Moves the cursor position one word to the right.|
-|Ctrl + Up arrow| Moves the cursor position one paragraph up.|
-|Ctrl + Down arrow| Moves the cursor position one paragraph down.|
-|Tab (in table)| Moves the cursor position one cell to the right.|
-|Shift + Tab (in table)| Moves the cursor position one cell to the left.|
-|Home| Moves the cursor position to the start of a line.|
-|End| Moves the cursor position to the end of a line.|
-|Page up| Moves the cursor position one screen up.|
-|Page down| Moves the cursor position one screen down.|
-|Ctrl + Home| Moves the cursor position to the start of a document.|
-|Ctrl + End| Moves the cursor position to the end of a document.|
-
-## Keyboard shortcut to extend selection
-
-|Key Combination| Description|
-|---------------|------------|
-|Shift + Left arrow| Extends selection one character to the left.|
-|Shift + Right arrow| Extends selection one character to the right.|
-|Shift + Down arrow| Extends selection one line downward.|
-|Shift + Up arrow| Extends selection one line upward.|
-|Shift + Home| Extends selection to the start of a line.|
-|Shift + End| Extends Selection to the end of a line.|
-|Ctrl + A| Extends selection to the entire document.|
-|Ctrl + Shift + Left arrow| Extends selection one word to the left.|
-|Ctrl + Shift + Right arrow| Extends selection one word to the right.|
-|Ctrl + Shift + Down arrow| Extends selection to the end of a paragraph.|
-|Ctrl + Shift + Up arrow| Extends selection to the start of a paragraph.|
-|Ctrl + Shift + Home| Extends selection to the start of a document.|
-|Ctrl + Shift + End| Extends selection to the end of a document.|
-
-## Find and Replace
-
-|Key Combination|Description|
-|---------------|-----------|
-|Ctrl + F| Opens options pane.|
-|Ctrl + H| Opens replace tab in options pane.|
-
-## Create, Save and Print document
-
-|Key Combination|Description|
-|---------------|-----------|
-|Ctrl + N| Opens empty document.|
-|Ctrl + S| Saves the document in SFDT format.|
-|Ctrl + P| Prints the document.|
-
-## Edit Operation
-
-|Key Combination|Description|
-|---------------|-----------|
-|Backspace | Deletes one character to the left.|
-|Delete | Deletes one character to the right.|
-|Ctrl + Z | Undo last performed action.|
-|Ctrl + Y | Redo last undo action.|
-
-## Insert special characters
-
-|Key Combination|Description|
-|---------------|-----------|
-|Ctrl + Enter | Inserts page break.|
-|Shift + Enter | Inserts line break.|
-
-## Dialog
-
-|Key Combination|Description|
-|---------------|-----------|
-|Ctrl + F| Opens options pane.|
-|Ctrl + D| Opens font dialog.|
-|Ctrl + K| Opens hyperlink dialog.|
-
-## See Also
-
-* [How to override the keyboard shortcuts](../document-editor/how-to/override-the-keyboard-shortcuts)
\ No newline at end of file
diff --git a/ej2-javascript/document-editor/link.md b/ej2-javascript/document-editor/link.md
deleted file mode 100644
index 28659816d..000000000
--- a/ej2-javascript/document-editor/link.md
+++ /dev/null
@@ -1,204 +0,0 @@
----
-layout: post
-title: Link in ##Platform_Name## Document editor control | Syncfusion
-description: Learn here all about Link in Syncfusion ##Platform_Name## Document editor control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: Link
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Link in ##Platform_Name## Document editor control
-
-Document Editor supports hyperlink field. You can link a part of the document content to Internet or file location, mail address, or any text within the document.
-
-## Navigate a hyperlink
-
-Document Editor triggers ‘requestNavigate’ event whenever user clicks Ctrl key or tap a hyperlink within the document. This event provides necessary details about link type, navigation URL, and local URL (if any) as arguments, and allows you to easily customize the hyperlink navigation functionality.
-
-### Add the requestNavigate event for DocumentEditor
-
-The following example illustrates how to add requestNavigate event for DocumentEditor.
-
-{% if page.publishingplatform == "typescript" %}
-
- {% tabs %}
-{% highlight ts tabtitle="index.ts" %}
-{% include code-snippet/document-editor/hyperlink-cs1/index.ts %}
-{% endhighlight %}
-{% highlight html tabtitle="index.html" %}
-{% include code-snippet/document-editor/hyperlink-cs1/index.html %}
-{% endhighlight %}
-{% endtabs %}
-
-{% previewsample "page.domainurl/code-snippet/document-editor/hyperlink-cs1" %}
-
-{% elsif page.publishingplatform == "javascript" %}
-
-{% tabs %}
-{% highlight js tabtitle="index.js" %}
-{% include code-snippet/document-editor/hyperlink-cs1/index.js %}
-{% endhighlight %}
-{% highlight html tabtitle="index.html" %}
-{% include code-snippet/document-editor/hyperlink-cs1/index.html %}
-{% endhighlight %}
-{% endtabs %}
-
-{% previewsample "page.domainurl/code-snippet/document-editor/hyperlink-cs1" %}
-{% endif %}
-
-### Add the requestNavigate event for DocumentEditorContainer component
-
-The following example illustrates how to add requestNavigate event for DocumentEditorContainer component.
-
-```ts
-import { DocumentEditor, SfdtExport, Selection, RequestNavigateEventArgs } from '@syncfusion/ej2-documenteditor';
-
-let hostUrl: string =
- 'https://services.syncfusion.com/js/production/';
-
-let container: DocumentEditorContainer = new DocumentEditorContainer({
- enableToolbar: true,
- height: '590px',
-});
-DocumentEditorContainer.Inject(Toolbar);
-container.serviceUrl = hostUrl + 'api/documenteditor/';
-container.appendTo('#container');
-
-// Add event listener for requestNavigate event to customize hyperlink navigation functionality
-container.documentEditor.requestNavigate = (args: RequestNavigateEventArgs) => {
- if (args.linkType !== 'Bookmark') {
- let link: string = args.navigationLink;
- if (args.localReference.length > 0) {
- link += '#' + args.localReference;
- }
- //Navigate to the selected URL.
- window.open(link);
- args.isHandled = true;
- }
-};
-```
-
-If the selection is in hyperlink, trigger this event by calling ‘navigateHyperlink’ method of ‘Selection’ instance. Refer to the following example.
-
-```ts
-documenteditor.selection.navigateHyperlink();
-```
-
-## Copy link
-
-Document Editor copies link text of a hyperlink field to the clipboard if the selection is in hyperlink. Refer to the following example.
-
-```ts
-documenteditor.selection.copyHyperlink();
-```
-
-## Add hyperlink
-
-To create a basic hyperlink in the document, press `ENTER` / `SPACEBAR` / `SHIFT + ENTER` / `TAB` key after typing the address, for instance [`http://www.google.com`](http://www.google.com). Document Editor automatically converts this address to a hyperlink field. The text can be considered as a valid URL if it starts with any of the following.
-
-> ``
-> ``
-> `file:///`
-> `www.`
-> `mailto:`
-
-Refer to the following example.
-
-{% if page.publishingplatform == "typescript" %}
-
- {% tabs %}
-{% highlight ts tabtitle="index.ts" %}
-{% include code-snippet/document-editor/hyperlink-cs2/index.ts %}
-{% endhighlight %}
-{% highlight html tabtitle="index.html" %}
-{% include code-snippet/document-editor/hyperlink-cs2/index.html %}
-{% endhighlight %}
-{% endtabs %}
-
-{% previewsample "page.domainurl/code-snippet/document-editor/hyperlink-cs2" %}
-
-{% elsif page.publishingplatform == "javascript" %}
-
-{% tabs %}
-{% highlight js tabtitle="index.js" %}
-{% include code-snippet/document-editor/hyperlink-cs2/index.js %}
-{% endhighlight %}
-{% highlight html tabtitle="index.html" %}
-{% include code-snippet/document-editor/hyperlink-cs2/index.html %}
-{% endhighlight %}
-{% endtabs %}
-
-{% previewsample "page.domainurl/code-snippet/document-editor/hyperlink-cs2" %}
-{% endif %}
-
-Also Document Editor expose API [`insertHyperlink()`](../api/document-editor/editor/#inserthyperlink)to insert hyperlink.
-
-Refer to the following sample code.
-
-```ts
-documenteditor.editor.insertHyperlink('https://www.google.com', 'Google');
-```
-
-## Customize screen tip
-
-You can customize the screen tip text for the hyperlink by using below sample code.
-
-```ts
-documenteditor.editor.insertHyperlink('https://www.google.com', 'Google', '<>');
-```
-
-Screen tip text can be modified through UI by using the [Hyperlink dialog](../document-editor/dialog#hyperlink-dialog)
-
-
-
-## Remove hyperlink
-
-To remove link from hyperlink in the document, press Backspace key at the end of a hyperlink. By removing the link, it will be converted as plain text. You can use ‘removeHyperlink’ method of ‘Editor’ instance if the selection is in hyperlink. Refer to the following example.
-
-```ts
-documenteditor.editor.removeHyperlink();
-```
-
-## Hyperlink dialog
-
-Document Editor provides dialog support to insert or edit a hyperlink. Refer to the following example.
-
-{% if page.publishingplatform == "typescript" %}
-
- {% tabs %}
-{% highlight ts tabtitle="index.ts" %}
-{% include code-snippet/document-editor/dialog-cs16/index.ts %}
-{% endhighlight %}
-{% highlight html tabtitle="index.html" %}
-{% include code-snippet/document-editor/dialog-cs16/index.html %}
-{% endhighlight %}
-{% endtabs %}
-
-{% previewsample "page.domainurl/code-snippet/document-editor/dialog-cs16" %}
-
-{% elsif page.publishingplatform == "javascript" %}
-
-{% tabs %}
-{% highlight js tabtitle="index.js" %}
-{% include code-snippet/document-editor/dialog-cs16/index.js %}
-{% endhighlight %}
-{% highlight html tabtitle="index.html" %}
-{% include code-snippet/document-editor/dialog-cs16/index.html %}
-{% endhighlight %}
-{% endtabs %}
-
-{% previewsample "page.domainurl/code-snippet/document-editor/dialog-cs16" %}
-{% endif %}
-
-You can use the following keyboard shortcut to open the hyperlink dialog if the selection is in hyperlink.
-
-| Key Combination | Description |
-|-----------------|-------------|
-|Ctrl + K | Open hyperlink dialog that allows you to create or edit hyperlink|
-
-## See Also
-
-* [Feature modules](../document-editor/feature-module/)
-* [Hyperlink dialog](../document-editor/dialog#hyperlink-dialog)
diff --git a/ej2-javascript/document-editor/list-format.md b/ej2-javascript/document-editor/list-format.md
deleted file mode 100644
index e1ddaa314..000000000
--- a/ej2-javascript/document-editor/list-format.md
+++ /dev/null
@@ -1,97 +0,0 @@
----
-layout: post
-title: List format in ##Platform_Name## Document editor control | Syncfusion
-description: Learn here all about List format in Syncfusion ##Platform_Name## Document editor control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: List format
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# List format in ##Platform_Name## Document editor control
-
-Document Editor supports both the single-level and multilevel lists. Lists are used to organize data as step-by-step instructions in documents for easy understanding of key points. You can apply list to the paragraph either using supported APIs.
-
-## Create bullet list
-
-Bullets are usually used for unordered lists. To apply bulleted list for selected paragraphs, use the following method of ‘Editor’ instance.
-
-> applyBullet(bullet, fontFamily);
-
-|Parameter|Type|Description|
-|---------|----|-----------|
-|Bullet|string|Bullet character.|
-|fontFamily|string|Bullet font family.|
-
-Refer to the following sample code.
-
-```ts
-documenteditor.editor.applyBullet('\uf0b7', 'Symbol');
-```
-
-## Create numbered list
-
-Numbered lists are usually used for ordered lists. To apply numbered list for selected paragraphs, use the following method of ‘Editor’ instance.
-
-> applyNumbering(numberFormat,listLevelPattern)
-
-|Parameter|Type|Description|
-|---------|----|-----------|
-|numberFormat|string|“%n” representations in ‘numberFormat’ parameter will be replaced by respective list level’s value.“%1)” will be displayed as “1)”|
-|listLevelPattern(optional)|string|Default value is 'Arabic'.|
-
-Refer to the following example.
-
-```ts
-documenteditor.editor.applyNumbering('%1)', 'UpRoman');
-```
-
-## Clear list
-
-You can also clear the list formatting applied for selected paragraphs. Refer to the following sample code.
-
-```ts
-documenteditor.editor.clearList();
-```
-
-## Working with lists
-
-The following sample demonstrates how to create bullet and numbering lists in Document Editor.
-
-{% if page.publishingplatform == "typescript" %}
-
- {% tabs %}
-{% highlight ts tabtitle="index.ts" %}
-{% include code-snippet/document-editor/list-cs1/index.ts %}
-{% endhighlight %}
-{% highlight html tabtitle="index.html" %}
-{% include code-snippet/document-editor/list-cs1/index.html %}
-{% endhighlight %}
-{% endtabs %}
-
-{% previewsample "page.domainurl/code-snippet/document-editor/list-cs1" %}
-
-{% elsif page.publishingplatform == "javascript" %}
-
-{% tabs %}
-{% highlight js tabtitle="index.js" %}
-{% include code-snippet/document-editor/list-cs1/index.js %}
-{% endhighlight %}
-{% highlight html tabtitle="index.html" %}
-{% include code-snippet/document-editor/list-cs1/index.html %}
-{% endhighlight %}
-{% endtabs %}
-
-{% previewsample "page.domainurl/code-snippet/document-editor/list-cs1" %}
-{% endif %}
-
-## Editing numbered list
-
-Document Editor restarts the numbering or continue numbering for a numbered list. These options are found in the built-in context menu, if the list value is selected. Refer to the following screenshot.
-
-
-
-## See Also
-
-* [List dialog](../document-editor/dialog#list-dialog)
diff --git a/ej2-javascript/document-editor/notes.md b/ej2-javascript/document-editor/notes.md
deleted file mode 100644
index f00cc887c..000000000
--- a/ej2-javascript/document-editor/notes.md
+++ /dev/null
@@ -1,58 +0,0 @@
----
-layout: post
-title: Notes in ##Platform_Name## Document editor control | Syncfusion
-description: Learn here all about Notes in Syncfusion ##Platform_Name## Document editor control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: Notes
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Notes in ##Platform_Name## Document editor control
-
-DocumentEditorContainer component provides support for inserting footnotes and endnotes through the in-built toolbar. Refer to the following screenshot.
-
-
-
-The Footnotes and endnotes are both ways of adding extra bits of information to your writing outside of the main text. You can use footnotes and endnotes to add side comments to your work or to place other publications like books, articles, or websites.
-
-## Insert footnotes
-
-Document Editor exposes an API to insert footnotes at cursor position programmatically or can be inserted to the end of selected text.
-
-```ts
-import { DocumentEditorContainer, Toolbar } from '@syncfusion/ej2-documenteditor';
-//Inject require modules.
-DocumentEditorContainer.Inject(Toolbar);
-let container: DocumentEditorContainer = new DocumentEditorContainer({
- enableToolbar: true,
- serviceUrl: 'https://services.syncfusion.com/js/production/api/documenteditor/'
-});
-container.appendTo('#DocumentEditor');
-//Insert footnote in current selection.
-container.documentEditor.editor.insertFootnote();
-```
-
-## Insert endnotes
-
-Document Editor exposes an API to insert endnotes at cursor position programmatically or can be inserted to the end of selected text.
-
-```ts
-import { DocumentEditorContainer, Toolbar } from '@syncfusion/ej2-documenteditor';
-//Inject require modules.
-DocumentEditorContainer.Inject(Toolbar);
-let container: DocumentEditorContainer = new DocumentEditorContainer({
- enableToolbar: true,
- serviceUrl: 'https://services.syncfusion.com/js/production/api/documenteditor/'
-});
-container.appendTo('#DocumentEditor');
-//Insert endnote in current selection.
-container.documentEditor.editor.insertEndnote();
-```
-
-## Update or edit footnotes and endnotes
-
-You can update or edit the footnotes and endnotes using the built-in context menu shown up by right-clicking it. The footnote endnote dialog box popup and you can customize the number format and start at. Refer to the following screenshot.
-
-
diff --git a/ej2-javascript/document-editor/opening-documents/aws-s3-bucket.md b/ej2-javascript/document-editor/opening-documents/aws-s3-bucket.md
deleted file mode 100644
index 14e12d4ec..000000000
--- a/ej2-javascript/document-editor/opening-documents/aws-s3-bucket.md
+++ /dev/null
@@ -1,155 +0,0 @@
----
-layout: post
-title: Open document from AWS S3 in ##Platform_Name## Document editor control | Syncfusion
-description: Learn about how to Open document from AWS S3 in ##Platform_Name## Document editor control of Syncfusion Essential JS 2 and more details.
-platform: ej2-javascript
-control: Open document from AWS S3
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Open document from AWS S3
-
-To load a document from AWS S3 in a Document Editor, you can follow the steps below
-
-{% if page.publishingplatform == "typescript" %}
-
-**Step 1:** Create a Simple Document Editor Sample in TypeScript
-
-Start by following the steps provided in this [link](../../document-editor/getting-started) to create a simple Document Editor sample in Typescript. This will give you a basic setup of the Document Editor component.
-
-{% elsif page.publishingplatform == "javascript" %}
-
-**Step 1:** Create a Simple Document Editor Sample in Javascript
-
-Start by following the steps provided in this [link](../../document-editor/getting-started) to create a simple Document Editor sample in Javascript. This will give you a basic setup of the Document Editor component.
-
-{% endif %}
-
-**Step 2:** Modify the `DocumentEditorController.cs` File in the Web Service Project
-
-{% if page.publishingplatform == "typescript" %}
-
-* Create a web service project in .NET Core 3.0 or above. You can refer to this [link](../../document-editor/web-services-overview) for instructions on how to create a web service project.
-
-{% elsif page.publishingplatform == "javascript" %}
-
-* Create a web service project in .NET Core 3.0 or above. You can refer to this [link](../../document-editor/web-services-overview) for instructions on how to create a web service project.
-
-{% endif %}
-
-* Open the `DocumentEditorController.cs` file in your web service project.
-
-* Import the required namespaces at the top of the file:
-
-```csharp
-using System.IO;
-using Amazon;
-using Amazon.S3;
-using Amazon.S3.Model;
-```
-
-* Add the following private fields and constructor parameters to the `DocumentEditorController` class, In the constructor, assign the values from the configuration to the corresponding fields
-
-```csharp
-private IConfiguration _configuration;
-public readonly string _accessKey;
-public readonly string _secretKey;
-public readonly string _bucketName;
-
-public DocumentEditorController(IWebHostEnvironment hostingEnvironment, IMemoryCache cache, IConfiguration configuration)
-{
- _hostingEnvironment = hostingEnvironment;
- _cache = cache;
- _configuration = configuration;
- _accessKey = _configuration.GetValue("AccessKey");
- _secretKey = _configuration.GetValue("SecretKey");
- _bucketName = _configuration.GetValue("BucketName");
-}
-```
-
-* Create the `LoadFromS3()` method to load the document from AWS S3.
-
-```csharp
-
-[AcceptVerbs("Post")]
-[HttpPost]
-[EnableCors("AllowAllOrigins")]
-[Route("LoadFromS3")]
-//Post action for Loading the documents
-
-public async Task LoadFromS3([FromBody] Dictionary onObject)
-{
- MemoryStream stream = new MemoryStream();
-
- if (jsonObject == null && !jsonObject.ContainsKey("documentName"))
- {
- return null;
- }
- RegionEndpoint bucketRegion = RegionEndpoint.USEast1;
-
- // Configure the AWS SDK with your access credentials and other settings
- var s3Client = new AmazonS3Client(_accessKey, _secretKey, bucketRegion);
-
- string documentName = jsonObject["documentName"];
-
- // Specify the document name or retrieve it from a different source
- var response = await s3Client.GetObjectAsync(_bucketName, documentName);
-
- Stream responseStream = response.ResponseStream;
- responseStream.CopyTo(stream);
- stream.Seek(0, SeekOrigin.Begin);
- WordDocument document = WordDocument.Load(stream, FormatType.Docx);
- string json = Newtonsoft.Json.JsonConvert.SerializeObject(document);
- document.Dispose();
- stream.Close();
- return json;
-}
-```
-
-* Open the `appsettings.json` file in your web service project, Add the following lines below the existing `"AllowedHosts"` configuration
-
-```json
-{
- "Logging": {
- "LogLevel": {
- "Default": "Information",
- "Microsoft.AspNetCore": "Warning"
- }
- },
- "AllowedHosts": "*",
- "AccessKey": "Your Access Key from AWS S3",
- "SecretKey": "Your Secret Key from AWS S3",
- "BucketName": "Your Bucket name from AWS S3"
-}
-```
-
-N> Replace **Your Access Key from AWS S3**, **Your Secret Key from AWS S3**, and **Your Bucket name from AWS S3** with your actual AWS access key, secret key and bucket name
-
-**Step 3:** Modify the index File in the Document Editor sample
-
-In the client-side, the document is returned from the web service is opening using [`open`](../../api/document-editor/#open) method.
-
-{% if page.publishingplatform == "typescript" %}
-
-{% tabs %}
-{% highlight js tabtitle="index.js" %}
-{% include code-snippet/document-editor/open-aws-s3/index.ts %}
-{% endhighlight %}
-{% highlight html tabtitle="index.html" %}
-{% include code-snippet/document-editor/open-aws-s3/index.html %}
-{% endhighlight %}
-{% endtabs %}
-
-{% elsif page.publishingplatform == "javascript" %}
-
-{% tabs %}
-{% highlight html tabtitle="index.html" %}
-{% include code-snippet/document-editor/open-aws-s3/index.html %}
-{% endhighlight %}
-{% endtabs %}
-
-{% endif %}
-
-N> The **AWSSDK.S3** NuGet package must be installed in your application to use the previous code example.
diff --git a/ej2-javascript/document-editor/opening-documents/azure-blob-storage.md b/ej2-javascript/document-editor/opening-documents/azure-blob-storage.md
deleted file mode 100644
index 3cb876f91..000000000
--- a/ej2-javascript/document-editor/opening-documents/azure-blob-storage.md
+++ /dev/null
@@ -1,141 +0,0 @@
----
-layout: post
-title: Open document from Azure Blob Storage in ##Platform_Name## Document editor control | Syncfusion
-description: Learn about how to Open document from Azure Blob Storage in ##Platform_Name## Document editor control of Syncfusion Essential JS 2 and more details.
-platform: ej2-javascript
-control: Open document from Azure Blob Storage
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Open document from Azure Blob Storage
-
-To load document from Azure Blob Storage in a Document Editor, you can follow the steps below
-
-{% if page.publishingplatform == "typescript" %}
-
-**Step 1:** Create a Simple Document Editor Sample in TypeScript
-
-Start by following the steps provided in this [link](../../document-editor/getting-started) to create a simple Document Editor sample in Typescript. This will give you a basic setup of the Document Editor component.
-
-{% elsif page.publishingplatform == "javascript" %}
-
-**Step 1:** Create a Simple Document Editor Sample in Javascript
-
-Start by following the steps provided in this [link](../../document-editor/getting-started) to create a simple Document Editor sample in Javascript. This will give you a basic setup of the Document Editor component.
-
-{% endif %}
-
-**Step 2:** Modify the `DocumentEditorController.cs` File in the Web Service Project
-
-{% if page.publishingplatform == "typescript" %}
-
-* Create a web service project in .NET Core 3.0 or above. You can refer to this [link](../../document-editor/web-services-overview) for instructions on how to create a web service project.
-
-{% elsif page.publishingplatform == "javascript" %}
-
-* Create a web service project in .NET Core 3.0 or above. You can refer to this [link](../../document-editor/web-services-overview) for instructions on how to create a web service project.
-
-{% endif %}
-
-* Open the `DocumentEditorController.cs` file in your web service project.
-
-* Import the required namespaces at the top of the file:
-
-```csharp
-using System.IO;
-using Azure.Storage.Blobs;
-using Azure.Storage.Blobs.Specialized;
-```
-
-* Add the following private fields and constructor parameters to the `DocumentEditorController` class, In the constructor, assign the values from the configuration to the corresponding fields
-
-
-```csharp
-private readonly string _storageConnectionString;
-private readonly string _storageContainerName;
-private readonly ILogger _logger;
-
-public DocumentEditorController(IConfiguration configuration, ILogger logger)
-{
- _storageConnectionString = configuration.GetValue("connectionString");
- _storageContainerName = configuration.GetValue("containerName");
- _logger = logger;
-}
-```
-
-* Modify the `LoadFromAzure()` method to load the document from Azure Blob Storage
-
-```csharp
-
-[HttpPost("LoadFromAzure")]
-[Microsoft.AspNetCore.Cors.EnableCors("MyPolicy")]
-[Route("[controller]/LoadFromAzure")]
-//Post action for Loading the PDF documents
-
-public IActionResult LoadFromAzure([FromBody] Dictionary jsonObject)
-{
- MemoryStream stream = new MemoryStream();
-
- if (jsonObject == null && !jsonObject.ContainsKey("documentName"))
- {
- return null
- }
- BlobServiceClient blobServiceClient = new BlobServiceClient(_storageConnectionString);
- string fileName = jsonObject["documentName"];
- BlobContainerClient containerClient = blobServiceClient.GetBlobContainerClient(_storageContainerName);
- BlockBlobClient blockBlobClient = containerClient.GetBlockBlobClient(fileName);
- blockBlobClient.DownloadTo(stream);
- WordDocument document = WordDocument.Load(stream, FormatType.Docx);
- string json = Newtonsoft.Json.JsonConvert.SerializeObject(document);
- document.Dispose();
- stream.Close();
- return json;
-}
-```
-
-* Open the `appsettings.json` file in your web service project, Add the following lines below the existing `"AllowedHosts"` configuration
-
-```json
-{
- "Logging": {
- "LogLevel": {
- "Default": "Information",
- "Microsoft.AspNetCore": "Warning"
- }
- },
- "AllowedHosts": "*",
- "connectionString": "*Your Connection string from Azure*",
- "containerName": "*Your container name in Azure*"
-}
-```
-
-N> Replace **Your Connection string from Azure** with the actual connection string for your Azure Blob Storage account and **Your container name in Azure** with the actual container name
-
-**Step 3:** Modify the index File in the Document Editor sample
-
-In the client-side, the document is returned from the web service is opening using [`open`](../../api/document-editor/#open) method.
-
-{% if page.publishingplatform == "typescript" %}
-
-{% tabs %}
-{% highlight js tabtitle="index.js" %}
-{% include code-snippet/document-editor/open-azure-blob/index.ts %}
-{% endhighlight %}
-{% highlight html tabtitle="index.html" %}
-{% include code-snippet/document-editor/open-azure-blob/index.html %}
-{% endhighlight %}
-{% endtabs %}
-
-{% elsif page.publishingplatform == "javascript" %}
-
-{% tabs %}
-{% highlight html tabtitle="index.html" %}
-{% include code-snippet/document-editor/open-azure-blob/index.html %}
-{% endhighlight %}
-{% endtabs %}
-
-{% endif %}
-
-N> The **Azure.Storage.Blobs** NuGet package must be installed in your application to use the previous code example.
diff --git a/ej2-javascript/document-editor/opening-documents/box-cloud-file-storage.md b/ej2-javascript/document-editor/opening-documents/box-cloud-file-storage.md
deleted file mode 100644
index 76fb995fe..000000000
--- a/ej2-javascript/document-editor/opening-documents/box-cloud-file-storage.md
+++ /dev/null
@@ -1,167 +0,0 @@
----
-layout: post
-title: Opening the document from Box cloud file storage in Syncfusion ##Platform_Name## Document editor control | Syncfusion
-description: Learn here to open a document from Box cloud file storage in Syncfusion ##Platform_Name## Document editor control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: Opening from Box cloud file storage
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Open document from Box cloud file storage
-
-To load a document from Box cloud file storage in a document Editor, you can follow the steps below
-
-**Step 1:** Set up a Box developer account and create a Box application
-
-To access Box storage programmatically, you'll need a developer account with Box. Go to the [Box Developer Console](https://developer.box.com/), sign in or create a new account, and then create a new Box application. This application will provide you with the necessary credentials Client ID and Client Secret to authenticate and access Box APIs. Before accessing files, you need to authenticate your application to access your Box account. Box API supports `OAuth 2.0 authentication` for this purpose.
-
-{% if page.publishingplatform == "typescript" %}
-
-**Step 2:** Create a Simple Document Editor Sample in TypeScript
-
-Start by following the steps provided in this [link](../../document-editor/getting-started) to create a simple Document Editor sample in Typescript. This will give you a basic setup of the Document Editor component.
-
-{% elsif page.publishingplatform == "javascript" %}
-
-**Step 2:** Create a Simple Document Editor Sample in Javascript
-
-Start by following the steps provided in this [link](../../document-editor/getting-started) to create a simple Document Editor sample in Javascript. This will give you a basic setup of the Document Editor component.
-
-{% endif %}
-
-**Step 3:** Modify the `DocumentEditorController.cs` File in the Web Service Project
-
-{% if page.publishingplatform == "typescript" %}
-
-* Create a web service project in .NET Core 3.0 or above. You can refer to this [link](../../document-editor/web-services-overview) for instructions on how to create a web service project.
-
-{% elsif page.publishingplatform == "javascript" %}
-
-* Create a web service project in .NET Core 3.0 or above. You can refer to this [link](../../document-editor/web-services-overview) for instructions on how to create a web service project.
-
-{% endif %}
-
-* Open the `DocumentEditorController.cs` file in your web service project.
-
-* Import the required namespaces at the top of the file:
-
-```csharp
-using Box.V2;
-using Box.V2.Auth;
-using Box.V2.Config;
-using Box.V2.Models;
-```
-
-* Add the following private fields and constructor parameters to the `DocumentEditorController` class, In the constructor, assign the values from the configuration to the corresponding fields
-
-```csharp
-private IConfiguration _configuration;
-public readonly string _accessToken;
-public readonly string _clientID;
-public readonly string _clientSecret;
-public readonly string _folderID;
-
-public DocumentEditorController(IWebHostEnvironment hostingEnvironment, IMemoryCache cache, IConfiguration configuration)
-{
- _hostingEnvironment = hostingEnvironment;
- _cache = cache;
- _configuration = configuration;
- _accessToken = _configuration.GetValue("AccessToken");
- _clientID = _configuration.GetValue("ClientID");
- _clientSecret = _configuration.GetValue("ClientSecret");
- _folderID = _configuration.GetValue("FolderID");
-}
-```
-
-* Create the `LoadFromBoxCloud()` method to load the document from Box cloud file storage.
-
-```csharp
-[AcceptVerbs("Post")]
-[HttpPost]
-[EnableCors("AllowAllOrigins")]
-[Route("LoadFromBoxCloud")]
-//Post action for Loading the documents
-
-public async Task LoadFromBoxCloud([FromBody] Dictionary jsonObject)
-{
- if (jsonObject == null && !jsonObject.ContainsKey("documentName"))
- {
- return null
- }
- MemoryStream stream = new MemoryStream();
- // Initialize the Box API client with your authentication credentials
- var auth = new OAuthSession(_accessToken, "YOUR_REFRESH_TOKEN", 3600, "bearer");
- var config = new BoxConfigBuilder(_clientID, _clientSecret, new Uri("http://boxsdk")).Build();
- var client = new BoxClient(config, auth);
-
- // Download the file from Box storage
- var items = await client.FoldersManager.GetFolderItemsAsync(_folderID, 1000, autoPaginate: true);
- var files = items.Entries.Where(i => i.Type == "file");
-
- // Filter the files based on the objectName
- var matchingFile = files.FirstOrDefault(file => file.Name == objectName);
-
- // Fetch the file from Box storage by its name
- var fileStream = await client.FilesManager.DownloadAsync(matchingFile.Id);
- stream = new MemoryStream();
- await fileStream.CopyToAsync(stream);
-
- // Reset the position to the beginning of the stream
- stream.Position = 0;
-
- WordDocument document = WordDocument.Load(stream, FormatType.Docx);
- string json = Newtonsoft.Json.JsonConvert.SerializeObject(document);
- document.Dispose();
- stream.Close();
- return json;
-}
-```
-
-* Open the `appsettings.json` file in your web service project, Add the following lines below the existing `"AllowedHosts"` configuration
-
-```json
-{
- "Logging": {
- "LogLevel": {
- "Default": "Information",
- "Microsoft.AspNetCore": "Warning"
- }
- },
- "AllowedHosts": "*",
- "AccessToken": "Your_Box_Storage_Access_Token",
- "FolderID": "Your_Folder_ID",
- "ClientID": "Your_Box_Storage_ClientID",
- "ClientSecret": "Your_Box_Storage_ClientSecret"
-}
-```
-
-N> replace **Your_Box_Storage_Access_Token** with your actual box access token, and **Your_Folder_ID** with the ID of the folder in your box storage where you want to perform specific operations. Remember to use your valid box API credentials, as **Your_Box_Storage_ClientID** and **Your_Box_Storage_ClientSecret"** are placeholders for your application's API key and secret.
-
-**Step 4:** Modify the index File in the Document Editor sample
-
-In the client-side, the document is returned from the web service is opening using [`open`](../../api/document-editor/#open) method.
-
-{% if page.publishingplatform == "typescript" %}
-
-{% tabs %}
-{% highlight js tabtitle="index.js" %}
-{% include code-snippet/document-editor/open-box-cloud-file-storage/index.ts %}
-{% endhighlight %}
-{% highlight html tabtitle="index.html" %}
-{% include code-snippet/document-editor/open-box-cloud-file-storage/index.html %}
-{% endhighlight %}
-{% endtabs %}
-
-{% elsif page.publishingplatform == "javascript" %}
-
-{% tabs %}
-{% highlight html tabtitle="index.html" %}
-{% include code-snippet/document-editor/open-box-cloud-file-storage/index.html %}
-{% endhighlight %}
-{% endtabs %}
-
-{% endif %}
-
-N> The **Box.V2.Core** NuGet package must be installed in your application to use the previous code example.
diff --git a/ej2-javascript/document-editor/opening-documents/dropbox-cloud-file-storage.md b/ej2-javascript/document-editor/opening-documents/dropbox-cloud-file-storage.md
deleted file mode 100644
index db7c8e9fe..000000000
--- a/ej2-javascript/document-editor/opening-documents/dropbox-cloud-file-storage.md
+++ /dev/null
@@ -1,150 +0,0 @@
----
-layout: post
-title: Open document from Dropbox cloud file storage in ##Platform_Name## Document editor control | Syncfusion
-description: Learn about how to Open document from Dropbox cloud file storage in ##Platform_Name## Document editor control of Syncfusion Essential JS 2 and more details.
-platform: ej2-javascript
-control: Open document from Dropbox cloud file storage
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Open document from Dropbox cloud file storage
-
-To load a document from Dropbox cloud file storage in a Document editor, you can follow the steps below
-
-**Step 1:** Create a Dropbox API
-
-To create a Dropbox API App, you should follow the official documentation provided by Dropbox [link](https://www.dropbox.com/developers/documentation/dotnet#tutorial). The process involves visiting the Dropbox Developer website and using their App Console to set up your API app. This app will allow you to interact with Dropbox programmatically, enabling secure access to files and data.
-
-{% if page.publishingplatform == "typescript" %}
-
-**Step 2:** Create a Simple Document Editor Sample in TypeScript
-
-Start by following the steps provided in this [link](../../document-editor/getting-started) to create a simple Document Editor sample in Typescript. This will give you a basic setup of the Document Editor component.
-
-{% elsif page.publishingplatform == "javascript" %}
-
-**Step 2:** Create a Simple Document Editor Sample in Javascript
-
-Start by following the steps provided in this [link]((../../document-editor/getting-started) to create a simple Document Editor sample in Javascript. This will give you a basic setup of the Document Editor component.
-
-{% endif %}
-
-**Step 3:** Modify the `DocumentEditorController.cs` File in the Web Service Project
-
-{% if page.publishingplatform == "typescript" %}
-
-* Create a web service project in .NET Core 3.0 or above. You can refer to this [link](../../document-editor/web-services-overview) for instructions on how to create a web service project.
-
-{% elsif page.publishingplatform == "javascript" %}
-
-* Create a web service project in .NET Core 3.0 or above. You can refer to this [link](../../document-editor/web-services-overview) for instructions on how to create a web service project.
-
-{% endif %}
-
-* Open the `DocumentEditorController.cs` file in your web service project.
-
-* Import the required namespaces at the top of the file:
-
-```csharp
-using System.IO;
-using Dropbox.Api;
-using Dropbox.Api.Files;
-```
-
-* Add the following private fields and constructor parameters to the `DocumentEditorController` class, In the constructor, assign the values from the configuration to the corresponding fields
-
-```csharp
-private IConfiguration _configuration;
-public readonly string _accessToken;
-public readonly string _folderName;
-
-public DocumentEditorController(IWebHostEnvironment hostingEnvironment, IMemoryCache cache, IConfiguration configuration)
-{
- _hostingEnvironment = hostingEnvironment;
- _cache = cache;
- _configuration = configuration;
- _accessToken = _configuration.GetValue("AccessToken");
- _folderName = _configuration.GetValue("FolderName");
-}
-```
-
-* Create the `LoadFromDropBox()` method to load the document from Dropbox cloud file storage.
-
-```csharp
-
-[AcceptVerbs("Post")]
-[HttpPost]
-[EnableCors("AllowAllOrigins")]
-[Route("LoadFromBoxCloud")]
-//Post action for Loading the documents
-
-public async Task LoadFromDropBox([FromBody] Dictionary jsonObject)
-{
- if (jsonObject == null && !jsonObject.ContainsKey("documentName"))
- {
- return null
- }
- MemoryStream stream = new MemoryStream();
-
- using (var dropBox = new DropboxClient(_accessToken))
- {
- using (var response = await dropBox.Files.DownloadAsync(_folderName + "/" + fileName))
- {
- var byteArray = await response.GetContentAsByteArrayAsync();
- stream = new MemoryStream(byteArray);
- }
- }
- WordDocument document = WordDocument.Load(stream, FormatType.Docx);
- string json = Newtonsoft.Json.JsonConvert.SerializeObject(document);
- document.Dispose();
- stream.Close();
- return json;
-}
-```
-
-* Open the `appsettings.json` file in your web service project, Add the following lines below the existing `"AllowedHosts"` configuration
-
-```json
-{
- "Logging": {
- "LogLevel": {
- "Default": "Information",
- "Microsoft.AspNetCore": "Warning"
- }
- },
- "AllowedHosts": "*",
- "AccessToken": "Your_Dropbox_Access_Token",
- "FolderName": "Your_Folder_Name"
-}
-```
-
-N> Replace **Your_Dropbox_Access_Token** with your actual Dropbox access token and **Your_Folder_Name** with your folder name.
-
-**Step 4:** Modify the index File in the Document Editor sample
-
-In the client-side, the document is returned from the web service is opening using [`open`](../../api/document-editor/#open) method.
-
-{% if page.publishingplatform == "typescript" %}
-
-{% tabs %}
-{% highlight js tabtitle="index.js" %}
-{% include code-snippet/document-editor/open-dropbox-cloud-file-storage/index.ts %}
-{% endhighlight %}
-{% highlight html tabtitle="index.html" %}
-{% include code-snippet/document-editor/open-dropbox-cloud-file-storage/index.html %}
-{% endhighlight %}
-{% endtabs %}
-
-{% elsif page.publishingplatform == "javascript" %}
-
-{% tabs %}
-{% highlight html tabtitle="index.html" %}
-{% include code-snippet/document-editor/open-dropbox-cloud-file-storage/index.html %}
-{% endhighlight %}
-{% endtabs %}
-
-{% endif %}
-
-N> The **Dropbox.Api** NuGet package must be installed in your application to use the previous code example.
diff --git a/ej2-javascript/document-editor/opening-documents/google-cloud-storage.md b/ej2-javascript/document-editor/opening-documents/google-cloud-storage.md
deleted file mode 100644
index 6a1320692..000000000
--- a/ej2-javascript/document-editor/opening-documents/google-cloud-storage.md
+++ /dev/null
@@ -1,156 +0,0 @@
----
-layout: post
-title: Open document from Google Cloud Storage in ##Platform_Name## Document editor control | Syncfusion
-description: Learn about how to Open document from Google Cloud Storage in ##Platform_Name## Document editor control of Syncfusion Essential JS 2 and more details.
-platform: ej2-javascript
-control: Open document from Google Cloud Storage
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Open document from Google Cloud Storage
-
-To load a document from Google Cloud Storage in a Document editor, you can follow the steps below
-
-{% if page.publishingplatform == "typescript" %}
-
-**Step 1:** Create a Simple Document Editor Sample in TypeScript
-
-Start by following the steps provided in this [link](../../document-editor/getting-started) to create a simple Document Editor sample in Typescript. This will give you a basic setup of the Document Editor component.
-
-{% elsif page.publishingplatform == "javascript" %}
-
-**Step 1:** Create a Simple Document Editor Sample in Javascript
-
-Start by following the steps provided in this [link](../../document-editor/getting-started) to create a simple Document Editor sample in Javascript. This will give you a basic setup of the Document Editor component.
-
-{% endif %}
-
-**Step 2:** Modify the `DocumentEditorController.cs` File in the Web Service Project
-
-{% if page.publishingplatform == "typescript" %}
-
-* Create a web service project in .NET Core 3.0 or above. You can refer to this [link](../../document-editor/web-services-overview) for instructions on how to create a web service project.
-
-{% elsif page.publishingplatform == "javascript" %}
-
-* Create a web service project in .NET Core 3.0 or above. You can refer to this [link](../../document-editor/web-services-overview) for instructions on how to create a web service project.
-
-{% endif %}
-
-* Open the `DocumentEditorController.cs` file in your web service project.
-
-* Import the required namespaces at the top of the file:
-
-```csharp
-using System.IO;
-using Google.Cloud.Storage.V1;
-using Google.Apis.Auth.OAuth2;
-```
-
-* Add the following private fields and constructor parameters to the `DocumentEditorController` class, In the constructor, assign the values from the configuration to the corresponding fields
-
-```csharp
-// Private readonly object _storageClient
-private readonly StorageClient _storageClient;
-
-private IConfiguration _configuration;
-
-public readonly string _bucketName;
-
-public DocumentEditorController(IWebHostEnvironment hostingEnvironment, IMemoryCache cache, IConfiguration configuration)
-{
- _hostingEnvironment = hostingEnvironment;
- _cache = cache;
-
- // The key file is used to authenticate with Google Cloud Storage.
- string keyFilePath = "path/to/service-account-key.json";
-
- // Load the service account credentials from the key file.
- var credentials = GoogleCredential.FromFile(keyFilePath);
-
- // Create a storage client with Application Default Credentials
- _storageClient = StorageClient.Create(credentials);
-
- _configuration = configuration;
-
- _bucketName = _configuration.GetValue("BucketName");
-}
-```
-
-* Create the `LoadFromGoogleCloud()` method to load the document from Google Cloud Storage.
-
-```csharp
-[AcceptVerbs("Post")]
-[HttpPost]
-[EnableCors("AllowAllOrigins")]
-[Route("LoadFromGoogleCloud")]
-//Post action for Loading the documents
-
-public async Task LoadFromGoogleCloud([FromBody] Dictionary jsonObject)
-{
- if (jsonObject == null && !jsonObject.ContainsKey("documentName"))
- {
- return null
- }
- MemoryStream stream = new MemoryStream();
-
- string bucketName = _bucketName;
- string objectName = jsonObject["document"];
- _storageClient.DownloadObject(bucketName, objectName, stream);
- stream.Position = 0;
-
- WordDocument document = WordDocument.Load(stream, FormatType.Docx);
- string json = Newtonsoft.Json.JsonConvert.SerializeObject(document);
- document.Dispose();
- stream.Close();
- return json;
-}
-```
-
-* Open the `appsettings.json` file in your web service project, Add the following lines below the existing `"AllowedHosts"` configuration
-
-```json
-{
- "Logging": {
- "LogLevel": {
- "Default": "Information",
- "Microsoft.AspNetCore": "Warning"
- }
- },
- "AllowedHosts": "*",
- "BucketName": "Your Bucket name from Google Cloud Storage"
-}
-```
-
-N> Replace **Your Bucket name from Google Cloud Storage** with the actual name of your Google Cloud Storage bucket
-
-N> Replace **path/to/service-account-key.json** with the actual file path to your service account key JSON file. Make sure to provide the correct path and filename.
-
-**Step 3:** Modify the index File in the Document Editor sample
-
-In the client-side, the document is returned from the web service is opening using [`open`](../../api/document-editor/#open) method.
-
-{% if page.publishingplatform == "typescript" %}
-
-{% tabs %}
-{% highlight js tabtitle="index.js" %}
-{% include code-snippet/document-editor/open-google-cloud-storage/index.ts %}
-{% endhighlight %}
-{% highlight html tabtitle="index.html" %}
-{% include code-snippet/document-editor/open-google-cloud-storage/index.html %}
-{% endhighlight %}
-{% endtabs %}
-
-{% elsif page.publishingplatform == "javascript" %}
-
-{% tabs %}
-{% highlight html tabtitle="index.html" %}
-{% include code-snippet/document-editor/open-google-cloud-storage/index.html %}
-{% endhighlight %}
-{% endtabs %}
-
-{% endif %}
-
-N> The **Google.Cloud.Storage.V1** NuGet package must be installed in your application to use the previous code example.
diff --git a/ej2-javascript/document-editor/opening-documents/google-drive.md b/ej2-javascript/document-editor/opening-documents/google-drive.md
deleted file mode 100644
index fb845b211..000000000
--- a/ej2-javascript/document-editor/opening-documents/google-drive.md
+++ /dev/null
@@ -1,181 +0,0 @@
----
-layout: post
-title: Open document from Google Drive in ##Platform_Name## Document editor control | Syncfusion
-description: Learn about how to Open document from Google Drive in ##Platform_Name## Document editor control of Syncfusion Essential JS 2 and more details.
-platform: ej2-javascript
-control: Open document from Google Drive
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Open document from Google Drive
-
-To load a document from Google Drive in a Document editor, you can follow the steps below
-
-**Step 1:** Set up Google Drive API
-
-You must set up a project in the Google Developers Console and enable the Google Drive API. Obtain the necessary credentials to access the API. For more information, view the official [link](https://developers.google.com/drive/api/guides/enable-sdk).
-
-{% if page.publishingplatform == "typescript" %}
-
-**Step 2:** Create a Simple Document Editor Sample in TypeScript
-
-Start by following the steps provided in this [link](../../document-editor/getting-started) to create a simple Document Editor sample in Typescript. This will give you a basic setup of the Document Editor component.
-
-{% elsif page.publishingplatform == "javascript" %}
-
-**Step 2:** Create a Simple Document Editor Sample in Javascript
-
-Start by following the steps provided in this [link](../../document-editor/getting-started) to create a simple Document Editor sample in Javascript. This will give you a basic setup of the Document Editor component.
-
-{% endif %}
-
-**Step 3:** Modify the `DocumentEditorController.cs` File in the Web Service Project
-
-{% if page.publishingplatform == "typescript" %}
-
-* Create a web service project in .NET Core 3.0 or above. You can refer to this [link](../../document-editor/web-services-overview) for instructions on how to create a web service project.
-
-{% elsif page.publishingplatform == "javascript" %}
-
-* Create a web service project in .NET Core 3.0 or above. You can refer to this [link](../../document-editor/web-services-overview) for instructions on how to create a web service project.
-
-{% endif %}
-
-* Open the `DocumentEditorController.cs` file in your web service project.
-
-* Import the required namespaces at the top of the file:
-
-```csharp
-using System.IO;
-using Google.Apis.Drive.v3;
-using Google.Apis.Util.Store;
-```
-
-* Add the following private fields and constructor parameters to the `DocumentEditorController` class, In the constructor, assign the values from the configuration to the corresponding fields
-
-```csharp
-private IConfiguration _configuration;
-public readonly string folderId;
-public readonly string applicationName;
-public readonly string credentialPath;
-private static readonly string[] Scopes = { DriveService.Scope.DriveFile, DriveService.Scope.DriveReadonly};
-
-public DocumentEditorController(IWebHostEnvironment hostingEnvironment, IMemoryCache cache, IConfiguration configuration)
-{
- _hostingEnvironment = hostingEnvironment;
- _cache = cache;
- _configuration = configuration;
- folderId = _configuration.GetValue("FolderId");
- credentialPath = _configuration.GetValue("CredentialPath");
- applicationName = _configuration.GetValue("ApplicationName");
-}
-```
-
-* Create the `LoadFromGoogleDrive()` method to load the document from Google Drive.
-
-```csharp
-[AcceptVerbs("Post")]
-[HttpPost]
-[EnableCors("AllowAllOrigins")]
-[Route("LoadFromGoogleDrive")]
-//Post action for Loading the documents
-public async Task LoadFromGoogleDrive([FromBody] Dictionary jsonObject)
-{
-
- MemoryStream stream = new MemoryStream();
- UserCredential credential;
- using (var stream1 = new FileStream(credentialPath, FileMode.Open, FileAccess.Read))
- {
- string credPath = "token.json";
- credential = await GoogleWebAuthorizationBroker.AuthorizeAsync(
- GoogleClientSecrets.Load(stream1).Secrets,
- Scopes,
- "user",
- CancellationToken.None,
- new FileDataStore(credPath, true));
- }
-
- // Create Google Drive API service.
- var service = new DriveService(new BaseClientService.Initializer()
- {
- HttpClientInitializer = credential,
- ApplicationName = applicationName,
- });
- // List DOCX files in Google Drive
- listRequest.Q = "mimeType='application/vnd.openxmlformats-officedocument.wordprocessingml.document' and '" + folderId + "' in parents and trashed=false";
- listRequest.Fields = "files(id, name)";
- var files = await listRequest.ExecuteAsync();
- string fileIdToDownload = string.Empty;
- foreach (var file in files.Files)
- {
- string fileId = file.Id;
- string fileName = file.Name;
- if (fileName == objectName)
- {
- // Save the matching fileId
- fileIdToDownload = fileId;
- break;
- }
- }
- string fileIds = fileIdToDownload;
- var request = service.Files.Get(fileIds);
- await request.DownloadAsync(stream);
- stream.Position = 0;
-
- WordDocument document = WordDocument.Load(stream, FormatType.Docx);
- string json = Newtonsoft.Json.JsonConvert.SerializeObject(document);
- document.Dispose();
- stream.Close();
- return json;
-}
-```
-
-* Open the `appsettings.json` file in your web service project, Add the following lines below the existing `"AllowedHosts"` configuration
-
-```json
-{
- "Logging": {
- "LogLevel": {
- "Default": "Information",
- "Microsoft.AspNetCore": "Warning"
- }
- },
- "AllowedHosts": "*",
- "FolderId": "Your Google Drive Folder ID",
- "CredentialPath": "Your Path to the OAuth 2.0 Client IDs json file",
- "ApplicationName": "Your Application name"
-}
-```
-
-N> Replace **Your Google Drive Folder ID**, **Your Application name**, and **Your Path to the OAuth 2.0 Client IDs json file** with your actual Google drive folder ID , Your name for your application and the path for the JSON file.
-
-N> The **FolderId** part is the unique identifier for the folder. For example, if your folder URL is: `https://drive.google.com/drive/folders/abc123xyz456`, then the folder ID is `abc123xyz456`.
-
-**Step 4:** Modify the index File in the Document Editor sample
-
-In the client-side, the document is returned from the web service is opening using [`open`](../../api/document-editor/#open) method.
-
-{% if page.publishingplatform == "typescript" %}
-
-{% tabs %}
-{% highlight js tabtitle="index.js" %}
-{% include code-snippet/document-editor/open-box-cloud-file-storage/index.ts %}
-{% endhighlight %}
-{% highlight html tabtitle="index.html" %}
-{% include code-snippet/document-editor/open-box-cloud-file-storage/index.html %}
-{% endhighlight %}
-{% endtabs %}
-
-{% elsif page.publishingplatform == "javascript" %}
-
-{% tabs %}
-{% highlight html tabtitle="index.html" %}
-{% include code-snippet/document-editor/open-box-cloud-file-storage/index.html %}
-{% endhighlight %}
-{% endtabs %}
-
-{% endif %}
-
-N> The **Google.Apis.Drive.v3** NuGet package must be installed in your application to use the previous code example.
diff --git a/ej2-javascript/document-editor/opening-documents/one-drive.md b/ej2-javascript/document-editor/opening-documents/one-drive.md
deleted file mode 100644
index fc8e63230..000000000
--- a/ej2-javascript/document-editor/opening-documents/one-drive.md
+++ /dev/null
@@ -1,185 +0,0 @@
----
-layout: post
-title: Open document from One Drive in ##Platform_Name## Document editor control | Syncfusion
-description: Learn about how to Open document from One Drive in ##Platform_Name## Document editor control of Syncfusion Essential JS 2 and more details.
-platform: ej2-javascript
-control: Open document from One Drive
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Open document from One Drive
-
-To load a document from One Drive in a Document editor, you can follow the steps below
-
-**Step 1:** Create the Microsoft graph API.
-
-Need to create a Microsoft Graph API application and obtain the necessary credentials, namely the application ID and tenant ID. Follow the steps provided in the [link](https://learn.microsoft.com/en-us/training/modules/msgraph-access-file-data/3-exercise-access-files-onedrive) to create the application and obtain the required IDs.
-
-{% if page.publishingplatform == "typescript" %}
-
-**Step 2:** Create a Simple Document Editor Sample in TypeScript
-
-Start by following the steps provided in this [link](../../document-editor/getting-started) to create a simple Document Editor sample in Typescript. This will give you a basic setup of the Document Editor component.
-
-{% elsif page.publishingplatform == "javascript" %}
-
-**Step 2:** Create a Simple Document Editor Sample in Javascript
-
-Start by following the steps provided in this [link](../../document-editor/getting-started) to create a simple Document Editor sample in Javascript. This will give you a basic setup of the Document Editor component.
-
-{% endif %}
-
-**Step 3:** Modify the `DocumentEditorController.cs` File in the Web Service Project
-
-{% if page.publishingplatform == "typescript" %}
-
-* Create a web service project in .NET Core 3.0 or above. You can refer to this [link](../../document-editor/web-services-overview) for instructions on how to create a web service project.
-
-{% elsif page.publishingplatform == "javascript" %}
-
-* Create a web service project in .NET Core 3.0 or above. You can refer to this [link](../../document-editor/web-services-overview)for instructions on how to create a web service project.
-
-{% endif %}
-
-* Open the `DocumentEditorController.cs` file in your web service project.
-
-* Import the required namespaces at the top of the file:
-
-```csharp
-using System.IO;
-using Microsoft.Graph;
-using Microsoft.Identity.Client;
-using Helpers;
-```
-
-* Add the following private fields and constructor parameters to the `DocumentEditorController` class, In the constructor, assign the values from the configuration to the corresponding fields
-
-```csharp
-private IConfiguration _configuration;
-public readonly string folderName;
-public readonly string applicationId;
-public readonly string tenantId;
-
-public DocumentEditorController(IWebHostEnvironment hostingEnvironment, IMemoryCache cache, IConfiguration configuration)
-{
- _hostingEnvironment = hostingEnvironment;
- _cache = cache;
- _configuration = configuration;
- folderName = _configuration.GetValue("FolderName");
- tenantId = _configuration.GetValue("TenantId");
- applicationId = _configuration.GetValue("ApplicationId");
-}
-```
-
-* Create the `LoadFromOneDrive()` method to load the document from One Drive.
-
-```csharp
-[AcceptVerbs("Post")]
-[HttpPost]
-[EnableCors("AllowAllOrigins")]
-[Route("LoadFromBoxCloud")]
-//Post action for Loading the documents
-
-public async Task LoadFromOneDrive([FromBody] Dictionary jsonObject)
-{
- MemoryStream stream = new MemoryStream();
-
- var config = LoadAppSettings();
- var client = GetAuthenticatedGraphClient(config);
-
- var request = client.Me.Drive.Root.Children.Request();
- string folderIdToSearch = string.Empty;
- var results = await request.GetAsync();
-
- var folder = results.FirstOrDefault(f => f.Name == folderName && f.Folder != null);
- if (folder != null)
- {
- // Save the matching folderId
- folderIdToSearch = folder.Id;
- }
-
- var folderRequest = client.Me.Drive.Items[folderIdToSearch].Children.Request();
- var folderContents = await folderRequest.GetAsync();
-
- string fileIdToDownload = string.Empty;
- var file = folderContents.FirstOrDefault(f => f.File != null && f.Name == objectName);
- if (file != null)
- {
- // Save the matching fileId
- fileIdToDownload = file.Id;
- }
-
- string fileIds = fileIdToDownload;
- var fileRequest = client.Me.Drive.Items[fileIdToDownload].Content.Request();
-
- using (var streamResponse = await fileRequest.GetAsync())
- {
- if (streamResponse != null)
- {
- streamResponse.Seek(0, SeekOrigin.Begin);
- await streamResponse.CopyToAsync(stream);
- }
- }
- WordDocument document = WordDocument.Load(stream, FormatType.Docx);
- string json = Newtonsoft.Json.JsonConvert.SerializeObject(document);
- document.Dispose();
- stream.Close();
- return json;
-}
-```
-
-* Open the `appsettings.json` file in your web service project, Add the following lines below the existing `"AllowedHosts"` configuration
-
-```json
-{
- "Logging": {
- "LogLevel": {
- "Default": "Information",
- "Microsoft.AspNetCore": "Warning"
- }
- },
- "AllowedHosts": "*",
- "TenantId": "Your_Tenant_ID",
- "applApplicationIdicationId": "Your_Application_ID",
- "FolderName": "Your_Folder_Name_To_Access_The_Files_In_Onedrive"
-}
-
-```
-
-N> Replace **Your_Tenent_ID**, **Your_Application_ID**, and **Your_Folder_Name_To_Access_The_Files_In_Onedrive** with your actual tenant ID, application ID, and folder name.
-
-**Step 4:** Modify the index File in the Document Editor sample
-
-In the client-side, the document is returned from the web service is opening using [`open`](../../api/document-editor/#open) method.
-
-{% if page.publishingplatform == "typescript" %}
-
-{% tabs %}
-{% highlight js tabtitle="index.js" %}
-{% include code-snippet/document-editor/open-one-drive/index.ts %}
-{% endhighlight %}
-{% highlight html tabtitle="index.html" %}
-{% include code-snippet/document-editor/open-one-drive/index.html %}
-{% endhighlight %}
-{% endtabs %}
-
-{% elsif page.publishingplatform == "javascript" %}
-
-{% tabs %}
-{% highlight html tabtitle="index.html" %}
-{% include code-snippet/document-editor/open-one-drive/index.html %}
-{% endhighlight %}
-{% endtabs %}
-
-{% endif %}
-
-N> The following NuGet packages are required to use the previous code example
-* **Microsoft.Identity.Client**
-* **Microsoft.Graph**
-* **Microsoft.Extensions.Configuration**
-* **Microsoft.Extensions.Configuration.FileExtensions**
-* **Microsoft.Extensions.Configuration.Json**
-
-You can install these packages using the NuGet Package Manager in Visual Studio or Visual Studio Code.
diff --git a/ej2-javascript/document-editor/overview.md b/ej2-javascript/document-editor/overview.md
deleted file mode 100644
index 6f179415a..000000000
--- a/ej2-javascript/document-editor/overview.md
+++ /dev/null
@@ -1,68 +0,0 @@
----
-layout: post
-title: Overview of ##Platform_Name## Document editor control | Syncfusion
-description: Document editor for ##Platform_Name## is used to create, edit, view and print word documents.
-platform: ej2-javascript
-control: Index
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Overview
-
-The Document Editor component is used to create, edit, view, and print Word documents in web applications. All the user interactions and editing operations that run purely in the client-side provides much faster editing experience to the users.
-
-## Key Features
-
-* [Opens](../document-editor/import) the native `Syncfusion Document Text (*.sfdt)` format documents in the client-side.
-* [Saves the documents](../document-editor/export) in the client-side as `Syncfusion Document Text (*.sfdt)` and `Word document (*.docx)`.
-* Supports document elements like text, [image](../document-editor/image), [table](../document-editor/table), fields, [bookmark](../document-editor/bookmark),[shapes](../document-editor/shapes), [section](../document-editor/section-format), [header and footer](../document-editor/header-footer).
-* Supports the commonly used fields like [hyperlink](../document-editor/link), page number, page count, and table of contents.
-* Supports formats like [text](../document-editor/text-format), [paragraph](../document-editor/paragraph-format), [bullets and numbering](../document-editor/list-format), [table](../document-editor/table-format), [page settings](../document-editor/section-format), etc.
-* Provides support to create, edit, and apply [paragraph and character styles](../document-editor/styles).
-* Provides support to [find and replace](../document-editor/find-and-replace) text within the document.
-* Supports all the common editing and formatting operations along with [undo and redo](../document-editor/history).
-* Provides support to [cut](../document-editor/clipboard#cut), [copy](../document-editor/clipboard#copy), and [paste](../document-editor/clipboard#paste) rich text contents within the component. Also allows pasting simple text to and from other applications.
-* Provides support to insert, and edit [form fields](../document-editor/form-fields).
-* Provides support to insert, and edit [comments](../document-editor/comments).
-* Provides support to track the [inserted and deleted content](../document-editor/track-changes).
-* Provides support to perform [spell checking](../document-editor/spell-check) for any input text
-* Allows user interactions like [zoom](../document-editor/scrolling-zooming#zooming), [scroll](../document-editor/scrolling-zooming), select contents through touch, mouse, and keyboard.
-* Provides intuitive UI options like context menu, [dialogs](../document-editor/dialog), and [navigation pane](../document-editor/find-and-replace#options-pane).
-* [Localizes](../document-editor/global-local) all the static text to any desired language.
-* Allows to create a lightweight Word viewer using module injection to view and [prints](../document-editor/print) Word documents.
-* Provides a [server-side helper library](../document-editor/web-services-overview) to open the Word documents like DOCX, DOC, WordML, RTF, and Text, by converting it to SFDT file format.
-
-## Supported Web platforms
-
-### Other platforms
-
-* [Javascript(ES5)](https://ej2.syncfusion.com/javascript/documentation/document-editor/getting-started/)
-* [Javascript](https://ej2.syncfusion.com/documentation/document-editor/getting-started/)
-* [Angular](https://ej2.syncfusion.com/angular/documentation/document-editor/getting-started/)
-* [React](https://ej2.syncfusion.com/react/documentation/document-editor/getting-started/)
-* [Vue](https://ej2.syncfusion.com/vue/documentation/document-editor/getting-started/)
-* [ASP.NET Core](https://ej2.syncfusion.com/aspnetcore/documentation/document-editor/getting-started-core/)
-* [ASP.NET MVC](https://ej2.syncfusion.com/aspnetmvc/documentation/document-editor/getting-started/)
-* [Blazor](https://blazor.syncfusion.com/documentation/document-editor/getting-started/server-side-application/)
-
-### Supported platforms for server-side dependencies
-
-You can deploy web APIs for server-side dependencies of Document Editor component in the following platforms.
-
-* [ASP.NET Core](../document-editor/web-services/core)
-* [ASP.NET MVC](../document-editor/web-services/mvc)
-* [Java](../document-editor/web-services/java)
-
-To know more about server-side dependencies, refer this [page](../document-editor/web-services-overview).
-
-#### Which operations require server-side interaction
-
-* Open file formats other than SFDT
-* Paste with formatting
-* Restrict editing
-* Spellcheck
-* Save as file formats other than SFDT and DOCX
-
->Note: If you don't require the above functionalities then you can deploy as pure client-side component without any server-side interactions.
\ No newline at end of file
diff --git a/ej2-javascript/document-editor/paragraph-format.md b/ej2-javascript/document-editor/paragraph-format.md
deleted file mode 100644
index 62c009f71..000000000
--- a/ej2-javascript/document-editor/paragraph-format.md
+++ /dev/null
@@ -1,191 +0,0 @@
----
-layout: post
-title: Paragraph format in ##Platform_Name## Document editor control | Syncfusion
-description: Learn here all about Paragraph format in Syncfusion ##Platform_Name## Document editor control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: Paragraph format
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Paragraph format in ##Platform_Name## Document editor control
-
-Document Editor supports various paragraph formatting options such as text alignment, indentation, paragraph spacing, and more.
-
-## Indentation
-
-You can modify the left or right indentation of selected paragraphs using the following sample code.
-
-```ts
-documenteditor.selection.paragraphFormat.leftIndent = 24;
-documenteditor.selection.paragraphFormat.rightIndent = 24;
-```
-
-## Special indentation
-
-You can define special indent for first line of the paragraph using the following sample code.
-
-```ts
-documenteditor.selection.paragraphFormat.firstLineIndent = 24;
-```
-
-## Increase indent
-
-You can increase the left indent of selected paragraphs by a factor of 36 points using the following sample code.
-
-```ts
-documenteditor.editor.increaseIndent()
-```
-
-## Decrease indent
-
-You can decrease the left indent of selected paragraphs by a factor of 36 points using the following sample code.
-
-```ts
-documenteditor.editor.decreaseIndent()
-```
-
-## Text alignment
-
-You can get or set the text alignment of selected paragraphs using the following sample code.
-
-```ts
-documenteditor.selection.paragraphFormat.textAlignment = 'Center' | 'Left' | 'Right' | 'Justify';
-```
-
->Note: Starting from `v19.4.0.x`, the text justification of Document editor component matches alignment of Microsoft Word 2013 and newer versions based on the compatibility mode present in the document. The DOCX document created using Microsoft Word 2013 and newer versions will have the compatibility mode `Word2013` and follows a special behavior in justifying the text. You can retain the text justification behavior like old versions by modifying the compatibility mode as `Word2010`.
-
-```ts
-documenteditor.documentSettings.compatibilityMode = 'Word2010';
-```
-
->Note: The Document editor component assumes the compatibility mode as `Word2013` by default, if it is not defined for a document.
-
-
-
-You can toggle the text alignment of selected paragraphs by specifying a value using the following sample code.
-
-```ts
-documenteditor.editor.toggleTextAlignment('Center' | 'Left' | 'Right' | 'Justify');
-```
-
-## Line spacing and its type
-
-You can define the line spacing and its type for selected paragraphs using the following sample code.
-
-```ts
-documenteditor.selection.paragraphFormat.lineSpacingType = 'AtLeast';
-documenteditor.selection.paragraphFormat.lineSpacing = 6;
-```
-
-## Paragraph spacing
-
-You can define the spacing before or after the paragraph by using the following sample code.
-
-```ts
-documenteditor.selection.paragraphFormat.beforeSpacing = 24;
-documenteditor.selection.paragraphFormat.afterSpacing = 24;
-```
-
-You can also set automatic spacing before and after the paragraph by using the following sample code.
-
-```ts
-documenteditor.selection.paragraphFormat.spaceBeforeAuto = true;
-documenteditor.selection.paragraphFormat.spaceAfterAuto = true;
-```
-
->Note: If auto spacing property is enabled, then value defined in the `beforeSpacing` and `afterSpacing` property will not be considered.
-
-## Pagination properties
-
-You can enable or disable the following pagination properties for the paragraphs in a Word document.
-
-* Widow/Orphan control - whether the first and last lines of the paragraph are to remain on the same page as the rest of the paragraph when paginating the document.
-* Keep with next - whether the specified paragraph remains on the same page as the paragraph that follows it while paginating the document.
-* Keep lines together - whether all lines in the specified paragraphs remain on the same page while paginating the document.
-
-The following example code illustrates how to enable or disable these pagination properties for the selected paragraphs.
-
-```ts
-documenteditor.selection.paragraphFormat.widowControl = false;
-documenteditor.selection.paragraphFormat.keepWithNext = true;
-documenteditor.selection.paragraphFormat.keepLinesTogether = true;
-```
-
-## Paragraph Border
-
-You can apply borders to the paragraphs in a Word document. Using borders, decorate the paragraphs to set them apart from other paragraphs in the document.
-
-The following example code illustrates how to apply box border for the selected paragraphs.
-
-```ts
-// left
-documenteditor.selection.paragraphFormat.borders.left.lineStyle = 'Single';
-documenteditor.selection.paragraphFormat.borders.left.lineWidth = 3;
-documenteditor.selection.paragraphFormat.borders.left.color = "#000000";
-
-//right
-documenteditor.selection.paragraphFormat.borders.right.lineStyle = 'Single';
-documenteditor.selection.paragraphFormat.borders.right.lineWidth = 3;
-documenteditor.selection.paragraphFormat.borders.right.color = "#000000";
-
-//top
-documenteditor.selection.paragraphFormat.borders.top.lineStyle = 'Single';
-documenteditor.selection.paragraphFormat.borders.top.lineWidth = 3;
-documenteditor.selection.paragraphFormat.borders.top.color = "#000000";
-
-//bottom
-documenteditor.selection.paragraphFormat.borders.bottom.lineStyle = 'Single';
-documenteditor.selection.paragraphFormat.borders.bottom.lineWidth = 3;
-documenteditor.selection.paragraphFormat.borders.bottom.color = "#000000";
-```
-
-Note: At present, the Document editor component displays all the border styles as single line. But you can apply any border style and get the proper display in Microsoft Word app when opening the exported Word document.
-
-## Show or Hide Paragraph marks
-
-You can show or hide the hidden formatting symbols like spaces, tab, paragraph marks, and breaks in Document editor component. These marks help identify the start and end of a paragraph and all the hidden formatting symbols in a Word document.
-
-The following example code illustrates how to show or hide paragraph marks.
-
-```ts
-documenteditor.documentEditorSettings.showHiddenMarks = true;
-```
-
-## Toolbar with paragraph formatting options
-
-The following sample demonstrates the paragraph formatting options using a toolbar.
-
-{% if page.publishingplatform == "typescript" %}
-
- {% tabs %}
-{% highlight ts tabtitle="index.ts" %}
-{% include code-snippet/document-editor/paragraph-format-cs1/index.ts %}
-{% endhighlight %}
-{% highlight html tabtitle="index.html" %}
-{% include code-snippet/document-editor/paragraph-format-cs1/index.html %}
-{% endhighlight %}
-{% endtabs %}
-
-{% previewsample "page.domainurl/code-snippet/document-editor/paragraph-format-cs1" %}
-
-{% elsif page.publishingplatform == "javascript" %}
-
-{% tabs %}
-{% highlight js tabtitle="index.js" %}
-{% include code-snippet/document-editor/paragraph-format-cs1/index.js %}
-{% endhighlight %}
-{% highlight html tabtitle="index.html" %}
-{% include code-snippet/document-editor/paragraph-format-cs1/index.html %}
-{% endhighlight %}
-{% endtabs %}
-
-{% previewsample "page.domainurl/code-snippet/document-editor/paragraph-format-cs1" %}
-{% endif %}
-
-## See Also
-
-* [Feature modules](../document-editor/feature-module)
-* [Paragraph dialog](../document-editor/dialog#paragraph-dialog)
-* [Keyboard shortcuts](../document-editor/keyboard-shortcut#paragraph-formatting)
diff --git a/ej2-javascript/document-editor/print.md b/ej2-javascript/document-editor/print.md
deleted file mode 100644
index 09be7d95f..000000000
--- a/ej2-javascript/document-editor/print.md
+++ /dev/null
@@ -1,171 +0,0 @@
----
-layout: post
-title: Print in ##Platform_Name## Document editor control | Syncfusion
-description: Learn here all about Print in Syncfusion ##Platform_Name## Document editor control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: Print
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Print in ##Platform_Name## Document editor control
-
-To print the document, use the [`print`](../api/document-editor#print) method from Document Editor instance.
-
-Refer to the following example for showing a document and print it.
-
-{% if page.publishingplatform == "typescript" %}
-
- {% tabs %}
-{% highlight ts tabtitle="index.ts" %}
-{% include code-snippet/document-editor/print-cs1/index.ts %}
-{% endhighlight %}
-{% highlight html tabtitle="index.html" %}
-{% include code-snippet/document-editor/print-cs1/index.html %}
-{% endhighlight %}
-{% endtabs %}
-
-{% previewsample "page.domainurl/code-snippet/document-editor/print-cs1" %}
-
-{% elsif page.publishingplatform == "javascript" %}
-
-{% tabs %}
-{% highlight js tabtitle="index.js" %}
-{% include code-snippet/document-editor/print-cs1/index.js %}
-{% endhighlight %}
-{% highlight html tabtitle="index.html" %}
-{% include code-snippet/document-editor/print-cs1/index.html %}
-{% endhighlight %}
-{% endtabs %}
-
-{% previewsample "page.domainurl/code-snippet/document-editor/print-cs1" %}
-{% endif %}
-
-Refer to the following example for creating a document and print it.
-
-{% if page.publishingplatform == "typescript" %}
-
- {% tabs %}
-{% highlight ts tabtitle="index.ts" %}
-{% include code-snippet/document-editor/print-cs2/index.ts %}
-{% endhighlight %}
-{% highlight html tabtitle="index.html" %}
-{% include code-snippet/document-editor/print-cs2/index.html %}
-{% endhighlight %}
-{% endtabs %}
-
-{% previewsample "page.domainurl/code-snippet/document-editor/print-cs2" %}
-
-{% elsif page.publishingplatform == "javascript" %}
-
-{% tabs %}
-{% highlight js tabtitle="index.js" %}
-{% include code-snippet/document-editor/print-cs2/index.js %}
-{% endhighlight %}
-{% highlight html tabtitle="index.html" %}
-{% include code-snippet/document-editor/print-cs2/index.html %}
-{% endhighlight %}
-{% endtabs %}
-
-{% previewsample "page.domainurl/code-snippet/document-editor/print-cs2" %}
-{% endif %}
-
-## Improve print quality
-
-Document editor provides an option to improve the print quality using [`printDevicePixelRatio`](../api/document-editor/documentEditorSettingsModel/#printdevicepixelratio) in Document editor settings. Document editor using canvas approach to render content. Then, canvas are converted to image and it process for print. Using printDevicePixelRatio API, you can increase the image quality based on your requirement.
-
-The following example code illustrates how to improve the print quality in Document editor container.
-
-```ts
-let container: DocumentEditorContainer = new DocumentEditorContainer({ enableToolbar: true, height: '590px',
- documentEditorSettings: {
- printDevicePixelRatio: 2
- }
- });
- DocumentEditorContainer.Inject(Toolbar);
- container.serviceUrl = 'https://services.syncfusion.com/js/production/api/documenteditor/';
- container.appendTo('#container');
-```
-> The Web API hosted link `https://services.syncfusion.com/js/production/api/documenteditor/` utilized in the Document Editor's serviceUrl property is intended solely for demonstration and evaluation purposes. For production deployment, please host your own web service with your required server configurations. You can refer and reuse the [GitHub Web Service example](https://github.com/SyncfusionExamples/EJ2-DocumentEditor-WebServices) or [Docker image](https://hub.docker.com/r/syncfusion/word-processor-server) for hosting your own web service and use for the serviceUrl property.
-
->Note: By default, printDevicePixelRatio value is 1
-
-## Print using window object
-
-You can print the document in Document Editor by passing the window instance. This is useful to implement print in third party frameworks such as electron, where the window instance will not be available. Refer to the following example.
-
-```ts
-import { DocumentEditor, Print } from '@syncfusion/ej2-documenteditor';
-
-DocumentEditor.Inject(Print);
-
-let documenteditor: DocumentEditor = new DocumentEditor({
- enablePrint: true, height: '370px'
-});
-documenteditor.appendTo('#DocumentEditor');
-documenteditor.print(window);
-```
-
-## Page setup
-
-Some of the print options cannot be configured using JavaScript. Refer to the following links to learn more about the browser page setup:
-
-* [`Chrome`](https://support.google.com/chrome/answer/1069693?hl=en&visit_id=1-636335333734668335-3165046395&rd=1/)
-* [`Firefox`](https://support.mozilla.org/en-US/kb/how-print-web-pages-firefox/)
-
-However, you can customize margins, paper, and layout options by modifying the section format properties using page setup dialog
-
-```ts
-import { DocumentEditor, Print, PageSetupDialog, Editor, Selection, EditorHistory } from '@syncfusion/ej2-documenteditor';
-
-DocumentEditor.Inject(Print, PageSetupDialog, Editor, Selection, EditorHistory);
-
-let documenteditor: DocumentEditor = new DocumentEditor({
- isReadOnly: false,
- enablePrint: true,
- enablePageSetupDialog: true,
- enableEditor: true,
- enableSelection: true,
- enableEditorHistory: true,
- height: '370px'
-});
-documenteditor.appendTo('#DocumentEditor');
-documenteditor.showPageSetupDialog();
-```
-
-By customizing margins, papers, and layouts, the layout of the document will be changed in Document Editor. To modify these options during print operation, serialize the document as SFDT using the [`serialize`](../api/document-editor#serialize) method in Document Editor instance and open the SFDT data in another instance of Document Editor in separate window.
-
-The following example shows how to customize layout options only for printing.
-
-{% if page.publishingplatform == "typescript" %}
-
- {% tabs %}
-{% highlight ts tabtitle="index.ts" %}
-{% include code-snippet/document-editor/print-cs3/index.ts %}
-{% endhighlight %}
-{% highlight html tabtitle="index.html" %}
-{% include code-snippet/document-editor/print-cs3/index.html %}
-{% endhighlight %}
-{% endtabs %}
-
-{% previewsample "page.domainurl/code-snippet/document-editor/print-cs3" %}
-
-{% elsif page.publishingplatform == "javascript" %}
-
-{% tabs %}
-{% highlight js tabtitle="index.js" %}
-{% include code-snippet/document-editor/print-cs3/index.js %}
-{% endhighlight %}
-{% highlight html tabtitle="index.html" %}
-{% include code-snippet/document-editor/print-cs3/index.html %}
-{% endhighlight %}
-{% endtabs %}
-
-{% previewsample "page.domainurl/code-snippet/document-editor/print-cs3" %}
-{% endif %}
-
-## See Also
-
-* [Feature modules](../document-editor/feature-module/)
-* [Page Setup dialog](../document-editor/dialog#page-setup-dialog)
diff --git a/ej2-javascript/document-editor/r-t-l.md b/ej2-javascript/document-editor/r-t-l.md
deleted file mode 100644
index 93deacf18..000000000
--- a/ej2-javascript/document-editor/r-t-l.md
+++ /dev/null
@@ -1,41 +0,0 @@
----
-layout: post
-title: R t l in ##Platform_Name## Document editor control | Syncfusion
-description: Learn here all about R t l in Syncfusion ##Platform_Name## Document editor control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: R t l
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# R t l in ##Platform_Name## Document editor control
-
-Document Editor provides RTL (right-to-left) support. This can be enabled using the “enableRtl” property.
-
-{% if page.publishingplatform == "typescript" %}
-
- {% tabs %}
-{% highlight ts tabtitle="index.ts" %}
-{% include code-snippet/document-editor/rtl-cs1/index.ts %}
-{% endhighlight %}
-{% highlight html tabtitle="index.html" %}
-{% include code-snippet/document-editor/rtl-cs1/index.html %}
-{% endhighlight %}
-{% endtabs %}
-
-{% previewsample "page.domainurl/code-snippet/document-editor/rtl-cs1" %}
-
-{% elsif page.publishingplatform == "javascript" %}
-
-{% tabs %}
-{% highlight js tabtitle="index.js" %}
-{% include code-snippet/document-editor/rtl-cs1/index.js %}
-{% endhighlight %}
-{% highlight html tabtitle="index.html" %}
-{% include code-snippet/document-editor/rtl-cs1/index.html %}
-{% endhighlight %}
-{% endtabs %}
-
-{% previewsample "page.domainurl/code-snippet/document-editor/rtl-cs1" %}
-{% endif %}
\ No newline at end of file
diff --git a/ej2-javascript/document-editor/restrict-editing.md b/ej2-javascript/document-editor/restrict-editing.md
deleted file mode 100644
index 23b20a8e4..000000000
--- a/ej2-javascript/document-editor/restrict-editing.md
+++ /dev/null
@@ -1,79 +0,0 @@
----
-layout: post
-title: Restrict editing in ##Platform_Name## Document Editor Control | Syncfusion
-description: Learn here all about Restrict editing in Syncfusion ##Platform_Name## Document Editor control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: Restrict editing
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Restrict Editing in ##Platform_Name## Document Editor Control
-
-Document Editor provides support to restrict editing. When the protected document includes range permission, then unique user or user group only authorized to edit separate text area.
-
-## Set current user
-
-You can use the [`currentUser`](../api/document-editor#currentuser) property to authorize the current document user by name, email, or user group name.
-
-The following code shows how to set currentUser
-
-```ts
-documentEditor.currentUser = 'engineer@mycompany.com';
-```
-
-## Highlighting the text area
-
-You can highlight the editable region of the current user using the [`userColor`](../api/document-editor#usercolor) property.
-
-The following code shows how to set userColor.
-
-```ts
-documentEditor.userColor = '#fff000';
-```
-
-## Restrict Editing Pane
-
-Restrict Editing Pane provides the following options to manage the document:
-* To apply formatting restrictions to the current document, select the allow formatting check box.
-* To apply editing restrictions to the current document, select the read only check box.
-* To add users to the current document, select more users option and add user from the popup dialog.
-* To include range permission to the current document, select parts of the document and choose users who are allowed to freely edit them from the listed check box.
-* To apply the chosen editing restrictions, click the **YES,START ENFORCING PROTECTION** button. A dialog box displays asking for a password to protect.
-* To stop protection, select **STOP PROTECTION** button. A dialog box displays asking for a password to stop protection.
-
-The following code shows Restrict Editing Pane. To unprotect the document, use password '123'.
-
-{% if page.publishingplatform == "typescript" %}
-
- {% tabs %}
-{% highlight ts tabtitle="index.ts" %}
-{% include code-snippet/document-editor/data-protection-cs2/index.ts %}
-{% endhighlight %}
-{% highlight html tabtitle="index.html" %}
-{% include code-snippet/document-editor/data-protection-cs2/index.html %}
-{% endhighlight %}
-{% endtabs %}
-
-{% previewsample "page.domainurl/code-snippet/document-editor/data-protection-cs2" %}
-
-{% elsif page.publishingplatform == "javascript" %}
-
-{% tabs %}
-{% highlight js tabtitle="index.js" %}
-{% include code-snippet/document-editor/data-protection-cs2/index.js %}
-{% endhighlight %}
-{% highlight html tabtitle="index.html" %}
-{% include code-snippet/document-editor/data-protection-cs2/index.html %}
-{% endhighlight %}
-{% endtabs %}
-
-{% previewsample "page.domainurl/code-snippet/document-editor/data-protection-cs2" %}
-{% endif %}
-
-### See Also
-
-* [How to protect the document in form filling mode](../document-editor/form-fields/#protect-the-document-in-form-filling-mode)
-* [How to protect the document in comments only mode](../document-editor/comments/#protect-the-document-in-comments-only-mode)
-* [How to protect the document in track changes only mode](../document-editor/track-changes/#protect-the-document-in-track-changes-only-mode)
\ No newline at end of file
diff --git a/ej2-javascript/document-editor/saving-documents/aws-s3-bucket.md b/ej2-javascript/document-editor/saving-documents/aws-s3-bucket.md
deleted file mode 100644
index 42313c12f..000000000
--- a/ej2-javascript/document-editor/saving-documents/aws-s3-bucket.md
+++ /dev/null
@@ -1,163 +0,0 @@
----
-layout: post
-title: Save document to AWS S3 in ##Platform_Name## Document editor control | Syncfusion
-description: Learn about how to Save document to AWS S3 in ##Platform_Name## Document editor of Syncfusion Essential JS 2 and more details.
-platform: ej2-javascript
-control: Save document to AWS S3
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Save document to AWS S3
-
-To save a document to AWS S3, you can follow the steps below
-
-{% if page.publishingplatform == "typescript" %}
-
-**Step 1:** Create a Simple Document Editor sample in TypeScript
-
-Follow the instructions provided in this [link](../../document-editor/getting-started) to create a simple Document Editor sample in Typescript. This will give you a basic setup of the Document Editor component.
-
-{% elsif page.publishingplatform == "javascript" %}
-
-**Step 1:** Create a Simple Document Editor sample in JavaScript
-
-Follow the instructions provided in this [link](../../document-editor/getting-started) to create a simple Document Editor sample in Javascript. This will give you a basic setup of the Document Editor component.
-
-{% endif %}
-
-**Step 2:** Modify the `DocumentEditorController.cs` File in the Web Service Project
-
-{% if page.publishingplatform == "typescript" %}
-
-* Create a web service project in .NET Core 3.0 or above. You can refer to this [link](../../document-editor/web-services-overview) for instructions on how to create a web service project.
-
-{% elsif page.publishingplatform == "javascript" %}
-
-* Create a web service project in .NET Core 3.0 or above. You can refer to this [link](../../document-editor/web-services-overview) for instructions on how to create a web service project.
-
-{% endif %}
-
-* Open the `DocumentEditorController.cs` file in your web service project.
-
-* Import the required namespaces at the top of the file:
-
-```csharp
-using System.IO;
-using Amazon;
-using Amazon.S3;
-using Amazon.S3.Model;
-```
-
-* Add the following private fields and constructor parameters to the `DocumentEditorController` class, In the constructor, assign the values from the configuration to the corresponding fields
-
-```csharp
-private IConfiguration _configuration;
-public readonly string _accessKey;
-public readonly string _secretKey;
-public readonly string _bucketName;
-
-public DocumentEditorController(IWebHostEnvironment hostingEnvironment, IMemoryCache cache, IConfiguration configuration)
-{
- _hostingEnvironment = hostingEnvironment;
- _cache = cache;
- _configuration = configuration;
- _accessKey = _configuration.GetValue("AccessKey");
- _secretKey = _configuration.GetValue("SecretKey");
- _bucketName = _configuration.GetValue("BucketName");
-}
-```
-
-* Create the `SaveToS3()` method to save the document to AWS S3 bucket
-
-```csharp
-
-[AcceptVerbs("Post")]
-[HttpPost]
-[EnableCors("AllowAllOrigins")]
-[Route("SaveToS3")]
-//Post action for save the document to AWS S3
-
-public void SaveToS3(IFormCollection data)
-{
- if (data.Files.Count == 0)
- return;
- RegionEndpoint bucketRegion = RegionEndpoint.USEast1;
- // Configure the AWS SDK with your access credentials and other settings
- var s3Client = new AmazonS3Client(_accessKey, _secretKey, bucketRegion);
- string bucketName = _bucketName;
- IFormFile file = data.Files[0];
- string documentName = this.GetValue(data, "documentName");
- string result = Path.GetFileNameWithoutExtension(documentName);
- Stream stream = new MemoryStream();
- file.CopyTo(stream);
- var request = new PutObjectRequest
- {
- BucketName = bucketName,
- Key = result + "_downloaded.docx",
- InputStream = stream,
- };
- // Upload the document to AWS S3
- var response = s3Client.PutObjectAsync(request).Result;
-}
-
-private string GetValue(IFormCollection data, string key)
-{
- if (data.ContainsKey(key))
- {
- string[] values = data[key];
- if (values.Length > 0)
- {
- return values[0];
- }
- }
- return "";
-}
-```
-
-* Open the `appsettings.json` file in your web service project, Add the following lines below the existing `"AllowedHosts"` configuration
-
-```json
-{
- "Logging": {
- "LogLevel": {
- "Default": "Information",
- "Microsoft.AspNetCore": "Warning"
- }
- },
- "AllowedHosts": "*",
- "AccessKey": "Your Access Key from AWS S3",
- "SecretKey": "Your Secret Key from AWS S3",
- "BucketName": "Your Bucket name from AWS S3"
-}
-```
-
-N> Replace **Your Access Key from AWS S3**, **Your Secret Key from AWS S3**, and **Your Bucket name from AWS S3** with your actual AWS access key, secret key and bucket name
-
-**Step 3:** Modify the index File in the Document Editor sample
-
-In the client-side, to export the document into blob the document using [`saveAsBlob`](../../api/document-editor/#saveAsBlob) and sent to server-side for saving in AWS S3 Bucket.
-
-{% if page.publishingplatform == "typescript" %}
-
-{% tabs %}
-{% highlight js tabtitle="index.js" %}
-{% include code-snippet/document-editor/save-aws-s3/index.ts %}
-{% endhighlight %}
-{% highlight html tabtitle="index.html" %}
-{% include code-snippet/document-editor/save-aws-s3/index.html %}
-{% endhighlight %}
-{% endtabs %}
-
-{% elsif page.publishingplatform == "javascript" %}
-
-{% tabs %}
-{% highlight html tabtitle="index.html" %}
-{% include code-snippet/document-editor/save-aws-s3/index.html %}
-{% endhighlight %}
-{% endtabs %}
-
-{% endif %}
-
-N> The **AWSSDK.S3** NuGet package must be installed in your application to use the previous code example.
diff --git a/ej2-javascript/document-editor/saving-documents/azure-blob-storage.md b/ej2-javascript/document-editor/saving-documents/azure-blob-storage.md
deleted file mode 100644
index ec371e6a2..000000000
--- a/ej2-javascript/document-editor/saving-documents/azure-blob-storage.md
+++ /dev/null
@@ -1,148 +0,0 @@
----
-layout: post
-title: Save document to Azure Blob Storage in ##Platform_Name## Document editor control | Syncfusion
-description: Learn about how to Save document to Azure Blob Storage in ##Platform_Name## Document editor control of Syncfusion Essential JS 2 and more details.
-platform: ej2-javascript
-control: Save document to Azure Blob Storage
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Save document to Azure Blob Storage
-
-To save a document to Azure Blob Storage, you can follow the steps below
-
-{% if page.publishingplatform == "typescript" %}
-
-**Step 1:** Create a Simple Document Editor sample in TypeScript
-
-Follow the instructions provided in this [link](../../document-editor/getting-started) to create a simple Document Editor sample in Typescript. This will give you a basic setup of the Document Editor component.
-
-{% elsif page.publishingplatform == "javascript" %}
-
-**Step 1:** Create a Simple Document Editor sample in JavaScript
-
-Follow the instructions provided in this [link](../../document-editor/getting-started) to create a simple Document Editor sample in Javascript. This will give you a basic setup of the Document Editor component.
-
-{% endif %}
-
-**Step 2:** Modify the `DocumentEditorController.cs` File in the Web Service Project
-
-* Create a web service project in .NET Core 3.0 or above. You can refer to this [link](../../document-editor/web-services-overview) for instructions on how to create a web service project.
-
-* Open the `DocumentEditorController.cs` file in your web service project.
-
-* Import the required namespaces at the top of the file:
-
-```csharp
-using System.IO;
-using Azure.Storage.Blobs;
-using Azure.Storage.Blobs.Specialized;
-```
-
-* Add the following private fields and constructor parameters to the `DocumentEditorController` class, In the constructor, assign the values from the configuration to the corresponding fields
-
-```csharp
-private readonly string _storageConnectionString;
-private readonly string _storageContainerName;
-private readonly ILogger _logger;
-
-public DocumentEditorController(IConfiguration configuration, ILogger logger)
-{
- _storageConnectionString = configuration.GetValue("connectionString");
- _storageContainerName = configuration.GetValue("containerName");
- _logger = logger;
-}
-```
-
-* Create then 'SaveToAzure' method to save the downloaded documents to Azure Blob Storage container
-
-```csharp
-
-[HttpPost("SaveToAzure")]
-[Microsoft.AspNetCore.Cors.EnableCors("MyPolicy")]
-[Route("[controller]/SaveToAzure")]
-//Post action for downloading the documents
-
-public void Download(IFormCollection data)
-{
- if (data.Files.Count == 0)
- return;
-
- BlobServiceClient blobServiceClient = new BlobServiceClient(_storageConnectionString);
- BlobContainerClient containerClient = blobServiceClient.GetBlobContainerClient(_storageContainerName);
-
- IFormFile file = data.Files[0];
- string documentName = this.GetValue(data, "documentName");
- string result = Path.GetFileNameWithoutExtension(documentName);
-
- // Get a reference to the blob
- BlobClient blobClient = containerClient.GetBlobClient(result + "_downloaded.docx");
-
- Stream stream = new MemoryStream();
- file.CopyTo(stream);
-
- // Upload the document to Azure Blob Storage
- blobClient.Upload(stream, true);
-}
-
-private string GetValue(IFormCollection data, string key)
-{
- if (data.ContainsKey(key))
- {
- string[] values = data[key];
- if (values.Length > 0)
- {
- return values[0];
- }
- }
- return "";
-}
-
-```
-
-* Open the `appsettings.json` file in your web service project, Add the following lines below the existing `"AllowedHosts"` configuration
-
-```json
-{
- "Logging": {
- "LogLevel": {
- "Default": "Information",
- "Microsoft.AspNetCore": "Warning"
- }
- },
- "AllowedHosts": "*",
- "connectionString": "*Your Connection string from Azure*",
- "containerName": "*Your container name in Azure*"
-}
-```
-
-N> Replace **Your Connection string from Azure** with the actual connection string for your Azure Blob Storage account and **Your container name in Azure** with the actual container name
-
-**Step 3:** Modify the index File in the Document Editor sample
-
-In the client-side, to export the document into blob the document using [`saveAsBlob`](../../api/document-editor/#saveAsBlob) and sent to server-side for saving in Azure Blob Storage container.
-
-{% if page.publishingplatform == "typescript" %}
-
-{% tabs %}
-{% highlight js tabtitle="index.js" %}
-{% include code-snippet/document-editor/save-azure-blob/index.ts %}
-{% endhighlight %}
-{% highlight html tabtitle="index.html" %}
-{% include code-snippet/document-editor/save-azure-blob/index.html %}
-{% endhighlight %}
-{% endtabs %}
-
-{% elsif page.publishingplatform == "javascript" %}
-
-{% tabs %}
-{% highlight html tabtitle="index.html" %}
-{% include code-snippet/document-editor/save-azure-blob/index.html %}
-{% endhighlight %}
-{% endtabs %}
-
-{% endif %}
-
-N> The **Azure.Storage.Blobs** NuGet package must be installed in your application to use the previous code example.
diff --git a/ej2-javascript/document-editor/saving-documents/box-cloud-file-storage.md b/ej2-javascript/document-editor/saving-documents/box-cloud-file-storage.md
deleted file mode 100644
index 138d66ad6..000000000
--- a/ej2-javascript/document-editor/saving-documents/box-cloud-file-storage.md
+++ /dev/null
@@ -1,172 +0,0 @@
----
-layout: post
-title: Save document to Box cloud file storage in ##Platform_Name## Document editor control | Syncfusion
-description: Learn about how to Save document to Box cloud file storage in ##Platform_Name## Document editor control of Syncfusion Essential JS 2 and more details.
-platform: ej2-javascript
-control: Save document to Box cloud file storage
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Save document to Box cloud file storage
-
-To save a document to Box cloud file storage, you can follow the steps below
-
-**Step 1:** Set up a Box developer account and create a Box application
-
-To access Box storage programmatically, you'll need a developer account with Box. Go to the [Box Developer Console](https://developer.box.com/), sign in or create a new account, and then create a new Box application. This application will provide you with the necessary credentials Client ID and Client Secret to authenticate and access Box APIs. Before accessing files, you need to authenticate your application to access your Box account. Box API supports `OAuth 2.0 authentication` for this purpose.
-
-{% if page.publishingplatform == "typescript" %}
-
-**Step 2:** Create a Simple Document Editor sample in TypeScript
-
-Follow the instructions provided in this [link](../../document-editor/getting-started) to create a simple Document Editor sample in Typescript. This will give you a basic setup of the Document Editor component.
-
-{% elsif page.publishingplatform == "javascript" %}
-
-**Step 2:** Create a Simple Document Editor sample in JavaScript
-
-Follow the instructions provided in this [link](../../document-editor/getting-started) to create a simple Document Editor sample in Javascript. This will give you a basic setup of the Document Editor component.
-
-{% endif %}
-
-**Step 3:** Modify the `DocumentEditorController.cs` File in the Web Service Project
-
-{% if page.publishingplatform == "typescript" %}
-
-* Create a web service project in .NET Core 3.0 or above. You can refer to this [link](../../document-editor/web-services-overview) for instructions on how to create a web service project.
-
-{% elsif page.publishingplatform == "javascript" %}
-
-* Create a web service project in .NET Core 3.0 or above. You can refer to this [link](../../document-editor/web-services-overview) for instructions on how to create a web service project.
-
-{% endif %}
-
-* Open the `DocumentEditorController.cs` file in your web service project.
-
-* Import the required namespaces at the top of the file:
-
-```csharp
-using Box.V2;
-using Box.V2.Auth;
-using Box.V2.Config;
-using Box.V2.Models;
-```
-
-* Add the following private fields and constructor parameters to the `DocumentEditorController` class, In the constructor, assign the values from the configuration to the corresponding fields
-
-```csharp
-private IConfiguration _configuration;
-public readonly string _accessToken;
-public readonly string _clientID;
-public readonly string _clientSecret;
-public readonly string _folderID;
-
-public DocumentEditorController(IWebHostEnvironment hostingEnvironment, IMemoryCache cache, IConfiguration configuration)
-{
- _hostingEnvironment = hostingEnvironment;
- _cache = cache;
- _configuration = configuration;
- _accessToken = _configuration.GetValue("AccessToken");
- _clientID = _configuration.GetValue("ClientID");
- _clientSecret = _configuration.GetValue("ClientSecret");
- _folderID = _configuration.GetValue("FolderID");
-}
-```
-
-* Create the `SaveToBoxCloud()` method to save the downloaded document to Box cloud file storage bucket
-
-```csharp
-[AcceptVerbs("Post")]
-[HttpPost]
-[EnableCors("AllowAllOrigins")]
-[Route("SaveToBoxCloud")]
-//Post action for downloading the document
-
-public void SaveToBoxCloud(IFormCollection data)
-{
- if (data.Files.Count == 0)
- return;
-
- IFormFile file = data.Files[0];
- string documentName = this.GetValue(data, "documentName");
- string result = Path.GetFileNameWithoutExtension(documentName);
-
- // Initialize the Box API client with your authentication credentials
- var auth = new OAuthSession(_accessToken, "YOUR_REFRESH_TOKEN", 3600, "bearer");
- var config = new BoxConfigBuilder(_clientID, _clientSecret, new Uri("http://boxsdk")).Build();
- var client = new BoxClient(config, auth);
-
- var fileRequest = new BoxFileRequest
- {
- Name = result + "_downloaded.docx",
- Parent = new BoxFolderRequest { Id = _folderID },
- };
-
- Stream stream = new MemoryStream();
- file.CopyTo(stream);
-
- var boxFile = await client.FilesManager.UploadAsync(fileRequest, stream);
-}
-
-private string GetValue(IFormCollection data, string key)
-{
- if (data.ContainsKey(key))
- {
- string[] values = data[key];
- if (values.Length > 0)
- {
- return values[0];
- }
- }
- return "";
-}
-```
-
-* Open the `appsettings.json` file in your web service project, Add the following lines below the existing `"AllowedHosts"` configuration
-
-```json
-{
- "Logging": {
- "LogLevel": {
- "Default": "Information",
- "Microsoft.AspNetCore": "Warning"
- }
- },
- "AllowedHosts": "*",
- "AccessToken": "Your_Box_Storage_Access_Token",
- "FolderID": "Your_Folder_ID",
- "ClientID": "Your_Box_Storage_ClientID",
- "ClientSecret": "Your_Box_Storage_ClientSecret"
-}
-```
-
-N> replace **Your_Box_Storage_Access_Token** with your actual box access token, and **Your_Folder_ID** with the ID of the folder in your box storage where you want to perform specific operations. Remember to use your valid box API credentials, as **Your_Box_Storage_ClientID** and **Your_Box_Storage_ClientSecret"** are placeholders for your application's API key and secret.
-
-**Step 4:** Modify the index File in the Document Editor sample
-
-In the client-side, to export the document into blob the document using [`saveAsBlob`](../../api/document-editor/#saveAsBlob) and sent to server-side for saving in Box cloud file storage.
-
-{% if page.publishingplatform == "typescript" %}
-
-{% tabs %}
-{% highlight js tabtitle="index.js" %}
-{% include code-snippet/document-editor/save-box-cloud-file-storage/index.ts %}
-{% endhighlight %}
-{% highlight html tabtitle="index.html" %}
-{% include code-snippet/document-editor/save-box-cloud-file-storage/index.html %}
-{% endhighlight %}
-{% endtabs %}
-
-{% elsif page.publishingplatform == "javascript" %}
-
-{% tabs %}
-{% highlight html tabtitle="index.html" %}
-{% include code-snippet/document-editor/save-box-cloud-file-storage/index.html %}
-{% endhighlight %}
-{% endtabs %}
-
-{% endif %}
-
-N> The **Box.V2.Core** NuGet package must be installed in your application to use the previous code example.
diff --git a/ej2-javascript/document-editor/saving-documents/dropbox-cloud-file-storage.md b/ej2-javascript/document-editor/saving-documents/dropbox-cloud-file-storage.md
deleted file mode 100644
index a223fd2a7..000000000
--- a/ej2-javascript/document-editor/saving-documents/dropbox-cloud-file-storage.md
+++ /dev/null
@@ -1,164 +0,0 @@
----
-layout: post
-title: Save document to Dropbox cloud file storage in ##Platform_Name## Document editor control | Syncfusion
-description: Learn about how to Save document to Dropbox cloud file storage in ##Platform_Name## Document editor control of Syncfusion Essential JS 2 and more details.
-platform: ej2-javascript
-control: Save document to Dropbox cloud file storage
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Save document to Dropbox cloud file storage
-
-To save a document to Dropbox cloud file storage, you can follow the steps below
-
-**Step 1:** Create a Dropbox API
-
-To create a Dropbox API App, you should follow the official documentation provided by Dropbox [link](https://www.dropbox.com/developers/documentation/dotnet#tutorial). The process involves visiting the Dropbox Developer website and using their App Console to set up your API app. This app will allow you to interact with Dropbox programmatically, enabling secure access to files and data.
-
-{% if page.publishingplatform == "typescript" %}
-
-**Step 2:** Create a Simple Document Editor sample in TypeScript
-
-Follow the instructions provided in this [link](../../document-editor/getting-started) to create a simple Document Editor sample in Typescript. This will give you a basic setup of the Document Editor component.
-
-{% elsif page.publishingplatform == "javascript" %}
-
-**Step 2:** Create a Simple Document Editor sample in JavaScript
-
-Follow the instructions provided in this [link](../../document-editor/getting-started) to create a simple Document Editor sample in Javascript. This will give you a basic setup of the Document Editor component.
-
-{% endif %}
-
-**Step 3:** Modify the `DocumentEditorController.cs` File in the Web Service Project
-
-{% if page.publishingplatform == "typescript" %}
-
-* Create a web service project in .NET Core 3.0 or above. You can refer to this [link](../../document-editor/web-services-overview) for instructions on how to create a web service project.
-
-{% elsif page.publishingplatform == "javascript" %}
-
-* Create a web service project in .NET Core 3.0 or above. You can refer to this [link](../../document-editor/web-services-overview) for instructions on how to create a web service project.
-
-{% endif %}
-
-* Open the `DocumentEditorController.cs` file in your web service project.
-
-* Import the required namespaces at the top of the file:
-
-```csharp
-using System.IO;
-using Dropbox.Api;
-using Dropbox.Api.Files;
-```
-
-* Add the following private fields and constructor parameters to the `DocumentEditorController` class, In the constructor, assign the values from the configuration to the corresponding fields
-
-```csharp
-private IConfiguration _configuration;
-public readonly string _accessToken;
-public readonly string _folderName;
-
-public DocumentEditorController(IWebHostEnvironment hostingEnvironment, IMemoryCache cache, IConfiguration configuration)
-{
- _hostingEnvironment = hostingEnvironment;
- _cache = cache;
- _configuration = configuration;
- _accessToken = _configuration.GetValue("AccessToken");
- _folderName = _configuration.GetValue("FolderName");
-}
-```
-
-* Create the `SaveToDropBox()` method to save the downloaded document to Dropbox cloud file storage bucket
-
-```csharp
-
-[AcceptVerbs("Post")]
-[HttpPost]
-[EnableCors("AllowAllOrigins")]
-[Route("SaveToDropBox")]
-//Post action for downloading the document
-
-public void SaveToDropBox(IFormCollection data)
-{
- if (data.Files.Count == 0)
- return;
-
- IFormFile file = data.Files[0];
- string documentName = this.GetValue(data, "documentName");
- string result = Path.GetFileNameWithoutExtension(documentName);
- string fileName = result + "_downloaded.docx";
-
- using (var dropBox = new DropboxClient(_accessToken))
- {
- Stream stream = new MemoryStream();
- file.CopyTo(stream);
-
- // Upload the document to Dropbox
- var uploadedFile = await dropBox.Files.UploadAsync(
- _folderName + "/" + fileName,
- WriteMode.Overwrite.Instance,
- body: stream
- );
- }
-}
-
-private string GetValue(IFormCollection data, string key)
-{
- if (data.ContainsKey(key))
- {
- string[] values = data[key];
- if (values.Length > 0)
- {
- return values[0];
- }
- }
- return "";
-}
-```
-
-* Open the `appsettings.json` file in your web service project, Add the following lines below the existing `"AllowedHosts"` configuration
-
-```json
-{
- "Logging": {
- "LogLevel": {
- "Default": "Information",
- "Microsoft.AspNetCore": "Warning"
- }
- },
- "AllowedHosts": "*",
- "AccessToken": "Your_Dropbox_Access_Token",
- "FolderName": "Your_Folder_Name"
-}
-```
-
-N> Replace **Your_Dropbox_Access_Token** with your actual Dropbox access token and **Your_Folder_Name** with your folder name.
-
-**Step 4:** Modify the index File in the Document Editor sample
-
-In the client-side, to export the document into blob the document using [`saveAsBlob`](../../api/document-editor/#saveAsBlob) and sent to server-side for saving in Dropbox cloud file storage.
-
-{% if page.publishingplatform == "typescript" %}
-
-{% tabs %}
-{% highlight js tabtitle="index.js" %}
-{% include code-snippet/document-editor/save-dropbox-cloud-file-storage/index.ts %}
-{% endhighlight %}
-{% highlight html tabtitle="index.html" %}
-{% include code-snippet/document-editor/save-dropbox-cloud-file-storage/index.html %}
-{% endhighlight %}
-{% endtabs %}
-
-{% elsif page.publishingplatform == "javascript" %}
-
-{% tabs %}
-{% highlight html tabtitle="index.html" %}
-{% include code-snippet/document-editor/save-dropbox-cloud-file-storage/index.html %}
-{% endhighlight %}
-{% endtabs %}
-
-{% endif %}
-
-N> The **Dropbox.Api** NuGet package must be installed in your application to use the previous code example.
diff --git a/ej2-javascript/document-editor/saving-documents/google-cloud-storage.md b/ej2-javascript/document-editor/saving-documents/google-cloud-storage.md
deleted file mode 100644
index cccf0b650..000000000
--- a/ej2-javascript/document-editor/saving-documents/google-cloud-storage.md
+++ /dev/null
@@ -1,167 +0,0 @@
----
-layout: post
-title: Save document to Google Cloud Storage in ##Platform_Name## Document editor control | Syncfusion
-description: Learn about how to Save document to Google Cloud Storage in ##Platform_Name## Document editor control of Syncfusion Essential JS 2 and more details.
-platform: ej2-javascript
-control: Save document to Google Cloud Storage
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Save document to Google Cloud Storage
-
-To save a document to Google Cloud Storage, you can follow the steps below
-
-{% if page.publishingplatform == "typescript" %}
-
-**Step 1:** Create a Simple Document Editor sample in TypeScript
-
-Follow the instructions provided in this [link](../../document-editor/getting-started) to create a simple Document Editor sample in Typescript. This will give you a basic setup of the Document Editor component.
-
-{% elsif page.publishingplatform == "javascript" %}
-
-**Step 1:** Create a Simple Document Editor sample in JavaScript
-
-Follow the instructions provided in this [link](../../document-editor/getting-started) to create a simple Document Editor sample in Javascript. This will give you a basic setup of the Document Editor component.
-
-{% endif %}
-
-**Step 2:** Create the `DocumentEditorController.cs` File in the Web Service Project
-
-{% if page.publishingplatform == "typescript" %}
-
-* Create a web service project in .NET Core 3.0 or above. You can refer to this [link](../../document-editor/web-services-overview) for instructions on how to create a web service project.
-
-{% elsif page.publishingplatform == "javascript" %}
-
-* Create a web service project in .NET Core 3.0 or above. You can refer to this [link](../../document-editor/web-services-overview) for instructions on how to create a web service project.
-
-{% endif %}
-
-* Open the `DocumentEditorController.cs` file in your web service project.
-
-* Import the required namespaces at the top of the file:
-
-```csharp
-using System.IO;
-using Google.Cloud.Storage.V1;
-using Google.Apis.Auth.OAuth2;
-```
-
-* Add the following private fields and constructor parameters to the `DocumentEditorController` class, In the constructor, assign the values from the configuration to the corresponding fields
-
-```csharp
-// Private readonly object _storageClient
-private readonly StorageClient _storageClient;
-
-private IConfiguration _configuration;
-
-public readonly string _bucketName;
-
-public DocumentEditorController(IWebHostEnvironment hostingEnvironment, IMemoryCache cache, IConfiguration configuration)
-{
- _hostingEnvironment = hostingEnvironment;
- _cache = cache;
-
- // The key file is used to authenticate with Google Cloud Storage.
- string keyFilePath = "path/to/service-account-key.json";
-
- // Load the service account credentials from the key file.
- var credentials = GoogleCredential.FromFile(keyFilePath);
-
- // Create a storage client with Application Default Credentials
- _storageClient = StorageClient.Create(credentials);
-
- _configuration = configuration;
-
- _bucketName = _configuration.GetValue("BucketName");
-}
-```
-
-* Create the `SaveToGoogleCloud()` method to save the downloaded document to Google Cloud Storage bucket
-
-```csharp
-[AcceptVerbs("Post")]
-[HttpPost]
-[EnableCors("AllowAllOrigins")]
-[Route("SaveToGoogleCloud")]
-//Post action for downloading the document
-public void SaveToGoogleCloud(IFormCollection data)
-{
- if (data.Files.Count == 0)
- return;
-
- IFormFile file = data.Files[0];
- string documentName = this.GetValue(data, "documentName");
- string result = Path.GetFileNameWithoutExtension(documentName);
-
- string bucketName = _bucketName;
-
- Stream stream = new MemoryStream();
- file.CopyTo(stream);
-
- // Upload the document to Google Cloud Storage
- _storageClient.UploadObject(bucketName, result + "_downloaded.docx", null, stream);
-
-}
-
-private string GetValue(IFormCollection data, string key)
-{
- if (data.ContainsKey(key))
- {
- string[] values = data[key];
- if (values.Length > 0)
- {
- return values[0];
- }
- }
- return "";
-}
-```
-
-* Open the `appsettings.json` file in your web service project, Add the following lines below the existing `"AllowedHosts"` configuration
-
-```json
-{
- "Logging": {
- "LogLevel": {
- "Default": "Information",
- "Microsoft.AspNetCore": "Warning"
- }
- },
- "AllowedHosts": "*",
- "BucketName": "Your Bucket name from Google Cloud Storage"
-}
-```
-
-N> Replace **Your Bucket name from Google Cloud Storage** with the actual name of your Google Cloud Storage bucket
-
-N> Replace **path/to/service-account-key.json** with the actual file path to your service account key JSON file. Make sure to provide the correct path and filename.
-
-**Step 4:** Modify the index File in the Document Editor sample
-
-In the client-side, to export the document into blob the document using [`saveAsBlob`](../../api/document-editor/#saveAsBlob) and sent to server-side for saving in Google Cloud Storage.
-
-{% if page.publishingplatform == "typescript" %}
-
-{% tabs %}
-{% highlight js tabtitle="index.js" %}
-{% include code-snippet/document-editor/save-google-cloud-storage/index.ts %}
-{% endhighlight %}
-{% highlight html tabtitle="index.html" %}
-{% include code-snippet/document-editor/save-google-cloud-storage/index.html %}
-{% endhighlight %}
-{% endtabs %}
-
-{% elsif page.publishingplatform == "javascript" %}
-
-{% tabs %}
-{% highlight html tabtitle="index.html" %}
-{% include code-snippet/document-editor/save-google-cloud-storage/index.html %}
-{% endhighlight %}
-{% endtabs %}
-
-{% endif %}
-
-N> The **Google.Cloud.Storage.V1** NuGet package must be installed in your application to use the previous code example.
diff --git a/ej2-javascript/document-editor/saving-documents/google-drive.md b/ej2-javascript/document-editor/saving-documents/google-drive.md
deleted file mode 100644
index 45d21e72b..000000000
--- a/ej2-javascript/document-editor/saving-documents/google-drive.md
+++ /dev/null
@@ -1,192 +0,0 @@
----
-layout: post
-title: Save document to Google Drive in ##Platform_Name## Document editor control | Syncfusion
-description: Learn about how to Save document to Google Drive in ##Platform_Name## Document editor control of Syncfusion Essential JS 2 and more details.
-platform: ej2-javascript
-control: Save document to Google Drive
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Save document to Google Drive
-
-To save a document to Google Drive, you can follow the steps below
-
-**Step 1:** Set up Google Drive API
-
-You must set up a project in the Google Developers Console and enable the Google Drive API. Obtain the necessary credentials to access the API. For more information, view the official [link](https://developers.google.com/drive/api/guides/enable-sdk).
-
-{% if page.publishingplatform == "typescript" %}
-
-**Step 2:** Create a Simple Document Editor sample in TypeScript
-
-Follow the instructions provided in this [link](../../document-editor/getting-started) to create a simple Document Editor sample in Typescript. This will give you a basic setup of the Document Editor component.
-
-{% elsif page.publishingplatform == "javascript" %}
-
-**Step 2:** Create a Simple Document Editor sample in JavaScript
-
-Follow the instructions provided in this [link](../../document-editor/getting-started) to create a simple Document Editor sample in Javascript. This will give you a basic setup of the Document Editor component.
-
-{% endif %}
-
-**Step 3:** Modify the `DocumentEditorController.cs` File in the Web Service Project
-
-{% if page.publishingplatform == "typescript" %}
-
-* Create a web service project in .NET Core 3.0 or above. You can refer to this [link](../../document-editor/web-services-overview) for instructions on how to create a web service project.
-
-{% elsif page.publishingplatform == "javascript" %}
-
-* Create a web service project in .NET Core 3.0 or above. You can refer to this [link](../../document-editor/web-services-overview) for instructions on how to create a web service project.
-
-{% endif %}
-
-* Open the `DocumentEditorController.cs` file in your web service project.
-
-* Import the required namespaces at the top of the file:
-
-```csharp
-using System.IO;
-using Google.Apis.Drive.v3;
-using Google.Apis.Util.Store;
-```
-
-* Add the following private fields and constructor parameters to the `DocumentEditorController` class, In the constructor, assign the values from the configuration to the corresponding fields
-
-```csharp
-private IConfiguration _configuration;
-public readonly string folderId;
-public readonly string applicationName;
-public readonly string credentialPath;
-private static readonly string[] Scopes = { DriveService.Scope.DriveFile, DriveService.Scope.DriveReadonly};
-
-public DocumentEditorController(IWebHostEnvironment hostingEnvironment, IMemoryCache cache, IConfiguration configuration)
-{
- _hostingEnvironment = hostingEnvironment;
- _cache = cache;
- _configuration = configuration;
- folderId = _configuration.GetValue("FolderId");
- credentialPath = _configuration.GetValue("CredentialPath");
- applicationName = _configuration.GetValue("ApplicationName");
-}
-```
-
-* Create the `SaveToGoogleDrive()` method to save the downloaded document to Google Drive bucket
-
-```csharp
-[AcceptVerbs("Post")]
-[HttpPost]
-[EnableCors("AllowAllOrigins")]
-[Route("SaveToGoogleDrive")]
-//Post action for downloading the document
-
-public void SaveToGoogleDrive(IFormCollection data)
-{
- if (data.Files.Count == 0)
- return;
-
- IFormFile file = data.Files[0];
- string documentName = this.GetValue(data, "documentName");
- string result = Path.GetFileNameWithoutExtension(documentName);
- string fileName = result + "_downloaded.docx";
-
- UserCredential credential;
-
- using (var memStream = new FileStream(credentialPath, FileMode.Open, FileAccess.Read))
- {
- string credPath = "token.json";
- credential = await GoogleWebAuthorizationBroker.AuthorizeAsync(
- GoogleClientSecrets.Load(memStream).Secrets,
- Scopes,
- "user",
- CancellationToken.None,
- new FileDataStore(credPath, true));
- }
-
- // Create the Drive API service.
- var service = new DriveService(new BaseClientService.Initializer()
- {
- HttpClientInitializer = credential,
- ApplicationName = applicationName,
- });
-
- var fileMetadata = new Google.Apis.Drive.v3.Data.File()
- {
- Name = fileName,
- Parents = new List { folderId }
- };
-
- Stream stream = new MemoryStream();
- file.CopyTo(stream);
-
- FilesResource.CreateMediaUpload request;
- request = service.Files.Create(fileMetadata, stream, "application/pdf");
- request.Fields = "id";
- object value = await request.UploadAsync();
-}
-
-private string GetValue(IFormCollection data, string key)
-{
- if (data.ContainsKey(key))
- {
- string[] values = data[key];
- if (values.Length > 0)
- {
- return values[0];
- }
- }
- return "";
-}
-```
-
-* Open the `appsettings.json` file in your web service project, Add the following lines below the existing `"AllowedHosts"` configuration
-
-```json
-{
- "Logging": {
- "LogLevel": {
- "Default": "Information",
- "Microsoft.AspNetCore": "Warning"
- }
- },
- "AllowedHosts": "*",
- "FolderId": "Your Google Drive Folder ID",
- "CredentialPath": "Your Path to the OAuth 2.0 Client IDs json file",
- "ApplicationName": "Your Application name"
-}
-```
-
-N> Replace **Your Google Drive Folder ID**, **Your Application name**, and **Your Path to the OAuth 2.0 Client IDs json file** with your actual Google drive folder ID , Your name for your application and the path for the JSON file.
-
-N> The **FolderId** part is the unique identifier for the folder. For example, if your folder URL is: `https://drive.google.com/drive/folders/abc123xyz456`, then the folder ID is `abc123xyz456`.
-
-N> You must use a unique `Client_ID` from json file to interface your application with the Google Drive API in order to save document directly to Google Drive. This Client_ID will serve as the authentication key, allowing you to save files securely.
-
-**Step 4:** Modify the index File in the Document Editor sample
-
-In the client-side, to export the document into blob the document using [`saveAsBlob`](../../api/document-editor/#saveAsBlob) and sent to server-side for saving in Google Drive.
-
-{% if page.publishingplatform == "typescript" %}
-
-{% tabs %}
-{% highlight js tabtitle="index.js" %}
-{% include code-snippet/document-editor/save-google-drive/index.ts %}
-{% endhighlight %}
-{% highlight html tabtitle="index.html" %}
-{% include code-snippet/document-editor/save-google-drive/index.html %}
-{% endhighlight %}
-{% endtabs %}
-
-{% elsif page.publishingplatform == "javascript" %}
-
-{% tabs %}
-{% highlight html tabtitle="index.html" %}
-{% include code-snippet/document-editor/save-google-drive/index.html %}
-{% endhighlight %}
-{% endtabs %}
-
-{% endif %}
-
-N> The **Google.Apis.Drive.v3** NuGet package must be installed in your application to use the previous code example.
diff --git a/ej2-javascript/document-editor/saving-documents/one-drive.md b/ej2-javascript/document-editor/saving-documents/one-drive.md
deleted file mode 100644
index 4117c98ca..000000000
--- a/ej2-javascript/document-editor/saving-documents/one-drive.md
+++ /dev/null
@@ -1,189 +0,0 @@
----
-layout: post
-title: Save document to One Drive in ##Platform_Name## Document editor control | Syncfusion
-description: Learn about how to Save document to One Drive in ##Platform_Name## Document editor control of Syncfusion Essential JS 2 and more details.
-platform: ej2-javascript
-control: Save document to One Drive
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Save document to One Drive
-
-To save a document to One Drive, you can follow the steps below
-
-**Step 1:** Create the Microsoft graph API.
-
-Need to create a Microsoft Graph API application and obtain the necessary credentials, namely the application ID and tenant ID. Follow the steps provided in the [link](https://learn.microsoft.com/en-us/training/modules/msgraph-access-file-data/3-exercise-access-files-onedrive) to create the application and obtain the required IDs.
-
-{% if page.publishingplatform == "typescript" %}
-
-**Step 2:** Create a Simple Document Editor sample in TypeScript
-
-Follow the instructions provided in this [link](../../document-editor/getting-started) to create a simple Document Editor sample in Typescript. This will give you a basic setup of the Document Editor component.
-
-{% elsif page.publishingplatform == "javascript" %}
-
-**Step 2:** Create a Simple Document Editor sample in JavaScript
-
-Follow the instructions provided in this [link](../../document-editor/getting-started) to create a simple Document Editor sample in Javascript. This will give you a basic setup of the Document Editor component.
-
-{% endif %}
-
-**Step 3:** Modify the `DocumentEditorController.cs` File in the Web Service Project
-
-{% if page.publishingplatform == "typescript" %}
-
-* Create a web service project in .NET Core 3.0 or above. You can refer to this [link](../../document-editor/web-services-overview) for instructions on how to create a web service project.
-
-{% elsif page.publishingplatform == "javascript" %}
-
-* Create a web service project in .NET Core 3.0 or above. You can refer to this [link](../../document-editor/web-services-overview) for instructions on how to create a web service project.
-
-{% endif %}
-
-* Open the `DocumentEditorController.cs` file in your web service project.
-
-* Import the required namespaces at the top of the file:
-
-```csharp
-using System.IO;
-using Microsoft.Graph;
-using Microsoft.Identity.Client;
-using Helpers;
-```
-
-* Add the following private fields and constructor parameters to the `DocumentEditorController` class, In the constructor, assign the values from the configuration to the corresponding fields
-
-```csharp
-private IConfiguration _configuration;
-public readonly string folderName;
-public readonly string applicationId;
-public readonly string tenantId;
-
-public DocumentEditorController(IWebHostEnvironment hostingEnvironment, IMemoryCache cache, IConfiguration configuration)
-{
- _hostingEnvironment = hostingEnvironment;
- _cache = cache;
- _configuration = configuration;
- folderName = _configuration.GetValue("FolderName");
- tenantId = _configuration.GetValue("TenantId");
- applicationId = _configuration.GetValue("ApplicationId");
-}
-```
-
-* Create the `SaveToOneDrive()` method to save the downloaded document to One Drive bucket
-
-```csharp
-[AcceptVerbs("Post")]
-[HttpPost]
-[EnableCors("AllowAllOrigins")]
-[Route("SaveToOneDrive")]
-//Post action for downloading the document
-
-public void SaveToOneDrive(IFormCollection data)
-{
-
- if (data.Files.Count == 0)
- return;
-
- IFormFile file = data.Files[0];
- string documentName = this.GetValue(data, "documentName");
- string result = Path.GetFileNameWithoutExtension(documentName);
- string fileName = result + "_downloaded.docx";
-
- Stream stream = new MemoryStream();
- file.CopyTo(stream);
-
-
- var config = LoadAppSettings();
- var client = GetAuthenticatedGraphClient(config);
-
- var request = client.Me.Drive.Root.Children.Request();
- string folderId = string.Empty;
- var results = await request.GetAsync();
-
- var folder = results.FirstOrDefault(f => f.Name == folderName && f.Folder != null);
- if (folder != null)
- {
- // Save the matching folderId
- folderId = folder.Id;
- }
-
- var uploadedFile = client.Me.Drive.Items[folderId]
- .ItemWithPath(fileName)
- .Content
- .Request()
- .PutAsync(stream)
- .Result;
-
-}
-
-private string GetValue(IFormCollection data, string key)
-{
- if (data.ContainsKey(key))
- {
- string[] values = data[key];
- if (values.Length > 0)
- {
- return values[0];
- }
- }
- return "";
-}
-```
-
-* Open the `appsettings.json` file in your web service project, Add the following lines below the existing `"AllowedHosts"` configuration
-
-```json
-{
- "Logging": {
- "LogLevel": {
- "Default": "Information",
- "Microsoft.AspNetCore": "Warning"
- }
- },
- "AllowedHosts": "*",
- "TenantId": "Your_Tenant_ID",
- "applApplicationIdicationId": "Your_Application_ID",
- "FolderName": "Your_Folder_Name_To_Access_The_Files_In_Onedrive"
-}
-
-```
-
-N> Replace **Your_Tenent_ID**, **Your_Application_ID**, and **Your_Folder_Name_To_Access_The_Files_In_Onedrive** with your actual tenant ID, application ID, and folder name.
-
-**Step 4:** Modify the index File in the Document Editor sample
-
-In the client-side, to export the document into blob the document using [`saveAsBlob`](../../api/document-editor/#saveAsBlob) and sent to server-side for saving in One Drive.
-
-{% if page.publishingplatform == "typescript" %}
-
-{% tabs %}
-{% highlight js tabtitle="index.js" %}
-{% include code-snippet/document-editor/save-one-drive/index.ts %}
-{% endhighlight %}
-{% highlight html tabtitle="index.html" %}
-{% include code-snippet/document-editor/save-one-drive/index.html %}
-{% endhighlight %}
-{% endtabs %}
-
-{% elsif page.publishingplatform == "javascript" %}
-
-{% tabs %}
-{% highlight html tabtitle="index.html" %}
-{% include code-snippet/document-editor/save-one-drive/index.html %}
-{% endhighlight %}
-{% endtabs %}
-
-{% endif %}
-
-N> The following NuGet packages are required to use the previous code example
-* **Microsoft.Identity.Client**
-* **Microsoft.Graph**
-* **Microsoft.Extensions.Configuration**
-* **Microsoft.Extensions.Configuration.FileExtensions**
-* **Microsoft.Extensions.Configuration.Json**
-
-You can install these packages using the NuGet Package Manager in Visual Studio or Visual Studio Code.
diff --git a/ej2-javascript/document-editor/saving-documents/server-side-export.md b/ej2-javascript/document-editor/saving-documents/server-side-export.md
deleted file mode 100644
index 6c346407e..000000000
--- a/ej2-javascript/document-editor/saving-documents/server-side-export.md
+++ /dev/null
@@ -1,70 +0,0 @@
----
-layout: post
-title: Server side export in ##Platform_Name## Document editor control | Syncfusion
-description: Learn here all about Server side export in Syncfusion ##Platform_Name## Document editor control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: Server side export
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Server side export in ##Platform_Name## Document editor control
-
-## SFDT to DOCX export
-
-Document Editor supports server-side export of **Syncfusion Document Text (.sfdt)** to Doc, DOCX, RTF, Txt, WordML, HTML formats using server-side helper **Syncfusion.EJ2.DocumentEditor** available in ASP.NET Core & ASP.NET MVC platform in the below NuGet's.
-
-* [Syncfusion.EJ2.WordEditor.AspNet.Core](https://www.nuget.org/packages/Syncfusion.EJ2.WordEditor.AspNet.Core)
-* [Syncfusion.EJ2.WordEditor.AspNet.Mvc5](https://www.nuget.org/packages/Syncfusion.EJ2.WordEditor.AspNet.Mvc5)
-* [Syncfusion.EJ2.WordEditor.AspNet.Mvc4](https://www.nuget.org/packages/Syncfusion.EJ2.WordEditor.AspNet.Mvc4)
-
-Please refer the following code example.
-
-```c#
- //API controller for the conversion.
- [HttpPost]
- public void ExportSFDT([FromBody]SaveParameter data)
- {
- Stream document = WordDocument.Save(data.content, FormatType.Docx);
- FileStream file = new FileStream("sample.docx", FileMode.OpenOrCreate, FileAccess.ReadWrite);
- document.CopyTo(file);
- file.Close();
- document.Close();
- }
-
- public class SaveParameter
- {
- public string content { get; set; }
- }
-```
-
-Please refer the client side example to serialize the sfdt and send to the server.
-
-```ts
-import { DocumentEditor, FormatType, WordExport, SfdtExport } from '@syncfusion/ej2-documenteditor';
-
-//Inject require modules.
-DocumentEditor.Inject(WordExport, SfdtExport);
-
-let documenteditor: DocumentEditor = new DocumentEditor({ enableSfdtExport: true, enableWordExport: true, enableTextExport: true });
-
-documenteditor.appendTo('#DocumentEditor');
-
-//Open the sfdt document.
-documenteditor.open(sfdt);
-
-document.getElementById('export').addEventListener('click', () => {
- let http: XMLHttpRequest = new XMLHttpRequest();
- http.open('POST', 'http://localhost:5000/api/documenteditor/ExportSFDT');
- http.setRequestHeader('Content-Type', 'application/json;charset=UTF-8');
- http.responseType = 'json';
- //Serialize document content as SFDT.
- let sfdt: any = { content: documenteditor.serialize() };
- //Send the sfdt content to server side.
- http.send(JSON.stringify(sfdt));
-});
-
-```
-
-> DocumentEditor object is available in DocumentEditorContainer component(DocumentEditor packaged with toolbar, statusbar & properties pane) as [`documentEditor`](../../api/document-editor-container#documenteditor)
diff --git a/ej2-javascript/document-editor/scrolling-zooming.md b/ej2-javascript/document-editor/scrolling-zooming.md
deleted file mode 100644
index 57b512715..000000000
--- a/ej2-javascript/document-editor/scrolling-zooming.md
+++ /dev/null
@@ -1,141 +0,0 @@
----
-layout: post
-title: Scrolling zooming in ##Platform_Name## Document editor control | Syncfusion
-description: Learn here all about Scrolling zooming in Syncfusion ##Platform_Name## Document editor control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: Scrolling zooming
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Scrolling zooming in ##Platform_Name## Document editor control
-
-The Document Editor renders the document as page by page. You can scroll through the pages by mouse wheel or touch interactions. You can also scroll through the page by using ‘scrollToPage()’ method of Document Editor instance. Refer to the following code example.
-
-{% if page.publishingplatform == "typescript" %}
-
- {% tabs %}
-{% highlight ts tabtitle="index.ts" %}
-{% include code-snippet/document-editor/scrolling-zooming-cs1/index.ts %}
-{% endhighlight %}
-{% highlight html tabtitle="index.html" %}
-{% include code-snippet/document-editor/scrolling-zooming-cs1/index.html %}
-{% endhighlight %}
-{% endtabs %}
-
-{% previewsample "page.domainurl/code-snippet/document-editor/scrolling-zooming-cs1" %}
-
-{% elsif page.publishingplatform == "javascript" %}
-
-{% tabs %}
-{% highlight js tabtitle="index.js" %}
-{% include code-snippet/document-editor/scrolling-zooming-cs1/index.js %}
-{% endhighlight %}
-{% highlight html tabtitle="index.html" %}
-{% include code-snippet/document-editor/scrolling-zooming-cs1/index.html %}
-{% endhighlight %}
-{% endtabs %}
-
-{% previewsample "page.domainurl/code-snippet/document-editor/scrolling-zooming-cs1" %}
-{% endif %}
-
-> Calling this method brings the specified page into view but doesn’t move selection. Hence this method will work by default. That is, it works even if selection is not enabled.
-
-In case, if you wish to move the selection to any page in Document Editor and bring it into view, you can use ‘goToPage()’ method of selection instance. Refer to the following code example.
-
-{% if page.publishingplatform == "typescript" %}
-
- {% tabs %}
-{% highlight ts tabtitle="index.ts" %}
-{% include code-snippet/document-editor/scrolling-zooming-cs2/index.ts %}
-{% endhighlight %}
-{% highlight html tabtitle="index.html" %}
-{% include code-snippet/document-editor/scrolling-zooming-cs2/index.html %}
-{% endhighlight %}
-{% endtabs %}
-
-{% previewsample "page.domainurl/code-snippet/document-editor/scrolling-zooming-cs2" %}
-
-{% elsif page.publishingplatform == "javascript" %}
-
-{% tabs %}
-{% highlight js tabtitle="index.js" %}
-{% include code-snippet/document-editor/scrolling-zooming-cs2/index.js %}
-{% endhighlight %}
-{% highlight html tabtitle="index.html" %}
-{% include code-snippet/document-editor/scrolling-zooming-cs2/index.html %}
-{% endhighlight %}
-{% endtabs %}
-
-{% previewsample "page.domainurl/code-snippet/document-editor/scrolling-zooming-cs2" %}
-{% endif %}
-
-## Zooming
-
-You can scale the contents in Document Editor ranging from 10% to 500% of the actual size. You can achieve this using mouse or touch interactions. You can also use ‘zoomFactor’ property of Document Editor instance. The value can be specified in a range from 0.1 to 5. Refer to the following code example.
-
-```ts
-import { DocumentEditor } from '@syncfusion/ej2-documenteditor';
-
-//Initialize the Document Editor module.
-let documenteditor: DocumentEditor = new DocumentEditor({
- isReadOnly: false, serviceUrl: 'https://services.syncfusion.com/js/production/api/documenteditor/'
-});
-
-// Enable all the built in modules.
-documenteditor.enableAllModules();
-
-documenteditor.appendTo('#DocumentEditor');
-//set zoom factor.
-documenteditor.zoomFactor = 3;
-```
-
-## Page Fit Type
-
-Apart from specifying the zoom factor as value, the Document Editor provides option to specify page fit options such as fit to full page or fit to page width. You can set this option using ‘fitPage’ method of Document Editor instance. Refer to the following code example.
-
-```ts
-import { DocumentEditor } from '@syncfusion/ej2-documenteditor';
-//Initialize the Document Editor module.
-let documenteditor: DocumentEditor = new DocumentEditor({
- isReadOnly: false, serviceUrl: 'https://services.syncfusion.com/js/production/api/documenteditor/'
-});
-
-// Enable all the built in modules.
-documenteditor.enableAllModules();
-
-documenteditor.appendTo('#DocumentEditor');
-//Set zoom factor to fit page width.
-documenteditor.fitPage('FitPageWidth');
-```
-
-## Zoom option using UI
-
-The following code example shows how to provide zoom options in Document Editor.
-{% if page.publishingplatform == "typescript" %}
-
- {% tabs %}
-{% highlight ts tabtitle="index.ts" %}
-{% include code-snippet/document-editor/scrolling-zooming-cs3/index.ts %}
-{% endhighlight %}
-{% highlight html tabtitle="index.html" %}
-{% include code-snippet/document-editor/scrolling-zooming-cs3/index.html %}
-{% endhighlight %}
-{% endtabs %}
-
-{% previewsample "page.domainurl/code-snippet/document-editor/scrolling-zooming-cs3" %}
-
-{% elsif page.publishingplatform == "javascript" %}
-
-{% tabs %}
-{% highlight js tabtitle="index.js" %}
-{% include code-snippet/document-editor/scrolling-zooming-cs3/index.js %}
-{% endhighlight %}
-{% highlight html tabtitle="index.html" %}
-{% include code-snippet/document-editor/scrolling-zooming-cs3/index.html %}
-{% endhighlight %}
-{% endtabs %}
-
-{% previewsample "page.domainurl/code-snippet/document-editor/scrolling-zooming-cs3" %}
-{% endif %}
diff --git a/ej2-javascript/document-editor/section-format.md b/ej2-javascript/document-editor/section-format.md
deleted file mode 100644
index 85d20bec3..000000000
--- a/ej2-javascript/document-editor/section-format.md
+++ /dev/null
@@ -1,98 +0,0 @@
----
-layout: post
-title: Section format in ##Platform_Name## Document editor control | Syncfusion
-description: Learn here all about Section format in Syncfusion ##Platform_Name## Document editor control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: Section format
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Section format in ##Platform_Name## Document editor control
-
-Document Editor supports various section formatting such as page size, page margins, and more.
-
-## Page size
-
-You can get or set the size of a section at cursor position by using the following sample code.
-
-```ts
-documenteditor.selection.sectionFormat.pageWidth = 500;
-documenteditor.selection.sectionFormat.pageHeight = 600;
-```
-
-You can change the orientation of the page by swapping the values of page width and height respectively.
-
-## Page margins
-
-Left and right page margin defines the gap between the document content from left and right side of the page respectively. Top and bottom page margins defines the gap between the document content from header and footer of the page respectively.
-Refer to the following sample code.
-
-```ts
-documenteditor.selection.sectionFormat.leftMargin = 10;
-documenteditor.selection.sectionFormat.rightMargin = 10;
-documenteditor.selection.sectionFormat.bottomMargin = 10;
-documenteditor.selection.sectionFormat.topMargin = 10;
-```
-
->Note: The maximum value of Margin is 1584, as per Microsoft Word application and you can set any value less than or equal to 1584 to this property. If you set any value greater than 1584, then Syncfusion Document editor will automatically reset as 1584.
-
-## Header distance
-
-You can define the distance of header content from the top of the page by using the following sample code.
-
-```ts
-documenteditor.selection.sectionFormat.headerDistance = 72;
-```
-
-## Footer distance
-
-You can define the distance of footer content from the bottom of the page by using the following sample code.
-
-```ts
-documenteditor.selection.sectionFormat.footerDistance = 72;
-```
-
-## Columns
-
-You can define the number of columns, column width, and space between columns for the pages in a section.
-
-The following code example illustrates how to define the two columns layout for the pages in a section.
-
-```ts
-let column: SelectionColumnFormat = new SelectionColumnFormat(container.documentEditor.selection);
-column.width = 216;
-column.space = 36;
-container.documentEditor.selection.sectionFormat.columns = [column, column];
-container.documentEditor.selection.sectionFormat.lineBetweenColumns = true;
-```
-
-## Breaks
-
-You can insert column break. The following code example illustrates how to insert a column break.
-
-```ts
-container.documentEditor.editor.insertColumnBreak();
-```
-
-You can insert next page section break to start the new section on the next page.
-
-The following code example illustrates how to insert a next page section break.
-
-```ts
-container.documentEditor.editor.insertSectionBreak(SectionBreakType.NewPage);
-```
-
-You can insert continuous section break to start the new section on the same page.
-
-The following code example illustrates how to insert a continuous section break.
-
-```ts
-container.documentEditor.editor.insertSectionBreak(SectionBreakType.Continuous);
-```
-
-## See Also
-
-* [Page setup dialog](../document-editor/dialog#page-setup-dialog)
-* [Column dialog](../document-editor/dialog#column-dialog)
diff --git a/ej2-javascript/document-editor/security-advisories.md b/ej2-javascript/document-editor/security-advisories.md
deleted file mode 100644
index 337ee7e07..000000000
--- a/ej2-javascript/document-editor/security-advisories.md
+++ /dev/null
@@ -1,54 +0,0 @@
----
-layout: post
-title: Security Advisories in ##Platform_Name## Document Editor control | Syncfusion
-description: Learn here all about Security Advisories in Syncfusion ##Platform_Name## Document editor control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: Security advisories
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Security Advisories in Syncfusion® EJ2 Controls
-
-Syncfusion® places the utmost priority on the security of our controls. Users can rest assured about the security of our controls, as we have implemented all necessary measures to mitigate security vulnerabilities such as cross-site scripting and insecure dependencies. To meet security standards, Syncfusion® utilizes the [ESLint](https://eslint.org/) and [ESLint plugin security](https://github.com/eslint-community/eslint-plugin-security#rules) tools for static code analysis. Additionally, Syncfusion® packages undergo software composition analysis using the [SOOS](https://soos.io/) security tool.
-
-This document provides a description of the security updates available for Syncfusion® Essential® JS2 controls for volume release.
-
-## Security Updates
-
-The following security updates are available for Syncfusion® DocumentEditor control and are listed based on the release version.
-
-### 2024 Volume 2 (v26.2.4) - July 25, 2024
-
-This release resolves critical and moderate security vulnerabilities affecting the Syncfusion® Document Editor Docker Image.
-
-**Threat:**
-
-* ASP.NET Core Components: Multiple moderate vulnerabilities in Kestrel’s HTTP request handling could expose applications to access control issues and data leakage.
-
-* Npgsql: A potential SQL injection vulnerability via Protocol Message Size Overflow was detected.
-
-* Dynamic LINQ: Vulnerable to remote code execution via untrusted input manipulation.
-
-**Resolution:**
-
-* Updated affected ASP.NET Core packages.
-
-* The Npgsql package and Dynamic LINQ have been removed, as they are no longer required, to enhance security and mitigate the risk of SQL injection attacks.
-
-## Common Security Updates
-
-{% if page.publishingplatform == "typescript" %}
-
-For details on common security updates related to Syncfusion® products, please refer to [this link](https://ej2.syncfusion.com/documentation/common/security). This resource provides information on the latest advisories and best practices to help ensure the security and integrity of your applications.
-
-{% elsif page.publishingplatform == "javascript" %}
-
-For details on common security updates related to Syncfusion® products, please refer to [this link](https://ej2.syncfusion.com/javascript/documentation/common/security). This resource provides information on the latest advisories and best practices to help ensure the security and integrity of your applications.
-
-{% endif %}
-
-## Security Issue
-
-If users discover any security issues or need assistance in resolving them with Syncfusion® controls, please contact us by creating a support ticket on [our support site](https://syncfusion.com/support) or by posting your query on Stack Overflow with the tag `syncfusion-ej2`.
diff --git a/ej2-javascript/document-editor/server-deployment/how-to-deploy-documenteditor-java-web-api-in-azure.md b/ej2-javascript/document-editor/server-deployment/how-to-deploy-documenteditor-java-web-api-in-azure.md
deleted file mode 100644
index 8ad5789a3..000000000
--- a/ej2-javascript/document-editor/server-deployment/how-to-deploy-documenteditor-java-web-api-in-azure.md
+++ /dev/null
@@ -1,63 +0,0 @@
----
-layout: post
-title: How to deploy documenteditor java web api in azure in ##Platform_Name## Document editor control | Syncfusion
-description: Learn here all about How to deploy documenteditor java web api in azure in Syncfusion ##Platform_Name## Document editor control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: How to deploy documenteditor java web api in azure
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-# How to deploy documenteditor java web api in azure in ##Platform_Name## Document editor control
-
-## Prerequisites
-
-Have [`Azure account`](https://azure.microsoft.com/en-gb/) and [`Azure CLI`](https://docs.microsoft.com/en-us/cli/azure/?view=azure-cli-latest) setup in your environment.
-
-You can get the example [`web service project from GitHub`](https://github.com/SyncfusionExamples/EJ2-DocumentEditor-Java-WebService) and then perform the following steps to create the packages and host in azure app service.
-
-**Step 1:** Clean the package using following command.
-
-```console
-mvn clean package
-```
-
-**Step 2:** Run the application locally using following command.
-
-```console
-mvn spring-boot:run
-```
-
-**Step 3:** Build the package using following command.
-
-```console
-mvn package
-```
-
-Above package generation command creates the `**tomcat-0.0.1-SNAPSHOT.war**` in the below location in the sample folder.
-
-`target/tomcat-0.0.1-SNAPSHOT.war`
-
-**Step 4:** Create a Azure app service with Java & Tomcat. For example, create the app services name as `documenteditorjava`.
-
-**Step 5:** After creating app service, navigate to `Advanced Tools` options under `Development Tools`.
-
-
-
-Then, click `Go` and select the `CMD` options under `Debug console`.
-
-
-
-**Step 6:** Once the file manager is opened, please navigate to
-
-`site -> wwwroot -> webapps`
-
-**Step 7:** Now, upload the generated war file `tomcat-0.0.1-SNAPSHOT.war`. Uploaded war file gets extracted automatically, it will uploaded like below:
-
-
-
-**Step 8:** Browse to the app.
-
-Browse to the deployed app at `http://.azurewebsites.net`, i.e. `http://documenteditorjava.azurewebsites.net`. Browse this link and it navigate to the Document Editor Web API control `http://documenteditorjava.azurewebsites.net/tomcat-0.0.1-SNAPSHOT`. It returns the default get method response.
-
-Append the app service running the URL `http://documenteditorjava.azurewebsites.net/tomcat-0.0.1-SNAPSHOT` to the service URL in the client-side Document Editor control. For more information about the Document Editor control, refer to this [`getting started page`](https://ej2.syncfusion.com/javascript/documentation/document-editor/getting-started).
\ No newline at end of file
diff --git a/ej2-javascript/document-editor/server-deployment/how-to-deploy-word-processor-server-docker-container-in-amazon-kubernetes-service.md b/ej2-javascript/document-editor/server-deployment/how-to-deploy-word-processor-server-docker-container-in-amazon-kubernetes-service.md
deleted file mode 100644
index 8100bc481..000000000
--- a/ej2-javascript/document-editor/server-deployment/how-to-deploy-word-processor-server-docker-container-in-amazon-kubernetes-service.md
+++ /dev/null
@@ -1,151 +0,0 @@
----
-layout: post
-title: Deploy Syncfusion Word Processor in Amazon Kubernetes Service
-description: Learn here all about How to deploy word processor server docker container in amazon kubernetes service in Syncfusion Document editor.
-platform: ej2-javascript
-control: How to deploy word processor server docker container in amazon kubernetes service
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-# How to deploy Word Processor server in Amazon Kubernetes Service
-
-## Prerequisites
-
-* `AWS Account` :Have Amazon account
-* `AWS CLI`: Install the AWS Command Line Interface (CLI) on your local machine.
-* `Kubectl` : Install the Kubernetes command-line tool kubectl on your local machine.
-* `Docker`: Install Docker on your local machine.
-* `Word Processor Docker Image`: Have a Docker image of the Word Processor server ready to deploy.
-
-To deploy the Word Processor server docker image, need to follow the below process
-
-* Push Docker Image to Registry (Amazon Elastic Registry)
-* Deploy Docker Image on Amazon Kubernetes Service
-
-Lets us discuss briefly about the each process
-
-## Push the Docker image to the Amazon Elastic Registry
-
-**Step 1:** Dockerize the Word Processor Server Application with the image name [syncfusion/word-processor-server](https://hub.docker.com/r/syncfusion/word-processor-server)
-
-```
-docker build -t
-```
-
-**Step 2:** Create a private repository name ‘documenteditor’ in Amazon Elastic Container Registry (ECR) using the AWS CLI or AWS Console to push the docker image
-
-```
-aws ecr create-repository --repository-name
-```
-
-**Step 3:** Tag the image to push to ECR
-
-```
-docker tag :latest /:latest
-```
-Refer to the following example to tag the image
-
-```
-docker tag syncfusion/word-processor-server:latest 123456.dkr.ecr.us-east-1.amazonaws.com/documenteditor:latest
-```
-
-> Get the ECR registry URI from AWS console or using the below AWS CLI command
-
-```
-aws ecr describe-repositories --repository-names --query 'repositories[*].repositoryUri' --output text
-```
-
-**Step 4:** Login to the ECR registry using the AWS CLI to push the docker image
-
-```
-aws ecr get-login-password --region | docker login --username AWS --password-stdin
-```
-
-Replace with your AWS region and with your ECR registry URI.
-
-**Step 5:** Push the tagged image to ECR
-
-```
-docker push /:latest
-```
-
-## Deploy Docker Image on Amazon Kubernetes Service
-
-Follow the below steps to deploy the Docker image from the Amazon Elastic Registry( ECR) to Amazon Kubernetes Services (EKS)
-
-**Step 1:** DCreate Amazon EKS cluster using the AWS Console
-
-**Step 2:** Authenticate with AWS ECR
-Need to get the authenticate with the AWS ECR to pull the image from the registry
-
-```
-aws ecr get-login-password --region | docker login --username AWS --password-stdin .dkr.ecr..amazonaws.com
-```
-
-**Step 3:** : Configure Kubernetes to Communicate with the Cluster
-
-```
-aws eks --region update-kubeconfig --name
-```
-
-**Step 4:** Tag the Docker Image to the created cluster
-
-```
-docker tag .dkr.ecr..amazonaws.com/:.dkr.ecr..amazonaws.com/:
-```
-
-Refer to the following example
-```
-docker tag 12345.dkr.ecr.us-east-1.amazonaws.com/documenteditor:latest 98765ABCD.dkr.ecr.us-east-1.amazonaws.com/documenteditor:latest
-```
-
-In this command:
-* should be replaced with your EKS cluster ID, which is the base part of your EKS cluster endpoint (e.g., abcd1234).
-* should be replaced with your AWS region.
-
-
-**Step 5:** To create Kubernetes deployment write Kubernetes manifest
-
-**i.** Create a Kubernetes Deployment manifest (deployment.yaml) for your application. Specify the Docker image location.
-
-```
-apiVersion: apps/v1
-kind: Deployment
-metadata:
- name: ```your-deployment```
-spec:
- replicas: 3
- selector:
- matchLabels:
- app: ```your-app```
- template:
- metadata:
- labels:
- app: ```your-app```
- spec:
- containers:
- - name: your-container
- image: ```.dkr.ecr..amazonaws.com/your-repository-name:tag```
- ports:
- - containerPort: 80
-```
-**ii.** Apply the Deployment manifest to create the deployment in your EKS cluster
-
-```
-kubectl apply -f deployment.yaml
-```
-
-**iii.** Use port forwarding to access the Word Processor Server application locally and verify its functionality
-
-```
-kubectl port-forward pod-name local-port:container-port
-```
-
-> Get the pod names in AWS Console or using the below AWS CLI command
-
-```
-kubectl get pods
-```
-
-Finally you can get the sample in the localhost http://``````/api/documenteditor/
\ No newline at end of file
diff --git a/ej2-javascript/document-editor/server-deployment/how-to-deploy-word-processor-server-docker-container-in-azure-app-service.md b/ej2-javascript/document-editor/server-deployment/how-to-deploy-word-processor-server-docker-container-in-azure-app-service.md
deleted file mode 100644
index 0b4033f36..000000000
--- a/ej2-javascript/document-editor/server-deployment/how-to-deploy-word-processor-server-docker-container-in-azure-app-service.md
+++ /dev/null
@@ -1,57 +0,0 @@
----
-layout: post
-title: How to deploy word processor server docker container in azure app service in ##Platform_Name## Document editor control | Syncfusion
-description: Learn here all about How to deploy word processor server docker container in azure app service in Syncfusion ##Platform_Name## Document editor control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: How to deploy word processor server docker container in azure app service
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-# How to deploy word processor server docker container in azure app service in ##Platform_Name## Document editor control
-
-## Prerequisites
-
-* Have [`Azure account`](https://azure.microsoft.com/en-gb/) and [`Azure CLI`](https://docs.microsoft.com/en-us/cli/azure/?view=azure-cli-latest) setup in your environment.
-
-* Run the following command to open the Azure login page. Sign into your [`Microsoft Azure account`](https://azure.microsoft.com/en-gb/).
-
-```
-az login
-```
-
-**Step 1:** Create a resource group.
-
-Create a resource group using the [`az group create`](https://docs.microsoft.com/en-us/cli/azure/group#az-group-create) command.
-
-The following example creates a resource group named documenteditorresourcegroup in the eastus location.
-
-```
-az group create --name documenteditorresourcegroup --location "East US"
-```
-
-**Step 2:** Create an Azure App Service plan.
-
-Create an App Service plan in the resource group with the [`az appservice plan create`](https://docs.microsoft.com/en-us/cli/azure/appservice/plan?view=azure-cli-latest#az-appservice-plan-create) command.
-
-The following example creates an App Service plan named documenteditorappservice in the Standard pricing tier (--sku S1) and in a Linux container (--is-linux).
-
-```
-az appservice plan create --name documenteditorappservice --resource-group documenteditorresourcegroup --sku S1 --is-linux
-```
-
-**Step 3:** Create a Docker Compose app.
-
-Create a multi-container [`web app`](https://docs.microsoft.com/en-us/azure/app-service/containers/app-service-linux-intro) in the documenteditorappservice App Service plan with the [`az webapp create`](https://docs.microsoft.com/en-us/cli/azure/webapp?view=azure-cli-latest#az-webapp-create) command. The following command creates the web app using the provided Docker compose file. Please look into the section for getting started with Docker compose to create the Docker compose file for the Document Editor server and use the created Docker compose file here.
-
-```
-az webapp create --resource-group documenteditorresourcegroup --plan documenteditorappservice --name documenteditor-server --multicontainer-config-type compose --multicontainer-config-file documenteditor-server-compose.yml
-```
-
-**Step 4:** Browse to the app.
-
-Browse to the deployed app at `http://.azurewebsites.net`, i.e. `http://documenteditor-server.azurewebsites.net`. Browse this link and navigate to the Document Editor Web API control `http://documenteditor-server.azurewebsites.net/api/documenteditor`. It returns the default get method response.
-
-Append the app service running the URL `http://documenteditor-server.azurewebsites.net/api/documenteditor/` to the service URL in the client-side Document Editor control. For more information about the Document Editor control, refer to this [`getting started page`](https://ej2.syncfusion.com/javascript/documentation/document-editor/getting-started).
-
-For more information about the app container service, please look deeper into the [`Microsoft Azure Container Service`](https://docs.microsoft.com/en-us/azure/app-service/containers/quickstart-multi-container) for a production-ready setup.
diff --git a/ej2-javascript/document-editor/server-deployment/how-to-deploy-word-processor-server-docker-container-in-azure-kubernetes-service.md b/ej2-javascript/document-editor/server-deployment/how-to-deploy-word-processor-server-docker-container-in-azure-kubernetes-service.md
deleted file mode 100644
index a8882ba94..000000000
--- a/ej2-javascript/document-editor/server-deployment/how-to-deploy-word-processor-server-docker-container-in-azure-kubernetes-service.md
+++ /dev/null
@@ -1,117 +0,0 @@
----
-layout: post
-title: How to deploy word processor server docker container in azure kubernetes service in ##Platform_Name## Document editor control | Syncfusion
-description: Learn here all about How to deploy word processor server docker container in azure kubernetes service in Syncfusion ##Platform_Name## Document editor control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: How to deploy word processor server docker container in azure kubernetes service
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-# How to deploy word processor server docker container in azure kubernetes service in ##Platform_Name## Document editor control
-
-## Prerequisites
-
-* Have [`Azure account`](https://azure.microsoft.com/en-gb/) and [`Azure CLI`](https://docs.microsoft.com/en-us/cli/azure/?view=azure-cli-latest) setup in your environment.
-
-* Run the following command to open the Azure login page. Sign into your [`Microsoft Azure account`](https://azure.microsoft.com/en-gb/).
-
-```
-az login
-```
-
-**Step 1:** Create a resource group.
-
-Create a resource group using the [`az group create`](https://docs.microsoft.com/en-us/cli/azure/group#az-group-create) command.
-
-The following example creates a resource group named documenteditorresourcegroup in the eastus location.
-
-```
-az group create --name documenteditorresourcegroup --location "East US"
-```
-
-**Step 2:** Create AKS cluster.
-
-Use the [`az aks create`](https://docs.microsoft.com/en-us/cli/azure/aks?view=azure-cli-latest#az-aks-create) command to create an AKS cluster. The following example creates a cluster named documenteditorcluster with one node.
-
-```
-az aks create --resource-group documenteditorresourcegroup --name documenteditorcluster --node-count 1
-```
-
-**Step 3:** Connect to the cluster.
-
-Install the [`kubectl`](https://kubernetes.io/docs/reference/kubectl/kubectl/) into the workspace using the following command.
-
-```
-az aks install-cli
-```
-
-To configure kubectl to connect to your Kubernetes cluster, use the [`az aks get-credentials`](https://docs.microsoft.com/en-us/cli/azure/aks?view=azure-cli-latest#az-aks-get-credentials) command. This command downloads credentials and configures the Kubernetes CLI to use them.
-
-```
-az aks get-credentials --resource-group documenteditorresourcegroup --name documenteditorcluster
-```
-
-**Step 4:** Create Kubernetes Services and Deployments
-
-[`Kubernetes Services`](https://kubernetes.io/docs/concepts/services-networking/service/) and [`Deployments`](https://kubernetes.io/docs/concepts/workloads/controllers/deployment/) can be configured in a file. To run the Document Editor server, you must define a Service and a Deployment documenteditorserver. To do this, create the documenteditor-server.yml file in the current directory using the following code.
-
-```yaml
- apiVersion: apps/v1
- kind: Deployment
- metadata:
- labels:
- app: documenteditorserver
- name: documenteditorserver
- spec:
- replicas: 1
- selector:
- matchLabels:
- app: documenteditorserver
- strategy: {}
- template:
- metadata:
- labels:
- app: documenteditorserver
- spec:
- containers:
- - image: syncfusion/word-processor-server:latest
- name: documenteditorserver
- ports:
- - containerPort: 80
- env:
- - name: SYNCFUSION_LICENSE_KEY
- value: "YOUR_LICENSE_KEY"
- ---
- apiVersion: v1
- kind: Service
- metadata:
- labels:
- app: documenteditorserver
- name: documenteditorserver
- spec:
- ports:
- - port: 80
- targetPort: 80
- selector:
- app: documenteditorserver
- type: LoadBalancer
-```
-
-**Step 5:** To create all Services and Deployments needed to run the Document Editor server, execute the following.
-
-```console
-kubectl create -f ./documenteditor-server.yml
-```
-
-Run the following command to get the Kubernetes cluster deployed service details and copy the external IP address of the Document Editor service.
-
-```console
-kubectl get all
-```
-
-Browse the copied external IP address and navigate to the Document Editor Web API control `http:///api/documenteditor`. It returns the default get method response.
-
-**Step 6:** Append the Kubernetes service running the URL `http:///api/documenteditor/` to the service URL in the client-side Document Editor control. For more information about the Document Editor control, refer to this [`getting started page`](https://ej2.syncfusion.com/javascript/documentation/document-editor/getting-started).
-
-For more details about the Azure Kubernetes service, please look deeper into [`Microsoft Azure Kubernetes Service`](https://docs.microsoft.com/en-us/azure/aks/kubernetes-walkthrough) for a production-ready setup.
diff --git a/ej2-javascript/document-editor/server-deployment/how-to-publish-documenteditor-web-api-application-in-azure-app-service-from-visual-studio.md b/ej2-javascript/document-editor/server-deployment/how-to-publish-documenteditor-web-api-application-in-azure-app-service-from-visual-studio.md
deleted file mode 100644
index 86f10c3a4..000000000
--- a/ej2-javascript/document-editor/server-deployment/how-to-publish-documenteditor-web-api-application-in-azure-app-service-from-visual-studio.md
+++ /dev/null
@@ -1,44 +0,0 @@
----
-layout: post
-title: How to publish documenteditor web api application in azure app service from visual studio in ##Platform_Name## Document editor control | Syncfusion
-description: Learn here all about How to publish documenteditor web api application in azure app service from visual studio in Syncfusion ##Platform_Name## Document editor control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: How to publish documenteditor web api application in azure app service from visual studio
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# How to publish documenteditor web api application in azure app service from visual studio in ##Platform_Name## Document editor control
-
-## Prerequisites
-
-* Visual Studio 2017 or 2019.
-* An [`Azure subscription`](https://azure.microsoft.com/en-gb/).
-* The Document Editor Web API controller application from [`here`](https://github.com/SyncfusionExamples/EJ2-DocumentEditor-WebServices).
-
-Make sure you build the project using the Build > Build Solution menu command before following the deployment steps.
-
-## Publish to Azure App Service
-
-**Step 1:** In Solution Explorer, right-click the project and click Publish (or use the Build > Publish menu item).
-
-
-
-**Step 2:** If you have previously configured any publishing profiles, the Publish pane appears, in which case select Create new profile.
-
-**Step 3:** In the Pick a publish target dialog box, select App Service.
-
-
-
-**Step 4:** Select Publish. The Create App Service dialog box appears. Sign in with your Azure account, if necessary, and then the default app service settings populate the fields.
-
-
-
-**Step 5:** Select Create. Visual Studio deploys the app to your Azure App Service, and the web app loads in your browser with the app name at `http://.azurewebsites.net` (i.e. `http://ej2-documenteditor-server20200514102909.azurewebsites.net`).
-
-**Step 6:** Navigate to Document Editor Web API control `http://ej2-documenteditor-server20200514102909.azurewebsites.net/api/documenteditor`. It returns the default get method response.
-
-Append the app service running the URL `http://ej2-documenteditor-server20200514102909.azurewebsites.net/api/documenteditor` to the service URL in the client-side Document Editor control. For more information about how to get started with the Document Editor control, refer to this [`getting started page`](https://ej2.syncfusion.com/javascript/documentation/document-editor/getting-started).
-
-For more information about the app container service, please look deeper into the [`Microsoft Azure App Service`](https://docs.microsoft.com/en-us/visualstudio/deployment/) for a production-ready setup.
diff --git a/ej2-javascript/document-editor/server-deployment/word-processor-server-docker-image-overview.md b/ej2-javascript/document-editor/server-deployment/word-processor-server-docker-image-overview.md
deleted file mode 100644
index 712ad9118..000000000
--- a/ej2-javascript/document-editor/server-deployment/word-processor-server-docker-image-overview.md
+++ /dev/null
@@ -1,231 +0,0 @@
----
-layout: post
-title: Overview in ##Platform_Name## Document editor control | Syncfusion
-description: Learn here all about Word processor server docker image overview in Syncfusion ##Platform_Name## Document editor control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: Word processor server docker image overview
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-# Word processor server docker image overview in ##Platform_Name## Document editor control
-
-The Syncfusion® **Word Processor (also known as Document Editor)** is a component with editing capabilities like Microsoft Word. It is used to create, edit, view, and print Word documents. It provides all the common word processing abilities, including editing text; formatting contents; resizing images and tables; finding and replacing text; importing, exporting, and printing Word documents; and using bookmarks and tables of contents.
-
-This Docker image is the predefined Docker container of Syncfusion’s Word Processor backend. You can deploy it quickly to your infrastructure.
-
-Word Processor is a commercial product, and it requires a valid license to use it in a production environment [`(request license or trial key).`](https://help.syncfusion.com/common/essential-studio/licensing/licensing-faq/where-can-i-get-a-license-key)
-
-The Word Processor is supported in the JavaScript, Angular, React, Vue, ASP.NET Core, ASP.NET MVC, and Blazor platforms.
-
-## Prerequisites
-
-Have [`Docker`](https://www.docker.com/products/container-runtime#/download) installed in your environment:
-* On Windows, install [`Docker for Windows`](https://hub.docker.com/editions/community/docker-ce-desktop-windows).
-* On macOS, install [`Docker for Mac`](https://hub.docker.com/editions/community/docker-ce-desktop-windows).
-
-## How to deploy Word Processor Docker image
-
-**Step 1:** Pull the word-processor-server image from Docker Hub.
-
-```console
-docker pull syncfusion/word-processor-server
-```
-
-**Step 2:** Create the docker-compose.yml file with the following code in your file system.
-
-```yaml
- version: '3.4'
-
- services:
- word-processor-server:
- image: syncfusion/word-processor-server:latest
- environment:
- #Provide your license key for activation
- SYNCFUSION_LICENSE_KEY: YOUR_LICENSE_KEY
- ports:
- - "6002:80"
-```
-
-**Step 3:** In a terminal tab, navigate to the directory where you’ve placed the docker-compose.yml file and execute the following.
-
-```console
-docker-compose up
-```
-
-Now the Word Processor server Docker instance runs in the localhost with the provided port number `http://localhost:6002`. Open this link in a browser and navigate to the Word Processor Web API control `http://localhost:6002/api/documenteditor`. It returns the default get method response.
-
-**Step 4:** Append the Docker instance running the URL `(http://localhost:6002/api/documenteditor)` to the service URL in the client-side Word Processor control. For more information about how to get started with the Word Processor control, refer to this [`getting started page.`](https://ej2.syncfusion.com/javascript/documentation/document-editor/getting-started)
-
-```
-
-
-
-
- Essential JS 2
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-```
-
-## How to configure spell checker dictionaries path in Docker compose file
-
-**Step 1:** In the Docker compose file, mount the local directory as a container volume using the following code.
-
-```yaml
- version: '3.4'
- services:
- word-processor-server:
- image: syncfusion/word-processor-server:latest
- environment:
- #Provide your license key for activation
- SYNCFUSION_LICENSE_KEY: YOUR_LICENSE_KEY
- volumes:
- - ./data:/app/data
- ports:
- - "6002:80"
-```
-
-This YAML definition binds the data folder that is available in the Docker compose file directory.
-
-**Step 2:** In the data folder, include the dictionary files (.dic, .aff) and JSON file. The JSON file should contain the language based dictionary file configuration in the following format.
-
-```yaml
- [
- {
- "LanguadeID": 1036,
- "DictionaryPath": "fr_FR.dic",
- "AffixPath": "fr_FR.aff",
- "PersonalDictPath": "customDict.dic"
- },
- {
- "LanguadeID": 1033,
- "DictionaryPath": "en_US.dic",
- "AffixPath": "en_US.aff",
- "PersonalDictPath": "customDict.dic"
- }
- ]
-```
-
->Note: By default, the json file name should be "spellcheck.json". You can also use different file name by mounting the file name to 'SPELLCHECK_JSON_FILENAME' attribute in Docker compose file as below,
-
-```yaml
- version: '3.4'
-
- services:
- word-processor-server:
- image: syncfusion/word-processor-server:latest
- environment:
- #Provide your license key for activation
- SYNCFUSION_LICENSE_KEY: YOUR_LICENSE_KEY
- SPELLCHECK_DICTIONARY_PATH: data
- SPELLCHECK_JSON_FILENAME: spellcheck1.json
- volumes:
- - ./data:/app/data
- ports:
- - "6002:80"
-```
-
-**Step 3:** For handling the personal dictionary, place an empty .dic file (e.g.,. customDict.dic file) in the data folder.
-
-**Step 4:** Provide the configured volume path to the environment variable like in the following in the Docker compose file.
-
-```yaml
- version: '3.4'
- services:
- word-processor-server:
- image: syncfusion/word-processo -server:latest
- environment:
- #Provide your license key for activation
- SYNCFUSION_LICENSE_KEY: YOUR_LICENSE_KEY
- SPELLCHECK_DICTIONARY_PATH: data
- volumes:
- - ./data:/app/data
- ports:
- - "6002:80"
-```
-
-## How to copy template Word documents to Docker image
-
-You can copy the required template Word documents into docker container while deploying the docker image to server. You can open these Word documents present in the server by passing the document path (name with relative path) to LoadDocument() web API.
-
->Note: Place the word files in the data folder mentioned in the volumes section(i.e., C:/Docker/Data) of the docker-compose.yml file. All the files present in the folder path (C:/Docker/Data) mentioned in the volumes section of ‘docker-compose.yml’ file will be copied to the respective folder (/app/Data) of docker container. The Word documents copied to docker container can be processed using the 'LoadDocument' web API.
-
-The following code example shows how to use LoadDocument() API in Document Editor.
-
-```ts
-import { DocumentEditorContainer, Toolbar } from '@syncfusion/ej2-documenteditor';
-
-let container: DocumentEditorContainer = new DocumentEditorContainer({ enableToolbar: true, height: '590px' });
-DocumentEditorContainer.Inject(Toolbar);
-
-container.created = function () {
- var dataContext = this;
- var uploadDocument = new FormData();
- uploadDocument.append('DocumentName', 'Getting Started.docx');
- var baseUrl = 'http://localhost:6002/api/documenteditor/LoadDocument';
- var httpRequest = new XMLHttpRequest();
- httpRequest.open('POST', baseUrl, true);
- httpRequest.onreadystatechange = function () {
- if (httpRequest.readyState === 4) {
- if (httpRequest.status === 200 || httpRequest.status === 304) {
- dataContext.container.documentEditor.open(httpRequest.responseText);
- }
- }
- };
- httpRequest.send(uploadDocument);
- dataContext.container.documentEditor.spellChecker.languageID = 1033;
-};
-
-container.appendTo('#container');
-```
-
-Refer to these getting started pages to create a Word Processor in [`Angular`](https://ej2.syncfusion.com/angular/documentation/document-editor/getting-started/), [`React`](https://ej2.syncfusion.com/react/documentation/document-editor/getting-started/), [`Vue`](https://ej2.syncfusion.com/vue/documentation/document-editor/getting-started/), [`ASP.NET MVC`](https://ej2.syncfusion.com/aspnetmvc/documentation/document-editor/getting-started/), [`ASP.NET Core`](https://ej2.syncfusion.com/aspnetcore/documentation/document-editor/getting-started-core/), and [`Blazor`](https://blazor.syncfusion.com/documentation/document-editor/getting-started/server-side-application/).
diff --git a/ej2-javascript/document-editor/shapes.md b/ej2-javascript/document-editor/shapes.md
deleted file mode 100644
index f62db9704..000000000
--- a/ej2-javascript/document-editor/shapes.md
+++ /dev/null
@@ -1,42 +0,0 @@
----
-layout: post
-title: Shapes in ##Platform_Name## Document editor control | Syncfusion
-description: Learn here all about Shapes in Syncfusion ##Platform_Name## Document editor control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: Shapes
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Shapes in ##Platform_Name## Document editor control
-
-Shapes are drawing objects that include a text box, rectangles, lines, curves, circles, etc. It can be preset or custom geometry. At present, DocumentEditor does not have support to insert shapes. however, if the document contains a shape while importing, it will be preserved properly.
-
-## Supported shapes
-
-The DocumentEditor has preservation support for Lines, Rectangle, Basic Shapes, Block Arrows, Equation Shapes,Flowchart and Stars and Banners.
-
-
-
->Note: When using ASP.NET MVC service, the unsupported shapes will be converted as image and preserved as image.
-
-## Text box Shape
-
-A text box is a rectangular area on the document where you can enter text. When you click in a text box, a flashing cursor will display indicating that you can begin typing. It allows you to enter multiple lines of text with all text formatting.
-
-
-
-## Shape Resizer
-
-The DocumentEditor also supports a built-in shape resizer to resize the shapes present in the document. The shape resizer accepts both touch and mouse interactions.
-
-
-
-## Text wrapping style
-
-Text wrapping refers to how shapes fit with surrounding text in a document. Please [refer to this page](../document-editor/text-wrapping-style) for more information about text wrapping styles available in Word documents.
-
-## Positioning the shape
-
-DocumentEditor preserves the position properties of the shape and displays the shape based on position properties. It does not support modifying the position properties. Whereas the shape will be automatically moved along with text edited if it is positioned relative to the line or paragraph.
diff --git a/ej2-javascript/document-editor/spell-check.md b/ej2-javascript/document-editor/spell-check.md
deleted file mode 100644
index 3ddd7a3a9..000000000
--- a/ej2-javascript/document-editor/spell-check.md
+++ /dev/null
@@ -1,162 +0,0 @@
----
-layout: post
-title: Spell check in ##Platform_Name## Document editor control | Syncfusion
-description: Learn here all about Spell check in Syncfusion ##Platform_Name## Document editor control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: Spell check
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Spell check in ##Platform_Name## Document editor control
-
-Document Editor supports performing spell checking for any input text. You can perform spell checking for the text in Document Editor and it will provide suggestions for the mis-spelled words through dialog and in context menu. Document editor's spell checker is compatible with [hunspell dictionary files](https://github.com/wooorm/dictionaries).
-
-```ts
-import { DocumentEditorContainer, Toolbar, SpellChecker } from '@syncfusion/ej2-documenteditor';
-
-DocumentEditorContainer.Inject(Toolbar);
-let container: DocumentEditorContainer = new DocumentEditorContainer({
- enableToolbar: true, enableSpellCheck: true
-});
-container.appendTo('#container');
-//Accessing spell checker.
-let spellChecker: SpellChecker = container.documentEditor.spellChecker;
-//Set language id to map dictionary in server side.;
-spellChecker.languageID = 1033;
-spellChecker.removeUnderline = false;
-//Allow suggetion for miss spelled word/
-spellChecker.allowSpellCheckAndSuggestion = true;
-```
-
->Note: Document Editor requires server-side dependencies for spell check configuration.
-Refer to the [Document Editor Web API service projects from GitHub](https://github.com/SyncfusionExamples/EJ2-Document-Editor-Web-Services/tree/master/ASP.NET%20Core#spell-check) link for configuring spell checker in server-side.To know about server-side dependencies, please refer this [page](../document-editor/web-services-overview).
-
-## Features
-
-* Supports context menu suggestions.
-* Provides built-in options to Ignore, Ignore All, Change, Change All for error words in spell checker dialog.
-
-## Enable SpellCheck
-
-To enable spell check in DocumentEditor, set [`enableSpellCheck`](../api/document-editor#enablespellcheck) property as `true` and then configure SpellCheckSettings.
-
-## Disable SpellCheck
-
-To disable spell check in DocumentEditor, set [`enableSpellCheck`](../api/document-editor#enablespellcheck) property as `false` or remove [`enableSpellCheck`](../api/document-editor#enablespellcheck) property initialization code. The default value of this property is false.
-
-## Spell check settings
-
-### Remove Underline
-
-By default, mis-spelled words are marked with squiggly line. You can also disable this behavior by enabling the [`removeUnderline`](../api/document-editor/spellChecker#removeunderline) API and now, the squiggly lines will never be rendered for mis-spelled words.
-
-```ts
-documentEditor.spellChecker.removeUnderline = false;
-```
-
-### AllowSpellCheckAndSuggestion
-
-By default, on performing spell check in Document Editor, both spelling and suggestions of the mis-spelled words will be retrieved, and this mis-spelled words can be corrected through context menu suggestions. You can modify this behavior using the [`allowSpellCheckAndSuggestion`](../api/document-editor/spellChecker#allowspellcheckandsuggestion) API, which will perform only spell check.
-
-```ts
-documentEditor.spellChecker.allowSpellCheckAndSuggestion = false;
-```
-
-### LanguageID
-
-Document Editor provides multi-language spell check support. You can add as many languages (dictionaries) in the server-side and to use that language for spell checking in Document Editor, it must be matched with [`languageID`](../api/document-editor/spellChecker#languageid) you pass in the Document Editor.
-
-```ts
-documentEditor.spellChecker.languageID = 1033; //LCID of "en-us";
-```
-
-### EnableOptimizedSpellCheck
-
-Document Editor provides option to spellcheck page by page when loading the documents. The default value of this property is false, so when opening the document spellcheck web API will be called for each word in the document. To optimize the frequency of spellcheck web API calls, you can enable this property.
-
-The following code example illustrates how to enable optimized spell checking.
-
-```ts
-documentEditor.spellChecker.enableOptimizedSpellCheck = true;
-```
-
-### Spell check dictionary cache
-
-Starting from `v20.1.0.xx`, we have optimized the performance and memory usage of spell checker by adding a static method to initialize the dictionaries with specified cache count.
-
-By default, the spell checker holds only one language dictionary in memory. If you want to hold multiple dictionaries in memory, you need to set the cache limit by using `InitializeDictionaries` method as in the below example.
-
-```c#
- List spellDictCollection = new List();
- string personalDictPath = string.Empty;
- int cacheCount = 2;
-
- // Initialize dictionaries
- SpellChecker.InitializeDictionaries(spellDictCollection, personalDictPath, cacheCount);
-```
-
-If dictionaries are initialized using `InitializeDictionaries` method, then we should use default constructor of the `SpellChecker`to check spelling and get suggestion as in the below example code, it will prevent reinitialization of already loaded dictionaries.
-
-```c#
-public string SpellCheck([FromBody] SpellCheckJsonData spellChecker)
-{
- try {
- SpellChecker spellCheck = new SpellChecker();
- spellCheck.GetSuggestions(spellChecker.LanguageID, spellChecker.TexttoCheck, spellChecker.CheckSpelling, spellChecker.CheckSuggestion, spellChecker.AddWord);
- return Newtonsoft.Json.JsonConvert.SerializeObject(spellCheck);
- }
- catch
- {
- return "{\"SpellCollection\":[],\"HasSpellingError\":false,\"Suggestions\":null}";
- }
-}
-```
-
-Previously on every `SpellChecker.GetSuggestion()` method call, the `.aff` and dictionary data will be parsed to generate suggestion for miss spelled word. But, starting from `v20.1.0.xx`, the `.aff` and dictionary data will be parsed only for the first time alone while calling `SpellChecker.GetSuggestion()` method.
-
-### Add new root word and possible words to dictionary
-
-If you find any root word is missing in the dictionary file, then you can add that new root word and the rule to form the possible words to dictionary file using `AddNewWord` API in the server-side Spell check library.
-
->Note:
->1. The rules are framed automatically using the root word, the possible words and affix file.
->2. If you pass null for the parameters `affPath` and `possibleWords`, then it will add a single root word to dictionary.
->3. This API is included starting from `v20.2.0.xx`.
-
-The following code example demonstrates how to add a new root word to the dictionary along with the rule to form the possible words.
-
-```c#
-SpellChecker spellChecker = new SpellChecker();
-// Adds the specified new root word to the dictionary along with the rule to form the possible words.
-spellChecker.AddNewWord("en.dic","en.aff", "construct", new string[] { "constructs", "reconstruct", "constructed", "constructive" });
-```
-
-## Context menu
-
-Right click on error word to open the context menu with spell check options. Please see below screenshot for your reference.
-
-
-
-### Suggestions
-
-Context menu shows the suggestions for mis-spelled words. By clicking on the required word from suggestion, the error word gets replaced automatically.
-
-### Add To Dictionary
-
-Using this option, you can add the current word to the dictionary. So that the spell checker does not consider that word as error in future.
-
-### Ignore Once and Ignore All
-
-If you do not wish to add the word to dictionary and do not want to show error, use Ignore Once or Ignore All options.
-
-Ignore: ignore only the current occurrence of a word from error.
-
-Ignore All: ignore all occurrence of a word from error in the entire document.
-
-### Spelling
-
-Using this option, you can open spell check dialog. Please see below screenshot for your reference.
-
-
diff --git a/ej2-javascript/document-editor/table-format.md b/ej2-javascript/document-editor/table-format.md
deleted file mode 100644
index 15a26d87a..000000000
--- a/ej2-javascript/document-editor/table-format.md
+++ /dev/null
@@ -1,211 +0,0 @@
----
-layout: post
-title: Table format in ##Platform_Name## Document editor control | Syncfusion
-description: Learn here all about Table format in Syncfusion ##Platform_Name## Document editor control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: Table format
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Table format in ##Platform_Name## Document editor control
-
-Document Editor customizes the formatting of table, or table cells such as table width, cell margins, cell spacing, background color, and table alignment. This section describes how to customize these formatting for selected cells, rows, or table in detail.
-
-## Cell margins
-
-You can customize the cell margins by using the following sample code.
-
-```ts
-//To change the left margin
-documenteditor.selection.cellFormat.leftMargin = 5.4;
-//To change the right margin
-documenteditor.selection.cellFormat.rightMargin = 5.4;
-//To change the top margin
-documenteditor.selection.cellFormat.topMargin = 5.4;
-//To change the bottom margin
-documenteditor.selection.cellFormat.bottomMargin = 5.4;
-```
-
-You can also define the default cell margins for a table. If the specific cell margin value is not defined explicitly in the cell formatting, the corresponding value will be retrieved from default cells margin of the table. Refer to the following sample code.
-
-```ts
-//To change the left margin
-documenteditor.selection.tableFormat.leftMargin = 5.4;
-//To change the right margin
-documenteditor.selection.tableFormat.rightMargin = 5.4;
-//To change the top margin
-documenteditor.selection.tableFormat.topMargin = 5.4;
-//To change the bottom margin
-documenteditor.selection.tableFormat.bottomMargin = 5.4;
-```
-
-## Background color
-
-You can explicitly set the background color of selected cells using the following sample code.
-
-```ts
-documenteditor.selection.cellFormat.background = '#E0E0E0';
-```
-
-Refer to the following sample code to customize the background color of the table.
-
-```ts
-documenteditor.selection.tableFormat.background = '#E0E0E0';
-```
-
-## Cell spacing
-
-Refer to the following sample code to customize the spacing between each cell in a table.
-
-```ts
-documenteditor.selection.tableFormat.cellSpacing = 2;
-```
-
-## Cell vertical alignment
-
-The content is aligned within a table cell to ‘Top’, ‘Center’, or ‘Bottom’. You can customize this property of selected cells. Refer to the following sample code.
-
-```ts
-documenteditor.selection.cellFormat.verticalAlignment = 'Bottom';
-```
-
-## Table alignment
-
-The tables are aligned in Document Editor to ‘Left’, ‘Right’, or ‘Center’. Refer to the following sample code.
-
-```ts
-documenteditor.selection.tableFormat.tableAlignment = 'Center';
-```
-
-## Cell width
-
-Set the desired width of table cells that will be considered when the table is layouted. Refer to the following sample code.
-
-```ts
-import { DocumentEditor, Editor, Selection, SfdtExport } from '@syncfusion/ej2-documenteditor';
-//Inject the required module
-DocumentEditor.Inject(Editor, Selection, SfdtExport);
-let documenteditor: DocumentEditor = new DocumentEditor({
- isReadOnly: false,
- enableSelection: true,
- enableEditor: true,
- enableSfdtExport: true
-});
-documenteditor.appendTo('#DocumentEditor');
-documenteditor.editor.insertTable(2, 2);
-//To change the width of a cell
-documenteditor.selection.cellFormat.preferredWidthType = 'Point';
-documenteditor.selection.cellFormat.preferredWidth = 100;
-```
-
-## Table width
-
-You can set the desired width of a table in ‘Point ‘or ‘Percent’ type. Refer to the following sample code.
-
-```ts
-import { DocumentEditor, Editor, Selection, SfdtExport } from '@syncfusion/ej2-documenteditor';
-//Inject the required module
-DocumentEditor.Inject(Editor, Selection, SfdtExport);
-let documenteditor: DocumentEditor = new DocumentEditor({
- isReadOnly: false,
- enableSelection: true,
- enableEditor: true,
- enableSfdtExport: true
-});
-documenteditor.appendTo('#DocumentEditor');
-documenteditor.editor.insertTable(2, 2);
-//To change the width of a table
-documenteditor.selection.tableFormat.preferredWidthType = 'Point';
-documenteditor.selection.tableFormat.preferredWidth = 300;
-```
-
-## Apply borders
-
-Document Editor exposes API to customize the borders for table cells by specifying the settings. Refer to the following sample code.
-
-```ts
-import { DocumentEditor, Editor, Selection, SfdtExport, BorderSettings } from '@syncfusion/ej2-documenteditor';
-//Inject the required module
-DocumentEditor.Inject(Editor, Selection, SfdtExport);
-let documenteditor: DocumentEditor = new DocumentEditor({
- isReadOnly: false,
- enableSelection: true,
- enableEditor: true,
- enableSfdtExport: true
-});
-documenteditor.appendTo('#DocumentEditor');
-documenteditor.editor.insertTable(2, 2);
-//To apply border
-let borderSettings: BorderSettings = {
- type: 'AllBorders',
- lineWidth: 12
-};
-documenteditor.editor.applyBorders(borderSettings);
-```
-
-Please check below gif which illustrates how to apply border for selected cells through properties pane options - border color, line size and no border:
-
-
-
-## Working with row formatting
-
-Document Editor allows various row formatting such as height and repeat header.
-
-### Row height
-
-You can customize the height of a table row as ‘Auto’, ‘AtLeast’, or ‘Exactly’. Refer to the following sample code.
-
-```ts
-import { DocumentEditor, Editor, Selection, SfdtExport } from '@syncfusion/ej2-documenteditor';
-//Inject the required module
-DocumentEditor.Inject(Editor, Selection, SfdtExport);
-let documenteditor: DocumentEditor = new DocumentEditor({
- isReadOnly: false,
- enableSelection: true,
- enableEditor: true,
- enableSfdtExport: true
-});
-documenteditor.appendTo('#DocumentEditor');
-documenteditor.editor.insertTable(2, 2);
-//To change row height of first row
-documenteditor.selection.rowFormat.heightType = 'Exactly';
-documenteditor.selection.rowFormat.height = 20;
-```
-
-### Header row
-
-The header row describes the content of a table. A table can optionally have a header row. Only the first row of a table can be the header row. If the cursor position is at first row of the table, then you can define whether it as header row or not, using the following sample code.
-
-```ts
-documenteditor.selection.rowFormat.isHeader = true;
-```
-
-### Allow row break across pages
-
-This property is valid if a table row does not fit in the current page during table layout. It defines whether a table row can be allowed to break. If the value is false, the entire row will be moved to the start of next page. You can modify this property for selected rows using the following sample code.
-
-```ts
-documenteditor.selection.rowFormat.allowRowBreakAcrossPages = false;
-```
-
-### Title
-
-Document Editor expose API to get or set the table title of the selected table. Refer to the following sample code to set title.
-
-```ts
-documenteditor.selection.tableFormat.title = 'Shipping Details';
-```
-
-### Description
-
-Document Editor expose API to get or set the table description of the selected image. Refer to the following sample code to set description.
-
-```ts
-documenteditor.selection.tableFormat.description = 'Freight cost and shipping details';
-```
-
-## See Also
-
-* [Table properties dialog](../document-editor/dialog#table-properties-dialog)
\ No newline at end of file
diff --git a/ej2-javascript/document-editor/table-of-contents.md b/ej2-javascript/document-editor/table-of-contents.md
deleted file mode 100644
index ee5b41dca..000000000
--- a/ej2-javascript/document-editor/table-of-contents.md
+++ /dev/null
@@ -1,80 +0,0 @@
----
-layout: post
-title: Table of contents in ##Platform_Name## Document editor control | Syncfusion
-description: Learn here all about Table of contents in Syncfusion ##Platform_Name## Document editor control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: Table of contents
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Table of contents in ##Platform_Name## Document editor control
-
-The table of contents in a document is same as the list of chapters at the beginning of a book. It lists each heading in the document and the page number, where that heading starts with various options to customize the appearance.
-
-## Inserting table of contents
-
-Document Editor exposes an API to insert table of contents at cursor position programmatically. You can specify the settings for table of contents explicitly. Otherwise, the default settings will be applied.
-
-[`TableOfContentsSettings`](../api/document-editor/tableOfContentsSettings/) contain the following properties:
-* **startLevel**: Specifies the start level for constructing table of contents.
-* **endLevel**: Specifies the end level for constructing table of contents.
-* **includeHyperlink**: Specifies whether the link for headings is included.
-* **includePageNumber**: Specified whether the page number of the headings is included.
-* **rightAlign**: Specifies whether the page number is right aligned.
-* **tabLeader**: Specifies the tab leader styles such as none, dot, hyphen, and underscore.
-* **includeOutlineLevels**: Specifies whether the outline levels are included.
-
-The following code illustrates how to insert table of content in Document Editor.
-
-```ts
-let tocSettings: TableOfContentsSettings =
-{
- startLevel: 1, endLevel: 3, includeHyperlink: true, includePageNumber: true, rightAlign: true
-};
-//Insert table of contents in Document Editor.
-editor.editorModule.insertTableOfContents(tocSettings);
-```
-
-{% tabs %}
-{% highlight ts tabtitle="index.ts" %}
-{% include code-snippet/document-editor/table-of-contents-cs1/index.ts %}
-{% endhighlight %}
-{% highlight html tabtitle="index.html" %}
-{% include code-snippet/document-editor/table-of-contents-cs1/index.html %}
-{% endhighlight %}
-{% endtabs %}
-
-{% previewsample "page.domainurl/code-snippet/document-editor/table-of-contents-cs1" %}
-
-## Update or edit table of contents
-
-You can update or edit the table of contents using the built-in context menu shown up by right-clicking it. Refer to the following screenshot.
-
-
-
-* **Update Field**: Updates the headings in table of contents with same settings by searching the entire document.
-* **Edit Field**: Opens the built-in table of contents dialog and allows you to modify its settings.
-
-You can also do it programmatically by using the exposed API. Refer to the following sample code.
-
-```ts
-let documentEditor: DocumentEditor = new DocumentEditor({ enableEditor: true, isReadOnly: false, enableSelection: true });
-documentEditor.appendTo('#DocumentEditor');
-/*Open any existing document*/
-documentEditor.open('');
-//Table of contents settings.
-let tocSettings: TableOfContentsSettings =
-{
- startLevel: 1, endLevel: 3, includeHyperlink: true, includePageNumber: true, rightAlign: true
-};
-//Insert table of contents in Document Editor.
-documentEditor.editorModule.insertTableOfContents(tocSettings);
-```
-
->Same method is used for inserting, updating, and editing table of contents. This will work based on the current element at cursor position and the optional settings parameter. If table of contents is present at cursor position, the update operation will be done based on the optional settings parameter. Otherwise, the insert operation will be done.
-
-## See Also
-
-* [Table of contents dialog](../document-editor/dialog#table-of-contents-dialog)
diff --git a/ej2-javascript/document-editor/table.md b/ej2-javascript/document-editor/table.md
deleted file mode 100644
index df4c57c82..000000000
--- a/ej2-javascript/document-editor/table.md
+++ /dev/null
@@ -1,223 +0,0 @@
----
-layout: post
-title: Table in ##Platform_Name## Document editor control | Syncfusion
-description: Learn here all about Table in Syncfusion ##Platform_Name## Document editor control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: Table
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Table in ##Platform_Name## Document editor control
-
-Tables are an efficient way to present information. Document Editor can display and edit the tables. You can select and edit tables through keyboard, mouse, or touch interactions. Document Editor exposes a rich set of APIs to perform these operations programmatically.
-
-## Create a table
-
-You can create and insert a table at cursor position by specifying the required number of rows and columns.
-
-Refer to the following sample code.
-
-```ts
- documenteditor.editor.insertTable(3,3);
-```
-## Set the maximum number of rows when inserting a table
-
-{% if page.publishingplatform == "typescript" %}
-
-You can use the [maximumRows](https://ej2.syncfusion.com/documentation/api/document-editor/documentEditorSettings/#maximumrows) property to set the maximum number of rows allowed while inserting a table in the Document Editor component.
-
-{% elsif page.publishingplatform == "javascript" %}
-
-You can use the [maximumRows](https://ej2.syncfusion.com/javascript/documentation/api/document-editor/documentEditorSettings/#maximumrows) property to set the maximum number of rows allowed while inserting a table in the Document Editor component.
-
-{% endif %}
-
-Refer to the following sample code.
-
-```ts
- let container: DocumentEditorContainer = new DocumentEditorContainer({ documentEditorSettings: { maximumRows: 4 } });
-```
-
-When the maximum row limit is reached, an alert will appear, as follow
-
-
-
->Note: The maximum value of Row is 32767, as per Microsoft Word application and you can set any value less than or equal to 32767 to this property.
-## Set the maximum number of Columns when inserting a table
-
-{% if page.publishingplatform == "typescript" %}
-
-You can use the [maximumColumns](https://ej2.syncfusion.com/documentation/api/document-editor/documentEditorSettings/#maximumcolumns) property to set the maximum number of columns allowed while inserting a table in the Document Editor component.
-
-{% elsif page.publishingplatform == "javascript" %}
-
-You can use the [maximumColumns](https://ej2.syncfusion.com/javascript/documentation/api/document-editor/documentEditorSettings/#maximumcolumns) property to set the maximum number of columns allowed while inserting a table in the Document Editor component.
-
-{% endif %}
-
-Refer to the following sample code.
-
-```ts
-let container: DocumentEditorContainer = new DocumentEditorContainer({ documentEditorSettings: { maximumColumns: 4 } });
-```
-
-When the maximum column limit is reached, an alert will appear, as follow
-
-
-
->Note: The maximum value of Column is 63, as per Microsoft Word application and you can set any value less than or equal to 63 to this property.
-
-## Insert rows
-
-You can add a row (or several rows) above or below the row at cursor position by using the [`insertRow`](../api/document-editor/editor/#insertrow) method. This method accepts the following parameters:
-
-Parameter | Type | Description
-----------|------|-------------
-above(optional) | boolean | This is optional and if omitted, it takes the value as false and inserts below the row at cursor position.
-count(optional) | number | This is optional and if omitted, it takes the value as 1.
-
-Refer to the following sample code.
-
-```ts
-//Inserts a row below the row at cursor position
-documentedior.editor.insertRow();
-
-//Inserts a row above the row at cursor position
-documentedior.editor.insertRow(false);
-
-//Inserts three rows below the row at cursor position
-documentedior.editor.insertRow(true, 3)
-```
-
-## Insert columns
-
-You can add a column (or several columns) to the left or right of the column at cursor position by using the [`insertColumn`](../api/document-editor/editor/#insertcolumn) method. This method accepts the following parameters:
-
-Parameter | Type | Description
-----------|------|-------------
-left(optional) | boolean| This is optional and if omitted, it takes the value as false and inserts to the right of column at cursor position.
-count(optional) | number | This is optional and if omitted, it takes the value as 1.
-
-Refer to the following sample code.
-
-```ts
-//Insert a column to the right of the column at cursor position.
-documentedior.editor.insertColumn();
-
-//Insert a column to the left of the column at cursor position.
-documentedior.editor.insertColumn(false);
-
-//Insert two columns to the left of the column at cursor position.
-documentedior.editor.insertColumn(false, 2);
-```
-
-### Select an entire table
-
-If the cursor position is inside a table, you can select the entire table by using the following sample code.
-
-```ts
-documenteditor.selection.selectTable();
-```
-
-### Select row
-
-You can select the entire row at cursor position by using the following sample code.
-
-```ts
-documenteditor.selection.selectRow();
-```
-
-If current selection spans across cells of different rows, all these rows will be selected.
-
-### Select column
-
-You can select the entire column at cursor position by using the following sample code.
-
-```ts
-documenteditor.selection.selectColumn();
-```
-
-If current selection spans across cells of different columns, all these columns will be selected.
-
-### Select cell
-
-You can select the cell at cursor position by using the following sample code.
-
-```ts
-documenteditor.selection.selectCell();
-```
-
-## Delete table
-
-Document Editor allows you to delete the entire table. You can use the [`deleteTable()`](../api/document-editor/editor/#deletetable) method of editor instance, if selection is in table. Refer to the following sample code.
-
-```ts
-documenteditor.editor.deleteTable();
-```
-
-## Delete row
-
-Document Editor allows you to delete the selected number of rows. You can use the [`deleteRow()`](../api/document-editor/editor/#deleterow) method of editor instance to delete the selected number of rows, if selection is in table. Refer to the following sample code.
-
-```ts
-documenteditor.editor.deleteRow();
-```
-
-## Delete column
-
-Document Editor allows you to delete the selected number of columns. You can use the [`deleteColumn()`](../api/document-editor/editor/#deletecolumn) method of editor instance to delete the selected number of columns, if selection is in table. Refer to the following sample code.
-
-```ts
-documenteditor.editor.deleteColumn();
-```
-
-## Merge cells
-
-You can merge cells vertically, horizontally, or combination of both to a single cell. To vertically merge the cells, the columns within selection should be even in left and right directions. To horizontally merge the cells, the rows within selection should be even in top and bottom direction.
-Refer to the following sample code.
-
-```ts
-documenteditor.editor.mergeCells()
-```
-
-## Positioning the table
-
-Document Editor preserves the position properties of the table and displays the table based on position properties. It does not support modifying the position properties. Whereas the table will be automatically moved along with text edited if it is positioned relative to the paragraph.
-
-## How to work with tables
-
-The following sample demonstrates how to delete the table row or columns, merge cells and how to bind the API with button.
-
-{% if page.publishingplatform == "typescript" %}
-
- {% tabs %}
-{% highlight ts tabtitle="index.ts" %}
-{% include code-snippet/document-editor/table-cs1/index.ts %}
-{% endhighlight %}
-{% highlight html tabtitle="index.html" %}
-{% include code-snippet/document-editor/table-cs1/index.html %}
-{% endhighlight %}
-{% endtabs %}
-
-{% previewsample "page.domainurl/code-snippet/document-editor/table-cs1" %}
-
-{% elsif page.publishingplatform == "javascript" %}
-
-{% tabs %}
-{% highlight js tabtitle="index.js" %}
-{% include code-snippet/document-editor/table-cs1/index.js %}
-{% endhighlight %}
-{% highlight html tabtitle="index.html" %}
-{% include code-snippet/document-editor/table-cs1/index.html %}
-{% endhighlight %}
-{% endtabs %}
-
-{% previewsample "page.domainurl/code-snippet/document-editor/table-cs1" %}
-{% endif %}
-
-## See Also
-
-* [Feature modules](../document-editor/feature-module/)
-* [Insert table dialog](../document-editor/dialog#table-dialog)
diff --git a/ej2-javascript/document-editor/text-format.md b/ej2-javascript/document-editor/text-format.md
deleted file mode 100644
index afabc075e..000000000
--- a/ej2-javascript/document-editor/text-format.md
+++ /dev/null
@@ -1,230 +0,0 @@
----
-layout: post
-title: Text format in ##Platform_Name## Document editor control | Syncfusion
-description: Learn here all about Text format in Syncfusion ##Platform_Name## Document editor control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: Text format
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Text format in ##Platform_Name## Document editor control
-
-Document Editor supports several formatting options for text like bold, italic, font color, highlight color, and more. This section describes how to modify the formatting for selected text in detail.
-
-## Bold
-
-The bold formatting for selected text can be get or set by using the following sample code.
-
-```ts
-
-//Gets the value for bold formatting of selected text.
-let bold : boolean = documenteditor.selection.characterFormat.bold;
-//Sets bold formatting for selected text.
-documenteditor.selection.characterFormat.bold = true;
-
-```
-
-You can toggle the bold formatting based on existing value at selection. Refer to the following sample code.
-
-```ts
-documenteditor.editor.toggleBold();
-```
-
-## Italic
-
-The Italic formatting for selected text can be get or set by using the following sample code.
-
-```ts
-//Gets the value for italic formatting of selected text.
-let italic : boolean = documenteditor.selection.characterFormat.italic;
-//Sets italic formatting for selected text.
-documenteditor.selection.characterFormat.italic = true|false;
-```
-
-You can toggle the Italic formatting based on existing value at selection. Refer to the following sample code.
-
-```ts
-documenteditor.editor.toggleItalic();
-```
-
-## Underline property
-
-The underline style for selected text can be get or set by using the following sample code.
-
-```ts
-//Gets the value for underline formatting of selected text.
-let underline : Underline = documenteditor.selection.characterFormat.underline;
-//Sets underline formatting for selected text.
-documenteditor.selection.characterFormat.underline = 'Single' | 'None';
-```
-
-You can toggle the underline style of selected text based on existing value at selection by specifying a value. Refer to the following sample code.
-
-```ts
-documenteditor.editor.toggleUnderline('Single');
-```
-
-## Strikethrough property
-
-The strikethrough style for selected text can be get or set by using the following sample code.
-
-```ts
-//Gets the value for strikethrough formatting of selected text.
-let strikethrough : Strikethrough = documenteditor.selection.characterFormat.strikethrough;
-//Sets strikethrough formatting for selected text.
-documenteditor.selection.characterFormat.strikethrough = 'Single' | 'Normal';
-```
-
-You can toggle the strikethrough style of selected text based on existing value at selection by specifying a value. Refer to the following sample code.
-
-```ts
-documenteditor.editor.toggleStrikethrough();
-```
-
-## Superscript property
-
-The selected text can be made superscript by using the following sample code.
-
-```ts
-//Gets the value for baselineAlignment formatting of selected text.
-let baselineAlignment : BaselineAlignment = documenteditor.selection.characterFormat.baselineAlignment;
-//Sets baselineAlignment formatting for selected text.
-documenteditor.selection.characterFormat.baselineAlignment = 'Superscript';
-```
-
-Toggle the selected text as superscript or normal using the following sample code.
-
-```ts
-documenteditor.editor.toggleSuperscript();
-```
-
-## Subscript property
-
-The selected text can be made subscript by using the following sample code.
-
-```ts
-//Gets the value for baselineAlignment formatting of selected text.
-let baselineAlignment : BaselineAlignment = documenteditor.selection.characterFormat.baselineAlignment;
-//Sets baselineAlignment formatting for selected text.
-documenteditor.selection.characterFormat.baselineAlignment = 'Subscript';
-```
-
-Toggle the selected text as subscript or normal using the following sample code.
-
-```ts
-documenteditor.editor.toggleSubscript();
-```
-
-You can make a subscript or superscript text as normal using the following code.
-
-```ts
-documenteditor.selection.characterFormat.baselineAlignment = 'Normal';
-```
-
-## Change case
-
-You can apply different case formatting based on the selected text. Refer to the following sample code.
-
-```ts
-documenteditor.editor.changeCase('Uppercase'|'Lowercase'|'SentenceCase'|'ToggleCase'|'CapitalizeEachWord');
-```
-
-## Size
-
-The size of selected text can be get or set using the following code.
-
-```ts
-//Gets the value for fontSize formatting of selected text.
-let fontSize : number = documenteditor.selection.characterFormat.fontSize;
-//Sets fontSize formatting for selected text.
-documenteditor.selection.characterFormat.fontSize = 32;
-```
-
-## Color
-
-### Change Font Color by UI Option
-
-In the Document Editor, the Text Properties pane features two icons for managing text color within the user interface (UI):
-
-* **Colored Box:** This icon visually represents the **current color** applied to the selected text.
-* **Text (A) Icon:** Clicking this icon allows users **to modify the color** of the selected text by choosing a new color from the available options.
-
-This Font Color option appear as follows.
-
-
-
-### Change Font Color by Code
-
-The color of selected text can be get or set using the following code.
-
-```ts
-//Gets the value for fontColor formatting of selected text.
-let fontColor : string = documenteditor.selection.characterFormat.fontColor;
-//Sets fontColor formatting for selected text.
-documenteditor.selection.characterFormat.fontColor = 'Pink';
-documenteditor.selection.characterFormat.fontColor = '#FFC0CB';
-```
-
-## Font
-
-The font style of selected text can be get or set using the following sample code.
-
-```ts
-//Gets the value for fontFamily formatting of selected text.
-let baselineAlignment : string = documenteditor.selection.characterFormat.fontFamily;
-//Sets fontFamily formatting for selected text.
-documenteditor.selection.characterFormat.fontFamily = 'Arial';
-```
-
-## Highlight color
-
-The highlight color of the selected text can be get or set using the following sample code.
-
-```ts
-//Gets the value for highlightColor formatting of selected text.
-let highlightColor : HighlightColor = documenteditor.selection.characterFormat.highlightColor;
-//Sets highlightColor formatting for selected text.
-documenteditor.selection.characterFormat.highlightColor = 'Pink';
-documenteditor.selection.characterFormat.highlightColor = '#FFC0CB';
-```
-
-N> 1. Character scaling and spacing present in the input Word document will be preserved in the exported Word document. N> 2. Scaling is implemented using the letterSpacing property, which may present compatibility problems. For more information, please refer to this [link](https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/letterSpacing#browser_compatibility)
-
-## Toolbar with options for text formatting
-
-Refer to the following example.
-
-{% if page.publishingplatform == "typescript" %}
-
- {% tabs %}
-{% highlight ts tabtitle="index.ts" %}
-{% include code-snippet/document-editor/text-format-cs1/index.ts %}
-{% endhighlight %}
-{% highlight html tabtitle="index.html" %}
-{% include code-snippet/document-editor/text-format-cs1/index.html %}
-{% endhighlight %}
-{% endtabs %}
-
-{% previewsample "page.domainurl/code-snippet/document-editor/text-format-cs1" %}
-
-{% elsif page.publishingplatform == "javascript" %}
-
-{% tabs %}
-{% highlight js tabtitle="index.js" %}
-{% include code-snippet/document-editor/text-format-cs1/index.js %}
-{% endhighlight %}
-{% highlight html tabtitle="index.html" %}
-{% include code-snippet/document-editor/text-format-cs1/index.html %}
-{% endhighlight %}
-{% endtabs %}
-
-{% previewsample "page.domainurl/code-snippet/document-editor/text-format-cs1" %}
-{% endif %}
-
-## See Also
-
-* [Feature modules](../document-editor/feature-module)
-* [Font dialog](../document-editor/dialog#font-dialog)
-* [Keyboard shortcuts](../document-editor/keyboard-shortcut#text-formatting)
\ No newline at end of file
diff --git a/ej2-javascript/document-editor/text-wrapping-style.md b/ej2-javascript/document-editor/text-wrapping-style.md
deleted file mode 100644
index 9347588a6..000000000
--- a/ej2-javascript/document-editor/text-wrapping-style.md
+++ /dev/null
@@ -1,52 +0,0 @@
----
-layout: post
-title: Text wrapping style in ##Platform_Name## Document editor control | Syncfusion
-description: Learn here all about Text wrapping style in Syncfusion ##Platform_Name## Document editor control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: Text wrapping style
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Text wrapping style in ##Platform_Name## Document editor control
-
-Text wrapping refers to how images and shapes are fit with surrounding text in a document. Currently, DocumentEditor has only preservation support for image and textbox shape with below wrapping styles.
-
-## In-Line with Text
-
-In this option, the image or shape is placed on the same line surrounding with text like any other word or letter. This image or shape will be automatically moved along with the text while editing, whereas the other options denote that the image or shape stays in a fixed position while the text shifts and wraps around it.
-
-
-
-## In Front of Text
-
-In this option, the image or shape is placed in front of the text. This can be used to place an image around some text or to add shape to highlight the part in a paragraph.
-
-
-
->Note: Starting from v18.2.0.x, the in front of wrapping styles are supported.
-
-## Top and Bottom
-
-In this option, Text wraps above and below the image or shape. No text is to the left or right of the image or shape. This can be used for larger images or shapes that occupy most of the width in a document.
-
->Note: Starting from v19.1.0.x, the top and bottom wrapping style is supported.
-
-
-
-## Behind
-
-In this option, the image or shape is placed behind the text. This can be used when you need to add a watermark or background image to a document.
-
-
-
->Note: Starting from v19.2.0.x, behind text wrapping styles are supported.
-
-## Square
-
-In this option, Text wraps around the image or text box in a square shape.
-
->Note: Tight and Through styles will be preserved as square wrapping style in DocumentEditor which is supported from v19.2.0.x.
-
-
diff --git a/ej2-javascript/document-editor/track-changes.md b/ej2-javascript/document-editor/track-changes.md
deleted file mode 100644
index cdcffbae6..000000000
--- a/ej2-javascript/document-editor/track-changes.md
+++ /dev/null
@@ -1,379 +0,0 @@
----
-layout: post
-title: Track changes in ##Platform_Name## Document editor control | Syncfusion
-description: Learn here all about Track changes in Syncfusion ##Platform_Name## Document editor control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: Track changes
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Track changes in ##Platform_Name## Document editor control
-
-Track Changes allows you to keep a record of changes or edits made to a document. You can then choose to accept or reject the modifications. It is a useful tool for managing changes made by several reviewers to the same document. If track changes option is enabled, all editing operations are preserved as revisions in Document Editor.
-
-## Enable track changes in Document Editor
-
-The following example demonstrates how to enable track changes.
-
-{% if page.publishingplatform == "typescript" %}
-
-```ts
-let container: DocumentEditorContainer = new DocumentEditorContainer({
- enableTrackChanges: true,
-});
-container.appendTo('#container');
-```
-
-{% elsif page.publishingplatform == "javascript" %}
-
-```js
-var container = new ej.documenteditor.DocumentEditorContainer({ enableTrackChanges: true });
-container.appendTo('#container');
-```
-
-{% endif %}
-
->Track changes are document level settings. When opening a document, if the document does not have track changes enabled, then enableTrackChanges will be disabled even if we set enableTrackChanges : true in the initial rendering. If you want to enable track changes for all the documents, then we recommend enabling track changes during the document change event. The following example demonstrates how to enable Track changes for the all the Document while Opening.
-
-{% if page.publishingplatform == "typescript" %}
-
-```ts
-container.documentChange = (): void => {
- if (container !== null) {
- container.documentEditor.enableTrackChanges = true;
- }
-};
-```
-
-{% elsif page.publishingplatform == "javascript" %}
-
-```js
-container.documentChange = function () {
- if (container !== null) {
- container.documentEditor.enableTrackChanges = true;
- }
-};
-```
-
-{% endif %}
-## Show/Hide Revisions Pane
-
-The Show/Hide Revisions Pane feature in the Document Editor allows users to toggle the visibility of the revisions pane, providing flexibility in managing tracked changes within the document.
-
-The following example code illustrates how to show/hide the revisions pane.
-
-{% if page.publishingplatform == "typescript" %}
-
-```ts
-
-import { DocumentEditorContainer, Toolbar } from '@syncfusion/ej2-documenteditor';
-DocumentEditorContainer.Inject(Toolbar);
-let container: DocumentEditorContainer = new DocumentEditorContainer({
- enableTrackChanges: true,
-});
-container.serviceUrl = 'https://services.syncfusion.com/js/production/api/documenteditor/';
-container.appendTo('#container');
-container.documentEditor.showRevisions = true; // To show revisions pane
-container.documentEditor.showRevisions = false; // To hide revisions pane
-
-```
-
-{% elsif page.publishingplatform == "javascript" %}
-
-```js
-
-var container = new ej.documenteditor.DocumentEditorContainer({ enableTrackChanges: true });
-ej.documenteditor.DocumentEditorContainer.Inject(ej.documenteditor.Toolbar);
-container.appendTo('#container');
-container.serviceUrl = 'https://services.syncfusion.com/js/production/api/documenteditor/';
-container.documentEditor.showRevisions = true; // To show revisions pane
-container.documentEditor.showRevisions = false; // To hide revisions pane
-
-```
-
-{% endif %}
-
-> The Web API hosted link `https://services.syncfusion.com/js/production/api/documenteditor/` utilized in the Document Editor's serviceUrl property is intended solely for demonstration and evaluation purposes. For production deployment, please host your own web service with your required server configurations. You can refer and reuse the [GitHub Web Service example](https://github.com/SyncfusionExamples/EJ2-DocumentEditor-WebServices) or [Docker image](https://hub.docker.com/r/syncfusion/word-processor-server) for hosting your own web service and use for the serviceUrl property.
-
-## Get all tracked revisions
-
-The following example demonstrate how to get all tracked revision from current document.
-
-{% if page.publishingplatform == "typescript" %}
-
-```ts
-let container: DocumentEditorContainer = new DocumentEditorContainer({
- enableTrackChanges: true,
-});
-container.appendTo('#container');
-/**
- * Get revisions from the current document
- */
-let revisions : RevisionCollection = container.documentEditor.revisions;
-```
-
-{% elsif page.publishingplatform == "javascript" %}
-
-```js
-var container = new ej.documenteditor.DocumentEditorContainer({ enableTrackChanges: true });
-container.appendTo('#container');
-
-/**
- * Get revisions from the current document
- */
-var revisions = container.documentEditor.revisions;
-```
-
-{% endif %}
-
-## Accept or Reject all changes programmatically
-
-The following example demonstrates how to accept/reject all changes.
-
-{% if page.publishingplatform == "typescript" %}
-
-```ts
-let container: DocumentEditorContainer = new DocumentEditorContainer({
- enableTrackChanges: true,
-});
-container.appendTo('#container');
-/**
- * Get revisions from the current document
- */
-let revisions : RevisionCollection = container.documentEditor.revisions;
-
-/**
- * Accept all tracked changes
- */
-revisions.acceptAll();
-
-/**
- * Reject all tracked changes
- */
-revisions.rejectAll();
-```
-
-{% elsif page.publishingplatform == "javascript" %}
-
-```js
-var container = new ej.documenteditor.DocumentEditorContainer({ enableTrackChanges: true });
-container.appendTo('#container');
-/**
- * Get revisions from the current document
- */
-var revisions = container.documentEditor.revisions;
-
-/**
- * Accept all tracked changes
- */
-revisions.acceptAll();
-
-/**
- * Reject all tracked changes
- */
-revisions.rejectAll();
-```
-
-{% endif %}
-
-## Accept or reject a specific revision
-
-The following example demonstrates how to accept/reject specific revision in the Document Editor.
-
-{% if page.publishingplatform == "typescript" %}
-
-```ts
-/**
- * Get revisions from the current document
- */
-let revisions : RevisionCollection = container.documentEditor.revisions;
-/**
- * Accept specific changes
- */
-revisions.get(0).accept();
-/**
- * Reject specific changes
- */
-revisions.get(1).reject();
-```
-
-{% elsif page.publishingplatform == "javascript" %}
-
-```js
-/**
- * Get revisions from the current document
- */
-var revisions = container.documentEditor.revisions;
-/**
- * Accept specific changes
- */
-revisions.get(0).accept();
-/**
- * Reject specific changes
- */
-revisions.get(1).reject();
-```
-
-{% endif %}
-
-## Navigate between the tracked changes
-
-The following example demonstrates how to navigate tracked revision programmatically.
-
-{% if page.publishingplatform == "typescript" %}
-
-```ts
-
-import { DocumentEditorContainer, Toolbar } from '@syncfusion/ej2-documenteditor';
-DocumentEditorContainer.Inject(Toolbar);
-let container: DocumentEditorContainer = new DocumentEditorContainer({
- enableTrackChanges: true,
-});
-container.appendTo('#container');
-/**
- * Navigate to next tracked change from the current selection.
- */
-container.documentEditor.selection.navigateNextRevision();
-
-/**
- * Navigate to previous tracked change from the current selection.
- */
-container.documentEditor.selection.navigatePreviousRevision();
-```
-
-{% elsif page.publishingplatform == "javascript" %}
-
-```js
-var container = new ej.documenteditor.DocumentEditorContainer({ enableTrackChanges: true });
-container.appendTo('#container');
-/**
- * Navigate to next tracked change from the current selection.
- */
-container.documentEditor.selection.navigateNextRevision();
-
-/**
- * Navigate to previous tracked change from the current selection.
- */
-container.documentEditor.selection.navigatePreviousRevision();
-```
-
-{% endif %}
-
-## Filtering changes based on user
-
-In DocumentEditor, we have built-in review panel in which we have provided support for filtering changes based on the user.
-
-
-
-## Protect the document in track changes only mode
-
-Document Editor provides support for protecting the document with `RevisionsOnly` protection. In this protection, all the users are allowed to view the document and do their corrections, but they cannot accept or reject any tracked changes in the document. Later, the author can view their corrections and accept or reject the changes.
-
-Document editor provides an option to protect and unprotect document using [`enforceProtection`](../api/document-editor/editor/#enforceprotection) and [`stopProtection`](../api/document-editor/editor/#stopprotection) API.
-
-The following example code illustrates how to enforce and stop protection in Document editor container.
-
-{% if page.publishingplatform == "typescript" %}
-
-```ts
-
-import { DocumentEditorContainer, Toolbar } from '@syncfusion/ej2-documenteditor';
-DocumentEditorContainer.Inject(Toolbar);
-let container: DocumentEditorContainer = new DocumentEditorContainer({
- enableToolbar: true,
- height: '590px',
-});
-container.serviceUrl = 'http://localhost:5000/api/documenteditor/';
-container.appendTo('#container');
-
-//enforce protection
-container.documentEditor.editor.enforceProtection('123', 'RevisionsOnly');
-
-//stop the document protection
-container.documentEditor.editor.stopProtection('123');
-```
-
-{% elsif page.publishingplatform == "javascript" %}
-
-```js
-var container = new ej.documenteditor.DocumentEditorContainer({
- enableToolbar: true,
- height: '590px',
-});
-ej.documenteditor.DocumentEditorContainer.Inject(Toolbar);
-container.serviceUrl =
- 'http://localhost:5000/api/documenteditor/';
-container.appendTo('#container');
-
-//enforce protection
-container.documentEditor.editor.enforceProtection('123', 'RevisionsOnly');
-
-//stop the document protection
-container.documentEditor.editor.stopProtection('123');
-```
-
-{% endif %}
-
-Tracked changes only protection can be enabled in UI by using [Restrict Editing pane](../document-editor/document-management#restrict-editing-pane)
-
-
-
->Note: In enforce Protection method, first parameter denotes password and second parameter denotes protection type. Possible values of protection type are `NoProtection |ReadOnly |FormFieldsOnly |CommentsOnly |RevisionsOnly`. In stop protection method, parameter denotes the password.
-
-## Events
-
-DocumentEditor provides [beforeAcceptRejectChanges](../api/document-editor-container#beforeacceptrejectchanges) event, which is triggered before a tracked content is accepted or rejected. This event provides an opportunity to perform custom logic before accepting or rejecting changes. The event handler receives the [RevisionActionEventArgs](../api/document-editor/revisionActionEventArgs) object as an argument, which allows access to information about the tracked content. .
-
-To demonstrate a specific use case, let's consider an example where we want to restrict the accept and reject changes functionality based on the author name. The following code snippet illustrates how to allow only the author of the tracked content to accept or reject changes:
-
-{% if page.publishingplatform == "typescript" %}
-
-```ts
-
-import { DocumentEditorContainer, Toolbar } from '@syncfusion/ej2-documenteditor';
-DocumentEditorContainer.Inject(Toolbar);
-let container: DocumentEditorContainer = new DocumentEditorContainer({
- beforeAcceptRejectChanges: beforeAcceptRejectChanges.bind(this),
- enableToolbar: true,
- height: '590px',
- currentUser: 'Hary'
-});
-container.appendTo('#container');
-
-// Event get triggerd before accepting/rejecting changes
-function beforeAcceptRejectChanges(args : RevisionActionEventArgs) : void {
- // Check the author of the revision and current user are different
- if (args.author !== container.currentUser) {
- // Cancel the accept/reject action
- args.cancel = true;
- }
-}
-```
-
-{% elsif page.publishingplatform == "javascript" %}
-
-```js
-
-var container = new ej.documenteditor.DocumentEditorContainer({
- beforeAcceptRejectChanges:{beforeAcceptRejectChanges},
- enableToolbar: true,
- height: '590px',
- currentUser: 'Hary'
-});
-ej.documenteditor.DocumentEditorContainer.Inject(ej.documenteditor.Toolbar);
-
-container.appendTo('#container');
-
-// Event get triggerd before accepting/rejecting changes
-function beforeAcceptRejectChanges(args) {
- // Check the author of the revision and current user are different
- if (args.author !== container.currentUser) {
- // Cancel the accept/reject action
- args.cancel = true;
- }
-}
-```
-
-{% endif %}
diff --git a/ej2-javascript/document-editor/ts/getting-started.md b/ej2-javascript/document-editor/ts/getting-started.md
deleted file mode 100644
index ce7b739e3..000000000
--- a/ej2-javascript/document-editor/ts/getting-started.md
+++ /dev/null
@@ -1,278 +0,0 @@
----
-layout: post
-title: Getting started with ##Platform_Name## Document editor control | Syncfusion
-description: Checkout and learn about Getting started with ##Platform_Name## Document editor control of Syncfusion Essential JS 2 and more details.
-platform: ej2-javascript
-control: Getting started
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Getting started in ##Platform_Name## Document editor control
-
-This section briefly explains how to create a simple **Document editor** component and configure its available functionalities in TypeScript, using Essential® JS 2 [quickstart](https://github.com/SyncfusionExamples/ej2-quickstart-webpack-) seed repository.
-
-> This application is integrated with the `webpack.config.js` configuration and uses the latest version of the [webpack-cli](https://webpack.js.org/api/cli/#commands). It requires node `v14.15.0` or higher. For more information about webpack and its features, refer to the [webpack documentation](https://webpack.js.org/guides/getting-started/).
-
-## Dependencies
-
-Following is the list of minimum dependencies required to use the Document Editor.
-
-```javascript
- |-- @syncfusion/ej2-documentEditor
- |-- @syncfusion/ej2-base
- |-- @syncfusion/ej2-buttons
- |-- @syncfusion/ej2-calendars
- |-- @syncfusion/ej2-compression
- |-- @syncfusion/ej2-dropdowns
- |-- @syncfusion/ej2-file-utils
- |-- @syncfusion/ej2-inputs
- |-- @syncfusion/ej2-navigations
- |-- @syncfusion/ej2-office-chart
- |-- @syncfusion/ej2-charts
- |-- @syncfusion/ej2-popups
- |-- @syncfusion/ej2-splitbuttons
-
-```
-
-### Server side dependencies
-
-The Document Editor component requires server-side interactions for the following operations:
-
-* [Open file formats other than SFDT](../document-editor/import#convert-word-documents-into-sfdt)
-* [Paste with formatting](../document-editor/clipboard#paste-with-formatting)
-* [Restrict editing](../document-editor/document-management)
-* [Spell check](../document-editor/spell-check)
-* [Save as file formats other than SFDT and DOCX](../document-editor/server-side-export)
-
->Note: If you don't require the above functionalities then you can deploy as pure client-side component without any server-side interactions.
-
-To know about server-side dependencies, please refer this [page](../document-editor/web-services-overview).
-
-## Set up development environment
-
-Open the command prompt from the required directory, and run the following command to clone the Syncfusion® JavaScript (Essential® JS 2) quickstart project from [GitHub](https://github.com/SyncfusionExamples/ej2-quickstart-webpack-).
-
-{% tabs %}
-{% highlight bash tabtitle="CMD" %}
-
-git clone https://github.com/SyncfusionExamples/ej2-quickstart-webpack- ej2-quickstart
-
-{% endhighlight %}
-{% endtabs %}
-
-After cloning the application in the `ej2-quickstart` folder, run the following command line to navigate to the `ej2-quickstart` folder.
-
-{% tabs %}
-{% highlight bash tabtitle="CMD" %}
-
-cd ej2-quickstart
-
-{% endhighlight %}
-{% endtabs %}
-
-## Add Syncfusion® JavaScript packages
-
-Syncfusion® JavaScript (Essential® JS 2) packages are available on the [npmjs.com](https://www.npmjs.com/~syncfusionorg) public registry. You can install all Syncfusion® JavaScript (Essential® JS 2) controls in a single [@syncfusion/ej2](https://www.npmjs.com/package/@syncfusion/ej2) package or individual packages for each control.
-
-The quickstart application is preconfigured with the dependent [@syncfusion/ej2](https://www.npmjs.com/package/@syncfusion/ej2) package in the `~/package.json` file. Use the following command to install the dependent npm packages from the command prompt.
-
-{% tabs %}
-{% highlight bash tabtitle="NPM" %}
-
-npm install
-
-{% endhighlight %}
-{% endtabs %}
-
-## Import the Syncfusion® CSS styles
-
-Syncfusion® JavaScript controls come with [built-in themes](https://ej2.syncfusion.com/documentation/appearance/theme/), which are available in the installed packages. It's easy to adapt the Syncfusion® JavaScript controls to match the style of your application by referring to one of the built-in themes.
-
-The quickstart application is preconfigured to use the `Material` theme in the `~/src/styles/styles.css` file, as shown below:
-
-{% tabs %}
-{% highlight css tabtitle="style.css" %}
-
-@import "../../node_modules/@syncfusion/ej2/material.css";
-
-{% endhighlight %}
-{% endtabs %}
-
-> You can check out the [themes](https://ej2.syncfusion.com/documentation/appearance/theme/) section to know more about built-in themes and CSS reference for individual controls.
-
-## Adding component
-
-You can add `DocumentEditorContainer` component with predefined toolbar and properties pane options or `DocumentEditor` component with customize options.
-
->Note: Starting from `v19.3.0.x`, we have optimized the accuracy of text size measurements such as to match Microsoft Word pagination for most Word documents. This improvement is included as default behavior along with an optional API [to disable it and retain the document pagination behavior of older versions](../document-editor/how-to/disable-optimized-text-measuring).
-
-### Document Editor component
-
-Document Editor component is used to create, view and edit word documents. In this, you can customize the UI options based on your requirements to modify the document.
-
-#### Adding Document Editor component
-
-You can start adding Essential® JS 2 documenteditor component to the application. To get started, add the DocumentEditor component in `app.ts` and `index.html` files using the following code.
-
-Place the following code in the `app.ts`.
-
-{% tabs %}
-{% highlight ts tabtitle="app.ts" %}
-
-import { DocumentEditor } from '@syncfusion/ej2-documenteditor';
-
-// Initialize Document Editor component.
-let documenteditor: DocumentEditor = new DocumentEditor({ isReadOnly: false, height: '370px', serviceUrl: 'https://services.syncfusion.com/js/production/api/documenteditor/' });
-
-// Enable all built in modules.
-documenteditor.enableAllModules();
-
-// Render the Document Editor component.
-documenteditor.appendTo('#DocumentEditor');
-
-{% endhighlight %}
-{% endtabs %}
-
-> The Web API hosted link `https://services.syncfusion.com/js/production/api/documenteditor/` utilized in the Document Editor's serviceUrl property is intended solely for demonstration and evaluation purposes. For production deployment, please host your own web service with your required server configurations. You can refer and reuse the [GitHub Web Service example](https://github.com/SyncfusionExamples/EJ2-DocumentEditor-WebServices) or [Docker image](https://hub.docker.com/r/syncfusion/word-processor-server) for hosting your own web service and use for the serviceUrl property.
-
-Now, add an HTML div element to act as the DocumentEditor element in `index.html` using the following code.
-
-{% tabs %}
-{% highlight html tabtitle="index.html" %}
-
-
-
-
-
- Essential JS 2
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-{% endhighlight %}
-{% endtabs %}
-
-#### Run the Document Editor application
-
-The quickstart project is configured to compile and run the application in the browser. Use the following command to run the application.
-
-{% tabs %}
-{% highlight bash tabtitle="NPM" %}
-
-npm start
-
-{% endhighlight %}
-{% endtabs %}
-
-Documenteditor output will be displayed as follows.
-
-{% tabs %}
-{% highlight ts tabtitle="index.ts" %}
-{% include code-snippet/document-editor/getting-started-cs1/index.ts %}
-{% endhighlight %}
-{% highlight html tabtitle="index.html" %}
-{% include code-snippet/document-editor/getting-started-cs1/index.html %}
-{% endhighlight %}
-{% endtabs %}
-
-{% previewsample "page.domainurl/code-snippet/document-editor/getting-started-cs1" %}
-
-### Document Editor Container component
-
-Document Editor Container is a predefined component which wraps DocumentEditor, Toolbar, Properties pane, and Status bar into a single component. And the toolbar and properties pane is used to view and modify the document in DocumentEditor thought public APIs available in it.
-
-#### Adding Document Editor Container component
-
-You can start adding Essential® JS 2 documenteditor container component to the application. To get started, add the DocumentEditorContainer component in `app.ts` and `index.html` files using the following code.
-
-Place the following code in the `app.ts`.
-
-{% tabs %}
-{% highlight ts tabtitle="app.ts" %}
-
-import { DocumentEditorContainer, Toolbar } from '@syncfusion/ej2-documenteditor';
-
-DocumentEditorContainer.Inject(Toolbar);
-
-let documenteditor: DocumentEditorContainer = new DocumentEditorContainer({ enableToolbar: true, height: '390px', serviceUrl: 'https://services.syncfusion.com/js/production/api/documenteditor/' });
-
-documenteditor.appendTo('#DocumentEditor');
-
-{% endhighlight %}
-{% endtabs %}
-
-> The Web API hosted link `https://services.syncfusion.com/js/production/api/documenteditor/` utilized in the Document Editor's serviceUrl property is intended solely for demonstration and evaluation purposes. For production deployment, please host your own web service with your required server configurations. You can refer and reuse the [GitHub Web Service example](https://github.com/SyncfusionExamples/EJ2-DocumentEditor-WebServices) or [Docker image](https://hub.docker.com/r/syncfusion/word-processor-server) for hosting your own web service and use for the serviceUrl property.
-
-Now, add an HTML div element to act as the DocumentEditorContainer element in `index.html` using the following code.
-
-{% tabs %}
-{% highlight html tabtitle="index.html" %}
-
-
-
-
-
- Essential JS 2
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-{% endhighlight %}
-{% endtabs %}
-
-#### Run the Document Editor Container application
-
-The quickstart project is configured to compile and run the application in the browser. Use the following command to run the application.
-
-{% tabs %}
-{% highlight bash tabtitle="NPM" %}
-
-npm start
-
-{% endhighlight %}
-{% endtabs %}
-
-DocumentEditorContainer output will be displayed as follows.
-
-{% tabs %}
-{% highlight ts tabtitle="index.ts" %}
-{% include code-snippet/document-editor/getting-started-cs2/index.ts %}
-{% endhighlight %}
-{% highlight html tabtitle="index.html" %}
-{% include code-snippet/document-editor/getting-started-cs2/index.html %}
-{% endhighlight %}
-{% endtabs %}
-
-{% previewsample "page.domainurl/code-snippet/document-editor/getting-started-cs2" %}
-
-## Frequently Asked Questions
-
-* [How to localize the Documenteditor container](../document-editor/global-local).
-* [How to load the document by default](../document-editor/how-to/open-default-document).
-* [How to customize tool bar](../document-editor/how-to/customize-tool-bar).
-* [How to resize Document editor component?](../document-editor/how-to/resize-document-editor)
-* [How to add a save button to the DocumentEditorContainer component toolbar](../document-editor/how-to/add-save-button-in-toolbar)
diff --git a/ej2-javascript/document-editor/ts/how-to/customize-ribbon.md b/ej2-javascript/document-editor/ts/how-to/customize-ribbon.md
deleted file mode 100644
index d1f245211..000000000
--- a/ej2-javascript/document-editor/ts/how-to/customize-ribbon.md
+++ /dev/null
@@ -1,232 +0,0 @@
----
-layout: post
-title: Customize Ribbon in ##Platform_Name## Document Editor | Syncfusion
-description: Learn how to customize the ribbon in Syncfusion ##Platform_Name## Document Editor - file menu, backstage, tabs, groups, and items.
-platform: ej2-javascript
-control: Ribbon Customization
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Customize Ribbon in ##Platform_Name## Document Editor
-
-The Syncfusion Document Editor provides an extensive and flexible API to customize the built-in ribbon UI. You can:
-
-- Customize the File menu.
-- Add the Backstage menu instead of File menu.
-- Show, hide, or add Ribbon tabs.
-- Show, hide, or add groups within tabs.
-- Show, hide, add, enable, or disable items within groups.
-
-Below are detailed examples for each ribbon customization scenario.
-
-## File Menu Customization
-
-Document Editor provides APIs to remove existing File menu items and add new custom items based on your requirements. You can modify the File menu using the [`fileMenuItems`](../api/document-editor-container/#filemenuitems) property.
-
-In below code example, In the example below, the "Open" and "Export" items have been removed from the File Menu Items, and new custom items have been added.
-
-```ts
-let container: DocumentEditorContainer = new DocumentEditorContainer({
- enableToolbar: true, toolbarMode: 'Ribbon',
- fileMenuItems: ["New", "Print", { text: 'Export', id: 'custom_item',iconCss: 'e-icons e-export' }
- ],
- fileMenuItemClick: function (args) {
- if (args.item.id) {
- container.documentEditor.save('Sample', 'Docx');
- }
- }
-});
-```
-
-## Backstage Menu Customization
-
-The Document Editor provides an [`backStageMenu`](../api/document-editor-container/#backStageMenu) API to add a backstage menu. When the backstage menu is enabled, the default File menu items are automatically hidden.
-
-The following code example shows how to add the backstage menu items.
-
-```ts
-let container: DocumentEditorContainer = new DocumentEditorContainer({
- enableToolbar: true, toolbarMode: 'Ribbon',
- backstageMenu: {
- text: 'File',
- backButton: { text: 'close' },
- items: [
- { id: 'new', text: 'New', iconCss: 'e-icons e-de-ctnr-new' }],
- }
-});
-
-```
-
-Refer this documentation know more about [`backstage items`](https://ej2.syncfusion.com/documentation/ribbon/backstage)
-
-## Tab Customization
-
-You can customize the ribbon tabs in the Document Editor by showing, hiding, or adding tabs according to your application's requirements.
-
-### Show/Hide Tab
-
-Document editor provides the [`showTab`](../api/document-editor-container/ribbon/#showtab) API to show and hide the existing tab using existing `RibbonTabType` and `tabId`.
-
-The following code example how to show/hide existing tab using existing tab type and tab id.
-```ts
-// To hide the Home tab using the built-in `RibbonTabType`
-container.ribbon.showTab('Home', false);
-
-// To hide a tab by its tab id (for example, a custom tab)
-container.ribbon.showTab('custom_tab', false);
-```
-
-### Add Tab
-
-The Document Editor provides the [`addTab`](../api/document-editor-container/ribbon/#addtab) API, which allows you to insert a new custom tab either between existing tabs or at the end of the ribbon tabs.
-
-```ts
-import { RibbonTabModel } from '@syncfusion/ej2-ribbon';
-
-// To add the tab at end of tab
-let ribbonTab: RibbonTabModel = {
- header: 'Custom Tab', id: 'custom_tab', groups: [{
- header: 'Custom Group', collections: [{
- items: [{
- type: 'Button',
- buttonSettings: {
- content: 'New',
- iconCss: 'e-icons e-de-ctnr-new',
- clicked: function () {
- container.documentEditor.openBlank();
- }
- }
- }]
- }]
- }]
-};
-container.ribbon.addTab(ribbonTab);
-
-// To add the tab before the Insert tab(exising tab)
-container.ribbon.addTab(ribbonTab,'Insert');
-```
-
-
-## Group Customization
-
-You can also customize ribbon groups within a tab to better organize commands or add new functionalities as per your needs.
-
-### Show/Hide Group
-
-Document Editor provides an [`showGroup`](../api/document-editor-container/ribbon/#showgroup) API to show or hide existing groups within a ribbon tab.
-
-The following code example show how to show/hide the group using group Id or [`RibbonGroupInfo`](../api/document-editor-container/#ribbongroupinfo).
-
-```ts
-
-// To hide the clipboard group using group index
-container.ribbon.showGroup({tabId: 'Home', index: 1} , false);
-
-// To show the clipboard group using group index
-container.ribbon.showGroup({tabId: 'Home', index: 1} , true);
-
-// To hide the group using id
-container.ribbon.showGroup('custom_group', false);
-
-```
-
-### Add Group
-
-To extend the ribbon's functionality, you can add custom groups to any tab. This allows you to organize related commands together within a tab.
-
-```ts
-
-import { RibbonGroupModel } from '@syncfusion/ej2-ribbon';
-
-// Add the new group at the end of the Home tab
-let ribbonGroup: RibbonGroupModel =
-{
- header: 'Custom Group', collections: [{
- items: [{
- type: 'Button',
- buttonSettings: {
- content: 'New',
- iconCss: 'e-icons e-de-ctnr-new',
- clicked: function () {
- container.documentEditor.openBlank();
- }
- }
- }]
- }]
-};
-container.ribbon.addGroup('Home', ribbonGroup);
-
-// Add the new group at the specified index of the Home tab (before the Clipboard group)
-
-container.ribbon.addGroup('Home', ribbonGroup, 1);
-
-```
-
-## Item Customization
-
-You can customize individual items within ribbon groups. This includes showing, hiding, enabling, disabling, or adding new items to any group within a ribbon tab.
-
-### Show/Hide Item
-
-Using [`showItems`](../api/document-editor-container/ribbon/#showitems) API in Document editor ribbon to enable/disable the existing item. Here, you can specify the item Id or [`RibbonItemInfo`].
-
-The following code example show how to show/hide the item using item Id or [`RibbonItemInfo`](../api/document-editor-container/#ribboniteminfo).
-
-```ts
-// To hide the Bold and Italic items using ribbon item information
-container.ribbon.showItems({ tabId: 'Home', groupIndex: 2, itemIndexes: [5, 6] } , false);
-
-// To show the Bold and Italic items using ribbon item information
-container.ribbon.showItems({ tabId: 'Home', groupIndex: 2, itemIndexes: [5, 6] } , true);
-
-// To hide the item using item id
-container.ribbon.showItems('custom_item', false);
-```
-
-### Enable/Disable Item
-
-Using [`enableItems`](../api/document-editor-container/ribbon/#enableitems) API in Document editor ribbon to enable/disable the existing item.
-
-```ts
-// To disable the underline using ribbon item info
-container.ribbon.enableItems({ tabId: 'Home', groupIndex: 2, itemIndexes: [7] },false);
-
-// To enable the underline using ribbon item info
-container.ribbon.enableItems({ tabId: 'Home', groupIndex: 2, itemIndexes: [7] },true);
-
-// To disable the item using id
-container.ribbon.enableItems('custom_item', false);
-
-```
-
-### Add Item
-
-You can use the [`addItem`](../api/document-editor-container/ribbon/#additem) API in the Document Editor ribbon to add a new item. Additionally, you can specify the target tab and group where the new item should be placed.
-
-```ts
-
-// To add the item at the end of the specified group (the item will be added at the end of the Undo group)
-let ribbonItem: RibbonItemModel = {
- type: 'Button',
- buttonSettings: {
- content: 'New',
- iconCss: 'e-icons e-de-ctnr-new',
- clicked: function () {
- container.documentEditor.openBlank();
- }
- }
-};
-container.ribbon.addItem({ tabId: 'Home', index: 0 }, ribbonItem);
-
-// To add the item before the specified item index (the item will be added before the Redo item in the Undo group)
-
-container.ribbon.addItem({ tabId: 'Home', index: 0 }, ribbonItem, 1);
-
-```
-
-
-## Related Links
-
-- [File menu Customization Demo](https://ej2.syncfusion.com/demos/#/material/document-editor/ribbon-customization)
\ No newline at end of file
diff --git a/ej2-javascript/document-editor/ts/how-to/optimize-sfdt.md b/ej2-javascript/document-editor/ts/how-to/optimize-sfdt.md
deleted file mode 100644
index e081edab1..000000000
--- a/ej2-javascript/document-editor/ts/how-to/optimize-sfdt.md
+++ /dev/null
@@ -1,124 +0,0 @@
----
-layout: post
-title: Optimize sfdt in ##Platform_Name## Document editor control | Syncfusion
-description: Learn here all about Optimize sfdt in Syncfusion ##Platform_Name## Document editor control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: Optimize sfdt
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Optimize sfdt in ##Platform_Name## Document editor control
-
-Starting from version v21.1.x, the SFDT file generated in Word Processor component is optimized by default to reduce the file size. All static keys are minified, and the final JSON string is compressed. This helps reduce the SFDT file size relative to a DOCX file and provides the following benefits,
-* File transfer between client and server through the internet gets faster.
-* The new optimized SFDT files require less storage space than the old SFDT files.
-Hence, the optimized SFDT file can't be directly manipulated as JSON string.
-
-> This feature comes with a public API to switch between the old and new optimized SFDT format, allowing backward compatibility.
-
-As a backward compatibility to create older format SFDT files, refer the following code changes,
-
-
\ No newline at end of file
diff --git a/ej2-javascript/document-editor/ts/ribbon.md b/ej2-javascript/document-editor/ts/ribbon.md
deleted file mode 100644
index 3723e5936..000000000
--- a/ej2-javascript/document-editor/ts/ribbon.md
+++ /dev/null
@@ -1,73 +0,0 @@
----
-layout: post
-title: Ribbon in ##Platform_Name## Document editor control | Syncfusion
-description: Learn here all about the Ribbon UI in Syncfusion ##Platform_Name## Document editor control, how to switch between Ribbon and Toolbar modes.
-platform: ej2-javascript
-control: Ribbon
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Ribbon in ##Platform_Name## Document Editor Control
-
-The Document Editor provides a modern Ribbon interface similar to Microsoft Word's interface. This Ribbon UI provides an efficient and intuitive way to access editing features, organizing commands within well-structured tabs and groups to enhance your document editing experience. Additionally, the Ribbon interface supports contextual tabs. Contextual tabs appear only when certain elements, such as tables, images, or headers/footers, are selected in the document.
-
-You can switch between the classic **Toolbar** and the new **Ribbon** UI, and you can also choose between **Classic** and **Simplified** ribbon layouts.
-
-## Enable Ribbon Mode
-
-To enable Ribbon in Document Editor, use the [`toolbarMode`](../api/document-editor-container/#toolbarmode) property of `DocumentEditorContainer`. The available toolbar modes are:
-
-- **'Toolbar'** - The traditional toolbar UI.
-- **'Ribbon'** - The Ribbon UI, which provides a tabbed interface with grouped commands.
-
-By default, `toolbarMode` is `Toolbar`.
-
-The following code shows the how to enable the `Ribbon` in Document Editor.
-
-```ts
-
-import { DocumentEditorContainer, Ribbon } from '@syncfusion/ej2-documenteditor';
-
-DocumentEditorContainer.Inject(Ribbon);
-// Initialize the Document Editor Container with Ribbon mode enabled
-var container = new ej.documenteditor.DocumentEditorContainer({
- enableToobar: true,
- toolbarMode: 'Ribbon', // Options: 'Ribbon' or 'Toolbar'
- height: '590px'
-});
-container.serviceUrl = 'https://services.syncfusion.com/js/production/api/documenteditor/';
-container.appendTo('#container');
-```
-
-## Ribbon Layouts
-
-Document Editor provides two different Ribbon layouts:
-
-- **Classic**: A traditional Office-like ribbon with detailed grouping and larger icons
-- **Simplified**: A more compact ribbon design with streamlined controls
-
-By default, `ribbonLayout` is set to `Simplified`.
-
-The following code shows the how to configure the ribbon layout in Document Editor:
-
-```ts
-
-import { DocumentEditorContainer, Ribbon } from '@syncfusion/ej2-documenteditor';
-
-DocumentEditorContainer.Inject(Ribbon);
-// Initialize the Document Editor Container with Ribbon mode enabled
-var container = new ej.documenteditor.DocumentEditorContainer({
- enableToobar: true,
- toolbarMode: 'Ribbon', // Options: 'Ribbon' or 'Toolbar'
- ribbonLayout: 'Classic', // Options: 'Simplified' or 'Classic'
- height: '590px'
-});
-container.serviceUrl = 'https://services.syncfusion.com/js/production/api/documenteditor/';
-container.appendTo('#container');
-```
-
-## See Also
-
-* [How to customize the ribbon](../document-editor/how-to/customize-ribbon)
\ No newline at end of file
diff --git a/ej2-javascript/document-editor/ts/styles.md b/ej2-javascript/document-editor/ts/styles.md
deleted file mode 100644
index 0f7d34a1a..000000000
--- a/ej2-javascript/document-editor/ts/styles.md
+++ /dev/null
@@ -1,209 +0,0 @@
----
-layout: post
-title: Styles in ##Platform_Name## Document editor control | Syncfusion
-description: Learn here all about Styles in Syncfusion ##Platform_Name## Document editor control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: Styles
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Styles in ##Platform_Name## Document editor control
-
-Styles are useful for applying a set of formatting consistently throughout the document. In Document Editor, styles are created and added to a document programmatically or via the built-in Styles dialog.
-
-## Styles definition overview
-
-A Style in Document Editor should have the following properties:
-
-* **name**: Name of the style. All styles in a document have a unique name, which is used as an identifier when applying the style.
-* **type**: Specifies the document elements that the style will target. For example, paragraph or character.
-* **next**: Specifies that the current style inherits the style set to this property. This is how hierarchical styles are defined.
-* **link**: Provides a relation between the paragraph and character style.
-* **characterFormat**: Specifies the properties of paragraph and character style.
-* **paragraphFormat**: Specifies the properties of paragraph style.
-* **basedOn**: Specifies that the current style inherits the style set to this property. This is how hierarchical styles are defined. It can be optional.
-
-> The style type should match the inherited style type. For example, it is not possible to have a character style inherit a paragraph style.
-
-## Default style
-
-The default style for span and paragraph properties is normal. It internally inherits the default style of the document loaded or Document Editor component.
-
-## Style hierarchy
-
-Each style initially checks its local value for the property that is being evaluated and turns to the style it is based on. If no local value is found, it turns to its default style.
-
-Style inheritance of different styles are listed as follows:
-
-### Character style
-
-Character styles are based only on other character styles.
-
-The inheritance is: Character properties are inherited from the base character style.
-
-### Paragraph style
-
-Paragraph styles are based on other paragraph styles or on linked styles. When a paragraph style is based on another paragraph style, the inheritance of the properties is as follows:
-* Paragraph properties are inherited from the base paragraph style.
-* Span properties are inherited from the base paragraph style.
-
-When a paragraph style is based on a linked style, the inheritance of the properties is as follows:
-* Paragraph properties are inherited from the paragraph style part in its base linked style.
-* Span properties are inherited from the span style part in its base linked style.
-
-### Linked style
-
-Linked styles are composite styles and their components are paragraph and character styles with link between them. To apply paragraph properties, take the properties from the linked paragraph style. Similarly, to apply character properties, take the properties from linked character style.
-Linked styles are based on other linked styles or on paragraph styles.
-
-When a linked style is based on a paragraph style, the hierarchy of the properties is as follows:
-
-* Paragraph properties are inherited from the ‘basedOn’ paragraph style.
-* Character properties are inherited from the ‘basedOn’ paragraph style.
-
-When a linked style is based on another linked style, the hierarchy of the properties is as follows:
-
-* Paragraph properties are inherited from the paragraph style part in its base linked style.
-* Span properties are inherited from the span style part in its base linked style.
-
-## Defining new styles
-
-New Styles are defined and added to the style collection of the document. In this way, they will be discovered by the default UI and applied to the parts of a document.
-
-### Defining a character style
-
-The following example shows how to programmatically create a character style.
-
-```ts
-let documentEditor: DocumentEditor = new DocumentEditor({ enableEditor: true, isReadOnly: false, enableSelection: true });
-let styleJson: any = {
- "type": "Character",
- "name": "New CharacterStyle",
- "basedOn": "Default Paragraph Font",
- "characterFormat": {
- "fontSize": 16.0,
- "fontFamily": "Calibri Light",
- "fontColor": "#2F5496",
- "bold": true,
- "italic": true,
- "underline": "Single"
- }
-};
-documentEditor.editor.createStyle(JSON.stringify(styleJson));
-```
-
-### Defining a paragraph style
-
-The following example shows how to programmatically create a paragraph style.
-
-```ts
-let documentEditor: DocumentEditor = new DocumentEditor({ enableEditor: true, isReadOnly: false, enableSelection: true });
-let styleJson: any = {
- "type": "Paragraph",
- "name": "New ParagraphStyle",
- "basedOn": "Normal",
- "characterFormat": {
- "fontSize": 16.0,
- "fontFamily": "Calibri Light",
- "fontColor": "#2F5496",
- "bold": true,
- "italic": true,
- "underline": "Single"
- },
- "paragraphFormat": {
- "leftIndent": 0.0,
- "rightIndent": 0.0,
- "firstLineIndent": 0.0,
- "beforeSpacing": 12.0,
- "afterSpacing": 0.0,
- "lineSpacing": 1.0791666507720947,
- "lineSpacingType": "Multiple",
- "textAlignment": "Left",
- "outlineLevel": "Level1"
- }
-};
-documentEditor.editor.createStyle(JSON.stringify(styleJson));
-```
-
-### Defining a linked style
-
-The following example shows how to programmatically create linked style.
-
-```ts
-let documentEditor: DocumentEditor = new DocumentEditor({ enableEditor: true, isReadOnly: false, enableSelection: true });
-let styleJson: any = {
- "type": "Paragraph",
- "name": "New Linked",
- "basedOn": "Normal",
- "next": "Normal",
- "link": "New Linked Char",
- "characterFormat": {
- "fontSize": 16.0,
- "fontFamily": "Calibri Light",
- "fontColor": "#2F5496"
- },
- "paragraphFormat": {
- "leftIndent": 0.0,
- "rightIndent": 0.0,
- "firstLineIndent": 0.0,
- "beforeSpacing": 12.0,
- "afterSpacing": 0.0,
- "lineSpacing": 1.0791666507720947,
- "lineSpacingType": "Multiple",
- "textAlignment": "Left",
- "outlineLevel": "Level1"
- }
-};
-documentEditor.editor.createStyle(JSON.stringify(styleJson));
-```
-
-## Applying a style
-
-The styles are applied using the **applyStyle** method of **editorModule**, the parameter should be passed is the **Name** of the Style.
-
-The styles of the **Character** type is applied to the currently selected part of the document. If there is no selection, the values that will be applied to the word at caret position. The styles of **Paragraph** type follow the same logic and are applied to all paragraphs in the selection or the current paragraph.
-
-When there is no selection, styles of **Linked** type will change the values of the paragraph, and apply both the Paragraph and Character properties. When there is selection, Linked Style changes only the character properties of the selected text.
-
-For example, the following line will apply the "New Linked" to the current paragraph.
-
-```ts
-editor.editorModule.applyStyle('New Linked');
-//Clear direct formatting and apply the specified style
-editor.editorModule.applyStyle('New Linked', true);
-```
-
-## Get Styles
-
-You can get the styles in the document using the below code snippet.
-
-```ts
-//Get paragraph styles
-let paragraphStyles = documentEditor.getStyles('Paragraph');
-//Get character styles
-let paragraphStyles = documentEditor.getStyles('Character');
-```
-
-## Modify an existing style
-
-You can modify a existing style with the specified style properties using [`createStyle`](../api/document-editor/editor/#createStyle) method. If modifyExistingStyle parameter is set to `true` the style properties is updated to the existing style.
-
-The following illustrate to modify an existing style.
-
-```ts
-let styleJson: any = {
- "type": "Paragraph",
- "name": "Heading 1",
- "characterFormat": {
- "fontSize": 32,
- "fontFamily": "Calibri"
- }
-};
-documentEditor.editor.createStyle(styleName, true);
-```
-
-> If modifyExistingStyle parameter is set to true and a style already exists with same name, it modifies the specified properties in the existing style.
-> If modifyExistingStyle parameter is set to false and a style already exists with same name, it creates a new style with unique name by appending ‘_1’. Hence, the newly style will not have the specified name.
-> If no style exists with same name, it creates a new style.
diff --git a/ej2-javascript/document-editor/ts/web-services-overview.md b/ej2-javascript/document-editor/ts/web-services-overview.md
deleted file mode 100644
index e6ffd8b0d..000000000
--- a/ej2-javascript/document-editor/ts/web-services-overview.md
+++ /dev/null
@@ -1,123 +0,0 @@
----
-layout: post
-title: Web services in ##Platform_Name## Document editor control | Syncfusion
-description: Learn here all about Web services in Syncfusion ##Platform_Name## Document editor control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: Web services
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Web services in ##Platform_Name## Document editor control
-
-You can deploy web APIs for server-side dependencies of Document Editor component in the following platforms.
-
-* [ASP.NET Core](../document-editor/web-services/core)
-* [ASP.NET MVC](../document-editor/web-services/mvc)
-* [Java](../document-editor/web-services/java)
-
-## Which operations require server-side interaction
-
-|Operations|When client-server communication will be triggered?|What type of data will be transferred between client and server?|
-|------------|--------------------------------------|------------------------|
-|[Open file formats other than SFDT](../document-editor/import#convert-word-documents-into-sfdt)|When opening the document other than SFDT (Syncfusion® Document Editor's native file format), the server-side web API is invoked from client-side script.|**Client**: Sends the input file. **Server**: Receives the input file and sends the converted SFDT back to the client.
The server-side web API internally extracts the content from the document (DOCX, DOC, WordML, RTF, HTML) using Syncfusion® Word library (DocIO) and converts it into SFDT for opening the document in Document Editor.|
-|[Paste with formatting](../document-editor/clipboard#paste-with-formatting)|When pasting the formatted content (HTML/RTF) received from system clipboard. For converting HTML/RTF to SFDT format.
**Note**: Whereas plain text received from system clipboard will be pasted directly in the client-side.|**Client**: Sends the input Html or Rtf string. **Server**: Receives the input Html or Rtf string and sends the converted SFDT back to the client.|
-|[Restrict editing](../document-editor/document-management)|When protecting the document, for generating hash.|**Client**: Sends the input data for hashing algorithm. **Server**: Receives the input data for hashing algorithm and sends the result hash information back to the client.|
-|[Spellcheck](../document-editor/spell-check)(default)|When the spellchecker is enabled on client-side Document Editor, and it performs the spell check validation for words in the document.|**Client**: Sends the words (string) with their language for spelling validation. **Server**: Receives the words (string) with their language for spelling validation and sends the validation result as JSON back to the client.|
-|[SpellCheckByPage](../document-editor/spell-check)|Document editor provides options to spellcheck page by page when loading the documents. By [enabling optimized spell check](../document-editor/spell-check#enableoptimizedspellcheck) in client-side, you can perform spellcheck page by page when loading the documents.|**Client**: Sends the words (string) with their language for spelling validation. **Server**: Receives the words (string) with their language for spelling validation and sends the validation result as JSON back to the client.|
-|[Save as file formats other than SFDT and DOCX](../document-editor/server-side-export) (optional API)|You can configure this API, if you want to save the document in file format other than DOCX and SFDT.
For saving the files as WordML, DOC, RTF, HTML, ODT, Text using Syncfusion® Word library (DocIO) and PDF using Syncfusion® Word (DocIO) and PDF libraries.|You can transfer document from client to server either as SFDT or DOCX format.
First option (SFDT): **Client**: Sends the SFDT. **Server**: Receives the SFDT and saves the converted document as any file format supported by [Syncfusion® Word library (DocIO)](https://www.syncfusion.com/word-framework/net/word-library) in server or sends the saved file to the client browser.
Second option (DOCX): **Client**: Sends the DOCX file. **Server**: Receives the DOCX file and saves the converted document as any file format supported by [Syncfusion® Word library (DocIO)](https://www.syncfusion.com/word-framework/net/word-library) in server or sends the saved file to the client browser.|
-
->Note: If you don't require the above functionalities then you can deploy as pure client-side component without any server-side interactions.
-
-Please refer the [example from GitHub](https://github.com/SyncfusionExamples/EJ2-DocumentEditor-WebServices) to configure the web service and set the [serviceUrl](../api/document-editor-container#serviceurl).
-
-If your running web service Url is `http://localhost:62869/`, set the serviceUrl like below:
-
-```ts
-container.serviceUrl = "http://localhost:62869/api/documenteditor/";
-```
-
-## Required Web API structure
-
-Please check below table for expected web API structure.
-
-|Expected method name |Parameters |Return type |
-|-----|----|----|
-|Import |Files(IFormCollection) |json(sfdt format) |
-|SystemClipboard|CustomerParameter: content(type string either rtf or html) and type(either .rtf or .html) |json(sfdt format) |
-|RestrictEditing |Parameter of type CustomRestrictParameter public class CustomRestrictParameter { public string passwordBase64 { get; set; } public string saltBase64 { get; set; } public int spinCount { get; set; } } |result hash information |
-|SpellCheck(default) |Parameter: SpellCheckJsonData public class SpellCheckJsonData { public int LanguageID { get; set; } public string TexttoCheck { get; set; } public bool CheckSpelling { get; set; } public bool CheckSuggestion { get; set; } public bool AddWord { get; set; } } |Json type of Spellcheck containing details of spell checked word |
-|SpellCheckByPage |Parameter: SpellCheckJsonData public class SpellCheckJsonData { public int LanguageID { get; set; } public string TexttoCheck { get; set; } public bool CheckSpelling { get; set; } public bool CheckSuggestion { get; set; } public bool AddWord { get; set; } } |Json type of Spellcheck containing details of spell checked word
**Note**: Document editor provides options to spellcheck page by page when loading the documents. By [enabling optimized spell check](../document-editor/spell-check#enableoptimizedspellcheck) in client-side, you can perform spellcheck page by page when loading the documents. |
-|Save(optional API) |parameter: SaveParameter public class SaveParameter { public string Content { get; set; } public string FileName { get; set; } } |void(Save the file as file stream) |
-|ExportSFDT(optional API) |parameter: SaveParameter public class SaveParameter { public string Content { get; set; } public string FileName { get; set; } } |FileStreamResult (to save the document in client-side) |
-|Export(optional API) |Files(IFormCollection) |FileStreamResult (to save the document in client-side) |
-
-## Customize the expected method name
-
-Document editor component provides an option to customize the expected method name for Import, SystemClipboard, RestrictEditing and SpellCheck using [serverActionSettings](../api/document-editor-container/documentEditorContainerModel/#serveractionsettings).
-
-The following example code illustrates how to customize the method name using serverActionSettings.
-
-```ts
-
- let container: DocumentEditorContainer = new DocumentEditorContainer({ enableToolbar: true, height: '590px' ,enableSpellCheck:true});
- DocumentEditorContainer.Inject(Toolbar);
- container.serviceUrl = hostUrl + 'api/documenteditor/';
- // Customize the API name
- let settings = { import: 'Import1', systemClipboard: 'SystemClipboard1', spellCheck: 'SpellCheck1', restrictEditing: 'RestrictEditing1' }
- container.serverActionSettings = settings;
- container.appendTo('#container');
-
-```
-
-## Add the custom headers to XMLHttpRequest
-
-Document editor component provides an an option to add custom headers of XMLHttpRequest using the [`headers`](../api/document-editor-container/documentEditorContainerModel/#headers).
-
-```ts
-
- let container: DocumentEditorContainer = new DocumentEditorContainer({ enableToolbar: true, height: '590px'});
- DocumentEditorContainer.Inject(Toolbar);
- container.serviceUrl = hostUrl + 'api/documenteditor/';
- // custom headers
- let customHeaders = [{ 'Authorization': 'Bearer YOUR_ACCESS_TOKEN' }, { 'Content-Type': 'application/json' }];
- container.headers = customHeaders;
- container.appendTo('#container');
-
-```
-
-## Modify the XMLHttpRequest before request send
-
-Document editor component provides an option to modify the XMLHttpRequest object (setting additional headers, if needed) using [`beforeXmlHttpRequestSend`](../api/document-editor-container/#beforexmlhttprequestsend) event and it gets triggered before a server request.
-
-You can customize the required [`XMLHttpRequest`](../api/document-editor/xmlHttpRequestEventArgs/) properties.
-
-The following example code illustrates how to modify the XMLHttpRequest using beforeXmlHttpRequestSend.
-
-```ts
-import { DocumentEditorContainer, XmlHttpRequestEventArgs } from '@syncfusion/ej2-documenteditor';
-
-let container: DocumentEditorContainer = new DocumentEditorContainer({
- enableToolbar: true,
- height: '590px',
-});
-
-// Below action, cancel all server-side interactions expect spell check
-container.beforeXmlHttpRequestSend = (args: XmlHttpRequestEventArgs): void => {
- //Here, modifying the request headers
- args.headers = [{ syncfusion: 'true' }];
- args.withCredentials = true;
- switch (args.serverActionType) {
- case 'Import':
- case 'RestrictEditing':
- case 'SystemClipboard':
- args.cancel = true;
- break;
- }
-};
-container.appendTo('#container');
-
-```
-
-Note: Find the customizable serverActionType values are `'Import' | 'RestrictEditing' | 'SpellCheck' | 'SystemClipboard'`.
\ No newline at end of file
diff --git a/ej2-javascript/document-editor/view.md b/ej2-javascript/document-editor/view.md
deleted file mode 100644
index 312cd64f1..000000000
--- a/ej2-javascript/document-editor/view.md
+++ /dev/null
@@ -1,73 +0,0 @@
----
-layout: post
-title: View in ##Platform_Name## Document editor control | Syncfusion
-description: Learn here all about View in Syncfusion ##Platform_Name## Document editor control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: View
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-# View in ##Platform_Name## Document editor control
-
-## Web layout
-
-DocumentEditor allows you to change the view to web layout and print using the [`layoutType`](../../api/document-editor#layouttype) property with the supported [`LayoutType`](../../api/document-editor/layoutType/).
-
-```ts
-let docEdit: DocumentEditor = new DocumentEditor({ layoutType: 'Continuous'});
-```
-
->Note: Default value of [`layoutType`](../../api/document-editor#layouttype) in DocumentEditor component is [`Pages`](../../api/document-editor/layoutType/).
-
-## Ruler
-
-Using ruler we can refer to setting specific margins, tab stops, or indentations within a document to ensure consistent formatting in Document Editor.
-
-The following example illustrates how to enable ruler in Document Editor
-
-{% if page.publishingplatform == "typescript" %}
-
-{% tabs %}
-{% highlight ts tabtitle="index.ts" %}
-{% include code-snippet/document-editor/ruler-cs1/index.ts %}
-{% endhighlight %}
-{% highlight html tabtitle="index.html" %}
-{% include code-snippet/document-editor/ruler-cs1/index.html %}
-{% endhighlight %}
-{% endtabs %}
-
-{% previewsample "page.domainurl/code-snippet/document-editor/ruler-cs1" %}
-
-{% elsif page.publishingplatform == "javascript" %}
-
-{% tabs %}
-{% highlight js tabtitle="index.js" %}
-{% include code-snippet/document-editor/ruler-cs1/index.js %}
-{% endhighlight %}
-{% highlight html tabtitle="index.html" %}
-{% include code-snippet/document-editor/ruler-cs1/index.html %}
-{% endhighlight %}
-{% endtabs %}
-
-{% previewsample "page.domainurl/code-snippet/document-editor/ruler-cs1" %}
-{% endif %}
-
-## Navigation Pane
-
-Using the heading navigation pane allows users to swiftly navigate documents by heading, enhancing their ability to move through the document efficiently.
-
-The following example illustrates how to enable heading navigation pane in Document Editor
-
-```ts
-let container: DocumentEditorContainer = new DocumentEditorContainer({ enableToolbar: true,height: '590px',
-// Enable heading navigation pane in document editor
- documentEditorSettings: {
- showNavigationPane: true,
- }
-});
-DocumentEditorContainer.Inject(Toolbar);
-container.serviceUrl = 'https://services.syncfusion.com/js/production/api/documenteditor/';
-container.appendTo('#container');
-```
-> The Web API hosted link `https://services.syncfusion.com/js/production/api/documenteditor/` utilized in the Document Editor's serviceUrl property is intended solely for demonstration and evaluation purposes. For production deployment, please host your own web service with your required server configurations. You can refer and reuse the [GitHub Web Service example](https://github.com/SyncfusionExamples/EJ2-DocumentEditor-WebServices) or [Docker image](https://hub.docker.com/r/syncfusion/word-processor-server) for hosting your own web service and use for the serviceUrl property.
\ No newline at end of file
diff --git a/ej2-javascript/document-editor/web-services/core.md b/ej2-javascript/document-editor/web-services/core.md
deleted file mode 100644
index 3937ba7c7..000000000
--- a/ej2-javascript/document-editor/web-services/core.md
+++ /dev/null
@@ -1,523 +0,0 @@
----
-layout: post
-title: Core in ##Platform_Name## Document editor control | Syncfusion
-description: Learn here all about Core in Syncfusion ##Platform_Name## Document editor control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: Core
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Core in ##Platform_Name## Document editor control
-
-DocumentEditor depends on server side interaction for below listed operations can be written in ASP.NET Core using [Syncfusion.EJ2.WordEditor.AspNet.Core](https://www.nuget.org/packages/Syncfusion.EJ2.WordEditor.AspNet.Core).
-
-* Import Word Document
-* Paste with formatting
-* Restrict Editing
-* Spell Check
-* Save as file formats other than SFDT and DOCX
-
->Note: Syncfusion® provides a predefined [Word Processor server docker image](https://hub.docker.com/r/syncfusion/word-processor-server) targeting ASP.NET Core 2.1 framework. You can directly pull this docker image and deploy it in server on the go. You can also create own docker image by customizing the existing [docker project from GitHub](https://github.com/SyncfusionExamples/Word-Processor-Server-Docker). To know more, refer this link.[Word Processor Server Docker Image Overview](../../document-editor/server-deployment/word-processor-server-docker-image-overview)
-
-This section explains how to create the service for DocumentEditor in ASP.NET Core.
-
-## Importing Word Document
-
-As the Document editor client-side script requires the document in SFDT file format, you can convert the Word documents (.dotx,.docx,.docm,.dot,.doc), rich text format documents (.rtf), and text documents (.txt) into SFDT format by using this Web API.
-
-The following example code illustrates how to write a Web API for importing Word documents into Document Editor component.
-
-```c#
- [AcceptVerbs("Post")]
- [HttpPost]
- [EnableCors("AllowAllOrigins")]
- [Route("Import")]
- public string Import(IFormCollection data)
- {
- if (data.Files.Count == 0)
- return null;
- Stream stream = new MemoryStream();
- IFormFile file = data.Files[0];
- int index = file.FileName.LastIndexOf('.');
- string type = index > -1 && index < file.FileName.Length - 1 ?
- file.FileName.Substring(index) : ".docx";
- file.CopyTo(stream);
- stream.Position = 0;
-
- WordDocument document = WordDocument.Load(stream, GetFormatType(type.ToLower()));
- string json = Newtonsoft.Json.JsonConvert.SerializeObject(document);
- document.Dispose();
- return json;
- }
-```
-
-### Import document with TIFF, EMF and WMF images
-
-The web browsers do not support to display metafile images like EMF and WMF and also TIFF format images. As a fallback approach, you can convert the metafile/TIFF format image to raster image using any image converter in the `MetafileImageParsed` event and this fallback raster image will be displayed in the client-side Document editor component.
-
->Note: In `MetafileImageParsedEventArgs` event argument, you can get the metafile stream using `MetafileStream` property and you can get the `IsMetafile` boolean value to determine whether the image is meta file images(WMF,EMF) or Tiff format images. In below example, we have converted the TIFF to raster image in `ConvertTiffToRasterImage()` method using `Bitmiracle https://www.nuget.org/packages/BitMiracle.LibTiff.NET`.
-
-The following example code illustrates how to use `MetafileImageParsed` event for creating fallback raster image for metafile present in a Word document.
-
-```c#
- using SkiaSharp;
- using BitMiracle.LibTiff.Classic;
-
- public string Import(IFormCollection data)
- {
- if (data.Files.Count == 0)
- return null;
- Stream stream = new MemoryStream();
- IFormFile file = data.Files[0];
- int index = file.FileName.LastIndexOf('.');
- string type = index > -1 && index < file.FileName.Length - 1 ?
- file.FileName.Substring(index) : ".docx";
- file.CopyTo(stream);
- stream.Position = 0;
-
- //Hooks MetafileImageParsed event.
- WordDocument.MetafileImageParsed += OnMetafileImageParsed;
- //Converts Stream DOM to SFDT DOM.
- WordDocument document = WordDocument.Load(stream, GetFormatType(type.ToLower()));
- //Unhooks MetafileImageParsed event.
- WordDocument.MetafileImageParsed -= OnMetafileImageParsed;
- //Serializes SFDT DOM to SFDT string.
- string json = Newtonsoft.Json.JsonConvert.SerializeObject(document);
- document.Dispose();
- return json;
- }
-
- //Converts Metafile to raster image.
- private static void OnMetafileImageParsed(object sender, MetafileImageParsedEventArgs args)
- {
- if (args.IsMetafile)
- {
- //MetaFile image conversion(EMF and WMF)
- //You can write your own method definition for converting metafile to raster image using any third-party image converter.
- args.ImageStream = ConvertMetafileToRasterImage(args.MetafileStream);
- }
- else
- {
- //TIFF image conversion
- args.ImageStream = ConvertTiffToRasterImage(args.MetafileStream);
- }
- }
-
- // Converting Tiff to Png image using Bitmiracle https://www.nuget.org/packages/BitMiracle.LibTiff.NET
- private static MemoryStream ConvertTiffToRasterImage(Stream tiffStream)
- {
- MemoryStream imageStream = new MemoryStream();
- using (Tiff tif = Tiff.ClientOpen("in-memory", "r", tiffStream, new TiffStream()))
- {
- // Find the width and height of the image
- FieldValue[] value = tif.GetField(BitMiracle.LibTiff.Classic.TiffTag.IMAGEWIDTH);
- int width = value[0].ToInt();
-
- value = tif.GetField(BitMiracle.LibTiff.Classic.TiffTag.IMAGELENGTH);
- int height = value[0].ToInt();
-
- // Read the image into the memory buffer
- int[] raster = new int[height * width];
- if (!tif.ReadRGBAImage(width, height, raster))
- {
- throw new Exception("Could not read image");
- }
-
- // Create a bitmap image using SkiaSharp.
- using (SKBitmap sKBitmap = new SKBitmap(width, height, SKImageInfo.PlatformColorType, SKAlphaType.Premul))
- {
- // Convert a RGBA value to byte array.
- byte[] bitmapData = new byte[sKBitmap.RowBytes * sKBitmap.Height];
- for (int y = 0; y < sKBitmap.Height; y++)
- {
- int rasterOffset = y * sKBitmap.Width;
- int bitsOffset = (sKBitmap.Height - y - 1) * sKBitmap.RowBytes;
-
- for (int x = 0; x < sKBitmap.Width; x++)
- {
- int rgba = raster[rasterOffset++];
- bitmapData[bitsOffset++] = (byte)((rgba >> 16) & 0xff);
- bitmapData[bitsOffset++] = (byte)((rgba >> 8) & 0xff);
- bitmapData[bitsOffset++] = (byte)(rgba & 0xff);
- bitmapData[bitsOffset++] = (byte)((rgba >> 24) & 0xff);
- }
- }
-
- // Convert a byte array to SKColor array.
- SKColor[] sKColor = new SKColor[bitmapData.Length / 4];
- int index = 0;
- for (int i = 0; i < bitmapData.Length; i++)
- {
- sKColor[index] = new SKColor(bitmapData[i + 2], bitmapData[i + 1], bitmapData[i], bitmapData[i + 3]);
- i += 3;
- index += 1;
- }
-
- // Set the SKColor array to SKBitmap.
- sKBitmap.Pixels = sKColor;
-
- // Save the SKBitmap to PNG image stream.
- sKBitmap.Encode(SKEncodedImageFormat.Png, 100).SaveTo(imageStream);
- imageStream.Flush();
- }
- }
- return imageStream;
- }
-```
-
-## Paste with formatting
-
-This Web API converts the system clipboard data (HTML/RTF) to SFDT format which is required to paste content with formatting.
-
-The following example code illustrates how to write a Web API for paste with formatting.
-
-```c#
- [AcceptVerbs("Post")]
- [HttpPost]
- [EnableCors("AllowAllOrigins")]
- [Route("SystemClipboard")]
- public string SystemClipboard([FromBody]CustomParameter param)
- {
- if (param.content != null && param.content != "")
- {
- try
- {
- //Hooks MetafileImageParsed event.
- WordDocument.MetafileImageParsed += OnMetafileImageParsed;
- WordDocument document = WordDocument.LoadString(param.content, GetFormatType(param.type.ToLower()));
- //Unhooks MetafileImageParsed event.
- WordDocument.MetafileImageParsed -= OnMetafileImageParsed;
- string json = Newtonsoft.Json.JsonConvert.SerializeObject(document);
- document.Dispose();
- return json;
- }
- catch (Exception)
- {
- return "";
- }
- }
- return "";
- }
-
- public class CustomParameter
- {
- public string content { get; set; }
- public string type { get; set; }
- }
-
- //Converts Metafile to raster image.
- private static void OnMetafileImageParsed(object sender, MetafileImageParsedEventArgs args)
- {
- //You can write your own method definition for converting metafile to raster image using any third-party image converter.
- args.ImageStream = ConvertMetafileToRasterImage(args.MetafileStream);
- }
-```
-
->Note: The web browsers do not support to display metafile images like EMF and WMF. As a fallback approach, you can convert the metafile to raster image using any image converter in the [MetafileImageParsed](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.DocumentEditor.WordDocument.html#Syncfusion_EJ2_DocumentEditor_WordDocument_MetafileImageParsed) event and this fallback raster image will be displayed in the client-side Document editor component.
-
-## Restrict editing
-
-This Web API generates hash from the specified password and salt value which is required for restrict editing functionality of Document Editor component.
-
-The following example code illustrates how to write a Web API for restrict editing.
-
-```c#
- [AcceptVerbs("Post")]
- [HttpPost]
- [EnableCors("AllowAllOrigins")]
- [Route("RestrictEditing")]
- public string[] RestrictEditing([FromBody]CustomRestrictParameter param)
- {
- if (param.passwordBase64 == "" && param.passwordBase64 == null)
- return null;
- return WordDocument.ComputeHash(param.passwordBase64, param.saltBase64, param.spinCount);
- }
-
- public class CustomRestrictParameter
- {
- public string passwordBase64 { get; set; }
- public string saltBase64 { get; set; }
- public int spinCount { get; set; }
- }
-```
-
-## Spell Check
-
-Document Editor supports performing spell checking for any input text. You can perform spell checking for the text in Document Editor and it will provide suggestions for the mis-spelled words through dialog and in context menu. Document editor client-side script requires this Web API to show error words and list suggestions in context menu. This Web API returns the json type of spell-checked word which contains details about error words if any and suggestions.
-
-To know more about configure spell check, please check this [link](https://github.com/SyncfusionExamples/EJ2-Document-Editor-Web-Services/tree/master/ASP.NET%20Core#steps-to-configure-spell-checker).
-
-In startup.cs file, you can configure the spell check files like below:
-
-```c#
-
- public Startup(IConfiguration configuration, IHostingEnvironment env)
- {
- var builder = new ConfigurationBuilder()
- .SetBasePath(env.ContentRootPath)
- .AddJsonFile("appsettings.json", optional: true, reloadOnChange: true)
- .AddJsonFile($"appsettings.{env.EnvironmentName}.json", optional: true)
- .AddEnvironmentVariables();
-
- Configuration = builder.Build();
- _contentRootPath = env.ContentRootPath;
-
- path = Configuration["SPELLCHECK_DICTIONARY_PATH"];
- string jsonFileName = Configuration["SPELLCHECK_JSON_FILENAME"];
- //check the spell check dictionary path environment variable value and assign default data folder
- //if it is null.
- path = string.IsNullOrEmpty(path) ? Path.Combine(env.ContentRootPath, "App_Data") : Path.Combine(env.ContentRootPath, path);
- //Set the default spellcheck.json file if the json filename is empty.
- jsonFileName = string.IsNullOrEmpty(jsonFileName) ? Path.Combine(path, "spellcheck.json") : Path.Combine(path, jsonFileName);
- if (System.IO.File.Exists(jsonFileName))
- {
- string jsonImport = System.IO.File.ReadAllText(jsonFileName);
- List spellChecks = JsonConvert.DeserializeObject>(jsonImport);
- spellDictCollection = new List();
- //construct the dictionary file path using customer provided path and dictionary name
- foreach (var spellCheck in spellChecks)
- {
- spellDictCollection.Add(new DictionaryData(spellCheck.LanguadeID, Path.Combine(path, spellCheck.DictionaryPath), Path.Combine(path, spellCheck.AffixPath)));
- personalDictPath = Path.Combine(path, spellCheck.PersonalDictPath);
- }
- }
- }
-
-```
-
-Document editor provides options to spell check word by word and spellcheck page by page when loading the documents.
-
-### Spell check word by word
-
-This Web API performs the spell check word by word and return the json which contains information about error words and suggestions if any. By default, spell check word by word is performed in Document editor when enabling spell check in client-side.
-
-The following example code illustrates how to write a Web API for spell check word by word.
-
-```c#
- [AcceptVerbs("Post")]
- [HttpPost]
- [EnableCors("AllowAllOrigins")]
- [Route("SpellCheck")]
- public string SpellCheck([FromBody] SpellCheckJsonData spellChecker)
- {
- try
- {
- SpellChecker spellCheck = new SpellChecker(spellDictionary, personalDictPath);
- spellCheck.GetSuggestions(spellChecker.LanguageID, spellChecker.TexttoCheck, spellChecker.CheckSpelling, spellChecker.CheckSuggestion, spellChecker.AddWord);
- return Newtonsoft.Json.JsonConvert.SerializeObject(spellCheck);
- }
- catch
- {
- return "{\"SpellCollection\":[],\"HasSpellingError\":false,\"Suggestions\":null}";
- }
- }
-
- public class SpellCheckJsonData
- {
- public int LanguageID { get; set; }
- public string TexttoCheck { get; set; }
- public bool CheckSpelling { get; set; }
- public bool CheckSuggestion { get; set; }
- public bool AddWord { get; set; }
- }
-```
-
-### Spell check page by page
-
-This Web API performs the spell check page by page and return the json which contains information about error words and suggestions if any. By [enabling optimized spell check](../../document-editor/spell-check#enableoptimizedspellcheck) in client-side, you can perform spellcheck page by page when loading the documents.
-
-The following example code illustrates how to write a Web API for spell check page by page.
-
-```c#
-
- [AcceptVerbs("Post")]
- [HttpPost]
- [EnableCors("AllowAllOrigins")]
- [Route("SpellCheckByPage")]
- public string SpellCheckByPage([FromBody] SpellCheckJsonData spellChecker)
- {
- try
- {
- SpellChecker spellCheck = new SpellChecker(spellDictionary, personalDictPath);
- spellCheck.CheckSpelling(spellChecker.LanguageID, spellChecker.TexttoCheck);
- return Newtonsoft.Json.JsonConvert.SerializeObject(spellCheck);
- }
- catch
- {
- return "{\"SpellCollection\":[],\"HasSpellingError\":false,\"Suggestions\":null}";
- }
- }
-
- public class SpellCheckJsonData
- {
- public int LanguageID { get; set; }
- public string TexttoCheck { get; set; }
- public bool CheckSpelling { get; set; }
- public bool CheckSuggestion { get; set; }
- public bool AddWord { get; set; }
- }
-```
-
-## Save as file formats other than SFDT and DOCX
-
-You can configure this API, if you want to save the document in file format other than DOCX and SFDT using server-side. You can save the document in following ways:
-
-### Save the document in database or file server
-
-This Web API saves the document in the server machine. You can customize this API to save the document into databases or file servers.
-
-The following example code illustrates how to write a Web API for save document in server-side.
-
-```c#
- [AcceptVerbs("Post")]
- [HttpPost]
- [EnableCors("AllowAllOrigins")]
- [Route("Save")]
- public void Save([FromBody] SaveParameter data)
- {
- string name = data.FileName;
- string format = RetrieveFileType(name);
- if (string.IsNullOrEmpty(name))
- {
- name = "Document1.doc";
- }
- WDocument document = WordDocument.Save(data.Content);
- // Saves the document to server machine file system, you can customize here to save into databases or file servers based on requirement.
- FileStream fileStream = new FileStream(name, FileMode.OpenOrCreate, FileAccess.ReadWrite);
- document.Save(fileStream, GetWFormatType(format));
- document.Close();
- fileStream.Close();
- }
-
- public class SaveParameter
- {
- public string Content { get; set; }
- public string FileName { get; set; }
- }
-```
-
-### Save as other file formats by passing SFDT string
-
-This Web API converts the SFDT string to required format and returns the document as FileStreamResult to client-side. Using this API, you can save the document in file format other than SFDT and DOCX and download the document in client browser.
-
-The following example code illustrates how to write a Web API for export sfdt.
-
-```c#
- [AcceptVerbs("Post")]
- [HttpPost]
- [EnableCors("AllowAllOrigins")]
- [Route("ExportSFDT")]
- public FileStreamResult ExportSFDT([FromBody] SaveParameter data)
- {
- string name = data.FileName;
- string format = RetrieveFileType(name);
- if (string.IsNullOrEmpty(name))
- {
- name = "Document1.doc";
- }
- WDocument document = WordDocument.Save(data.Content);
- return SaveDocument(document, format, name);
- }
-
- public class SaveParameter
- {
- public string Content { get; set; }
- public string FileName { get; set; }
- }
-
- private FileStreamResult SaveDocument(WDocument document, string format, string fileName)
- {
- Stream stream = new MemoryStream();
- string contentType = "";
- if (format == ".pdf")
- {
- contentType = "application/pdf";
- }
- else
- {
- WFormatType type = GetWFormatType(format);
- switch (type)
- {
- case WFormatType.Rtf:
- contentType = "application/rtf";
- break;
- case WFormatType.WordML:
- contentType = "application/xml";
- break;
- case WFormatType.Html:
- contentType = "application/html";
- break;
- case WFormatType.Dotx:
- contentType = "application/vnd.openxmlformats-officedocument.wordprocessingml.template";
- break;
- case WFormatType.Doc:
- contentType = "application/msword";
- break;
- case WFormatType.Dot:
- contentType = "application/msword";
- break;
- }
- document.Save(stream, type);
- }
- document.Close();
- stream.Position = 0;
- return new FileStreamResult(stream, contentType)
- {
- FileDownloadName = fileName
- };
- }
-```
-
-### Save as other file formats by passing DOCX file
-
-This Web API converts the DOCX document to required format and returns the document as FileStreamResult to client-side. Using this API, you can save the document in file format other than SFDT and DOCX and download the document in client browser.
-
-The following example code illustrates how to write a Web API for export.
-
-```c#
-
- [AcceptVerbs("Post")]
- [HttpPost]
- [EnableCors("AllowAllOrigins")]
- [Route("Export")]
- public FileStreamResult Export(IFormCollection data)
- {
- if (data.Files.Count == 0)
- return null;
- string fileName = this.GetValue(data, "filename");
- string name = fileName;
- string format = RetrieveFileType(name);
- if (string.IsNullOrEmpty(name))
- {
- name = "Document1";
- }
- WDocument document = this.GetDocument(data);
- return SaveDocument(document, format, fileName);
- }
-
- private string RetrieveFileType(string name)
- {
- int index = name.LastIndexOf('.');
- string format = index > -1 && index < name.Length - 1 ?
- name.Substring(index) : ".doc";
- return format;
- }
-
- private string GetValue(IFormCollection data, string key)
- {
- if (data.ContainsKey(key))
- {
- string[] values = data[key];
- if (values.Length > 0)
- {
- return values[0];
- }
- }
- return "";
- }
-
-```
-
->Note: Please refer the [ASP.NET Core Web API sample](https://github.com/SyncfusionExamples/EJ2-DocumentEditor-WebServices/tree/master/ASP.NET%20Core).
diff --git a/ej2-javascript/document-editor/web-services/java.md b/ej2-javascript/document-editor/web-services/java.md
deleted file mode 100644
index f2b819f19..000000000
--- a/ej2-javascript/document-editor/web-services/java.md
+++ /dev/null
@@ -1,685 +0,0 @@
----
-layout: post
-title: Java in ##Platform_Name## Document editor control | Syncfusion
-description: Learn here all about Java in Syncfusion ##Platform_Name## Document editor control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: Java
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Java in ##Platform_Name## Document editor control
-
-This page illustrates how to create web service in Java for the server-side dependent functionalities of Word Processor component a.k.a. Document Editor. Document Editor depends on server side interaction for below listed operations and it can be written in Java using `syncfusion-ej2-wordprocessor.jar` file.
-
-* Import Word Document
-* Paste with formatting
-* Restrict Editing
-* Spell Check
-* Save as file formats other than SFDT and DOCX
-
-## Supported Java versions
-
-Syncfusion® Java library supports Java SE 8.0(1.8) or above versions.
-
-## External Jars Required
-
-The following jar files are required to be referenced in your Java application.
-
-1. syncfusion-ej2-wordprocessor
-
-2. syncfusion-docio
-
-3. syncfusion-javahelper
-
-## Download JAR file
-
-The JAR file is available in both [Syncfusion® Essential-JS2](https://www.syncfusion.com/downloads/essential-js2) build and maven repository.
-
-### Get JAR file from Syncfusion® build
-
-You can get the `syncfusion-ej2-wordprocessor.jar` and its dependent jar files from Syncfusion® build installed location.
-
-**Syntax:**
-> Jar file: `(installed location)/Syncfusion/Essential Studio/{Platform}/{version}/JarFiles/syncfusion-ej2-wordprocessor-{version}.jar`
-
-**Example:**
-> Jar file: `C:/Program Files (x86)/Syncfusion/Essential Studio/JavaScript - EJ2/18.4.0.30/JarFiles/syncfusion-ej2-wordprocessor-18.4.0.30.jar`
-
-You can also get the jar files by installing [file formats controls](https://www.syncfusion.com/sales/products/fileformats?utm_source=ug&utm_medium=listing&utm_campaign=java-word-processor#). You can find the required jars in the build installed location.
-
-**Syntax:**
-> Jar file: `(installed location)/Syncfusion/Essential Studio/{Platform}/{version}/JarFiles/syncfusion-ej2-wordprocessor-{version}.jar`
-
-**Example:**
-> Jar file: `C:/Program Files (x86)/Syncfusion/Essential Studio/FileFormats/18.4.0.30/JarFiles/syncfusion-ej2-wordprocessor-18.4.0.30.jar`
-
-### Referring JAR from Syncfusion® Maven Repository
-
-You can download the jars from the Syncfusion® [maven repository](https://jars.syncfusion.com/) to use our artifacts in your projects. It helps to use the Syncfusion® Java packages without installing Essential Studio® or platform installation to development with Syncfusion® controls.
-
-#### Download Syncfusion® Java packages
-
-You can easily download the Syncfusion® packages for Java via maven repository. Follow the below guidelines to configure as per the tool.
-
-#### Refer the maven repository in build tool
-
-##### Gradle
-
-```java
- repositories {
- maven {
- // Syncfusion maven repository to download the artifacts
- url "https://jars.syncfusion.com/repository/maven-public/"
- }
- }
-```
-
-##### Apache Maven
-
-```java
-
- Syncfusion-Java
- Syncfusion Java repo
- https://jars.syncfusion.com/repository/maven-public/
-
-```
-
-#### Refer the Syncfusion® package in your project as the dependency
-
-##### Gradle
-
-```java
- dependencies {
- implementation 'com.syncfusion:syncfusion-ej2-wordprocessor:+'
- }
-```
-
-##### Apache Maven
-
-```java
-
- com.syncfusion
- syncfusion-ej2-wordprocessor
- 18.4.0.30
-
-```
-
-This section explains how to create the Java web service for DocumentEditor.
-
-## Importing Word Document
-
-As the Document editor client-side script requires the document in SFDT file format, you can convert the Word documents (.dotx,.docx,.docm), rich text format documents (.rtf), and text documents (.txt) into SFDT format by using this Web API.
-
-Note: Document editor Java library doesn’t have support for the **DOC format** Word document. As the DOC format is an older file format, we are concentrating on latest DOCX specific features and it will be more helpful in future if you use DOCX format to utilize some more features from Document editor. So, we recommend you to use the DOCX file format instead of DOC file format, to achieve your requirement.
-
-The following example code illustrates how to write a Web API for importing Word documents into Document Editor component.
-
-```java
- @CrossOrigin(origins = "*", allowedHeaders = "*")
- @PostMapping("/api/wordeditor/Import")
- public String uploadFile(@RequestParam("files") MultipartFile file) throws Exception {
- try {
- return WordProcessorHelper.load(file.getInputStream(), FormatType.Docx);
- } catch (Exception e) {
- e.printStackTrace();
- return "{\"sections\":[{\"blocks\":[{\"inlines\":[{\"text\":" + e.getMessage() + "}]}]}]}";
- }
- }
-```
-
-### Import document with TIFF, EMF and WMF images
-
-The web browsers do not support to display metafile images like EMF and WMF and also TIFF format images. As a fallback approach, you can convert the metafile/TIFF format image to raster image using any image converter in the `MetafileImageParsed` event and this fallback raster image will be displayed in the client-side Document editor component.
-
->Note: In `MetafileImageParsedEventArgs` event argument, you can get the metafile stream using `getMetafileStream()` property and you can get the `getIsMetafile()` boolean value to determine whether the image is meta file images(WMF,EMF) or Tiff format images. In below example, we have converted the TIFF to raster image in `ConvertTiffToRasterImage()` method using TwelveMonkeys ImageIO TIFF library.
-
-The following example code illustrates how to use `MetafileImageParsed` event for creating fallback raster image for metafile present in a Word document.
-
-```java
-import com.syncfusion.javahelper.system.collections.generic.*;
-import com.syncfusion.ej2.wordprocessor.*;
-// Below import statements are used for TIFF image conversion
-import javax.imageio.*;
-import javax.imageio.spi.IIORegistry;
-import java.awt.image.BufferedImage;
-import java.io.*;
-import com.twelvemonkeys.imageio.plugins.tiff.TIFFImageReaderSpi;
-
- @CrossOrigin(origins = "*", allowedHeaders = "*")
- @PostMapping("/api/wordeditor/Import")
- public String importFile(@RequestParam("files") MultipartFile file) throws Exception {
- try {
- WordDocument docIoDocument = new WordDocument(file.getInputStream());
-
- MetafileImageParsedEventHandler metafileImageParsedEvent = new MetafileImageParsedEventHandler() {
-
- ListSupport delegateList = new ListSupport(
- MetafileImageParsedEventHandler.class);
-
- // Represents event handling for MetafileImageParsedEventHandlerCollection.
- public void invoke(Object sender, MetafileImageParsedEventArgs args) throws Exception {
- OnMetafileImageParsed(sender, args);
- }
-
- // Represents the method that handles MetafileImageParsed event.
- public void dynamicInvoke(Object... args) throws Exception {
- OnMetafileImageParsed((Object) args[0], (MetafileImageParsedEventArgs) args[1]);
- }
-
- // Represents the method that handles MetafileImageParsed event to add collection item.
- public void add(MetafileImageParsedEventHandler delegate) throws Exception {
- if (delegate != null)
- delegateList.add(delegate);
- }
-
- // Represents the method that handles MetafileImageParsed event to remove collection
- // item.
- public void remove(MetafileImageParsedEventHandler delegate) throws Exception {
- if (delegate != null)
- delegateList.remove(delegate);
- }
- };
- // Hooks MetafileImageParsed event.
- WordProcessorHelper.MetafileImageParsed.add("OnMetafileImageParsed", metafileImageParsedEvent);
- // Converts DocIO DOM to SFDT DOM.
- String sfdtContent = WordProcessorHelper.load(docIoDocument);
- // Unhooks MetafileImageParsed event.
- WordProcessorHelper.MetafileImageParsed.remove("OnMetafileImageParsed", metafileImageParsedEvent);
- return sfdtContent;
- } catch (Exception e) {
- e.printStackTrace();
- return "{\"sections\":[{\"blocks\":[{\"inlines\":[{\"text\":" + e.getMessage() + "}]}]}]}";
- }
- }
-
- // Converts Metafile to raster image.
- private static void OnMetafileImageParsed(Object sender, MetafileImageParsedEventArgs args) {
- if (args.getIsMetafile())
- {
- //MetaFile image conversion(EMF and WMF)
- //You can write your own method definition for converting metafile to raster image using any third-party image converter.
- args.setImageStream(ConvertMetafileToRasterImage(args.getMetafileStream())) ;
- }
- else
- {
- //TIFF image conversion
- args.setImageStream(ConvertTiffToRasterImage(args.getMetafileStream())) ;
- }
- }
-
- private static StreamSupport ConvertTiffToRasterImage(StreamSupport ImageStream) throws Exception {
- InputStream inputStream = StreamSupport.toStream(args.getMetafileStream());
- // Use ByteArrayOutputStream to collect data into a byte array
- ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
-
- // Read data from the InputStream and write it to the ByteArrayOutputStream
- byte[] buffer = new byte[1024];
- int bytesRead;
- while ((bytesRead = inputStream.read(buffer)) != -1) {
- byteArrayOutputStream.write(buffer, 0, bytesRead);
- }
-
- // Convert the ByteArrayOutputStream to a byte array
- byte[] tiffData = byteArrayOutputStream.toByteArray();
- // Read TIFF image from byte array
- ByteArrayInputStream tiffInputStream = new ByteArrayInputStream(tiffData);
- IIORegistry.getDefaultInstance().registerServiceProvider(new TIFFImageReaderSpi());
-
- // Create ImageReader and ImageWriter instances
- ImageReader tiffReader = ImageIO.getImageReadersByFormatName("TIFF").next();
- ImageWriter pngWriter = ImageIO.getImageWritersByFormatName("PNG").next();
-
- // Set up input and output streams
- tiffReader.setInput(ImageIO.createImageInputStream(tiffInputStream));
- ByteArrayOutputStream pngOutputStream = new ByteArrayOutputStream();
- pngWriter.setOutput(ImageIO.createImageOutputStream(pngOutputStream));
-
- // Read the TIFF image and write it as a PNG
- BufferedImage image = tiffReader.read(0);
- pngWriter.write(image);
- pngWriter.dispose();
- byte[] jpgData = pngOutputStream.toByteArray();
- InputStream jpgStream = new ByteArrayInputStream(jpgData);
- return StreamSupport.toStream(jpgStream);
- }
-```
-
-## Paste with formatting
-
-This Web API converts the system clipboard data (HTML/RTF) to SFDT format which is required to paste content with formatting.
-
-The following example code illustrates how to write a Web API for paste with formatting.
-
-```java
- @CrossOrigin(origins = "*", allowedHeaders = "*")
- @PostMapping("/api/wordeditor/SystemClipboard")
- public String systemClipboard(@RequestBody CustomParameter param) {
- if (param.content != null && param.content != "") {
- try {
- MetafileImageParsedEventHandler metafileImageParsedEvent = new MetafileImageParsedEventHandler() {
-
- ListSupport delegateList = new ListSupport(
- MetafileImageParsedEventHandler.class);
-
- // Represents event handling for MetafileImageParsedEventHandlerCollection.
- public void invoke(Object sender, MetafileImageParsedEventArgs args) throws Exception {
- OnMetafileImageParsed(sender, args);
- }
-
- // Represents the method that handles MetafileImageParsed event.
- public void dynamicInvoke(Object... args) throws Exception {
- OnMetafileImageParsed((Object) args[0], (MetafileImageParsedEventArgs) args[1]);
- }
-
- // Represents the method that handles MetafileImageParsed event to add collection item.
- public void add(MetafileImageParsedEventHandler delegate) throws Exception {
- if (delegate != null)
- delegateList.add(delegate);
- }
-
- // Represents the method that handles MetafileImageParsed event to remove collection
- // item.
- public void remove(MetafileImageParsedEventHandler delegate) throws Exception {
- if (delegate != null)
- delegateList.remove(delegate);
- }
- };
- // Hooks MetafileImageParsed event.
- WordProcessorHelper.MetafileImageParsed.add("OnMetafileImageParsed", metafileImageParsedEvent);
- // Converts Clipboard content to SFDT DOM.
- String sfdtContent = WordProcessorHelper.loadString(param.content, GetFormatType(param.type.toLowerCase()));
- // Unhooks MetafileImageParsed event.
- WordProcessorHelper.MetafileImageParsed.remove("OnMetafileImageParsed", metafileImageParsedEvent);
- return sfdtContent;
- } catch (Exception e) {
- return "";
- }
- }
- return "";
- }
-
- public class CustomParameter {
- public String content;
- public String type;
- public String getContent() {
- return content;
- }
- public String getType() {
- return type;
- }
- public void setContent(String value) {
- content= value;
- }
- public void setType(String value) {
- type = value;
- }
- }
-
- // Converts Metafile to raster image.
- private static void OnMetafileImageParsed(Object sender, MetafileImageParsedEventArgs args) {
- // You can write your own method definition for converting metafile to raster
- // image using any third-party image converter.
- args.setImageStream(ConvertMetafileToRasterImage(args.getMetafileStream())) ;
- }
-```
-
->Note: The web browsers do not support to display metafile images like EMF and WMF. As a fallback approach, you can convert the metafile to raster image using any image converter in the `MetafileImageParsed` event and this fallback raster image will be displayed in the client-side Document editor component.
-
-## Restrict editing
-
-This Web API generates hash from the specified password and salt value which is required for restrict editing functionality of Document Editor component.
-
-The following example code illustrates how to write a Web API for restrict editing.
-
-```java
- @CrossOrigin(origins = "*", allowedHeaders = "*")
- @PostMapping("/api/wordeditor/RestrictEditing")
- public String[] restrictEditing(@RequestBody CustomRestrictParameter param) throws Exception {
- if (param.passwordBase64 == "" && param.passwordBase64 == null)
- return null;
- return WordProcessorHelper.computeHash(param.passwordBase64, param.saltBase64, param.spinCount);
- }
-
- public class CustomRestrictParameter {
- public String passwordBase64;
- public String saltBase64;
- public int spinCount;
- public String getPasswordBase64() {
- return passwordBase64;
- }
- public String getSaltBase64() {
- return saltBase64;
- }
- public int getSpinCount() {
- return spinCount;
- }
- public void setPasswordBase64(String value) {
- passwordBase64= value;
- }
- public void setSaltBase64(String value) {
- saltBase64= value;
- }
- public void setSpinCount(int value) {
- spinCount= value;
- }
- }
-```
-
-## Spell Check
-
-Document Editor supports performing spell checking for any input text. You can perform spell checking for the text in Document Editor and it will provide suggestions for the mis-spelled words through dialog and in context menu. Document editor client-side script requires this Web API to show error words and list suggestions in context menu. This Web API returns the json type of spell-checked word which contains details about error words if any and suggestions.
-
-To know more about configure spell check, please check this [link](https://github.com/SyncfusionExamples/EJ2-Document-Editor-Web-Services/tree/master/Java#steps-to-configure-spell-checker).
-
-In controller file, you can configure the spell check files like below:
-
-```java
- List spellDictionary;
- String personalDictPath;
-
- public WordEditorController() throws Exception {
-
- String jsonFilePath = "src/main/resources/spellcheck.json";
- String jsonContent = new String(Files.readAllBytes(Paths.get(jsonFilePath)), StandardCharsets.UTF_8);
- JsonArray spellDictionaryItems = new Gson().fromJson(jsonContent, JsonArray.class);
- personalDictPath = "src/main/resources/customDict.dic";
- spellDictionary = new ArrayList();
- for(int i = 0; i < spellDictionaryItems.size(); i++) {
- JsonObject spellCheckerInfo = spellDictionaryItems.get(i).getAsJsonObject();
- DictionaryData dict = new DictionaryData();
-
- if(spellCheckerInfo.has("LanguadeID"))
- dict.setLanguadeID(spellCheckerInfo.get("LanguadeID").getAsInt());
- if(spellCheckerInfo.has("DictionaryPath"))
- dict.setDictionaryPath("src/main/resources/"+spellCheckerInfo.get("DictionaryPath").getAsString());
- if(spellCheckerInfo.has("AffixPath"))
- dict.setAffixPath("src/main/resources/"+spellCheckerInfo.get("AffixPath").getAsString());
- spellDictionary.add(dict);
- }
-
- }
-```
-
-Document editor provides options to spell check word by word and spellcheck page by page when loading the documents.
-
-### Spell check word by word
-
-This Web API performs the spell check word by word and return the json which contains information about error words and suggestions if any. By default, spell check word by word is performed in Document editor when enabling spell check in client-side.
-
-The following example code illustrates how to write a Web API for spell check word by word.
-
-```c#
- @CrossOrigin(origins = "*", allowedHeaders = "*")
- @PostMapping("/api/wordeditor/SpellCheck")
- public String spellCheck(@RequestBody SpellCheckJsonData spellChecker) throws Exception {
- try {
- SpellChecker spellCheck = new SpellChecker(spellDictionary,personalDictPath);
- String data = spellCheck.getSuggestions(spellChecker.languageID, spellChecker.texttoCheck, spellChecker.checkSpelling, spellChecker.checkSuggestion, spellChecker.addWord);
- return data;
- } catch (Exception e) {
- e.printStackTrace();
- return "{\"SpellCollection\":[],\"HasSpellingError\":false,\"Suggestions\":null}";
- }
- }
-
- public class SpellCheckJsonData {
-
- @JsonProperty("LanguageID")
- int languageID;
- @JsonProperty("TexttoCheck")
- String texttoCheck;
- @JsonProperty("CheckSpelling")
- boolean checkSpelling;
- @JsonProperty("CheckSuggestion")
- boolean checkSuggestion;
- @JsonProperty("AddWord")
- boolean addWord;
-
- }
-```
-
-### Spell check page by page
-
-This Web API performs the spell check page by page and return the json which contains information about error words and suggestions if any. By [enabling optimized spell check](../../document-editor/spell-check#enableoptimizedspellcheck) in client-side, you can perform spellcheck page by page when loading the documents.
-
-The following example code illustrates how to write a Web API for spell check page by page.
-
-```c#
- @CrossOrigin(origins = "*", allowedHeaders = "*")
- @PostMapping("/api/wordeditor/SpellCheckByPage")
- public String spellCheckByPage(@RequestBody SpellCheckJsonData spellChecker) throws Exception {
- try {
- SpellChecker spellCheck = new SpellChecker(spellDictionary,personalDictPath);
- String data = spellCheck.checkSpelling(spellChecker.languageID, spellChecker.texttoCheck);
- return data;
- } catch (Exception e) {
- e.printStackTrace();
- return "{\"SpellCollection\":[],\"HasSpellingError\":false,\"Suggestions\":null}";
- }
- }
-
- public class SpellCheckJsonData {
-
- @JsonProperty("LanguageID")
- int languageID;
- @JsonProperty("TexttoCheck")
- String texttoCheck;
- @JsonProperty("CheckSpelling")
- boolean checkSpelling;
- @JsonProperty("CheckSuggestion")
- boolean checkSuggestion;
- @JsonProperty("AddWord")
- boolean addWord;
-
- }
-```
-
-## Save as file formats other than SFDT and DOCX
-
-You can configure this API, if you want to save the document in file format other than DOCX and SFDT using server-side. You can save the document in following ways:
-
-### Save the document in database or file server
-
-This Web API saves the document in the server machine. You can customize this API to save the document into databases or file servers.
-
-The following example code illustrates how to write a Web API for save document in server-side.
-
-```c#
- @CrossOrigin(origins = "*", allowedHeaders = "*")
- @PostMapping("/api/wordeditor/Save")
- public void save(@RequestBody SaveParameter data) throws Exception {
- try {
- String name = data.getFileName();
- String format = retrieveFileType(name);
- if (name == null || name.isEmpty()) {
- name = "Document1.docx";
- }
- WordDocument document = WordProcessorHelper.save(data.getContent());
- // Saves the document to server machine file system, you can customize here to save into databases or file servers based on requirement.
- FileOutputStream fileStream = new FileOutputStream(name);
- document.save(fileStream, getWFormatType(format));
- fileStream.close();
- document.close();
- } catch (Exception ex) {
- throw new Exception(ex.getMessage());
- }
- }
-
- public class SaveParameter {
- private String _content;
- private String _fileName;
-
- public String getContent() {
- return _content;
- }
-
- public String setContent(String value) {
- _content = value;
- return value;
- }
-
- public String getFileName() {
- return _fileName;
- }
-
- public String setFileName(String value) {
- _fileName = value;
- return value;
- }
- }
- static com.syncfusion.docio.FormatType getWFormatType(String format) throws Exception {
-
- if (format == null || format.trim().isEmpty())
- throw new Exception("EJ2 WordProcessor does not support this file format.");
- switch (format.toLowerCase()) {
- case ".dotx":
- return com.syncfusion.docio.FormatType.Dotx;
- case ".docm":
- return com.syncfusion.docio.FormatType.Docm;
- case ".dotm":
- return com.syncfusion.docio.FormatType.Dotm;
- case ".docx":
- return com.syncfusion.docio.FormatType.Docx;
- case ".rtf":
- return com.syncfusion.docio.FormatType.Rtf;
- case ".html":
- return com.syncfusion.docio.FormatType.Html;
- case ".txt":
- return com.syncfusion.docio.FormatType.Txt;
- case ".xml":
- return com.syncfusion.docio.FormatType.WordML;
- default:
- throw new Exception("EJ2 WordProcessor does not support this file format.");
- }
- }
-```
-
-### Save as other file formats by passing SFDT string
-
-This Web API converts the SFDT string to required format and returns the document as FileStreamResult to client-side. Using this API, you can save the document in file format other than SFDT and DOCX and download the document in client browser.
-
-The following example code illustrates how to write a Web API for export sfdt.
-
-```c#
- @CrossOrigin(origins = "*", allowedHeaders = "*")
- @PostMapping("/api/wordeditor/ExportSFDT")
- public ResponseEntity exportSFDT(@RequestBody SaveParameter data) throws Exception {
- try {
- String name = data.getFileName();
- String format = retrieveFileType(name);
- if (name == null || name.isEmpty()) {
- name = "Document1.docx";
- }
- WordDocument document = WordProcessorHelper.save(data.getContent());
- return saveDocument(document, format);
- } catch (Exception ex) {
- throw new Exception(ex.getMessage());
- }
- }
-
- public class SaveParameter {
-
- private String _content;
- private String _fileName;
-
- public String getContent() {
- return _content;
- }
-
- public String setContent(String value) {
- _content = value;
- return value;
- }
-
- public String getFileName() {
- return _fileName;
- }
-
- public String setFileName(String value) {
- _fileName = value;
- return value;
- }
- }
-
- private ResponseEntity saveDocument(WordDocument document, String format) throws Exception {
- String contentType = "";
- ByteArrayOutputStream outStream = new ByteArrayOutputStream();
- com.syncfusion.docio.FormatType type = getWFormatType(format);
- switch (type.toString()) {
- case "Rtf":
- contentType = "application/rtf";
- break;
- case "WordML":
- contentType = "application/xml";
- break;
- case "Dotx":
- contentType = "application/vnd.openxmlformats-officedocument.wordprocessingml.template";
- break;
- case "Html":
- contentType = "application/html";
- break;
- }
- document.save(outStream, type);
- ByteArrayResource resource = new ByteArrayResource(outStream.toByteArray());
- outStream.close();
- document.close();
-
- return ResponseEntity.ok().contentLength(resource.contentLength())
- .contentType(MediaType.parseMediaType(contentType)).body(resource);
- }
-```
-
-### Save as other file formats by passing DOCX file
-
-This Web API converts the DOCX document to required format and returns the document as FileStreamResult to client-side. Using this API, you can save the document in file format other than SFDT and DOCX and download the document in client browser.
-
-The following example code illustrates how to write a Web API for export.
-
-```c#
- @CrossOrigin(origins = "*", allowedHeaders = "*")
- @PostMapping("/api/wordeditor/Export")
- public ResponseEntity export(@RequestParam("data") MultipartFile data, String fileName) throws Exception {
- try {
- String name = fileName;
- String format = retrieveFileType(name);
- if (name == null || name.isEmpty()) {
- name = "Document1";
- }
- WordDocument document = new WordDocument(data.getInputStream(), com.syncfusion.docio.FormatType.Docx);
- return saveDocument(document, format);
- } catch (Exception ex) {
- throw new Exception(ex.getMessage());
- }
- }
-
- private ResponseEntity saveDocument(WordDocument document, String format) throws Exception {
- String contentType = "";
- ByteArrayOutputStream outStream = new ByteArrayOutputStream();
- com.syncfusion.docio.FormatType type = getWFormatType(format);
- switch (type.toString()) {
- case "Rtf":
- contentType = "application/rtf";
- break;
- case "WordML":
- contentType = "application/xml";
- break;
- case "Dotx":
- contentType = "application/vnd.openxmlformats-officedocument.wordprocessingml.template";
- break;
- case "Html":
- contentType = "application/html";
- break;
- }
- document.save(outStream, type);
- ByteArrayResource resource = new ByteArrayResource(outStream.toByteArray());
- outStream.close();
- document.close();
-
- return ResponseEntity.ok().contentLength(resource.contentLength())
- .contentType(MediaType.parseMediaType(contentType)).body(resource);
- }
-```
-
->Note: Please refer the [Java Web API example from GitHub](https://github.com/SyncfusionExamples/EJ2-DocumentEditor-WebServices/tree/master/Java).
\ No newline at end of file
diff --git a/ej2-javascript/document-editor/web-services/mvc.md b/ej2-javascript/document-editor/web-services/mvc.md
deleted file mode 100644
index 924609b31..000000000
--- a/ej2-javascript/document-editor/web-services/mvc.md
+++ /dev/null
@@ -1,378 +0,0 @@
----
-layout: post
-title: Mvc in ##Platform_Name## Document editor control | Syncfusion
-description: Learn here all about Mvc in Syncfusion ##Platform_Name## Document editor control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: Mvc
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Mvc in ##Platform_Name## Document editor control
-
-DocumentEditor depends on server side interaction for below listed operations can be written in ASP.NET MVC using [Syncfusion.EJ2.WordEditor.AspNet.Mvc5](https://www.nuget.org/packages/Syncfusion.EJ2.WordEditor.AspNet.Mvc5) or [Syncfusion.EJ2.WordEditor.AspNet.Mvc4](https://www.nuget.org/packages/Syncfusion.EJ2.WordEditor.AspNet.Mvc4).
-
-* Import Word Document
-* Paste with formatting
-* Restrict Editing
-* Spell Check
-* Save as file formats other than SFDT and DOCX
-
-This section explains how to create the service for DocumentEditor in ASP.NET MVC.
-
-## Importing Word Document
-
-As the Document editor client-side script requires the document in SFDT file format, you can convert the Word documents (.dotx,.docx,.docm,.dot,.doc), rich text format documents (.rtf), and text documents (.txt) into SFDT format by using this Web API.
-
-The following example code illustrates how to write a Web API for importing Word documents into Document Editor component.
-
-```c#
- [HttpPost]
- [EnableCors("*", "*", "*")]
- [Route("Import")]
- public HttpResponseMessage Import()
- {
- if (HttpContext.Current.Request.Files.Count == 0)
- return null;
-
- HttpPostedFile file = HttpContext.Current.Request.Files[0];
- int index = file.FileName.LastIndexOf('.');
- string type = index > -1 && index < file.FileName.Length - 1 ?
- file.FileName.Substring(index) : ".docx";
- Stream stream = file.InputStream;
- stream.Position = 0;
-
- EJ2WordDocument document = EJ2WordDocument.Load(stream, GetFormatType(type.ToLower()));
- string json = Newtonsoft.Json.JsonConvert.SerializeObject(document);
- document.Dispose();
- return new HttpResponseMessage() { Content = new StringContent(json) };
- }
-```
-
-## Paste with formatting
-
-This Web API converts the system clipboard data (HTML/RTF) to SFDT format which is required to paste content with formatting.
-
-The following example code illustrates how to write a Web API for paste with formatting.
-
-```c#
- [HttpPost]
- [EnableCors("*", "*", "*")]
- [Route("SystemClipboard")]
- public HttpResponseMessage SystemClipboard([FromBody]CustomParameter param)
- {
- if (param.content != null && param.content != "")
- {
- try
- {
- Syncfusion.EJ2.DocumentEditor.WordDocument document = Syncfusion.EJ2.DocumentEditor.WordDocument.LoadString(param.content, GetFormatType(param.type.ToLower()));
- string json = Newtonsoft.Json.JsonConvert.SerializeObject(document);
- document.Dispose();
- return new HttpResponseMessage() { Content = new StringContent(json) };
- }
- catch (Exception)
- {
- return new HttpResponseMessage() { Content = new StringContent("") };
- }
-
- }
- return new HttpResponseMessage() { Content = new StringContent("") };
- }
-
- public class CustomParameter
- {
- public string content { get; set; }
- public string type { get; set; }
- }
-```
-
-## Restrict editing
-
-This Web API generates hash from the specified password and salt value which is required for restrict editing functionality of Document Editor component.
-
-The following example code illustrates how to write a Web API for restrict editing.
-
-```c#
- [HttpPost]
- [EnableCors("*", "*", "*")]
- [Route("RestrictEditing")]
- public string[] RestrictEditing([FromBody]CustomRestrictParameter param)
- {
- if (param.passwordBase64 == "" && param.passwordBase64 == null)
- return null;
- return Syncfusion.EJ2.DocumentEditor.WordDocument.ComputeHash(param.passwordBase64, param.saltBase64, param.spinCount);
- }
-
- public class CustomRestrictParameter
- {
- public string passwordBase64 { get; set; }
- public string saltBase64 { get; set; }
- public int spinCount { get; set; }
- }
-```
-
-## Spell Check
-
-Document Editor supports performing spell checking for any input text. You can perform spell checking for the text in Document Editor and it will provide suggestions for the mis-spelled words through dialog and in context menu. Document editor client-side script requires this Web API to show error words and list suggestions in context menu. This Web API returns the json type of spell-checked word which contains details about error words if any and suggestions.
-
-To know more about configure spell check, please check this [link](https://github.com/SyncfusionExamples/EJ2-Document-Editor-Web-Services/tree/master/ASP.NET%20MVC#steps-to-configure-spell-checker).
-
-In `Global.asax.cs` file, you can configure the spell check files like below:
-
-```c#
- internal static List spellDictCollection;
- internal static string path;
- internal static string personalDictPath;
- protected void Application_Start()
- {
- GlobalConfiguration.Configure(WebApiConfig.Register);
- //check the spell check dictionary path environment variable value and assign default data folder
- //if it is null.
- string path = HostingEnvironment.MapPath("//App_Data//");
- //Set the default spellcheck.json file if the json filename is empty.
- string jsonFileName = HostingEnvironment.MapPath("//App_Data//spellcheck.json");
- if (System.IO.File.Exists(jsonFileName))
- {
- string jsonImport = System.IO.File.ReadAllText(jsonFileName);
- List spellChecks = JsonConvert.DeserializeObject>(jsonImport);
- spellDictCollection = new List();
- //construct the dictionary file path using customer provided path and dictionary name
- foreach (var spellCheck in spellChecks)
- {
- spellDictCollection.Add(new DictionaryData(spellCheck.LanguadeID, Path.Combine(path, spellCheck.DictionaryPath), Path.Combine(path, spellCheck.AffixPath)));
- personalDictPath = Path.Combine(path, spellCheck.PersonalDictPath);
- }
- }
- }
-
-```
-
-Document editor provides options to spell check word by word and spellcheck page by page when loading the documents.
-
-### Spell check word by word
-
-This Web API performs the spell check word by word and return the json which contains information about error words and suggestions if any. By default, spell check word by word is performed in Document editor when enabling spell check in client-side.
-
-The following example code illustrates how to write a Web API for spell check word by word.
-
-```c#
- [HttpPost]
- [EnableCors("*", "*", "*")]
- [Route("SpellCheck")]
- public HttpResponseMessage SpellCheck([FromBody] SpellCheckJsonData spellChecker)
- {
- try
- {
- SpellChecker spellCheck = new SpellChecker(spellDictionary, personalDictPath);
- spellCheck.GetSuggestions(spellChecker.LanguageID, spellChecker.TexttoCheck, spellChecker.CheckSpelling, spellChecker.CheckSuggestion, spellChecker.AddWord);
- string json = Newtonsoft.Json.JsonConvert.SerializeObject(spellCheck);
- return new HttpResponseMessage() { Content = new StringContent(json) };
- }
- catch
- {
- return new HttpResponseMessage() { Content = new StringContent("{\"SpellCollection\":[],\"HasSpellingError\":false,\"Suggestions\":null}") };
- }
- }
-
- public class SpellCheckJsonData
- {
- public int LanguageID { get; set; }
- public string TexttoCheck { get; set; }
- public bool CheckSpelling { get; set; }
- public bool CheckSuggestion { get; set; }
- public bool AddWord { get; set; }
- }
-```
-
-### Spell check page by page
-
-This Web API performs the spell check page by page and return the json which contains information about error words and suggestions if any. By [enabling optimized spell check](../../document-editor/spell-check#enableoptimizedspellcheck) in client-side, you can perform spellcheck page by page when loading the documents.
-
-The following example code illustrates how to write a Web API for spell check page by page.
-
-```c#
- [HttpPost]
- [EnableCors("*", "*", "*")]
- [Route("SpellCheckByPage")]
- public HttpResponseMessage SpellCheckByPage([FromBody] SpellCheckJsonData spellChecker)
- {
- try
- {
- SpellChecker spellCheck = new SpellChecker(spellDictionary, personalDictPath);
- spellCheck.CheckSpelling(spellChecker.LanguageID, spellChecker.TexttoCheck);
- string json = Newtonsoft.Json.JsonConvert.SerializeObject(spellCheck);
- return new HttpResponseMessage() { Content = new StringContent(json) };
- }
- catch
- {
- return new HttpResponseMessage() { Content = new StringContent("{\"SpellCollection\":[],\"HasSpellingError\":false,\"Suggestions\":null}") };
- }
- }
-
- public class SpellCheckJsonData
- {
- public int LanguageID { get; set; }
- public string TexttoCheck { get; set; }
- public bool CheckSpelling { get; set; }
- public bool CheckSuggestion { get; set; }
- public bool AddWord { get; set; }
- }
-```
-
-## Save as file formats other than SFDT and DOCX
-
-You can configure this API, if you want to save the document in file format other than DOCX and SFDT using server-side. You can save the document in following ways:
-
-### Save the document in database or file server
-
-This Web API saves the document in the server machine. You can customize this API to save the document into databases or file servers.
-
-The following example code illustrates how to write a Web API for save document in server-side.
-
-```c#
- [HttpPost]
- [EnableCors("AllowAllOrigins")]
- [Route("Save")]
- public void Save([FromBody] SaveParameter data)
- {
- string name = data.FileName;
- string format = RetrieveFileType(name);
- if (string.IsNullOrEmpty(name))
- {
- name = "Document1.doc";
- }
- WDocument document = WordDocument.Save(data.Content);
- // Saves the document to server machine file system, you can customize here to save into databases or file servers based on requirement.
- FileStream fileStream = new FileStream(name, FileMode.OpenOrCreate, FileAccess.ReadWrite);
- document.Save(fileStream, GetWFormatType(format));
- document.Close();
- fileStream.Close();
- }
-
- public class SaveParameter
- {
- public string Content { get; set; }
- public string FileName { get; set; }
- }
-```
-
-### Save as other file formats by passing SFDT string
-
-This Web API converts the SFDT string to required format and returns the document as FileStreamResult to client-side. Using this API, you can save the document in file format other than SFDT and DOCX and download the document in client browser.
-
-The following example code illustrates how to write a Web API for export sfdt.
-
-```c#
- [HttpPost]
- [EnableCors("AllowAllOrigins")]
- [Route("ExportSFDT")]
- public FileStreamResult ExportSFDT([FromBody] SaveParameter data)
- {
- string name = data.FileName;
- string format = RetrieveFileType(name);
- if (string.IsNullOrEmpty(name))
- {
- name = "Document1.doc";
- }
- WDocument document = WordDocument.Save(data.Content);
- return SaveDocument(document, format, name);
- }
-
- public class SaveParameter
- {
- public string Content { get; set; }
- public string FileName { get; set; }
- }
-
- private FileStreamResult SaveDocument(WDocument document, string format, string fileName)
- {
- Stream stream = new MemoryStream();
- string contentType = "";
- if (format == ".pdf")
- {
- contentType = "application/pdf";
- }
- else
- {
- WFormatType type = GetWFormatType(format);
- switch (type)
- {
- case WFormatType.Rtf:
- contentType = "application/rtf";
- break;
- case WFormatType.WordML:
- contentType = "application/xml";
- break;
- case WFormatType.Html:
- contentType = "application/html";
- break;
- case WFormatType.Dotx:
- contentType = "application/vnd.openxmlformats-officedocument.wordprocessingml.template";
- break;
- case WFormatType.Doc:
- contentType = "application/msword";
- break;
- case WFormatType.Dot:
- contentType = "application/msword";
- break;
- }
- document.Save(stream, type);
- }
- document.Close();
- stream.Position = 0;
- return new FileStreamResult(stream, contentType)
- {
- FileDownloadName = fileName
- };
- }
-```
-
-### Save as other file formats by passing DOCX file
-
-This Web API converts the DOCX document to required format and returns the document as FileStreamResult to client-side. Using this API, you can save the document in file format other than SFDT and DOCX and download the document in client browser.
-
-The following example code illustrates how to write a Web API for export.
-
-```c#
- [HttpPost]
- [EnableCors("AllowAllOrigins")]
- [Route("Export")]
- public FileStreamResult Export(IFormCollection data)
- {
- if (data.Files.Count == 0)
- return null;
- string fileName = this.GetValue(data, "filename");
- string name = fileName;
- string format = RetrieveFileType(name);
- if (string.IsNullOrEmpty(name))
- {
- name = "Document1";
- }
- WDocument document = this.GetDocument(data);
- return SaveDocument(document, format, fileName);
- }
-
- private string RetrieveFileType(string name)
- {
- int index = name.LastIndexOf('.');
- string format = index > -1 && index < name.Length - 1 ?
- name.Substring(index) : ".doc";
- return format;
- }
-
- private string GetValue(IFormCollection data, string key)
- {
- if (data.ContainsKey(key))
- {
- string[] values = data[key];
- if (values.Length > 0)
- {
- return values[0];
- }
- }
- return "";
- }
-```
-
->Note: Please refer the [ASP.NET MVC Web API sample](https://github.com/SyncfusionExamples/EJ2-DocumentEditor-WebServices/tree/master/ASP.NET%20MVC).
\ No newline at end of file
diff --git a/ej2-javascript/stock-chart/working-with-data.md b/ej2-javascript/stock-chart/working-with-data.md
deleted file mode 100644
index 6f1a55e19..000000000
--- a/ej2-javascript/stock-chart/working-with-data.md
+++ /dev/null
@@ -1,81 +0,0 @@
----
-layout: post
-title: Working with data in ##Platform_Name## Stock chart control | Syncfusion
-description: Learn here all about Working with data in Syncfusion ##Platform_Name## Stock chart control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: Working with data
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-
-# Working with data in ##Platform_Name## Stock chart control
-
-Stock Chart can visualise data bound from local or remote data.
-
-## Local Data
-
-You can bind a simple JSON data to the chart using [`dataSource`](../api/stock-chart/stockSeriesModel/#datasource) property in series.
-
-{% if page.publishingplatform == "typescript" %}
-
- {% tabs %}
-{% highlight ts tabtitle="index.ts" %}
-{% include code-snippet/stock-chart/working-with-data-cs1/index.ts %}
-{% endhighlight %}
-{% highlight html tabtitle="index.html" %}
-{% include code-snippet/stock-chart/working-with-data-cs1/index.html %}
-{% endhighlight %}
-{% endtabs %}
-
-{% previewsample "page.domainurl/code-snippet/stock-chart/working-with-data-cs1" %}
-
-{% elsif page.publishingplatform == "javascript" %}
-
-{% tabs %}
-{% highlight js tabtitle="index.js" %}
-{% include code-snippet/stock-chart/working-with-data-cs1/index.js %}
-{% endhighlight %}
-{% highlight html tabtitle="index.html" %}
-{% include code-snippet/stock-chart/working-with-data-cs1/index.html %}
-{% endhighlight %}
-{% endtabs %}
-
-{% previewsample "page.domainurl/code-snippet/stock-chart/working-with-data-cs1" %}
-{% endif %}
-
-## Handling No Data
-
-When no data is available to render in the stock chart, the `noDataTemplate` property can be used to display a custom layout within the chart area. This layout may include a message indicating the absence of data, a relevant image, or a button to initiate data loading. Styled text, images, or interactive elements can be incorporated to maintain design consistency and improve user guidance. Once data becomes available, the chart automatically updates to display the appropriate visualization.
-
-{% if page.publishingplatform == "typescript" %}
-
- {% tabs %}
-{% highlight ts tabtitle="index.ts" %}
-{% include code-snippet/stock-chart/working-with-data-cs2/index.ts %}
-{% endhighlight %}
-{% highlight html tabtitle="index.html" %}
-{% include code-snippet/stock-chart/working-with-data-cs2/index.html %}
-{% endhighlight %}
-{% endtabs %}
-
-{% previewsample "page.domainurl/code-snippet/stock-chart/working-with-data-cs2" %}
-
-{% elsif page.publishingplatform == "javascript" %}
-
-{% tabs %}
-{% highlight js tabtitle="index.js" %}
-{% include code-snippet/stock-chart/working-with-data-cs2/index.js %}
-{% endhighlight %}
-{% highlight html tabtitle="index.html" %}
-{% include code-snippet/stock-chart/working-with-data-cs2/index.html %}
-{% endhighlight %}
-{% endtabs %}
-
-{% previewsample "page.domainurl/code-snippet/stock-chart/working-with-data-cs2" %}
-{% endif %}
-
-## See Also
-
-* [Series Types](./series-types/)
\ No newline at end of file
diff --git a/ej2-typescript-toc.html b/ej2-typescript-toc.html
deleted file mode 100644
index 13bda13c9..000000000
--- a/ej2-typescript-toc.html
+++ /dev/null
@@ -1,3642 +0,0 @@
-
-