-
-
diff --git a/ej2-javascript/code-snippet/pdfviewer/formfieldpropertieschangeevent-cs2/index.css b/ej2-javascript/code-snippet/pdfviewer/formfieldpropertieschangeevent-cs2/index.css
deleted file mode 100644
index 3e3720eea..000000000
--- a/ej2-javascript/code-snippet/pdfviewer/formfieldpropertieschangeevent-cs2/index.css
+++ /dev/null
@@ -1,14 +0,0 @@
-#container {
- visibility: hidden;
-}
-
-#loader {
- color: #008cff;
- font-family: 'Helvetica Neue','calibiri';
- font-size: 14px;
- height: 40px;
- left: 45%;
- position: absolute;
- top: 45%;
- width: 30%;
-}
diff --git a/ej2-javascript/code-snippet/pdfviewer/formfieldpropertieschangeevent-cs2/index.js b/ej2-javascript/code-snippet/pdfviewer/formfieldpropertieschangeevent-cs2/index.js
deleted file mode 100644
index 9313e5491..000000000
--- a/ej2-javascript/code-snippet/pdfviewer/formfieldpropertieschangeevent-cs2/index.js
+++ /dev/null
@@ -1,32 +0,0 @@
-var pdfviewer = new ej.pdfviewer.PdfViewer({
- documentPath: 'https://cdn.syncfusion.com/content/pdf/form-designer.pdf',
- resourceUrl:'https://cdn.syncfusion.com/ej2/26.2.8/dist/ej2-pdfviewer-lib'
-});
-ej.pdfviewer.PdfViewer.Inject(ej.pdfviewer.TextSelection, ej.pdfviewer.TextSearch, ej.pdfviewer.Print, ej.pdfviewer.Navigation, ej.pdfviewer.Toolbar,
- ej.pdfviewer.Magnification, ej.pdfviewer.Annotation, ej.pdfviewer.FormDesigner, ej.pdfviewer.FormFields, ej.pdfviewer.PageOrganizer);
-pdfviewer.appendTo('#PdfViewer');
-
-pdfviewer.formFieldPropertiesChange = function (formFieldPropertyChange) {
- console.log('form field page number: ', formFieldPropertyChange.pageIndex);
- console.log('form field event name: ' + formFieldPropertyChange.name);
- console.log('form field data: ', formFieldPropertyChange.field);
- console.log('Whether form field alignment changed '+ formFieldPropertyChange.isAlignmentChanged);
- console.log('Whether form field backgropund color changed '+ formFieldPropertyChange.isBackgroundColorChanged);
- console.log('Whether form field border color changed '+ formFieldPropertyChange.isBorderColorChanged);
- console.log('Whether form field border width changed '+ formFieldPropertyChange.isBorderWidthChanged);
- console.log('Whether form field color changed changed '+ formFieldPropertyChange.isColorChanged);
- console.log('Whether form field custom data changed '+ formFieldPropertyChange.isCustomDataChanged);
- console.log('Whether form field font family changed '+ formFieldPropertyChange.isFontFamilyChanged);
- console.log('Whether form field font size changed '+ formFieldPropertyChange.isFontSizeChanged);
- console.log('Whether form field font style changed '+ formFieldPropertyChange.isFontStyleChanged);
- console.log('Whether form field maximum length changed '+ formFieldPropertyChange.isMaxLengthChanged);
- console.log('Whether form field name changed '+ formFieldPropertyChange.isNameChanged);
- console.log('Whether form field readonly changed '+ formFieldPropertyChange.isReadOnlyChanged);
- console.log('Whether form field required changed '+ formFieldPropertyChange.isRequiredChanged);
- console.log('Whether form field print changed '+ formFieldPropertyChange.isPrintChanged);
- console.log('Whether form field tool tip changed '+ formFieldPropertyChange.isToolTipChanged);
- console.log('Whether form field visiblity changed '+ formFieldPropertyChange.isVisibilityChanged);
- console.log('Whether form field value changed '+ formFieldPropertyChange.isValueChanged);
- console.log('Whether form field new value changed '+ formFieldPropertyChange.newValue);
- console.log('Whether form field old valuue changed '+ formFieldPropertyChange.oldValue);
-}
\ No newline at end of file
diff --git a/ej2-javascript/code-snippet/pdfviewer/formfieldpropertieschangeevent-cs2/index.ts b/ej2-javascript/code-snippet/pdfviewer/formfieldpropertieschangeevent-cs2/index.ts
deleted file mode 100644
index 5c45862ef..000000000
--- a/ej2-javascript/code-snippet/pdfviewer/formfieldpropertieschangeevent-cs2/index.ts
+++ /dev/null
@@ -1,36 +0,0 @@
-import { PdfViewer, Toolbar, Magnification, Navigation, LinkAnnotation,ThumbnailView, BookmarkView,
- TextSelection, Annotation, FormDesigner, FormFields, FormFieldPropertiesChangeArgs, PageOrganizer } from '@syncfusion/ej2-pdfviewer';
-
-PdfViewer.Inject( Toolbar,Magnification, Navigation, LinkAnnotation,ThumbnailView,
- BookmarkView, TextSelection, Annotation, FormDesigner, FormFields, PageOrganizer );
-
-let pdfviewer: PdfViewer = new PdfViewer({
-documentPath:'https://cdn.syncfusion.com/content/pdf/form-designer.pdf',
-resourceUrl:'https://cdn.syncfusion.com/ej2/25.1.35/dist/ej2-pdfviewer-lib'
-});
-pdfviewer.appendTo('#PdfViewer');
-
-pdfviewer.formFieldPropertiesChange = function (formFieldPropertyChange: FormFieldPropertiesChangeArgs) {
- console.log('form field page number: ', formFieldPropertyChange.pageIndex);
- console.log('form field event name: ' + formFieldPropertyChange.name);
- console.log('form field data: ', formFieldPropertyChange.field);
- console.log('Whether form field alignment changed '+ formFieldPropertyChange.isAlignmentChanged);
- console.log('Whether form field backgropund color changed '+ formFieldPropertyChange.isBackgroundColorChanged);
- console.log('Whether form field border color changed '+ formFieldPropertyChange.isBorderColorChanged);
- console.log('Whether form field border width changed '+ formFieldPropertyChange.isBorderWidthChanged);
- console.log('Whether form field color changed changed '+ formFieldPropertyChange.isColorChanged);
- console.log('Whether form field custom data changed '+ formFieldPropertyChange.isCustomDataChanged);
- console.log('Whether form field font family changed '+ formFieldPropertyChange.isFontFamilyChanged);
- console.log('Whether form field font size changed '+ formFieldPropertyChange.isFontSizeChanged);
- console.log('Whether form field font style changed '+ formFieldPropertyChange.isFontStyleChanged);
- console.log('Whether form field maximum length changed '+ formFieldPropertyChange.isMaxLengthChanged);
- console.log('Whether form field name changed '+ formFieldPropertyChange.isNameChanged);
- console.log('Whether form field readonly changed '+ formFieldPropertyChange.isReadOnlyChanged);
- console.log('Whether form field required changed '+ formFieldPropertyChange.isRequiredChanged);
- console.log('Whether form field print changed '+ formFieldPropertyChange.isPrintChanged);
- console.log('Whether form field tool tip changed '+ formFieldPropertyChange.isToolTipChanged);
- console.log('Whether form field visiblity changed '+ formFieldPropertyChange.isVisibilityChanged);
- console.log('Whether form field value changed '+ formFieldPropertyChange.isValueChanged);
- console.log('Whether form field new value changed '+ formFieldPropertyChange.newValue);
- console.log('Whether form field old valuue changed '+ formFieldPropertyChange.oldValue);
-}
\ No newline at end of file
diff --git a/ej2-javascript/code-snippet/pdfviewer/formfieldpropertieschangeevent-cs2/js/index.html b/ej2-javascript/code-snippet/pdfviewer/formfieldpropertieschangeevent-cs2/js/index.html
deleted file mode 100644
index 6a0f25a77..000000000
--- a/ej2-javascript/code-snippet/pdfviewer/formfieldpropertieschangeevent-cs2/js/index.html
+++ /dev/null
@@ -1,38 +0,0 @@
-
- EJ2 PDF Viewer
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/ej2-javascript/pdfviewer/how-to/add-annotation-in-text-search-js.md b/ej2-javascript/pdfviewer/how-to/add-annotation-in-text-search-js.md
deleted file mode 100644
index 3bfb92c80..000000000
--- a/ej2-javascript/pdfviewer/how-to/add-annotation-in-text-search-js.md
+++ /dev/null
@@ -1,84 +0,0 @@
----
-layout: post
-title: Add Annotation in Text Search in JavaScript PdfViewer | Syncfusion
-description: Learn how to add rectangle annotations using search text bounds in Syncfusion ##Platform_Name## Pdfviewer control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: PDF Viewer
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Add Rectangle Annotations Using Search Text Bounds in PDF Viewer
-
-## Overview
-
-This guide demonstrates how to add rectangle annotations based on the bounds of highlighted search text in the PDF Viewer. This technique is useful for emphasizing search results with visual markers in annotation-supported applications.
-
-## Steps to Add Rectangle Annotations on Search Result Highlight
-
-**Step 1:** Follow the steps provided in the [link](https://ej2.syncfusion.com/javascript/documentation/pdfviewer/getting-started) to create a simple PDF Viewer sample.
-
-**Step 2:** Initialize the PDF Viewer with Required Modules
-
-```js
-var pdfviewer = new ej.pdfviewer.PdfViewer({
- documentPath: 'https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf',
- resourceUrl:'https://cdn.syncfusion.com/ej2/28.1.33/dist/ej2-pdfviewer-lib'
-});
-ej.pdfviewer.PdfViewer.Inject(ej.pdfviewer.TextSelection, ej.pdfviewer.TextSearch, ej.pdfviewer.Print, ej.pdfviewer.Navigation, ej.pdfviewer.Toolbar,
- ej.pdfviewer.Magnification, ej.pdfviewer.Annotation, ej.pdfviewer.FormDesigner, ej.pdfviewer.FormFields, ej.pdfviewer.PageOrganizer);
-pdfviewer.appendTo('#PdfViewer');
-```
-
-**Step 3:** Implement code blocks to automatically add Rectangle Annotation on Search Result Highlight
-
-Define a callback function for the `textSearchHighlight` event to add rectangle annotations
-
-```js
-// Highlight event handler for text search, which adds a rectangle annotation where the text is found
-pdfviewer.textSearchHighlight = function(args){
- console.log(args);
- var pageNumber = args.pageNumber;
- var bounds = args.bounds;
- pdfviewer.annotation.addAnnotation("Rectangle", {
- offset: {x: bounds.left, y: bounds.top},
- pageNumber: pageNumber,
- width: bounds.width,
- height: bounds.height,
- });
-}
-```
-
-**Step 3:** Add Search Controls
-
-Ensure you have the appropriate HTML buttons for text search operations
-
-```html
-
-
-
-```
-
-Use the following JavaScript to handle search controls:
-
-```js
-// Event listener for initiating a search
-document.getElementById("searchText").addEventListener("click", function() {
- pdfviewer.textSearchModule.searchText('PDF', false);
-});
-
-// Event listener for navigating to the next search result
-document.getElementById("searchNext").addEventListener("click", function() {
- pdfviewer.textSearchModule.searchNext();
-});
-
-// Event listener for canceling the current search
-document.getElementById("searchCancel").addEventListener("click", function() {
- pdfviewer.textSearchModule.cancelTextSearch();
-});
-```
-
-By following this guide, you will enable the PDF Viewer to add rectangle annotations at search result locations, thus increasing the visibility of search results in your application.
-
-[View Sample in GitHub](https://github.com/SyncfusionExamples/javascript-pdf-viewer-examples/tree/master/How%20to/)
diff --git a/ej2-javascript/pdfviewer/how-to/add-annotation-in-text-search-ts.md b/ej2-javascript/pdfviewer/how-to/add-annotation-in-text-search-ts.md
deleted file mode 100644
index 52e43a5c1..000000000
--- a/ej2-javascript/pdfviewer/how-to/add-annotation-in-text-search-ts.md
+++ /dev/null
@@ -1,99 +0,0 @@
----
-layout: post
-title: Add Annotation in Text Search in TypeScript PdfViewer | Syncfusion
-description: Learn how to add rectangle annotations using search text bounds in Syncfusion ##Platform_Name## Pdfviewer control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: PDF Viewer
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Add Rectangle Annotations Using Search Text Bounds in PDF Viewer
-
-## Overview
-
-This guide demonstrates how to add rectangle annotations based on the bounds of highlighted search text in the PDF Viewer. This technique is useful for emphasizing search results with visual markers in annotation-supported applications.
-
-## Steps to Add Rectangle Annotations on Search Result Highlight
-
-**Step 1:** Follow the steps provided in the [link](https://ej2.syncfusion.com/documentation/pdfviewer/getting-started) to create a simple PDF Viewer sample.
-
-**Step 2:** Initialize the PDF Viewer with Required Modules
-
-```ts
-import { pdf } from '@syncfusion/ej2';
-import { PdfViewer, TextSelection, TextSearch, Print, Navigation, Toolbar, Magnification, Annotation, FormDesigner, FormFields, TextSearchHighlightEventArgs, RectangleBounds, RectangleBoundsModel, RectangleSettings } from '@syncfusion/ej2-pdfviewer';
-
-// Inject required modules
-PdfViewer.Inject(TextSelection, TextSearch, Print, Navigation, Toolbar, Magnification, Annotation, FormDesigner, FormFields);
-
-const pdfviewer: PdfViewer = new PdfViewer({
- documentPath: 'https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf',
- resourceUrl:'https://cdn.syncfusion.com/ej2/28.1.33/dist/ej2-pdfviewer-lib'
-});
-
-pdfviewer.appendTo('#PdfViewer');
-```
-
-**Step 3:** Implement code blocks to automatically add Rectangle Annotation on Search Result Highlight
-
-Define a callback function for the `textSearchHighlight` event to add rectangle annotations
-
-```ts
-// Highlight event handler for text search, which adds a rectangle annotation where the text is found
-pdfviewer.textSearchHighlight = function(args: TextSearchHighlightEventArgs): void {
- console.log(args);
- const pageNumber: number = args.pageNumber;
- const bounds: RectangleBoundsModel = args.bounds;
- pdfviewer.annotation.addAnnotation('Rectangle', {
- offset: { x: bounds.left, y: bounds.top },
- pageNumber: pageNumber,
- width: bounds.width,
- height: bounds.height,
- } as RectangleSettings);
-};
-
-```
-
-**Step 3:** Add Search Controls
-
-Ensure you have the appropriate HTML buttons for text search operations
-
-```html
-
-
-
-```
-
-Use the following Typescript code snippet to handle search controls:
-
-```ts
-// Add event listener to "searchText" button to trigger a search for the term 'PDF'
-const searchTextButton = document.getElementById('searchText');
-if (searchTextButton) {
- searchTextButton.addEventListener('click', function() {
- pdfviewer.textSearchModule.searchText('PDF', false);
- });
-}
-
-// Add event listener to "searchNext" button to navigate to the next search result
-const searchNextButton = document.getElementById('searchNext');
-if (searchNextButton) {
- searchNextButton.addEventListener('click', function() {
- pdfviewer.textSearch.searchNext();
- });
-}
-
-// Add event listener to "searchCancel" button to cancel the current text search operation
-const searchCancelButton = document.getElementById('searchCancel');
-if (searchCancelButton) {
- searchCancelButton.addEventListener('click', function() {
- pdfviewer.textSearch.cancelTextSearch();
- });
-}
-```
-
-By following this guide, you will enable the PDF Viewer to add rectangle annotations at search result locations, thus increasing the visibility of search results in your application.
-
-[View Sample in GitHub](https://github.com/SyncfusionExamples/typescript-pdf-viewer-examples/tree/master/How%20to/)
diff --git a/ej2-javascript/pdfviewer/how-to/add-header-value.md b/ej2-javascript/pdfviewer/how-to/add-header-value.md
deleted file mode 100644
index e02bbd605..000000000
--- a/ej2-javascript/pdfviewer/how-to/add-header-value.md
+++ /dev/null
@@ -1,34 +0,0 @@
----
-layout: post
-title: Add header value in ##Platform_Name## Pdfviewer control | Syncfusion
-description: Learn here all about Add header value in Syncfusion ##Platform_Name## Pdfviewer control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: Add header value
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Add header value in ##Platform_Name## Pdfviewer control
-
-To add header values to an AJAX request made by a Syncfusion PDF Viewer, you can use the **ajaxHeaders** property available in the [**ajaxRequestSettings**](https://helpej2.syncfusion.com/documentation/api/pdfviewer/#ajaxrequestsettings) module of the PDF Viewer. This property allows you to specify custom headers for the AJAX request.
-
-Here is an example of how you can use the **ajaxRequestSettings** property to add a custom header to an AJAX request made by the PDF Viewer:
-
-```ts
-
-viewer.ajaxRequestSettings = {
- ajaxHeaders: [
- {
- headerName: "Authorization",
-
- headerValue: "Bearer 64565dfgfdsjweiuvbiuyhiueygf"
- }
- ],
-
- withCredentials: false
-};
-
-```
-
-Find the sample [how to add custom headers in AjaxRequestSettings](https://stackblitz.com/edit/typescript-nv1way?file=index.ts)
\ No newline at end of file
diff --git a/ej2-javascript/pdfviewer/how-to/add-header-values.md b/ej2-javascript/pdfviewer/how-to/add-header-values.md
deleted file mode 100644
index b3eb2b048..000000000
--- a/ej2-javascript/pdfviewer/how-to/add-header-values.md
+++ /dev/null
@@ -1,34 +0,0 @@
----
-layout: post
-title: Add header values in ##Platform_Name## Pdfviewer control | Syncfusion
-description: Learn here all about Add header values in Syncfusion ##Platform_Name## Pdfviewer control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: Add header values
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Add header values in ##Platform_Name## Pdfviewer control
-
-To add header values to an AJAX request made by a Syncfusion PDF Viewer, you can use the **ajaxHeaders** property available in the [**ajaxRequestSettings**](https://helpej2.syncfusion.com/documentation/api/pdfviewer/#ajaxrequestsettings) module of the PDF Viewer. This property allows you to specify custom headers for the AJAX request.
-
-Here is an example of how you can use the **ajaxRequestSettings** property to add a custom header to an AJAX request made by the PDF Viewer:
-
-```javascript
-
-viewer.ajaxRequestSettings = {
- ajaxHeaders: [
- {
- headerName: "Authorization",
-
- headerValue: "Bearer 64565dfgfdsjweiuvbiuyhiueygf"
- }
- ],
-
- withCredentials: false
-};
-
-```
-
-Find the sample [how to add custom headers in AjaxRequestSettings](https://stackblitz.com/edit/o4ywqi-zdmxuo?file=index.js)
\ No newline at end of file
diff --git a/ej2-javascript/pdfviewer/how-to/add-new-page-to-the-pdf-document.md b/ej2-javascript/pdfviewer/how-to/add-new-page-to-the-pdf-document.md
deleted file mode 100644
index 8634a1cba..000000000
--- a/ej2-javascript/pdfviewer/how-to/add-new-page-to-the-pdf-document.md
+++ /dev/null
@@ -1,67 +0,0 @@
----
-layout: post
-title: Add new page to the pdf document in ##Platform_Name## Pdfviewer control | Syncfusion
-description: Learn here all about Add new page to the pdf document in Syncfusion ##Platform_Name## Pdfviewer control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: Add new page to the pdf document
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Add new page to the pdf document in ##Platform_Name## Pdfviewer control
-
-The PDF Viewer library allows you to add a new page to the PDF document using the PDF library.
-
-**Step 1:** Follow the steps provided in the [link](https://ej2.syncfusion.com/documentation/pdfviewer/getting-started/) to create a simple PDF Viewer sample.
-
-**Step 2:** Follow the steps provided in the [link](https://ej2.syncfusion.com/documentation/pdfviewer/how-to/create-pdfviewer-service/) to create the PDF Viewer web service.
-
-**Step 3:** Add the following code sample in the PDF Viewer controller code to add a new page in the PDF document using the PDF library.
-
-```javascript
-
-[HttpPost("Load")]
-[Route("[controller]/Load")]
-//Post action for loading PDF documents.
-public IActionResult Load([FromBody] Dictionary jsonObject)
-{
- Console.WriteLine("Load called");
- //Initialize the PDF viewer object with the memory cache object.
- PdfRenderer pdfviewer = new PdfRenderer(_cache);
- MemoryStream stream = new MemoryStream();
- object jsonResult = new object();
- if (jsonObject != null && jsonObject.ContainsKey("document"))
- {
- if (bool.Parse(jsonObject["isFileName"]))
- {
- string documentPath = GetDocumentPath(jsonObject["document"]);
- if (!string.IsNullOrEmpty(documentPath))
- {
- byte[] bytes = System.IO.File.ReadAllBytes(documentPath);
- stream = new MemoryStream(bytes);
- }
- else
- {
- return this.Content(jsonObject["document"] + " is not found");
- }
- }
- else
- {
- byte[] bytes = Convert.FromBase64String(jsonObject["document"]);
- stream = new MemoryStream(bytes);
- }
- }
-
- //Code to create a new page at the end of the loaded pdf document.
- PdfLoadedDocument pdfLoadedDocument = new PdfLoadedDocument(stream);
- pdfLoadedDocument.Pages.Add();
- MemoryStream str = new MemoryStream();
- pdfLoadedDocument.Save(str);
- pdfLoadedDocument.Close(true);
- jsonResult = pdfviewer.Load(str, jsonObject);
- return Content(JsonConvert.SerializeObject(jsonResult));
-}
-```
-
-[View sample in GitHub](https://github.com/SyncfusionExamples/javascript-pdf-viewer-examples/tree/master/How%20to/Add%20new%20page%20to%20the%20PDF%20document%20using%20PDF%20library)
\ No newline at end of file
diff --git a/ej2-javascript/pdfviewer/how-to/add-save-button-js.md b/ej2-javascript/pdfviewer/how-to/add-save-button-js.md
deleted file mode 100644
index 29d2e7942..000000000
--- a/ej2-javascript/pdfviewer/how-to/add-save-button-js.md
+++ /dev/null
@@ -1,113 +0,0 @@
----
-layout: post
-title: Add Save button in ##Platform_Name## Pdfviewer control | Syncfusion
-description: Learn here all about How to add save button in Toolbar in Syncfusion ##Platform_Name## Pdfviewer control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: Toolbar
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Add Save button in Built-In Toolbar
-
-PDF Viewer allows you to customize (add, show, hide, enable, and disable) existing items in a toolbar.
-
-* Save button - `Save` button-item can defined by [**CustomToolbarItemModel**](https://ej2.syncfusion.com/javascript/documentation/api/pdfviewer/customToolbarItem/) and with existing items in [**ToolbarSettings**](https://ej2.syncfusion.com/javascript/documentation/api/pdfviewer/toolbarSettings/) property. Newly added save button-item click action can be defined in [`toolbarclick`](https://ej2.syncfusion.com/javascript/documentation/api/toolbar/clickEventArgs/).
-
-* Show, Hide - `Save` button-item can be shown or hidden using the [`ToolbarSettings`](https://ej2.syncfusion.com/javascript/documentation/api/pdfviewer/toolbarSettings/) property. Pre-defined toolbar items are available with [`ToolbarItem`](https://ej2.syncfusion.com/javascript/documentation/api/pdfviewer/toolbarItem/).
-
-* Enable, Disable - `Save` button-item can be enabled or disable using [`enabletoolbaritem`](https://ej2.syncfusion.com/javascript/documentation/api/pdfviewer/toolbar/#enabletoolbaritem)
-
-{% tabs %}
-{% highlight js tabtitle="Standalone" %}
- var toolItem1 = {
- prefixIcon: 'e-icons e-save',
- id: 'download',
- text: 'Save',
- tooltipText: 'Save button',
- align: 'Left'
-};
-
-var pdfviewer = new ej.pdfviewer.PdfViewer({
- documentPath:'https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf',
- resourceUrl:'https://cdn.syncfusion.com/ej2/24.1.41/dist/ej2-pdfviewer-lib',
- toolbarSettings : { toolbarItems: ['OpenOption', toolItem1, 'PageNavigationTool', 'MagnificationTool', 'PanTool', 'SelectionTool', 'SearchOption', 'PrintOption', 'UndoRedoTool', 'AnnotationEditTool', 'FormDesignerEditTool', 'CommentTool', 'SubmitForm'] }
- });
-ej.pdfviewer.PdfViewer.Inject(ej.pdfviewer.TextSelection, ej.pdfviewer.TextSearch, ej.pdfviewer.Print, ej.pdfviewer.Navigation, ej.pdfviewer.Toolbar,ej.pdfviewer.Magnification, ej.pdfviewer.Annotation, ej.pdfviewer.FormDesigner, ej.pdfviewer.FormFields);
-
-//PDF Viewer control rendering starts
-pdfviewer.appendTo('#PdfViewer');
-pdfviewer.toolbarClick = function (args) {
- if (args.item && args.item.id === 'download') {
- pdfviewer.download();
- }
-};
-function OnCreateSearch() {
- this.addIcon('prepend', 'e-icons e-search');
-}
-
-{% endhighlight %}
-{% highlight js tabtitle="Server-Backed" %}
-
-var toolItem1 = {
- prefixIcon: 'e-icons e-save',
- id: 'download',
- text: 'Save',
- tooltipText: 'Save button',
- align: 'Left'
-};
-
-var pdfviewer = new ej.pdfviewer.PdfViewer({
- documentPath:'https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf',
- serviceUrl: 'https://services.syncfusion.com/js/production/api/pdfviewer',
- toolbarSettings : { toolbarItems: ['OpenOption', toolItem1, 'PageNavigationTool', 'MagnificationTool', 'PanTool', 'SelectionTool', 'SearchOption', 'PrintOption', 'UndoRedoTool', 'AnnotationEditTool', 'FormDesignerEditTool', 'CommentTool', 'SubmitForm'] }
- });
-ej.pdfviewer.PdfViewer.Inject(ej.pdfviewer.TextSelection, ej.pdfviewer.TextSearch, ej.pdfviewer.Print, ej.pdfviewer.Navigation, ej.pdfviewer.Toolbar,ej.pdfviewer.Magnification, ej.pdfviewer.Annotation, ej.pdfviewer.FormDesigner, ej.pdfviewer.FormFields);
-
-//PDF Viewer control rendering starts
-pdfviewer.appendTo('#PdfViewer');
-pdfviewer.toolbarClick = function (args) {
- if (args.item && args.item.id === 'download') {
- pdfviewer.download();
- }
-};
-function OnCreateSearch() {
- this.addIcon('prepend', 'e-icons e-search');
-}
-
-{% endhighlight %}
-{% endtabs %}
-
-
-N> Default value of toolbar items is ['OpenOption', 'PageNavigationTool','MagnificationTool', 'PanTool', 'SelectionTool', 'SearchOption', 'PrintOption', 'DownloadOption','UndoRedoTool', 'AnnotationEditTool', 'FormDesignerEditTool', 'CommentTool', 'SubmitForm']
-
-### Align Property
-
-The align property is used to specify the alignment of a `save` button-item within the toolbar.
-
-`Left`: Aligns the item to the left side of the toolbar.
-`Right`: Aligns the item to the right side of the toolbar.
-
-### Tooltip Property
-
-The tooltip property is used to set the tooltip text for a `save` button-item. Tooltip provides additional information when a user hovers over the item.
-
-### CssClass Property
-
-The cssClass property is used to apply custom CSS classes to a `save` button-item. It allows custom styling of the `save` button-item.
-
-### Prefix Property
-
-The prefix property is used to set the CSS class or icon that should be added as a prefix to the existing content of the `save` button-item.
-
-### ID Property
-
-The id property within a CustomToolbarItemModel is a compulsory attribute that plays a vital role in toolbar customization. It serves as a unique identifier for each toolbar item, facilitating distinct references and interactions.
-
-When defining or customizing toolbar items, it is mandatory to assign a specific and descriptive id to each item.
-These properties are commonly used when defining custom toolbar items with the `CustomToolbarItemModel`` in the context of Syncfusion PDF Viewer. When configuring the toolbar using the `ToolbarSettings`` property, you can include these properties to customize the appearance and behavior of each toolbar item.
-
-N> When customizing `save` button-item, you have the flexibility to include either icons or text based on your design preference.
-
-[View sample in GitHub](https://github.com/SyncfusionExamples/javascript-pdf-viewer-examples/tree/master/How%20to/Add%20Save%20Button%20In%20Toolbar)
diff --git a/ej2-javascript/pdfviewer/how-to/add-save-button-ts.md b/ej2-javascript/pdfviewer/how-to/add-save-button-ts.md
deleted file mode 100644
index 046247497..000000000
--- a/ej2-javascript/pdfviewer/how-to/add-save-button-ts.md
+++ /dev/null
@@ -1,108 +0,0 @@
----
-layout: post
-title: Add Save button in ##Platform_Name## Pdfviewer control | Syncfusion
-description: Learn here all about How to add save button in Toolbar in Syncfusion ##Platform_Name## Pdfviewer control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: Toolbar
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Add Save button in Built-In Toolbar
-
-PDF Viewer allows you to customize (add, show, hide, enable, and disable) existing items in a toolbar.
-
-* Save button - `Save` button-item can defined by [**CustomToolbarItemModel**](https://helpej2.syncfusion.com/documentation/api/document-editor/customToolbarItemModel/) and with existing items in [**ToolbarSettings**](https://helpej2.syncfusion.com/documentation/api/file-manager/toolbarSettings/) property. Newly added save button-item click action can be defined in [`toolbarclick`](https://helpej2.syncfusion.com/documentation/api/file-manager/toolbarClickEventArgs/).
-
-* Show, Hide - `Save` button-item can be shown or hidden using the [`ToolbarSettings`](https://helpej2.syncfusion.com/documentation/api/file-manager/toolbarSettings/) property. Pre-defined toolbar items are available with [`ToolbarItem`](https://helpej2.syncfusion.com/documentation/api/chart/toolbarItems/).
-
-* Enable, Disable - `Save` button-item can be enabled or disable using [`enabletoolbaritem`](https://helpej2.syncfusion.com/documentation/api/document-editor-container/toolbar/).
-
-{% tabs %}
-{% highlight js tabtitle="Standalone" %}
-
-import { PdfViewer, Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, TextSearch, FormFields, FormDesigner,Print,CustomToolbarItemModel} from '@syncfusion/ej2-pdfviewer';
-PdfViewer.Inject(Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, TextSearch, FormFields, FormDesigner,Print);
-let toolItem1: CustomToolbarItemModel = {
- prefixIcon: 'e-icons e-save',
- id: 'download',
- text: 'Save',
- tooltipText: 'Save Button',
- align: 'Left'
-};
-let pdfviewer: PdfViewer = new PdfViewer();
-pdfviewer.documentPath = "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf";
-pdfviewer.resourceUrl = "https://cdn.syncfusion.com/ej2/23.1.43/dist/ej2-pdfviewer-lib";
-pdfviewer.toolbarSettings = { toolbarItems: ['OpenOption', toolItem1, 'PageNavigationTool', 'MagnificationTool', 'PanTool', 'SelectionTool', 'SearchOption', 'PrintOption', 'UndoRedoTool', 'AnnotationEditTool', 'FormDesignerEditTool', 'CommentTool', 'SubmitForm']}
-pdfviewer.appendTo('#PdfViewer');
-//To handle custom toolbar click event.
-pdfviewer.toolbarClick = function (args) {
- if (args.item && args.item.id === 'download') {
- pdfviewer.download();
- }
-};
-function OnCreateSearch(this: any): any {
- this.addIcon('prepend', 'e-icons e-search');
-}
-
-{% endhighlight %}
-{% highlight js tabtitle="Server-Backed" %}
-
-import { PdfViewer, Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, TextSearch, FormFields, FormDesigner,Print,CustomToolbarItemModel} from '@syncfusion/ej2-pdfviewer';
-PdfViewer.Inject(Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, TextSearch, FormFields, FormDesigner,Print);
-let toolItem1: CustomToolbarItemModel = {
- prefixIcon: 'e-icons e-save',
- id: 'download',
- text: 'Save',
- tooltipText: 'Save Button',
- align: 'Left'
-};
-let pdfviewer: PdfViewer = new PdfViewer();
-pdfviewer.documentPath = "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf";
-pdfviewer.serviceUrl = 'https://services.syncfusion.com/js/production/api/pdfviewer';
-pdfviewer.toolbarSettings = { toolbarItems: ['OpenOption', toolItem1, 'PageNavigationTool', 'MagnificationTool', 'PanTool', 'SelectionTool', 'SearchOption', 'PrintOption', 'UndoRedoTool', 'AnnotationEditTool', 'FormDesignerEditTool', 'CommentTool', 'SubmitForm']}
-pdfviewer.appendTo('#PdfViewer');
-//To handle custom toolbar click event.
-pdfviewer.toolbarClick = function (args) {
- if (args.item && args.item.id === 'download') {
- pdfviewer.download();
- }
-};
-function OnCreateSearch(this: any): any {
- this.addIcon('prepend', 'e-icons e-search');
-}
-{% endhighlight %}
-{% endtabs %}
-
-N> Default value of toolbar items is ['OpenOption', 'PageNavigationTool','MagnificationTool', 'PanTool', 'SelectionTool', 'SearchOption', 'PrintOption', 'DownloadOption','UndoRedoTool', 'AnnotationEditTool', 'FormDesignerEditTool', 'CommentTool', 'SubmitForm']
-
-### Align Property
-
-The align property is used to specify the alignment of a `save` button-item within the toolbar.
-
-`Left`: Aligns the item to the left side of the toolbar.
-`Right`: Aligns the item to the right side of the toolbar.
-
-### Tooltip Property
-
-The tooltip property is used to set the tooltip text for a `save` button-item. Tooltip provides additional information when a user hovers over the item.
-
-### CssClass Property
-
-The cssClass property is used to apply custom CSS classes to a `save` button-item. It allows custom styling of the `save` button-item.
-
-### Prefix Property
-
-The prefix property is used to set the CSS class or icon that should be added as a prefix to the existing content of the `save` button-item.
-
-### ID Property
-
-The id property within a CustomToolbarItemModel is a compulsory attribute that plays a vital role in toolbar customization. It serves as a unique identifier for each toolbar item, facilitating distinct references and interactions.
-
-When defining or customizing toolbar items, it is mandatory to assign a specific and descriptive id to each item.
-These properties are commonly used when defining custom toolbar items with the `CustomToolbarItemModel`` in the context of Syncfusion PDF Viewer. When configuring the toolbar using the `ToolbarSettings`` property, you can include these properties to customize the appearance and behavior of each toolbar item.
-
-N> When customizing `save` button-item, you have the flexibility to include either icons or text based on your design preference.
-
-[View sample in GitHub](https://github.com/SyncfusionExamples/typescript-pdf-viewer-examples/tree/master/How%20to/Add%20Save%20Button%20In%20Toolbar)
diff --git a/ej2-javascript/pdfviewer/how-to/annotation-selector.md b/ej2-javascript/pdfviewer/how-to/annotation-selector.md
deleted file mode 100644
index 7ede498c1..000000000
--- a/ej2-javascript/pdfviewer/how-to/annotation-selector.md
+++ /dev/null
@@ -1,33 +0,0 @@
----
-layout: post
-title: Annotation selector in ##Platform_Name## Pdfviewer control | Syncfusion
-description: Learn here all about Annotation selector in Syncfusion ##Platform_Name## Pdfviewer control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: Annotation selector
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Annotation selector in ##Platform_Name## Pdfviewer control
-
-To customize the annotation selector in Syncfusion PDF Viewer, you can use the [**annotationSelectorSettings**](https://helpej2.syncfusion.com/documentation/api/pdfviewer/#annotationselectorsettings) property of the PdfViewer control.
-
-Here is an example of how you can customize the selector of the shape annotation:
-
-```
-
-
-
-```
-
-```javascript
-
-document.getElementById('annotationSelector').addEventListener('click', () => {
- viewer.rectangleSettings.annotationSelectorSettings.resizerShape = 'Circle';
- viewer.annotationModule.editAnnotation(viewer.annotationCollection[0]);
-});
-
-```
-
-Find the sample [how to customize the annotation selector](https://stackblitz.com/edit/js-5p3ae6?file=index.js)
\ No newline at end of file
diff --git a/ej2-javascript/pdfviewer/how-to/annotation-selectors.md b/ej2-javascript/pdfviewer/how-to/annotation-selectors.md
deleted file mode 100644
index ef01093fe..000000000
--- a/ej2-javascript/pdfviewer/how-to/annotation-selectors.md
+++ /dev/null
@@ -1,33 +0,0 @@
----
-layout: post
-title: Annotation selectors in ##Platform_Name## Pdfviewer control | Syncfusion
-description: Learn here all about Annotation selectors in Syncfusion ##Platform_Name## Pdfviewer control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: Annotation selectors
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Annotation selectors in ##Platform_Name## Pdfviewer control
-
-To customize the annotation selector in Syncfusion PDF Viewer, you can use the [**annotationSelectorSettings**](https://helpej2.syncfusion.com/documentation/api/pdfviewer/#annotationselectorsettings) property of the PdfViewer control.
-
-Here is an example of how you can customize the selector of the shape annotation:
-
-```
-
-
-
-```
-
-```ts
-
-document.getElementById('annotationSelector').addEventListener('click', () => {
- viewer.rectangleSettings.annotationSelectorSettings.resizerShape = 'Circle';
- viewer.annotationModule.editAnnotation(viewer.annotationCollection[0]);
-});
-
-```
-
-Find the sample [how to customize the annotation selector](https://stackblitz.com/edit/typescript-u7xjdv?file=index.ts)
\ No newline at end of file
diff --git a/ej2-javascript/pdfviewer/how-to/change-author-name-using-annotation-settings.md b/ej2-javascript/pdfviewer/how-to/change-author-name-using-annotation-settings.md
deleted file mode 100644
index 0da9e0a94..000000000
--- a/ej2-javascript/pdfviewer/how-to/change-author-name-using-annotation-settings.md
+++ /dev/null
@@ -1,59 +0,0 @@
----
-layout: post
-title: Change author name using annotation settings in ##Platform_Name## Pdfviewer control | Syncfusion
-description: Learn here all about Change author name using annotation settings in Syncfusion ##Platform_Name## Pdfviewer control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: Change author name using annotation settings
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Change author name using annotation settings in ##Platform_Name## Pdfviewer control
-
-The Essential JavaScript PDF Viewer supports to customize a single property of the annotation settings by exposing an API for the properties common to all the annotations.
-
-**API Name** : annotationSettings
-
-|Property Name|Data type & Default Value|Description|
-|---|---|---|
-|author|String(“Guest”)|specifies the author of the annotation.|
-|minWidth|Number(0)|specifies the minWidth of the annotation.|
-|maxWidth|Number(0)|specifies the maxWidth of the annotation.|
-|minHeight|Number(0)|specifies the minHeight of the annotation.|
-|maxHeight|Number(0)|specifies the maxHeight of the annotation.|
-|isLock|Boolean(false)|specifies the locked action of the annotations. [If set true unable to select the annotations]|
-|isPrint|Boolean(true)|specifies whether the annotations are included or not in Print actions.|
-|isDownload|Boolean(true|specifies whether the annotations are included or not in Download actions.|
-|Free Text Settings|
-|allowOnlyTextInput|Boolean(false)|specifies the allow only text action of the free text annotation. [If set true unable to move or resize the annotations]|
-
-You can change the author name and the other properties using the annotationSettings API as in the following code sample.
-
-{% tabs %}
-{% highlight ts tabtitle="Standalone" %}
-```ts
-import { PdfViewer, Toolbar, Magnification, Navigation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, TextSearch, Print, Annotation, FormFields } from "../src/index";
-
-PdfViewer.Inject(Toolbar, Magnification, Navigation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, TextSearch, Print, Annotation, FormFields);
-let viewer: PdfViewer = new PdfViewer();
-viewer.load('https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf', null);
-viewer.annotationSettings = { author: 'syncfusion', minHeight: 30, maxHeight: 500, minWidth: 30, maxWidth: 500, isLock: false, isPrint: true, isDownload: true };
-viewer.freeTextSettings = { allowTextOnly : true };
-viewer.appendTo("#pdfViewer");
-```
-{% endhighlight %}
-{% highlight ts tabtitle="Server-Backed" %}
-```ts
-import { PdfViewer, Toolbar, Magnification, Navigation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, TextSearch, Print, Annotation, FormFields } from "../src/index";
-
-PdfViewer.Inject(Toolbar, Magnification, Navigation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, TextSearch, Print, Annotation, FormFields);
-let viewer: PdfViewer = new PdfViewer();
-viewer.serviceUrl = "https://services.syncfusion.com/js/production/api/pdfviewer";
-viewer.load('https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf', null);
-viewer.annotationSettings = { author: 'syncfusion', minHeight: 30, maxHeight: 500, minWidth: 30, maxWidth: 500, isLock: false, isPrint: true, isDownload: true };
-viewer.freeTextSettings = { allowTextOnly : true };
-viewer.appendTo("#pdfViewer");
-```
-{% endhighlight %}
-{% endtabs %}
\ No newline at end of file
diff --git a/ej2-javascript/pdfviewer/how-to/change-rectangle-annotations-border-color.md b/ej2-javascript/pdfviewer/how-to/change-rectangle-annotations-border-color.md
deleted file mode 100644
index 9ab064aeb..000000000
--- a/ej2-javascript/pdfviewer/how-to/change-rectangle-annotations-border-color.md
+++ /dev/null
@@ -1,43 +0,0 @@
----
-layout: post
-title: Change rectangle annotations border color in ##Platform_Name## Pdfviewer control | Syncfusion
-description: Learn here all about Change rectangle annotations border color in Syncfusion ##Platform_Name## Pdfviewer control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: Change rectangle annotations border color
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Change rectangle annotations border color in ##Platform_Name## Pdfviewer control
-
-The Essential JavaScript PDF Viewer supports customizing the rectangle annotation's property by using the [rectangleSettings](https://helpej2.syncfusion.com/documentation/api/pdfviewer/#rectanglesettings) API.
-
-**Step 1:** Follow the steps provided in the [link](https://ej2.syncfusion.com/documentation/pdfviewer/getting-started/) to create simple PDF Viewer sample.
-
-**Step 2:** Add the following code snippet to change the rectangle annotation's border color using the [rectangleSettings](https://helpej2.syncfusion.com/documentation/api/pdfviewer/#rectanglesettings) API.
-
-```
-
-
-
-
-```
-
-```ts
-
-//Event triggers while clicking the Change Color(Blue) button.
-document.getElementById("changeColor").addEventListener('click', function () {
- //API to change the rectangle annotation's stroke color.
- viewer.rectangleSettings.strokeColor = "blue";
-});
-
-//Event triggers while clicking the Add Rectangle Annotation button.
-document.getElementById("addRectangleAnnotation").addEventListener('click', function () {
- //API to set the rectangle annotation mode.
- viewer.annotation.setAnnotationMode('Rectangle');
-});
-
-```
-
-[View sample in GitHub](https://github.com/SyncfusionExamples/javascript-pdf-viewer-examples/tree/master/Annotations/How%20to%20change%20the%20rectangle%20annotation's%20border%20color)
\ No newline at end of file
diff --git a/ej2-javascript/pdfviewer/how-to/clear-annotation.md b/ej2-javascript/pdfviewer/how-to/clear-annotation.md
deleted file mode 100644
index b0acdc1d3..000000000
--- a/ej2-javascript/pdfviewer/how-to/clear-annotation.md
+++ /dev/null
@@ -1,54 +0,0 @@
----
-layout: post
-title: Clear annotation in ##Platform_Name## Pdfviewer control | Syncfusion
-description: Learn here all about Clear annotation in Syncfusion ##Platform_Name## Pdfviewer control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: Clear annotation
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Clear annotation in ##Platform_Name## Pdfviewer control
-
-To clear all the annotations in a PDF document using the Syncfusion PDF Viewer, you can use the [**deleteAnnotations**](https://helpej2.syncfusion.com/documentation/api/pdfviewer/#deleteannotations) method. This method is used to clear all the annotations present in the currently loaded document.
-
-Here is an example of how you can clear all the annotations present in the currently loaded document:
-
-```
-
-
-
-```
-
-```javascript
-
-//clear Annotations.
-document.getElementById('deleteAnnotations').addEventListener('click',()=> {
- viewer.deleteAnnotations();
-})
-
-```
-
-We can also delete specific annotations with the **deleteAnnotationById()** method. This method is used to delete a specific annotation using its id.
-
-Here is an example of how you can delete specific annotations with the **deleteAnnotationById** method:
-
-```
-
-
-
-```
-
-```javascript
-
-//Delete Annotation by ID.
-document.getElementById('deleteAnnotationbyId').addEventListener('click', () => {
- viewer.annotationModule.deleteAnnotationById(
- viewer.annotationCollection[0].annotationId
- );
-});
-
-```
-
-Find the sample [how to clear annotations using deleteAnnotations](https://stackblitz.com/edit/js-mctbeq?file=index.js)
\ No newline at end of file
diff --git a/ej2-javascript/pdfviewer/how-to/clear-annotations.md b/ej2-javascript/pdfviewer/how-to/clear-annotations.md
deleted file mode 100644
index 48c0d5351..000000000
--- a/ej2-javascript/pdfviewer/how-to/clear-annotations.md
+++ /dev/null
@@ -1,54 +0,0 @@
----
-layout: post
-title: Clear annotations in ##Platform_Name## Pdfviewer control | Syncfusion
-description: Learn here all about Clear annotations in Syncfusion ##Platform_Name## Pdfviewer control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: Clear annotations
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Clear annotations in ##Platform_Name## Pdfviewer control
-
-To clear all the annotations in a PDF document using the Syncfusion PDF Viewer, you can use the [**deleteAnnotations**](https://helpej2.syncfusion.com/documentation/api/pdfviewer/#deleteannotations) method. This method is used to clear all the annotations present in the currently loaded document.
-
-Here is an example of how you can clear all the annotations present in the currently loaded document:
-
-```
-
-
-
-```
-
-```ts
-
-//clear Annotations.
-document.getElementById('deleteAnnotations').addEventListener('click',()=> {
- viewer.deleteAnnotations();
-})
-
-```
-
-We can also delete specific annotations with the **deleteAnnotationById()** method. This method is used to delete a specific annotation using its id.
-
-Here is an example of how you can delete specific annotations with the **deleteAnnotationById** method:
-
-```
-
-
-
-```
-
-```ts
-
-//Delete Annotation by ID.
-document.getElementById('deleteAnnotationbyId').addEventListener('click', () => {
- viewer.annotationModule.deleteAnnotationById(
- viewer.annotationCollection[0].annotationId
- );
-});
-
-```
-
-Find the sample [how to clear annotations using deleteAnnotations](https://stackblitz.com/edit/typescript-86gwqu?file=index.ts)
\ No newline at end of file
diff --git a/ej2-javascript/pdfviewer/how-to/configure-annotationselector-setting-js.md b/ej2-javascript/pdfviewer/how-to/configure-annotationselector-setting-js.md
deleted file mode 100644
index b65c2c48a..000000000
--- a/ej2-javascript/pdfviewer/how-to/configure-annotationselector-setting-js.md
+++ /dev/null
@@ -1,67 +0,0 @@
----
-layout: post
-title: Annotation Selector Setting in Javascript Pdfviewer|Syncfusion.
-description: Learn here all about Annotation Selector Settings in Syncfusion ##Platform_Name## Pdfviewer control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: PDF Viewer
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-
-# How to Configure Annotation Selector Settings
-
-### Annotation Selector Settings
-
-The [**annotationSelectorSettings**](https://helpej2.syncfusion.com/javascript/documentation/api/pdfviewer/annotationSelectorSettings/) property allows you to customize the appearance and behavior of the annotation selector in the UI.
-
-### AnnotationSelectorSettingsModel
-
-The [**AnnotationSelectorSettingsModel**](https://helpej2.syncfusion.com/javascript/documentation/api/pdfviewer/annotationSelectorSettingsModel/) defines the settings for the annotation selector, including border colors, sizes, and shapes. It provides fine-grained control over how annotations are displayed and interacted with.
-
-### How to Configure Annotation Selector Settings
-
-**Step 1:** Create a PdfViewer Instance: Initialize your PdfViewer instance.
-
-**Step 2:** Set the annotationSelectorSettings Property: Define your settings to customize the annotation selector.
-
-```js
- let viewer: PdfViewer = new PdfViewer();
- viewer.annotationSelectorSettings = {
- selectionBorderColor: '',
- resizerBorderColor: 'Circle',
- resizerFillColor: '#4070FF',
- resizerSize: 8,
- selectionBorderThickness: 1,
- resizerShape: 'Square',
- selectorLineDashArray: [],
- resizerLocation: AnnotationResizerLocation.Corners | AnnotationResizerLocation.Edges,
- resizerCursorType: null
- };
- viewer.appendTo("#pdfViewer");
-```
-
-**Step 3:** Append the Viewer to Your HTML Element: Use the appendTo method to render the PDF viewer in your desired HTML element.
-
-#### Key properties include:
-
-* **selectionBorderColor:** Sets the color for the border around selected annotations.
-
-* **resizerBorderColor:** Sets the color for the border of the resizer handles.
-
-* **resizerFillColor:** Defines the fill color for the resizer handles.
-
-* **resizerSize:** Determines the size of the resizer handles.
-
-* **selectionBorderThickness:** Specifies how thick the selection border should be.
-
-* **resizerShape:** Allows you to choose the shape of the resizer handles (e.g., Circle or Square).
-
-* **selectorLineDashArray:** Specifies the dash pattern for the selector line to enhance visual cues.
-
-* **resizerLocation:** Determines where the resizer appear in relation to the annotation (e.g., Corners or Edges).
-
-* **resizerCursorType:** Sets the cursor style when hovering over the resizer, improving user interaction.
-
-[View sample in GitHub](https://github.com/SyncfusionExamples/javascript-pdf-viewer-examples/tree/master/How%20to)
\ No newline at end of file
diff --git a/ej2-javascript/pdfviewer/how-to/configure-annotationselector-setting-ts.md b/ej2-javascript/pdfviewer/how-to/configure-annotationselector-setting-ts.md
deleted file mode 100644
index a45e3e6de..000000000
--- a/ej2-javascript/pdfviewer/how-to/configure-annotationselector-setting-ts.md
+++ /dev/null
@@ -1,67 +0,0 @@
----
-layout: post
-title: Annotation Selector Setting in Typescript Pdfviewer|Syncfusion.
-description: Learn here all about Annotation Selector Settings in Syncfusion ##Platform_Name## Pdfviewer control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: PDF Viewer
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-
-# How to Configure Annotation Selector Settings
-
-### Annotation Selector Settings
-
-The [**annotationSelectorSettings**](https://ej2.syncfusion.com/documentation/api/pdfviewer/annotationSelectorSettings/) property allows you to customize the appearance and behavior of the annotation selector in the UI.
-
-### AnnotationSelectorSettingsModel
-
-The [**AnnotationSelectorSettingsModel**](https://ej2.syncfusion.com/documentation/api/accumulation-chart/accumulationAnnotationSettingsModel/) defines the settings for the annotation selector, including border colors, sizes, and shapes. It provides fine-grained control over how annotations are displayed and interacted with.
-
-### How to Configure Annotation Selector Settings
-
-**Step 1:** Create a PdfViewer Instance: Initialize your PdfViewer instance.
-
-**Step 2:** Set the annotationSelectorSettings Property: Define your settings to customize the annotation selector.
-
-```ts
- let viewer: PdfViewer = new PdfViewer();
- viewer.annotationSelectorSettings = {
- selectionBorderColor: '',
- resizerBorderColor: 'Circle',
- resizerFillColor: '#4070FF',
- resizerSize: 8,
- selectionBorderThickness: 1,
- resizerShape: 'Square',
- selectorLineDashArray: [],
- resizerLocation: AnnotationResizerLocation.Corners | AnnotationResizerLocation.Edges,
- resizerCursorType: null
- };
- viewer.appendTo("#pdfViewer");
-```
-
-**Step 3:** Append the Viewer to Your HTML Element: Use the appendTo method to render the PDF viewer in your desired HTML element.
-
-#### Key properties include:
-
-* **selectionBorderColor:** Sets the color for the border around selected annotations.
-
-* **resizerBorderColor:** Sets the color for the border of the resizer handles.
-
-* **resizerFillColor:** Defines the fill color for the resizer handles.
-
-* **resizerSize:** Determines the size of the resizer handles.
-
-* **selectionBorderThickness:** Specifies how thick the selection border should be.
-
-* **resizerShape:** Allows you to choose the shape of the resizer handles (e.g., Circle or Square).
-
-* **selectorLineDashArray:** Specifies the dash pattern for the selector line to enhance visual cues.
-
-* **resizerLocation:** Determines where the resizer appear in relation to the annotation (e.g., Corners or Edges).
-
-* **resizerCursorType:** Sets the cursor style when hovering over the resizer, improving user interaction.
-
-[View sample in GitHub](https://github.com/SyncfusionExamples/typescript-pdf-viewer-examples/tree/master/How%20to/)
\ No newline at end of file
diff --git a/ej2-javascript/pdfviewer/how-to/conformance.md b/ej2-javascript/pdfviewer/how-to/conformance.md
deleted file mode 100644
index fdf2fabf9..000000000
--- a/ej2-javascript/pdfviewer/how-to/conformance.md
+++ /dev/null
@@ -1,27 +0,0 @@
----
-layout: post
-title: Know the supported conformance PDF documents | Syncfusion
-description: Learn here all about the supported conformance PDF documents in Syncfusion Javascript PDF Viewer component of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: Conformance
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Know the supported conformance PDF documents in Javascript PDF Viewer component
-
-The PDF Viewer supports the below conformance documents:
-
-* **PDF/A-1a conformance**
-* **PDF/A-1b conformance**
-* **PDF/X-1a conformance**
-* **PDF/A-2a conformance**
-* **PDF/A-2b conformance**
-* **PDF/A-2u conformance**
-* **PDF/A-3a conformance**
-* **PDF/A-3b conformance**
-* **PDF/A-3u conformance**
-* **PDF/A-4 conformance**
-* **PDF/A-4e conformance**
-* **PDF/A-4f conformance**
\ No newline at end of file
diff --git a/ej2-javascript/pdfviewer/how-to/control-annotation-visibility-js.md b/ej2-javascript/pdfviewer/how-to/control-annotation-visibility-js.md
deleted file mode 100644
index 64b412562..000000000
--- a/ej2-javascript/pdfviewer/how-to/control-annotation-visibility-js.md
+++ /dev/null
@@ -1,123 +0,0 @@
----
-layout: post
-title: Control Annotations Visibility in JavaScript PdfViewer | Syncfusion
-description: Learn how to Control Annotations Visibility in the Syncfusion ##Platform_Name## Pdfviewer control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: PDF Viewer
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Control PDF Annotations Visibility in PDF Viewer
-
-### Overview
-
-This guide demonstrates how to control the visibility of PDF annotations in documents loaded and saved using the Syncfusion PDF Viewer in JavaScript. This process allows the annotations to be visible only in specific viewers, such as the Syncfusion PDF Viewer.
-
-### How to control Annotation Visibility
-
-**Step 1:** Follow the steps provided in the [link](https://ej2.syncfusion.com/documentation/pdfviewer/getting-started/) to create a simple PDF Viewer sample.
-
-**Step 2:** Add Buttons for Annotation Modification and Downloading
-
-Include buttons in your HTML for annotation modification and downloading the PDF.
-
-```html
-
-
-```
-**Step 3**: Add the following code snippet to add annotations to the PDF document. You can also include other annotations as needed.
-
-```js
-var pdfviewer = new ej.pdfviewer.PdfViewer({
- documentPath: 'https://cdn.syncfusion.com/content/pdf/annotations-v1.pdf',
- resourceUrl: "https://cdn.syncfusion.com/ej2/28.1.33/dist/ej2-pdfviewer-lib",
- });
- ej.pdfviewer.PdfViewer.Inject(ej.pdfviewer.TextSelection, ej.pdfviewer.TextSearch, ej.pdfviewer.Print, ej.pdfviewer.Navigation, ej.pdfviewer.Toolbar,
- ej.pdfviewer.Magnification, ej.pdfviewer.Annotation, ej.pdfviewer.FormDesigner, ej.pdfviewer.FormFields, ej.pdfviewer.PageOrganizer);
- pdfviewer.appendTo('#PdfViewer');
- pdfviewer.documentLoad= function(){
- //Code snippet to add basic annotations. You can also include other annotations as needed.
- pdfviewer.annotation.addAnnotation("Highlight", {
- bounds: [{x: 97, y: 610, width: 350, height: 14}],
- pageNumber: 1
- });
- pdfviewer.annotation.addAnnotation("Underline", {
- bounds: [{x: 97, y: 723, width: 353.5, height: 14}],
- pageNumber: 1
- });
- pdfviewer.annotation.addAnnotation("Strikethrough", {
- bounds: [{x: 97, y: 836, width: 376.5, height: 14}],
- pageNumber: 1
- });
- };
-```
-**Step 4:** Add Event Listeners for Button Clicks
-
-Attach event listeners that handle annotation visibility modifications and downloading the document.
-
-```js
- // Add event listener to the button with ID 'download'
- document.getElementById('save').addEventListener('click', save);
-```
-
-**Step 5:** Modify Annotation Flags Function
-
-Implement a function that changes the annotation visibility settings for the document.
-
-```js
-
- // Function to get Base64 of the loaded document and modify annotation flags
- function save() {
- // Assuming pdfviewer is globally accessible or a part of another object
- pdfviewer.saveAsBlob().then(blob => {
- const reader = new FileReader();
-
- reader.onload = function() {
- let base64data = reader.result;
-
- // Extract base64 string from Data URL
- const base64EncodedData = base64data.split('base64,')[1];
-
- // Create a PdfDocument instance with base64 data
- const document1 = new ej.pdf.PdfDocument(base64EncodedData);
-
- // Modify flag for each annotation
- for (let i = 0; i < document1.pageCount; i++) {
- const page = document1.getPage(i);
-
- for (let j = 0; j < page.annotations.count; j++) {
- const annot = page.annotations.at(j);
-
- // Set flag to noView
- annot.flags |= ej.pdf.PdfAnnotationFlag.noView;
- }
- }
-
- // Save modified document as a blob
- document1.saveAsBlob().then(modifiedBlob => {
- const internalReader = new FileReader();
-
- internalReader.onload = function() {
- const modifiedBase64 = internalReader.result;
-
- // Create a link to download the modified PDF
- const downloadLink = document.createElement('a');
- downloadLink.href = modifiedBase64;
- downloadLink.download = 'modified.pdf';
- downloadLink.click();
- };
-
- internalReader.readAsDataURL(modifiedBlob.blobData);
- });
- };
-
- reader.readAsDataURL(blob);
- });
-}
-```
-
-By following these steps, the annotations in a PDF document can be set to be visible in the Syncfusion PDF Viewer, providing control over annotation visibility based on different platforms.
-
-[View sample in GitHub](https://github.com/SyncfusionExamples/javascript-pdf-viewer-examples/tree/master/How%20to)
\ No newline at end of file
diff --git a/ej2-javascript/pdfviewer/how-to/control-annotation-visibility-ts.md b/ej2-javascript/pdfviewer/how-to/control-annotation-visibility-ts.md
deleted file mode 100644
index c73c78655..000000000
--- a/ej2-javascript/pdfviewer/how-to/control-annotation-visibility-ts.md
+++ /dev/null
@@ -1,122 +0,0 @@
----
-layout: post
-title: Control Annotations Visibility in TypeScript PdfViewer | Syncfusion
-description: Learn how to control Annotations Visibility in the Syncfusion ##Platform_Name## Pdfviewer control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: PDF Viewer
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Control PDF Annotations Visibility in PDF Viewer
-
-### Overview
-
-This guide demonstrates how to control the visibility of PDF annotations in documents loaded and saved using the Syncfusion PDF Viewer in TypeScript. This process allows the annotations to be visible only in the Syncfusion PDF Viewer.
-
-### How to Control Annotation Visibility
-
-**Step 1:** Follow the steps provided in the [link](https://ej2.syncfusion.com/documentation/pdfviewer/getting-started/) to create a simple PDF Viewer sample.
-
-**Step 2:** Add Buttons for Annotation Modification and Downloading
-
-Include buttons in your HTML for annotation modification and downloading the PDF.
-
-```html
-
-
-```
-**step 3**: Add the following code snippet to add annotations to the PDF document. You can also include other annotations as needed.
-
-```js
-const viewer: PdfViewer = new PdfViewer({
- documentPath: 'https://cdn.syncfusion.com/content/pdf/annotations-v1.pdf',
- resourceUrl: "https://cdn.syncfusion.com/ej2/28.1.33/dist/ej2-pdfviewer-lib",
-});
-
-// Append the PdfViewer to the DOM
-viewer.appendTo('#PdfViewer');
-
-viewer.documentLoad = function (args) {
- //Code snippet to add basic annotations. You can also include other annotations as needed.
- viewer.annotation.addAnnotation("Highlight", {
- bounds: [{x: 97, y: 610, width: 350, height: 14}],
- pageNumber: 1
- } as HighlightSettings);
- viewer.annotation.addAnnotation("Underline", {
- bounds: [{x: 97, y: 723, width: 353.5, height: 14}],
- pageNumber: 1
- } as UnderlineSettings);
- viewer.annotation.addAnnotation("Strikethrough", {
- bounds: [{x: 97, y: 836, width: 376.5, height: 14}],
- pageNumber: 1
- } as StrikethroughSettings);
- }
-```
-**Step 4:** Add Event Listeners for Button Clicks
-
-Attach event listeners that handle annotation visibility modifications and downloading the document.
-
-```js
-// Add event listener to the button with ID 'download'
-document.getElementById('save')?.addEventListener('click', save);
-```
-
-**Step 5:** Modify Annotation Flags Function
-
-Implement a function that changes the annotation visibility settings for the document.
-
-```js
-
-// Import PdfAnnotationFlag and PdfDocument from the Syncfusion PDF library.
-import { PdfAnnotationFlag, PdfDocument } from '@syncfusion/ej2/pdf';
-
-// Function to get Base64 of the loaded document and modify annotation flags
-function save() {
- // Assuming pdfviewer is globally accessible or a part of another object
- viewer.saveAsBlob().then((blob: Blob) => {
- const reader = new FileReader();
- reader.onload = function () {
- let base64data = reader.result as string;
-
- // Extract base64 string from Data URL
- const base64EncodedData = base64data.split('base64,')[1];
-
- // Create a PdfDocument instance with base64 data
- const document1 = new PdfDocument(base64EncodedData);
-
- // Modify flag for each annotation
- for (let i = 0; i < document1.pageCount; i++) {
- const page = document1.getPage(i);
- for (let j = 0; j < page.annotations.count; j++) {
- const annot = page.annotations.at(j);
- // Set flag to noView
- annot.flags |= PdfAnnotationFlag.noView;
- }
- }
-
- // Save modified document as a blob
- document1.saveAsBlob().then((modifiedBlob: { blobData: Blob }) => {
- const internalReader = new FileReader();
- internalReader.onload = function () {
- const modifiedBase64 = internalReader.result as string;
-
- // Create a link to download the modified PDF
- const downloadLink = document.createElement('a');
- downloadLink.href = modifiedBase64;
- downloadLink.download = 'modified.pdf';
- downloadLink.click();
- };
- internalReader.readAsDataURL(modifiedBlob.blobData);
- });
- };
- reader.readAsDataURL(blob);
- });
-}
-
-```
-
-By following these steps, the annotations in a PDF document can be set to be visible in the Syncfusion PDF Viewer, providing control over annotation visibility based on different platforms.
-
-[View sample in GitHub](https://github.com/SyncfusionExamples/typescript-pdf-viewer-examples/tree/master/How%20to)
\ No newline at end of file
diff --git a/ej2-javascript/pdfviewer/how-to/convert-pdf-library-bounds-to-pdf-viewer-bounds-js.md b/ej2-javascript/pdfviewer/how-to/convert-pdf-library-bounds-to-pdf-viewer-bounds-js.md
deleted file mode 100644
index 67f55c1ef..000000000
--- a/ej2-javascript/pdfviewer/how-to/convert-pdf-library-bounds-to-pdf-viewer-bounds-js.md
+++ /dev/null
@@ -1,133 +0,0 @@
----
-layout: post
-title: Converting Library Bounds in JavaScript PdfViewer | Syncfusion
-description: Learn how to convert Library bounds into Viewer bounds in Syncfusion ##Platform_Name## Pdfviewer control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: PDF Viewer
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Converting PDF Library Bounds to PDF Viewer Bounds
-
-### Overview
-
-When exporting annotations from the PDF Library, you may need to convert the bounds values into the PDF Viewer format. This guide will help you achieve that using the Syncfusion PDF Viewer component.
-
-### How to Convert Bounds Values
-
-**Step 1:** Initialize the PdfViewer Instance
-
-Create an instance of the PdfViewer and configure it with the required services.
-
-```js
-var pdfviewer = new ej.pdfviewer.PdfViewer({
- documentPath: 'https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf',
- serviceUrl: 'https://services.syncfusion.com/js/production/api/pdfviewer'
-});
-
-ej.pdfviewer.PdfViewer.Inject(
- ej.pdfviewer.TextSelection,
- ej.pdfviewer.TextSearch,
- ej.pdfviewer.Print,
- ej.pdfviewer.Navigation,
- ej.pdfviewer.Toolbar,
- ej.pdfviewer.Magnification,
- ej.pdfviewer.Annotation,
- ej.pdfviewer.FormDesigner,
- ej.pdfviewer.FormFields,
- ej.pdfviewer.PageOrganizer
-);
-
-pdfviewer.appendTo('#PdfViewer');
-```
-
-**Step 2:** Handle Export Success
-
-Convert the exported blob URL to an object and then extract and convert the annotation bounds.
-
-```js
-pdfviewer.exportSuccess = function (args) {
- console.log(args.exportData);
- const blobURL = args.exportData;
-
- // Converting the exported blob into object
- convertBlobURLToObject(blobURL)
- .then((objectData) => {
- console.log(objectData);
- var datas = objectData;
- var shapeAnnotationData = datas['pdfAnnotation'][0]['shapeAnnotation'];
- shapeAnnotationData.map(data => {
- if (data && data.rect && parseInt(data.rect.width)) {
-
- var pageHeight = pdfviewer.getPageInfo(parseInt(data.page)).height;
-
- // Converting PDF Library values into PDF Viewer values.
- var rect = {
- x: (parseInt(data.rect.x) * 96) / 72,
- y: (parseInt(pageHeight) - parseInt(data.rect.height)) * 96 / 72,
- width: (parseInt(data.rect.width) - parseInt(data.rect.x)) * 96 / 72,
- height: (parseInt(data.rect.height) - parseInt(data.rect.y)) * 96 / 72,
- };
- }
- if ((data.type == 'Line' || data.type == 'Arrow') && data.start && data.end) {
- // Split and parse the start and end points
- const [startX, startY] = data.start.split(',').map(Number);
- const [endX, endY] = data.end.split(',').map(Number);
-
- // Convert to PDF Viewer coordinates
- var pageHeight = pdfviewer.getPageInfo(parseInt(data.page)).height;
- const pdfStartX = (startX * 96) / 72;
- const pdfStartY = (parseInt(pageHeight) - startY) * 96 / 72;
- const pdfEndX = (endX * 96) / 72;
- const pdfEndY = (parseInt(pageHeight) - endY) * 96 / 72;
-
- rect = {
- x: Math.min(pdfStartX, pdfEndX),
- y: Math.min(pdfStartY, pdfEndY),
- width: Math.abs(pdfEndX - pdfStartX),
- height: Math.abs(pdfEndY - pdfStartY),
- };
- }
-
- if (rect != null && data.type != 'Text') {
- console.log(data.name);
- console.log(rect);
- console.log("-------------------------");
- }
- });
- })
- .catch((error) => {
- console.error('Error converting Blob URL to object:', error);
- });
-};
-```
-
-**Step 3:** Create a Function to Convert Blob URL to Object
-
-This function fetches the blob data and converts it into a JSON object.
-
-```js
-// Function to convert Blob URL to object
-function convertBlobURLToObject(blobURL) {
- return fetch(blobURL)
- .then((response) => response.blob())
- .then((blobData) => {
- return new Promise((resolve, reject) => {
- const reader = new FileReader();
- reader.onloadend = () => {
- resolve(JSON.parse(reader.result));
- };
- reader.onerror = reject;
- reader.readAsText(blobData);
- });
- });
-}
-```
-
-### Conclusion
-
-By following these steps, you can successfully convert PDF Library bounds values into PDF Viewer bounds values when exporting annotations as JSON. This will help maintain accuracy in the annotation placement and ensure a seamless user experience.
-
-[View sample in GitHub](https://github.com/SyncfusionExamples/javascript-pdf-viewer-examples/tree/master/How%20to)
\ No newline at end of file
diff --git a/ej2-javascript/pdfviewer/how-to/convert-pdf-library-bounds-to-pdf-viewer-bounds-ts.md b/ej2-javascript/pdfviewer/how-to/convert-pdf-library-bounds-to-pdf-viewer-bounds-ts.md
deleted file mode 100644
index 240ca2031..000000000
--- a/ej2-javascript/pdfviewer/how-to/convert-pdf-library-bounds-to-pdf-viewer-bounds-ts.md
+++ /dev/null
@@ -1,137 +0,0 @@
----
-layout: post
-title: Converting Library Bounds in JavaScript PdfViewer | Syncfusion
-description: Learn how to convert Library bounds into Viewer bounds in Syncfusion ##Platform_Name## Pdfviewer control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: PDF Viewer
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Converting PDF Library Bounds to PDF Viewer Bounds
-
-### Overview
-
-When exporting annotations from the PDF Library, you may need to convert the bounds values into the PDF Viewer format. This guide will help you achieve that using the Syncfusion PDF Viewer component.
-
-### How to Convert Bounds Values
-
-**Step 1:** Initialize the PdfViewer Instance
-
-Create an instance of the PdfViewer and configure it with the required services.
-
-```ts
-import { PdfViewer, TextSelection, TextSearch, Print, Navigation, Toolbar, Magnification, Annotation, FormDesigner, FormFields } from '@syncfusion/ej2-pdfviewer';
-
-// Inject required modules
-PdfViewer.Inject(TextSelection, TextSearch, Print, Navigation, Toolbar, Magnification, Annotation, FormDesigner, FormFields);
-
-const pdfviewer: PdfViewer = new PdfViewer({
- documentPath: 'https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf',
- serviceUrl: 'https://services.syncfusion.com/js/production/api/pdfviewer'
-});
-
-// Append the PdfViewer to the DOM
-pdfviewer.appendTo('#PdfViewer');
-```
-
-**Step 2:** Handle Export Success
-
-Convert the exported blob URL to an object and then extract and convert the annotation bounds.
-
-```ts
-// Event for export success
-pdfviewer.exportSuccess = (args: { exportData: string }) => {
- console.log(args.exportData);
- const blobURL = args.exportData;
-
- // Converting the exported blob into object
- convertBlobURLToObject(blobURL)
- .then((objectData) => {
- console.log(objectData);
- const datas = objectData;
- const shapeAnnotationData = datas['pdfAnnotation'][0]['shapeAnnotation'];
-
- shapeAnnotationData.forEach((data: any) => {
- let rect: { x: number; y: number; width: number; height: number } | null = null;
-
- if (data && data.rect && parseInt(data.rect.width)) {
-
- //Get PageSize using getPageInfo API
- const pageInfo = pdfviewer.getPageInfo(parseInt(data.page));
- const pageHeight: number = pageInfo?.height ?? 0;
- // Converting PDF Library values into PDF Viewer values.
- rect = {
- x: (parseInt(data.rect.x) * 96) / 72,
- y: (pageHeight - parseInt(data.rect.height)) * 96 / 72,
- width: (parseInt(data.rect.width) - parseInt(data.rect.x)) * 96 / 72,
- height: (parseInt(data.rect.height) - parseInt(data.rect.y)) * 96 / 72,
- };
- }
-
- if ((data.type === 'Line' || data.type === 'Arrow') && data.start && data.end) {
- const [startX, startY] = data.start.split(',').map(Number);
- const [endX, endY] = data.end.split(',').map(Number);
-
- //Get PageSize using getPageInfo API
- const pageInfo = pdfviewer.getPageInfo(parseInt(data.page));
- const pageHeight: number = pageInfo?.height ?? 0;
-
- const pdfStartX = (startX * 96) / 72;
- const pdfStartY = (pageHeight - startY) * 96 / 72;
- const pdfEndX = (endX * 96) / 72;
- const pdfEndY = (pageHeight - endY) * 96 / 72;
-
- rect = {
- x: Math.min(pdfStartX, pdfEndX),
- y: Math.min(pdfStartY, pdfEndY),
- width: Math.abs(pdfEndX - pdfStartX),
- height: Math.abs(pdfEndY - pdfStartY),
- };
- }
-
- if (rect != null && data.type !== 'Text') {
- console.log(data.name);
- console.log(rect);
- console.log("-------------------------");
- }
- });
- })
- .catch((error) => {
- console.error('Error converting Blob URL to object:', error);
- });
-};
-```
-
-**Step 3:** Create a Function to Convert Blob URL to Object
-
-This function fetches the blob data and converts it into a JSON object.
-
-```ts
-// Function to convert Blob URL to object
-function convertBlobURLToObject(blobURL: string): Promise {
- return fetch(blobURL)
- .then((response) => response.blob())
- .then((blobData) => {
- return new Promise((resolve, reject) => {
- const reader = new FileReader();
- reader.onloadend = () => {
- try {
- resolve(JSON.parse(reader.result as string));
- } catch (err) {
- reject(err);
- }
- };
- reader.onerror = reject;
- reader.readAsText(blobData);
- });
- });
-}
-```
-
-### Conclusion
-
-By following these steps, you can successfully convert PDF Library bounds values into PDF Viewer bounds values when exporting annotations as JSON. This will help maintain accuracy in the annotation placement and ensure a seamless user experience.
-
-[View sample in GitHub](https://github.com/SyncfusionExamples/typescript-pdf-viewer-examples/tree/master/How%20to/)
\ No newline at end of file
diff --git a/ej2-javascript/pdfviewer/how-to/create-pdfviewer-service-core.md b/ej2-javascript/pdfviewer/how-to/create-pdfviewer-service-core.md
deleted file mode 100644
index aeb2648eb..000000000
--- a/ej2-javascript/pdfviewer/how-to/create-pdfviewer-service-core.md
+++ /dev/null
@@ -1,430 +0,0 @@
----
-layout: post
-title: Create pdfviewer service in ##Platform_Name## Pdfviewer control | Syncfusion
-description: Learn here all about Create pdfviewer service in Syncfusion ##Platform_Name## Pdfviewer control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: Create pdfviewer service
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-# Create pdfviewer service in ##Platform_Name## Pdfviewer control
-
-The Essential JavaScript PDF Viewer have server side dependency to get the details from PDF Documents for rendering. This section explains how to create the service for PDF Viewer to perform server-side preprocessing of the PDF document to be rendered in client side.
-
-## Prerequisites
-
-To get started with ASP.NET CORE Web API service, refer [System requirements for ASP.NET Core controls](https://ej2.syncfusion.com/aspnetcore/documentation/system-requirements).
-
-## Setup ASP.NET CORE application with Web API for PDF Viewer service
-
-The following steps are used to create PDF Viewer service
-
-**Step 1:** Select File > New > Project, in the Visual Studio menu bar.
-
-
-
-**Step 2:** Select ASP.NET Core Web Application and then click **Next**.
-
-
-
-**Step 3:** In the Configure your new project dialog, enter Project Name and select **Next**.
-
-
-
-**Step 4:** In the Additional information dialog, select .NET 6.0 (Long-term Support) and then select **Create**.
-
-
-
-**Step 5:** After creating the project, add the [Syncfusion.EJ2.PdfViewer.AspNet.Core](https://www.nuget.org/packages/Syncfusion.EJ2.PdfViewer.AspNet.Core) dependency to your project by using 'NuGet Package Manager'.
-
-Open the `NuGet` package manager.
-
-
-Install the **Syncfusion.EJ2.PdfViewer.AspNet.Core** package to the application.
-
-
-
-**Step 6:** Add the API Controller to the project and named it as `PdfViewerController` .
-
-
-**Step 7:** Add the following code to the `PdfViewerController.cs` controller.
-
-```ts
-using Microsoft.AspNetCore.Hosting;
-using Microsoft.AspNetCore.Mvc;
-using Microsoft.Extensions.Caching.Memory;
-using Newtonsoft.Json;
-using Syncfusion.EJ2.PdfViewer;
-using System;
-using System.Collections.Generic;
-using System.IO;
-using System.Net;
-
-namespace PdfViewerWebService
-{
- [Route("[controller]")]
- [ApiController]
- public class PdfViewerController : ControllerBase
- {
- private IWebHostEnvironment _hostingEnvironment;
- //Initialize the memory cache object
- public IMemoryCache _cache;
- public PdfViewerController(IWebHostEnvironment hostingEnvironment, IMemoryCache cache)
- {
- _hostingEnvironment = hostingEnvironment;
- _cache = cache;
- Console.WriteLine("PdfViewerController initialized");
- }
-
- [HttpPost("Load")]
- [Microsoft.AspNetCore.Cors.EnableCors("MyPolicy")]
- [Route("[controller]/Load")]
- //Post action for Loading the PDF documents
- public IActionResult Load([FromBody] Dictionary jsonObject)
- {
- Console.WriteLine("Load called");
- //Initialize the PDF viewer object with memory cache object
- PdfRenderer pdfviewer = new PdfRenderer(_cache);
- MemoryStream stream = new MemoryStream();
- object jsonResult = new object();
- if (jsonObject != null && jsonObject.ContainsKey("document"))
- {
- if (bool.Parse(jsonObject["isFileName"]))
- {
- string documentPath = GetDocumentPath(jsonObject["document"]);
- if (!string.IsNullOrEmpty(documentPath))
- {
- byte[] bytes = System.IO.File.ReadAllBytes(documentPath);
- stream = new MemoryStream(bytes);
- }
- else
- {
- string fileName = jsonObject["document"].Split(new string[] { "://" }, StringSplitOptions.None)[0];
-
- if (fileName == "http" || fileName == "https")
- {
- WebClient WebClient = new WebClient();
- byte[] pdfDoc = WebClient.DownloadData(jsonObject["document"]);
- stream = new MemoryStream(pdfDoc);
- }
-
- else
- {
- return this.Content(jsonObject["document"] + " is not found");
- }
- }
- }
- else
- {
- byte[] bytes = Convert.FromBase64String(jsonObject["document"]);
- stream = new MemoryStream(bytes);
- }
- }
- jsonResult = pdfviewer.Load(stream, jsonObject);
- return Content(JsonConvert.SerializeObject(jsonResult));
- }
-
- [AcceptVerbs("Post")]
- [HttpPost("Bookmarks")]
- [Microsoft.AspNetCore.Cors.EnableCors("MyPolicy")]
- [Route("[controller]/Bookmarks")]
- //Post action for processing the bookmarks from the PDF documents
- public IActionResult Bookmarks([FromBody] Dictionary jsonObject)
- {
- //Initialize the PDF Viewer object with memory cache object
- PdfRenderer pdfviewer = new PdfRenderer(_cache);
- var jsonResult = pdfviewer.GetBookmarks(jsonObject);
- return Content(JsonConvert.SerializeObject(jsonResult));
- }
-
- [AcceptVerbs("Post")]
- [HttpPost("RenderPdfPages")]
- [Microsoft.AspNetCore.Cors.EnableCors("MyPolicy")]
- [Route("[controller]/RenderPdfPages")]
- //Post action for processing the PDF documents
- public IActionResult RenderPdfPages([FromBody] Dictionary jsonObject)
- {
- //Initialize the PDF Viewer object with memory cache object
- PdfRenderer pdfviewer = new PdfRenderer(_cache);
- object jsonResult = pdfviewer.GetPage(jsonObject);
- return Content(JsonConvert.SerializeObject(jsonResult));
- }
-
- [AcceptVerbs("Post")]
- [HttpPost("RenderPdfTexts")]
- [Microsoft.AspNetCore.Cors.EnableCors("MyPolicy")]
- [Route("[controller]/RenderPdfTexts")]
- //Post action for processing the PDF texts
- public IActionResult RenderPdfTexts([FromBody] Dictionary jsonObject)
- {
- //Initialize the PDF Viewer object with memory cache object
- PdfRenderer pdfviewer = new PdfRenderer(_cache);
- object jsonResult = pdfviewer.GetDocumentText(jsonObject);
- return Content(JsonConvert.SerializeObject(jsonResult));
- }
-
- [AcceptVerbs("Post")]
- [HttpPost("RenderThumbnailImages")]
- [Microsoft.AspNetCore.Cors.EnableCors("MyPolicy")]
- [Route("[controller]/RenderThumbnailImages")]
- //Post action for rendering the ThumbnailImages
- public IActionResult RenderThumbnailImages([FromBody] Dictionary jsonObject)
- {
- //Initialize the PDF Viewer object with memory cache object
- PdfRenderer pdfviewer = new PdfRenderer(_cache);
- object result = pdfviewer.GetThumbnailImages(jsonObject);
- return Content(JsonConvert.SerializeObject(result));
- }
- [AcceptVerbs("Post")]
- [HttpPost("RenderAnnotationComments")]
- [Microsoft.AspNetCore.Cors.EnableCors("MyPolicy")]
- [Route("[controller]/RenderAnnotationComments")]
- //Post action for rendering the annotations
- public IActionResult RenderAnnotationComments([FromBody] Dictionary jsonObject)
- {
- //Initialize the PDF Viewer object with memory cache object
- PdfRenderer pdfviewer = new PdfRenderer(_cache);
- object jsonResult = pdfviewer.GetAnnotationComments(jsonObject);
- return Content(JsonConvert.SerializeObject(jsonResult));
- }
- [AcceptVerbs("Post")]
- [HttpPost("ExportAnnotations")]
- [Microsoft.AspNetCore.Cors.EnableCors("MyPolicy")]
- [Route("[controller]/ExportAnnotations")]
- //Post action to export annotations
- public IActionResult ExportAnnotations([FromBody] Dictionary jsonObject)
- {
- PdfRenderer pdfviewer = new PdfRenderer(_cache);
- string jsonResult = pdfviewer.ExportAnnotation(jsonObject);
- return Content(jsonResult);
- }
- [AcceptVerbs("Post")]
- [HttpPost("ImportAnnotations")]
- [Microsoft.AspNetCore.Cors.EnableCors("MyPolicy")]
- [Route("[controller]/ImportAnnotations")]
- //Post action to import annotations
- public IActionResult ImportAnnotations([FromBody] Dictionary jsonObject)
- {
- PdfRenderer pdfviewer = new PdfRenderer(_cache);
- string jsonResult = string.Empty;
- object JsonResult;
- if (jsonObject != null && jsonObject.ContainsKey("fileName"))
- {
- string documentPath = GetDocumentPath(jsonObject["fileName"]);
- if (!string.IsNullOrEmpty(documentPath))
- {
- jsonResult = System.IO.File.ReadAllText(documentPath);
- }
- else
- {
- return this.Content(jsonObject["document"] + " is not found");
- }
- }
- else
- {
- string extension = Path.GetExtension(jsonObject["importedData"]);
- if (extension != ".xfdf")
- {
- JsonResult = pdfviewer.ImportAnnotation(jsonObject);
- return Content(JsonConvert.SerializeObject(JsonResult));
- }
- else
- {
- string documentPath = GetDocumentPath(jsonObject["importedData"]);
- if (!string.IsNullOrEmpty(documentPath))
- {
- byte[] bytes = System.IO.File.ReadAllBytes(documentPath);
- jsonObject["importedData"] = Convert.ToBase64String(bytes);
- JsonResult = pdfviewer.ImportAnnotation(jsonObject);
- return Content(JsonConvert.SerializeObject(JsonResult));
- }
- else
- {
- return this.Content(jsonObject["document"] + " is not found");
- }
- }
- }
- return Content(jsonResult);
- }
-
- [AcceptVerbs("Post")]
- [HttpPost("ExportFormFields")]
- [Microsoft.AspNetCore.Cors.EnableCors("MyPolicy")]
- [Route("[controller]/ExportFormFields")]
- public IActionResult ExportFormFields([FromBody] Dictionary jsonObject)
-
- {
- PdfRenderer pdfviewer = new PdfRenderer(_cache);
- string jsonResult = pdfviewer.ExportFormFields(jsonObject);
- return Content(jsonResult);
- }
-
- [AcceptVerbs("Post")]
- [HttpPost("ImportFormFields")]
- [Microsoft.AspNetCore.Cors.EnableCors("MyPolicy")]
- [Route("[controller]/ImportFormFields")]
- public IActionResult ImportFormFields([FromBody] Dictionary jsonObject)
- {
- PdfRenderer pdfviewer = new PdfRenderer(_cache);
- jsonObject["data"] = GetDocumentPath(jsonObject["data"]);
- object jsonResult = pdfviewer.ImportFormFields(jsonObject);
- return Content(JsonConvert.SerializeObject(jsonResult));
- }
-
- [AcceptVerbs("Post")]
- [HttpPost("Unload")]
- [Microsoft.AspNetCore.Cors.EnableCors("MyPolicy")]
- [Route("[controller]/Unload")]
- //Post action for unloading and disposing the PDF document resources
- public IActionResult Unload([FromBody] Dictionary jsonObject)
- {
- //Initialize the PDF Viewer object with memory cache object
- PdfRenderer pdfviewer = new PdfRenderer(_cache);
- pdfviewer.ClearCache(jsonObject);
- return this.Content("Document cache is cleared");
- }
-
-
- [HttpPost("Download")]
- [Microsoft.AspNetCore.Cors.EnableCors("MyPolicy")]
- [Route("[controller]/Download")]
- //Post action for downloading the PDF documents
- public IActionResult Download([FromBody] Dictionary jsonObject)
- {
- //Initialize the PDF Viewer object with memory cache object
- PdfRenderer pdfviewer = new PdfRenderer(_cache);
- string documentBase = pdfviewer.GetDocumentAsBase64(jsonObject);
- return Content(documentBase);
- }
-
- [HttpPost("PrintImages")]
- [Microsoft.AspNetCore.Cors.EnableCors("MyPolicy")]
- [Route("[controller]/PrintImages")]
- //Post action for printing the PDF documents
- public IActionResult PrintImages([FromBody] Dictionary jsonObject)
- {
- //Initialize the PDF Viewer object with memory cache object
- PdfRenderer pdfviewer = new PdfRenderer(_cache);
- object pageImage = pdfviewer.GetPrintImage(jsonObject);
- return Content(JsonConvert.SerializeObject(pageImage));
- }
-
- //Gets the path of the PDF document
- private string GetDocumentPath(string document)
- {
- string documentPath = string.Empty;
- if (!System.IO.File.Exists(document))
- {
- var path = _hostingEnvironment.ContentRootPath;
- if (System.IO.File.Exists(path + "/Data/" + document))
- documentPath = path + "/Data/" + document;
- }
- else
- {
- documentPath = document;
- }
- Console.WriteLine(documentPath);
- return documentPath;
- }
- // GET api/values
- [HttpGet]
- public IEnumerable Get()
- {
- return new string[] { "value1", "value2" };
- }
-
- // GET api/values/5
- [HttpGet("{id}")]
- public string Get(int id)
- {
- return "value";
- }
- }
-}
-
-```
-
-**Step 8:** Change the launchUrl to pdfviewer (name of the controller) in the lauchSettings.json as follows.
-
-```json
-{
- "iisSettings": {
- "windowsAuthentication": false,
- "anonymousAuthentication": true,
- "iisExpress": {
- "applicationUrl": "http://localhost:2270",
- "sslPort": 44396
- }
- },
- "profiles": {
- "PdfViewerWebService": {
- "commandName": "Project",
- "dotnetRunMessages": true,
- "launchBrowser": true,
- "launchUrl": "pdfviewer",
- "applicationUrl": "https://localhost:7255;http://localhost:5262",
- "environmentVariables": {
- "ASPNETCORE_ENVIRONMENT": "Development"
- }
- },
- "IIS Express": {
- "commandName": "IISExpress",
- "launchBrowser": true,
- "launchUrl": "pdfviewer",
- "environmentVariables": {
- "ASPNETCORE_ENVIRONMENT": "Development"
- }
- }
- }
-}
-```
-
-**Step 9:** Configuring CORS policy and add Newtonsoft.Json for JSON format support
-* Browser security prevents a webpage from making requests to a different domain than the one that served the webpage. This restriction is called the same-origin policy. Cross Origin Resource Sharing (CORS) allows a server to relax the same-origin policy. Using CORS, a server can explicitly allow some cross-origin. Configure a CORS policy at application Startup.ConfigureServices.
-* Prior to ASP.NET Core 3.0, the default JSON formatters implemented using the Newtonsoft.Json package. In ASP.NET Core 3.0 or later, the default JSON formatters are based on System.Text.Json. Support for Newtonsoft.Json based formatters and features is available by installing the Microsoft.AspNetCore.Mvc.NewtonsoftJson NuGet package and configuring it in Startup.ConfigureServices.
-
-```cs
-using Microsoft.AspNetCore.ResponseCompression;
-using Newtonsoft.Json.Serialization;
-
-var builder = WebApplication.CreateBuilder(args);
-var MyAllowSpecificOrigins = "MyPolicy";
-builder.Services.AddControllers().AddNewtonsoftJson(options =>
-{
- // Use the default property (Pascal) casing
- options.SerializerSettings.ContractResolver = new DefaultContractResolver();
-});
-builder.Services.AddCors(options =>
-{
- options.AddPolicy(name: MyAllowSpecificOrigins,
- builder => {
- builder.AllowAnyOrigin()
- .AllowAnyMethod()
- .AllowAnyHeader();
- });
-});
-
-builder.Services.AddMemoryCache();
-builder.Services.AddEndpointsApiExplorer();
-
-builder.Services.Configure(options => options.Level = System.IO.Compression.CompressionLevel.Optimal);
-builder.Services.AddResponseCompression();
-
-var app = builder.Build();
-
-//Register Syncfusion license
-string licenseKey = string.Empty;
-Syncfusion.Licensing.SyncfusionLicenseProvider.RegisterLicense(licenseKey);
-
-app.UseHttpsRedirection();
-app.UseCors(MyAllowSpecificOrigins);
-app.UseAuthorization();
-
-app.UseResponseCompression();
-app.MapControllers();
-
-app.Run();
-```
-
-View the sample in GitHub to [create PDF Viewer web service](https://github.com/SyncfusionExamples/EJ2-PDFViewer-WebServices/tree/main/ASP.NET%20Core/PdfViewerWebService_6.0)
\ No newline at end of file
diff --git a/ej2-javascript/pdfviewer/how-to/create-pdfviewer-service.md b/ej2-javascript/pdfviewer/how-to/create-pdfviewer-service.md
deleted file mode 100644
index 901df2680..000000000
--- a/ej2-javascript/pdfviewer/how-to/create-pdfviewer-service.md
+++ /dev/null
@@ -1,279 +0,0 @@
----
-layout: post
-title: Create pdfviewer service in ##Platform_Name## Pdfviewer control | Syncfusion
-description: Learn here all about Create pdfviewer service in Syncfusion ##Platform_Name## Pdfviewer control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: Create pdfviewer service
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-# Create pdfviewer service in ##Platform_Name## Pdfviewer control
-
-The Essential JavaScript PDF Viewer have server side dependency to get the details from PDF Documents for rendering. This section explains how to create the service for PDF Viewer to perform server-side preprocessing of the PDF document to be rendered in client side.
-
-## Prerequisites
-
-To get started with ASP.NET MVC Web API service, ensure that the following software is installed on the machine.
-
-* .Net Framework 4.5 and above.
-* ASP.NET MVC 4 or ASP.NET MVC 5
-* Web API
-* Visual Studio
-
-## Setup ASP.NET MVC application with Web API for PDF Viewer service
-
-The following steps are used to create PDF Viewer service
-
-**Step 1:** Create an ASP.NET web application with the default template project in Visual Studio 2017.
-
-
-
-**Step 2:** After creating the project, add the `Syncfusion.EJ2.PdfViewer.AspNet.MVC5` dependency to your project by using 'NuGet Package Manager'.
-
-Open the `NuGet` package manager.
-
-
-Install the **Syncfusion.EJ2.PdfViewer.AspNet.Mvc5** package to the application.
-
-
-
-**Step 3:** Add the Web API 2 Controller to the project and named it as `PdfViewerController` .
-
-
-**Step 4:** Add the following code to the `PdfViewerController.cs` controller.
-
-```ts
-using Newtonsoft.Json;
-using Syncfusion.EJ2.PdfViewer;
-using System;
-using System.Collections.Generic;
-using System.IO;
-using System.Linq;
-using System.Net;
-using System.Net.Http;
-using System.Web;
-using System.Web.Http;
-
-namespace MvcWebService.webapi
-{
- public class PdfViewerController : ApiController
- {
- [System.Web.Mvc.HttpPost]
- public object Load(Dictionary jsonObject)
- {
- PdfRenderer pdfviewer = new PdfRenderer();
- MemoryStream stream = new MemoryStream();
- object jsonResult = new object();
- if (jsonObject != null && jsonObject.ContainsKey("document"))
- {
- if (bool.Parse(jsonObject["isFileName"]))
- {
- string documentPath = GetDocumentPath(jsonObject["document"]);
- if (!string.IsNullOrEmpty(documentPath))
- {
- byte[] bytes = System.IO.File.ReadAllBytes(documentPath);
- stream = new MemoryStream(bytes);
- }
- else
- {
- string fileName = jsonObject["document"].Split(new string[] { "://" }, StringSplitOptions.None)[0];
-
- if (fileName == "http" || fileName == "https")
- {
- WebClient WebClient = new WebClient();
- byte[] pdfDoc = WebClient.DownloadData(jsonObject["document"]);
- stream = new MemoryStream(pdfDoc);
- }
-
- else
- {
- return (jsonObject["document"] + " is not found");
- }
- }
- }
- else
- {
- byte[] bytes = Convert.FromBase64String(jsonObject["document"]);
- stream = new MemoryStream(bytes);
- }
- }
- jsonResult = pdfviewer.Load(stream, jsonObject);
- return (JsonConvert.SerializeObject(jsonResult));
- }
- [System.Web.Mvc.HttpPost]
- public object Bookmarks(Dictionary jsonObject)
- {
- PdfRenderer pdfviewer = new PdfRenderer();
- var jsonResult = pdfviewer.GetBookmarks(jsonObject);
- return (jsonResult);
- }
- [System.Web.Mvc.HttpPost]
- public object RenderPdfPages(Dictionary jsonObject)
- {
- PdfRenderer pdfviewer = new PdfRenderer();
- object jsonResult = pdfviewer.GetPage(jsonObject);
- return (JsonConvert.SerializeObject(jsonResult));
- }
- [System.Web.Mvc.HttpPost]
- public object RenderThumbnailImages(Dictionary jsonObject)
- {
- PdfRenderer pdfviewer = new PdfRenderer();
- object result = pdfviewer.GetThumbnailImages(jsonObject);
- return (JsonConvert.SerializeObject(result));
- }
- [System.Web.Mvc.HttpPost]
- public object RenderPdfTexts(Dictionary jsonObject)
- {
- PdfRenderer pdfviewer = new PdfRenderer();
- object result = pdfviewer.GetDocumentText(jsonObject);
- return (JsonConvert.SerializeObject(result));
- }
-
-
- [System.Web.Mvc.HttpPost]
- public object RenderAnnotationComments(Dictionary jsonObject)
- {
- PdfRenderer pdfviewer = new PdfRenderer();
- object jsonResult = pdfviewer.GetAnnotationComments(jsonObject);
- return (JsonConvert.SerializeObject(jsonResult));
- }
- [System.Web.Mvc.HttpPost]
- public object Unload(Dictionary jsonObject)
- {
- PdfRenderer pdfviewer = new PdfRenderer();
- pdfviewer.ClearCache(jsonObject);
- return ("Document cache is cleared");
- }
- [System.Web.Mvc.HttpPost]
- public HttpResponseMessage Download(Dictionary jsonObject)
- {
-
- PdfRenderer pdfviewer = new PdfRenderer();
- string documentBase = pdfviewer.GetDocumentAsBase64(jsonObject);
- return (GetPlainText(documentBase));
- }
-
- [System.Web.Mvc.HttpPost]
- public object PrintImages(Dictionary jsonObject)
- {
- PdfRenderer pdfviewer = new PdfRenderer();
- object pageImage = pdfviewer.GetPrintImage(jsonObject);
- return (pageImage);
- }
- private HttpResponseMessage GetPlainText(string pageImage)
- {
- var responseText = new HttpResponseMessage(HttpStatusCode.OK);
- responseText.Content = new StringContent(pageImage, System.Text.Encoding.UTF8, "text/plain");
- return responseText;
- }
- private string GetDocumentPath(string document)
- {
- string documentPath = string.Empty;
- if (!System.IO.File.Exists(document))
- {
- var path = HttpContext.Current.Request.PhysicalApplicationPath;
- if (System.IO.File.Exists(path + "/Data/" + document))
- documentPath = path + "/Data/" + document;
- }
- else
- {
- documentPath = document;
- }
- return documentPath;
- }
-
- // GET api/values
- [System.Web.Mvc.HttpPost]
- public IEnumerable Get()
- {
- return new string[] { "value1", "value2" };
- }
-
- [System.Web.Mvc.HttpPost]
- //Post action to export annotations
- [System.Web.Mvc.Route("{id}/ExportAnnotations")]
-
- public HttpResponseMessage ExportAnnotations(Dictionary jsonObject)
- {
- PdfRenderer pdfviewer = new PdfRenderer();
- string jsonResult = pdfviewer.ExportAnnotation(jsonObject);
- return (GetPlainText(jsonResult));
- }
-
- [System.Web.Mvc.HttpPost]
- //Post action to import annotations
- public object ImportAnnotations(Dictionary jsonObject)
- {
- PdfRenderer pdfviewer = new PdfRenderer();
- string jsonResult = string.Empty;
- object JsonResult;
- if (jsonObject != null && jsonObject.ContainsKey("fileName"))
- {
- string documentPath = GetDocumentPath(jsonObject["fileName"]);
- if (!string.IsNullOrEmpty(documentPath))
- {
- jsonResult = System.IO.File.ReadAllText(documentPath);
- }
- else
- {
- return (jsonObject["document"] + " is not found");
- }
- }
- else
- {
- string extension = Path.GetExtension(jsonObject["importedData"]);
- if (extension != ".xfdf")
- {
- JsonResult = pdfviewer.ImportAnnotation(jsonObject);
- return (GetPlainText((JsonConvert.SerializeObject(JsonResult))));
- }
- else
- {
- string documentPath = GetDocumentPath(jsonObject["importedData"]);
- if (!string.IsNullOrEmpty(documentPath))
- {
- byte[] bytes = System.IO.File.ReadAllBytes(documentPath);
- jsonObject["importedData"] = Convert.ToBase64String(bytes);
- JsonResult = pdfviewer.ImportAnnotation(jsonObject);
- return (GetPlainText((JsonConvert.SerializeObject(JsonResult))));
- }
- else
- {
- return (jsonObject["document"] + " is not found");
- }
- }
- }
- return (GetPlainText((jsonResult)));
- }
-
- }
-}
-
-```
-
-**Step 5:** Configure the CORS policy in the `web.config` file.
-
-```xml
-
-
-
-
-
-
-
-
-
-```
-
-**Step 6:** Set the Global configuration in the `Global.asax` file:
-
-```
- System.Web.Http.GlobalConfiguration.Configuration.Routes.MapHttpRoute(
- name: "DefaultApi",
- routeTemplate: "api/{controller}/{action}/{id}",
- defaults: new { id = RouteParameter.Optional });
- AppDomain.CurrentDomain.SetData("SQLServerCompactEditionUnderWebHosting", true);
-```
-
-Download the sample to create PDF Viewer web service [here](https://www.syncfusion.com/downloads/support/directtrac/general/ze/MvcWebService587924662.zip)
\ No newline at end of file
diff --git a/ej2-javascript/pdfviewer/how-to/custom-context-menu-js.md b/ej2-javascript/pdfviewer/how-to/custom-context-menu-js.md
deleted file mode 100644
index 34e5684bf..000000000
--- a/ej2-javascript/pdfviewer/how-to/custom-context-menu-js.md
+++ /dev/null
@@ -1,281 +0,0 @@
----
-layout: post
-title: Customize context menu in ##Platform_Name## PDF Viewer control | Syncfusion
-description: Learn here all about Customize context menu in Syncfusion ##Platform_Name## PDF Viewer control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: PDF Viewer
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Customize context menu in ##Platform_Name## Pdfviewer control
-
-PDF Viewer allows you to add custom option in context menu. It can be achieved by using the [addCustomMenu()](https://helpej2.syncfusion.com/documentation/api/pdfviewer/#addcustommenu) method and custom action is defined using the [customContextMenuSelect()](https://helpej2.syncfusion.com/documentation/api/pdfviewer/#customcontextmenuselect)method.
-
-### Add Custom Option
-
-The following code shows how to add custom option in context menu.
-
-```js
-var pdfviewer = new ej.pdfviewer.PdfViewer({
- documentPath: 'https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf',
- resourceUrl:'https://cdn.syncfusion.com/ej2/24.2.3/dist/ej2-pdfviewer-lib'
-});
-ej.pdfviewer.PdfViewer.Inject(ej.pdfviewer.TextSelection, ej.pdfviewer.TextSearch, ej.pdfviewer.Print, ej.pdfviewer.Navigation, ej.pdfviewer.Toolbar, ej.pdfviewer.Magnification, ej.pdfviewer.Annotation, ej.pdfviewer.FormDesigner, ej.pdfviewer.FormFields,ej.pdfviewer.PageOrganizer);
-
-var menuItems = [
- {
- text: 'Search In Google',
- id: 'search_in_google',
- iconCss: 'e-icons e-search'
- },
- {
- text: 'Lock Annotation',
- iconCss: 'e-icons e-lock',
- id: 'lock_annotation'
- },
- {
- text: 'Unlock Annotation',
- iconCss: 'e-icons e-unlock',
- id: 'unlock_annotation'
- },
- {
- text: 'Lock Form Field',
- iconCss: 'e-icons e-lock',
- id: 'read_only_true'
- },
- {
- text: 'UnLock Form Field',
- iconCss: 'e-icons e-unlock',
- id: 'read_only_false'
- },
-];
-
-pdfviewer.appendTo('#PdfViewer');
-
-pdfviewer.documentLoad = function (args) {
- pdfviewer.addCustomMenu(menuItems, false, false);
-}
-```
-
-### Customize custom option in context menu
-
-The PDF Viewer feature enables customization of custom options and the ability to toggle the display of the default context menu. When the addCustomMenu parameter is set to `true`, the default menu is hidden; conversely, when it is set to `false`, the default menu items are displayed.
-
-```js
-var pdfviewer = new ej.pdfviewer.PdfViewer({
- documentPath: 'https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf',
- resourceUrl:'https://cdn.syncfusion.com/ej2/24.2.3/dist/ej2-pdfviewer-lib'
-});
-ej.pdfviewer.PdfViewer.Inject(ej.pdfviewer.TextSelection, ej.pdfviewer.TextSearch, ej.pdfviewer.Print, ej.pdfviewer.Navigation, ej.pdfviewer.Toolbar, ej.pdfviewer.Magnification, ej.pdfviewer.Annotation, ej.pdfviewer.FormDesigner, ej.pdfviewer.FormFields,ej.pdfviewer.PageOrganizer);
-
-var menuItems = [
- {
- text: 'Search In Google',
- id: 'search_in_google',
- iconCss: 'e-icons e-search'
- },
- {
- text: 'Lock Annotation',
- iconCss: 'e-icons e-lock',
- id: 'lock_annotation'
- },
- {
- text: 'Unlock Annotation',
- iconCss: 'e-icons e-unlock',
- id: 'unlock_annotation'
- },
- {
- text: 'Lock Form Field',
- iconCss: 'e-icons e-lock',
- id: 'read_only_true'
- },
- {
- text: 'UnLock Form Field',
- iconCss: 'e-icons e-unlock',
- id: 'read_only_false'
- },
-];
-
-pdfviewer.appendTo('#PdfViewer');
-
-pdfviewer.documentLoad = function (args) {
- pdfviewer.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()](https://helpej2.syncfusion.com/documentation/api/pdfviewer/#customcontextmenubeforeopen) method.
-
-```js
-var pdfviewer = new ej.pdfviewer.PdfViewer({
- documentPath: 'https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf',
- resourceUrl:'https://cdn.syncfusion.com/ej2/24.2.3/dist/ej2-pdfviewer-lib'
-});
-ej.pdfviewer.PdfViewer.Inject(ej.pdfviewer.TextSelection, ej.pdfviewer.TextSearch, ej.pdfviewer.Print, ej.pdfviewer.Navigation, ej.pdfviewer.Toolbar, ej.pdfviewer.Magnification, ej.pdfviewer.Annotation, ej.pdfviewer.FormDesigner, ej.pdfviewer.FormFields,ej.pdfviewer.PageOrganizer);
-
-var menuItems = [
- {
- text: 'Search In Google',
- id: 'search_in_google',
- iconCss: 'e-icons e-search'
- },
- {
- text: 'Lock Annotation',
- iconCss: 'e-icons e-lock',
- id: 'lock_annotation'
- },
- {
- text: 'Unlock Annotation',
- iconCss: 'e-icons e-unlock',
- id: 'unlock_annotation'
- },
- {
- text: 'Lock Form Field',
- iconCss: 'e-icons e-lock',
- id: 'read_only_true'
- },
- {
- text: 'UnLock Form Field',
- iconCss: 'e-icons e-unlock',
- id: 'read_only_false'
- },
-];
-
-pdfviewer.appendTo('#PdfViewer');
-
-pdfviewer.documentLoad = function (args) {
- pdfviewer.addCustomMenu(menuItems, false, false);
-}
-
-pdfviewer.customContextMenuSelect = function (args) {
- switch (args.id) {
- case 'search_in_google':
- for (var i = 0; i < pdfviewer.textSelectionModule.selectionRangeArray.length; i++) {
- var content = pdfviewer.textSelectionModule.selectionRangeArray[i].textContent;
- if ((pdfviewer.textSelectionModule.isTextSelection) && (/\S/.test(content))) {
- window.open('http://google.com/search?q=' + content);
- }
- }
- break;
- case 'lock_annotation':
- lockAnnotations(args);
- break;
- case 'unlock_annotation':
- unlockAnnotations(args);
- break;
- case 'read_only_true':
- setReadOnlyTrue(args);
- break;
- case 'read_only_false':
- setReadOnlyFalse(args);
- break;
- case 'formfield properties':
- break;
- default:
- break;
- }
-};
-
-pdfviewer.customContextMenuBeforeOpen = function (args) {
- for (var i = 0; i < args.ids.length; i++) {
- var search = document.getElementById(args.ids[i]);
- if (search) {
- search.style.display = 'none';
- if (args.ids[i] === 'search_in_google' && (pdfviewer.textSelectionModule) && pdfviewer.textSelectionModule.isTextSelection) {
- search.style.display = 'block';
- } else if (args.ids[i] === "lock_annotation" || args.ids[i] === "unlock_annotation") {
- var isLockOption = args.ids[i] === "lock_annotation";
- for (var j = 0; j < pdfviewer.selectedItems.annotations.length; j++) {
- var selectedAnnotation = pdfviewer.selectedItems.annotations[j];
- if (selectedAnnotation && selectedAnnotation.annotationSettings) {
- var shouldDisplay = (isLockOption && !selectedAnnotation.annotationSettings.isLock) ||
- (!isLockOption && selectedAnnotation.annotationSettings.isLock);
- search.style.display = shouldDisplay ? 'block' : 'none';
- }
- }
- } else if ((args.ids[i] === "read_only_true" || args.ids[i] === "read_only_false") && pdfviewer.selectedItems.formFields.length !== 0) {
- var isReadOnlyOption = args.ids[i] === "read_only_true";
- for (var k = 0; k < pdfviewer.selectedItems.formFields.length; k++) {
- var selectedFormFields = pdfviewer.selectedItems.formFields[k];
- if (selectedFormFields) {
- var selectedFormField = pdfviewer.selectedItems.formFields[k].isReadonly;
- var displayMenu = (isReadOnlyOption && !selectedFormField) || (!isReadOnlyOption && selectedFormField);
- search.style.display = displayMenu ? 'block' : 'none';
- }
- }
- } else if (args.ids[i] === 'formfield properties' && pdfviewer.selectedItems.formFields.length !== 0) {
- search.style.display = 'block';
- }
- }
- }
-};
-
-function lockAnnotations(args) {
- for (var i = 0; i < pdfviewer.annotationCollection.length; i++) {
- if (pdfviewer.annotationCollection[i].uniqueKey === pdfviewer.selectedItems.annotations[0].id) {
- pdfviewer.annotationCollection[i].annotationSettings.isLock = true;
- pdfviewer.annotationCollection[i].isCommentLock = true;
- pdfviewer.annotation.editAnnotation(pdfviewer.annotationCollection[i]);
- }
- args.cancel = false;
- }
-}
-
-function unlockAnnotations(args) {
- for (var i = 0; i < pdfviewer.annotationCollection.length; i++) {
- if (pdfviewer.annotationCollection[i].uniqueKey === pdfviewer.selectedItems.annotations[0].id) {
- pdfviewer.annotationCollection[i].annotationSettings.isLock = false;
- pdfviewer.annotationCollection[i].isCommentLock = false;
- pdfviewer.annotation.editAnnotation(pdfviewer.annotationCollection[i]);
- }
- args.cancel = false;
- }
-}
-
-function setReadOnlyTrue(args) {
- var selectedFormFields = pdfviewer.selectedItems.formFields;
- for (var i = 0; i < selectedFormFields.length; i++) {
- var selectFormFields = selectedFormFields[i];
- if (selectFormFields) {
- pdfviewer.formDesignerModule.updateFormField(selectFormFields, {
- isReadOnly: true,
- });
- }
- args.cancel = false;
- }
-}
-
-function setReadOnlyFalse(args) {
- var selectedFormFields = pdfviewer.selectedItems.formFields;
- for (var i = 0; i < selectedFormFields.length; i++) {
- var selectFormFields = selectedFormFields[i];
- if (selectFormFields) {
- pdfviewer.formDesignerModule.updateFormField(selectFormFields, {
- isReadOnly: false,
- });
- }
- args.cancel = false;
- }
-}
-```
-The following is the output of custom context menu with customization.
-
-{% tabs %}
-{% highlight ts tabtitle="index.js" %}
-{% include code-snippet/pdfviewer/custom-context-menu/index.js %}
-{% endhighlight %}
-{% highlight html tabtitle="index.html" %}
-{% include code-snippet/pdfviewer/custom-context-menu/index.html %}
-{% endhighlight %}
-{% endtabs %}
-
-N> To set up the **server-backed PDF Viewer**,
-Add the below [serviceUrl](https://helpej2.syncfusion.com/documentation/api/pdfviewer/#serviceurl) in the `index.ts` file
-`pdfviewer.serviceUrl = 'https://services.syncfusion.com/js/production/api/pdfviewer';`
-
-{% previewsample "page.domainurl/code-snippet/pdfviewer/custom-context-menu" %}
-
-[View sample in GitHub](https://github.com/SyncfusionExamples/javascript-pdf-viewer-examples/tree/master/How%20to/Custom%20Context%20Menu)
\ No newline at end of file
diff --git a/ej2-javascript/pdfviewer/how-to/custom-context-menu.md b/ej2-javascript/pdfviewer/how-to/custom-context-menu.md
deleted file mode 100644
index 0c565f470..000000000
--- a/ej2-javascript/pdfviewer/how-to/custom-context-menu.md
+++ /dev/null
@@ -1,296 +0,0 @@
----
-layout: post
-title: Custom context menu in ##Platform_Name## PDF Viewer control | Syncfusion
-description: Learn here all about Custom context menu in Syncfusion ##Platform_Name## PDF Viewer control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: PDF Viewer
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Custom context menu in ##Platform_Name## Pdfviewer control
-
-PDF Viewer allows you to add custom option in context menu. It can be achieved by using the [addCustomMenu()](https://helpej2.syncfusion.com/documentation/api/pdfviewer/#addcustommenu) method and custom action is defined using the [customContextMenuSelect()](https://helpej2.syncfusion.com/documentation/api/pdfviewer/#customcontextMenuselect)method.
-
-### Add Custom Option
-
-The following code shows how to add custom option in context menu.
-
-```ts
- let viewer: PdfViewer = new PdfViewer();
- viewer.documentPath = "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf";
- viewer.resourceUrl = "https://cdn.syncfusion.com/ej2/23.2.6/dist/ej2-pdfviewer-lib";
- var menuItems: MenuItemModel[] = [
- {
- text: 'Search In Google',
- id: 'search_in_google',
- iconCss: 'e-icons e-search'
- },
- {
- text: 'Lock Annotation',
- iconCss: 'e-icons e-lock',
- id: 'lock_annotation'
- },
- {
- text: 'Unlock Annotation',
- iconCss: 'e-icons e-unlock',
- id: 'unlock_annotation'
- },
- {
- text: 'Lock Form Field',
- iconCss: 'e-icons e-lock',
- id: 'read_only_true'
- },
- {
- text: 'Unlock Form Field',
- iconCss: 'e-icons e-unlock',
- id: 'read_only_false'
- },
- ];
-
- viewer.documentLoad = function (args) {
- viewer.addCustomMenu(menuItems, true);
- }
-
- viewer.customContextMenuSelect = function (args) {
- switch (args.id) {
- case 'search_in_google':
- for (var i = 0; i < viewer.textSelectionModule.selectionRangeArray.length; i++) {
- var content = viewer.textSelectionModule.selectionRangeArray[i].textContent;
- if ((viewer.textSelectionModule.isTextSelection) && (/\S/.test(content))) {
- window.open('http://google.com/search?q=' + content);
- }
- }
- break;
- case 'lock_annotation':
- lockAnnotations(args);
- break;
- case 'unlock_annotation':
- unlockAnnotations(args);
- break;
- case 'read_only_true':
- setReadOnlyTrue(args);
- break;
- case 'read_only_false':
- setReadOnlyFalse(args);
- break;
- case 'formfield properties':
- break;
- default:
- break;
- }
- };
-```
-
-### Customize custom option in context menu
-
-The PDF Viewer feature enables customization of custom options and the ability to toggle the display of the default context menu. When the addCustomMenu parameter is set to `true`, the default menu is hidden; conversely, when it is set to `false`, the default menu items are displayed.
-
-```ts
-
- let viewer: PdfViewer = new PdfViewer();
- viewer.documentPath = "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf";
- viewer.resourceUrl = "https://cdn.syncfusion.com/ej2/23.2.6/dist/ej2-pdfviewer-lib";
- var menuItems: MenuItemModel[] = [
- {
- text: 'Search In Google',
- id: 'search_in_google',
- iconCss: 'e-icons e-search'
- },
- {
- text: 'Lock Annotation',
- iconCss: 'e-icons e-lock',
- id: 'lock_annotation'
- },
- {
- text: 'Unlock Annotation',
- iconCss: 'e-icons e-unlock',
- id: 'unlock_annotation'
- },
- {
- text: 'Lock Form Field',
- iconCss: 'e-icons e-lock',
- id: 'read_only_true'
- },
- {
- text: 'Unlock Form Field',
- iconCss: 'e-icons e-unlock',
- id: 'read_only_false'
- },
- ];
-
- viewer.documentLoad = function (args) {
- viewer.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()](https://helpej2.syncfusion.com/documentation/api/pdfviewer/#customcontextMenubeforeopen) method.
-
-```ts
-
- let viewer: PdfViewer = new PdfViewer();
- viewer.documentPath = "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf";
- viewer.resourceUrl = "https://cdn.syncfusion.com/ej2/23.2.6/dist/ej2-pdfviewer-lib";
- var menuItems: MenuItemModel[] = [
- {
- text: 'Search In Google',
- id: 'search_in_google',
- iconCss: 'e-icons e-search'
- },
- {
- text: 'Lock Annotation',
- iconCss: 'e-icons e-lock',
- id: 'lock_annotation'
- },
- {
- text: 'Unlock Annotation',
- iconCss: 'e-icons e-unlock',
- id: 'unlock_annotation'
- },
- {
- text: 'Lock Form Field',
- iconCss: 'e-icons e-lock',
- id: 'read_only_true'
- },
- {
- text: 'Unlock Form Field',
- iconCss: 'e-icons e-unlock',
- id: 'read_only_false'
- },
- ];
-
-viewer.documentLoad = function (args) {
- viewer.addCustomMenu(menuItems, false, false);
-}
-
-viewer.customContextMenuSelect = function (args) {
- switch (args.id) {
- case 'search_in_google':
- for (var i = 0; i < viewer.textSelectionModule.selectionRangeArray.length; i++) {
- var content = viewer.textSelectionModule.selectionRangeArray[i].textContent;
- if ((viewer.textSelectionModule.isTextSelection) && (/\S/.test(content))) {
- window.open('http://google.com/search?q=' + content);
- }
- }
- break;
- case 'lock_annotation':
- lockAnnotations(args);
- break;
- case 'unlock_annotation':
- unlockAnnotations(args);
- break;
- case 'read_only_true':
- setReadOnlyTrue(args);
- break;
- case 'read_only_false':
- setReadOnlyFalse(args);
- break;
- case 'formfield properties':
- break;
- default:
- break;
- }
-};
-
-viewer.customContextMenuBeforeOpen = function (args) {
- for (var i = 0; i < args.ids.length; i++) {
- var search = document.getElementById(args.ids[i]);
- if (search) {
- search.style.display = 'none';
- if (args.ids[i] === 'search_in_google' && (viewer.textSelectionModule) && viewer.textSelectionModule.isTextSelection) {
- search.style.display = 'block';
- } else if (args.ids[i] === "lock_annotation" || args.ids[i] === "unlock_annotation") {
- var isLockOption = args.ids[i] === "lock_annotation";
- for (var j = 0; j < viewer.selectedItems.annotations.length; j++) {
- var selectedAnnotation = viewer.selectedItems.annotations[j];
- if (selectedAnnotation && selectedAnnotation.annotationSettings) {
- var shouldDisplay = (isLockOption && !selectedAnnotation.annotationSettings.isLock) ||
- (!isLockOption && selectedAnnotation.annotationSettings.isLock);
- search.style.display = shouldDisplay ? 'block' : 'none';
- }
- }
- } else if ((args.ids[i] === "read_only_true" || args.ids[i] === "read_only_false") && viewer.selectedItems.formFields.length !== 0) {
- var isReadOnlyOption = args.ids[i] === "read_only_true";
- for (var k = 0; k < viewer.selectedItems.formFields.length; k++) {
- var selectedFormFields = viewer.selectedItems.formFields[k];
- if (selectedFormFields) {
- var selectedFormField = viewer.selectedItems.formFields[k].isReadonly;
- var displayMenu = (isReadOnlyOption && !selectedFormField) || (!isReadOnlyOption && selectedFormField);
- search.style.display = displayMenu ? 'block' : 'none';
- }
- }
- } else if (args.ids[i] === 'formfield properties' && viewer.selectedItems.formFields.length !== 0) {
- search.style.display = 'block';
- }
- }
- }
-};
-
-function lockAnnotations(args) {
- for (var i = 0; i < viewer.annotationCollection.length; i++) {
- if (viewer.annotationCollection[i].uniqueKey === viewer.selectedItems.annotations[0].id) {
- viewer.annotationCollection[i].annotationSettings.isLock = true;
- viewer.annotationCollection[i].isCommentLock = true;
- viewer.annotation.editAnnotation(viewer.annotationCollection[i]);
- }
- args.cancel = false;
- }
-}
-
-function unlockAnnotations(args) {
- for (var i = 0; i < viewer.annotationCollection.length; i++) {
- if (viewer.annotationCollection[i].uniqueKey === viewer.selectedItems.annotations[0].id) {
- viewer.annotationCollection[i].annotationSettings.isLock = false;
- viewer.annotationCollection[i].isCommentLock = false;
- viewer.annotation.editAnnotation(viewer.annotationCollection[i]);
- }
- args.cancel = false;
- }
-}
-
-function setReadOnlyTrue(args) {
- var selectedFormFields = viewer.selectedItems.formFields;
- for (var i = 0; i < selectedFormFields.length; i++) {
- var selectFormFields = selectedFormFields[i];
- if (selectFormFields) {
- viewer.formDesignerModule.updateFormField(selectFormFields, {
- isReadOnly: true,
- });
- }
- args.cancel = false;
- }
-}
-
-function setReadOnlyFalse(args) {
- var selectedFormFields = viewer.selectedItems.formFields;
- for (var i = 0; i < selectedFormFields.length; i++) {
- var selectFormFields = selectedFormFields[i];
- if (selectFormFields) {
- viewer.formDesignerModule.updateFormField(selectFormFields, {
- isReadOnly: false,
- });
- }
- args.cancel = false;
- }
-}
-```
-The following is the output of custom context menu with customization.
-
-{% tabs %}
-{% highlight ts tabtitle="index.ts" %}
-{% include code-snippet/pdfviewer/custom-context-menu/index.ts %}
-{% endhighlight %}
-{% highlight html tabtitle="index.html" %}
-{% include code-snippet/pdfviewer/custom-context-menu/index.html %}
-{% endhighlight %}
-{% endtabs %}
-
-N> To set up the **server-backed PDF Viewer**,
-Add the below [serviceUrl](https://helpej2.syncfusion.com/documentation/api/pdfviewer/#serviceurl) in the `index.ts` file
-`viewer.serviceUrl = 'https://services.syncfusion.com/js/production/api/pdfviewer';`
-
-{% previewsample "page.domainurl/code-snippet/pdfviewer/custom-context-menu" %}
\ No newline at end of file
diff --git a/ej2-javascript/pdfviewer/how-to/custom-font-signature-field-js.md b/ej2-javascript/pdfviewer/how-to/custom-font-signature-field-js.md
deleted file mode 100644
index 8ae1fe0f3..000000000
--- a/ej2-javascript/pdfviewer/how-to/custom-font-signature-field-js.md
+++ /dev/null
@@ -1,73 +0,0 @@
----
-layout: post
-title: How to change font family in Javascript Pdfviewer|Syncfusion.
-description: Learn how to change the font family in Form Field's Type Signature in Syncfusion Javascript Pdfviewer component of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: PDF Viewer
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# To Change the Font Family
-Change the Font Family in Type Signature of the Syncfusion PDF Viewer by adding a custom css stylesheet to the document , and then apply the desired font family to the type signature element. Include the Google font link in the HTML head section to apply the Google Font.
-
-### Signature Field property
-
-The Syncfusion PDF Viewer provides the ability to change the font family for Signature and Initial Field using `typeSignatureFont` and `typeInitialFonts` property.
-
-**Step 1:** Follow the steps provided in the [link](https://ej2.syncfusion.com/documentation/pdfviewer/getting-started) to create a simple PDF Viewer sample.
-
-**Step 2:** Insert the following code snippet to implement the functionality for using custom fonts in Signature field.
-
-{% tabs %}
-{% highlight ts tabtitle="Standalone" %}
-```html
-
-
-
-
-```
-
-var pdfviewer = new ej.pdfviewer.PdfViewer({
- documentPath: "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf",
- SignatureFieldSettings.typeSignatureFonts : [
- 'Allura',
- 'Tangerine',
- 'Sacramento',
- 'Inspiration',
- ];
- });
-ej.pdfviewer.PdfViewer.Inject(ej.pdfviewer.TextSelection, ej.pdfviewer.TextSearch, ej.pdfviewer.Print, ej.pdfviewer.Navigation, ej.pdfviewer.Toolbar, ej.pdfviewer.Magnification, ej.pdfviewer.Annotation, ej.pdfviewer.FormDesigner, ej.pdfviewer.FormFields, ej.pdfviewer.PageOrganizer);
-pdfviewer.appendTo('#PdfViewer');
-
-{% endhighlight %}
-{% endtabs %}
-### Initial Field property
-
-Insert the following code snippet to implement the functionality for using custom fonts in Initial field.
-
-{% tabs %}
-{% highlight ts tabtitle="Standalone" %}
-
-```html
-
-
-
-
-```
-
-var pdfviewer = new ej.pdfviewer.PdfViewer({
- documentPath: "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf",
- InitialFieldSettings.typeInitialFonts : [
- 'Allura',
- 'Tangerine',
- 'Sacramento',
- 'Inspiration',];
- });
-ej.pdfviewer.PdfViewer.Inject(ej.pdfviewer.TextSelection, ej.pdfviewer.TextSearch, ej.pdfviewer.Print, ej.pdfviewer.Navigation, ej.pdfviewer.Toolbar, ej.pdfviewer.Magnification, ej.pdfviewer.Annotation, ej.pdfviewer.FormDesigner, ej.pdfviewer.FormFields, ej.pdfviewer.PageOrganizer);
-pdfviewer.appendTo('#PdfViewer');
-
-{% endhighlight %}
-{% endtabs %}
-
-By implementing this , you can use custom fonts in form field's signature in both `signature` and `initial` field
diff --git a/ej2-javascript/pdfviewer/how-to/custom-font-signature-field-ts.md b/ej2-javascript/pdfviewer/how-to/custom-font-signature-field-ts.md
deleted file mode 100644
index 8e732639d..000000000
--- a/ej2-javascript/pdfviewer/how-to/custom-font-signature-field-ts.md
+++ /dev/null
@@ -1,69 +0,0 @@
----
-layout: post
-title: How to change font family in Typescript Pdfviewer|Syncfusion.
-description: Learn how to change the font family in Form Field's Type Signature in Syncfusion Javascript Pdfviewer component of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: PDF Viewer
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# To Change the Font Family
-Change the Font Family in Type Signature of the Syncfusion PDF Viewer by adding a custom css stylesheet to the document , and then apply the desired font family to the type signature element. Include the Google font link in the HTML head section to apply the Google Font.
-
-### Signature Field property
-The Syncfusion PDF Viewer provides the ability to change the font family for Signature and Initial Field using `typeSignatureFonts` and `typeInitialFonts` property.
-
-**Step 1:** Follow the steps provided in the [link](https://ej2.syncfusion.com/documentation/pdfviewer/getting-started) to create a simple PDF Viewer sample.
-
-**Step 2:** Insert the following code snippet to implement the functionality for using custom fonts in Signature field.
-
-{% tabs %}
-{% highlight ts tabtitle="Standalone" %}
-
-```html
-
-
-
-
-```
-
-```ts
-import { PdfViewer, Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, TextSearch, FormFields, FormDesigner, PageOrganizer} from '@syncfusion/ej2-pdfviewer';
-PdfViewer.Inject(Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, TextSearch, FormFields, FormDesigner, PageOrganizer);
-let pdfviewer: PdfViewer = new PdfViewer();
-pdfviewer.documentPath = "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf";
-let fonts=['Allura','Tangerine','Sacramento','Inspiration'];
-pdfviewer.SignatureFieldSettings.typeSignatureFonts = fonts;
-pdfviewer.appendTo('#PdfViewer');
-```
-
-{% endhighlight %}
-{% endtabs %}
-
-### Initial Field property
-Insert the following code snippet to implement the functionality for using custom fonts in Initial field.
-
-{% tabs %}
-{% highlight ts tabtitle="Standalone" %}
-
-```html
-
-
-
-
-```
-
-```ts
-import { PdfViewer, Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, TextSearch, FormFields, FormDesigner, PageOrganizer} from '@syncfusion/ej2-pdfviewer';
-PdfViewer.Inject(Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, TextSearch, FormFields, FormDesigner, PageOrganizer);
-let pdfviewer: PdfViewer = new PdfViewer();
-pdfviewer.documentPath = "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf";
-let fonts=['Allura','Tangerine','Sacramento','Inspiration'];
-pdfviewer.InitialFieldSettings.typeInitialFonts = fonts;
-pdfviewer.appendTo('#PdfViewer');
-```
-
-{% endhighlight %}
-{% endtabs %}
-By implementing this , you can use custom fonts in form field's signature in both `signature` and `initial` field.
diff --git a/ej2-javascript/pdfviewer/how-to/custom-fonts-ts.md b/ej2-javascript/pdfviewer/how-to/custom-fonts-ts.md
deleted file mode 100644
index e406c23c8..000000000
--- a/ej2-javascript/pdfviewer/how-to/custom-fonts-ts.md
+++ /dev/null
@@ -1,51 +0,0 @@
----
-layout: post
-title: Add Custom fonts in ##Platform_Name## Pdfviewer control | Syncfusion
-description: Learn here all about how to add custom fonts using the PDF document in Syncfusion ##Platform_Name## Pdfviewer control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: PDF Viewer
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# How to add custom fonts to the PDF viewer used in the PDF document
-
-To use custom fonts in the Syncfusion PDF Viewer within your PDF document, you need to add the custom TTF font files to the resource URL directory and configure the viewer to load these fonts. You can specify the custom font names using the
-**customFonts** property, which accepts an array of font names.
-
-The following steps are used to customize the selection border.
-
-**Step 1:** Add the custom TTF font files to the resource URL path referenced in your application. For example, place the custom TTF files in the ej2-pdfviewer-lib folder, which will serve as the resource URL path.
-
-**Step 2:** The following code snippet are how you can add custom fonts to the PDF viewer.
-
-{% tabs %}
-{% highlight js tabtitle="Standalone" %}
-
-let viewer: PdfViewer = new PdfViewer();
-PdfViewer.Inject(ej.pdfviewer.TextSelection, ej.pdfviewer.TextSearch, ej.pdfviewer.Print, ej.pdfviewer.Navigation, ej.pdfviewer.Toolbar,ej.pdfviewer.Magnification, ej.pdfviewer.Annotation, ej.pdfviewer.FormDesigner, ej.pdfviewer.FormFields);
-viewer.documentPath= 'https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf';
-viewer.resourceUrl:'https://cdn.syncfusion.com/ej2/24.1.41/dist/ej2-pdfviewer-lib';
-viewer.customFonts: ["arialbd.ttf", "arial.ttf", "BKANT.TTF", "calibri.ttf", "GARA.TTF", "GARAIT.TTF", "msgothic.ttc", "trebuc.ttf", "wingding.ttf"];
-
-//PDF Viewer control rendering starts
-pdfviewer.appendTo('#PdfViewer');
-
-{% endhighlight %}
-{% highlight js tabtitle="Server-Backed" %}
-
-let viewer: PdfViewer = new PdfViewer();
-PdfViewer.Inject(ej.pdfviewer.TextSelection, ej.pdfviewer.TextSearch, ej.pdfviewer.Print, ej.pdfviewer.Navigation, ej.pdfviewer.Toolbar,ej.pdfviewer.Magnification, ej.pdfviewer.Annotation, ej.pdfviewer.FormDesigner, ej.pdfviewer.FormFields);
-viewer.documentPath= 'https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf';
-viewer.serviceUrl: 'https://services.syncfusion.com/js/production/api/pdfviewer';
-viewer.customFonts: ["arialbd.ttf", "arial.ttf", "BKANT.TTF", "calibri.ttf", "GARA.TTF", "GARAIT.TTF", "msgothic.ttc", "trebuc.ttf", "wingding.ttf"];
-
-
-//PDF Viewer control rendering starts
-pdfviewer.appendTo('#PdfViewer');
-
-{% endhighlight %}
-{% endtabs %}
-
-By following these steps, you can successfully integrate and use custom fonts in your PDF documents displayed in the EJ2 PDF Viewer.
\ No newline at end of file
diff --git a/ej2-javascript/pdfviewer/how-to/custom-fonts.md b/ej2-javascript/pdfviewer/how-to/custom-fonts.md
deleted file mode 100644
index ab2df424f..000000000
--- a/ej2-javascript/pdfviewer/how-to/custom-fonts.md
+++ /dev/null
@@ -1,52 +0,0 @@
----
-layout: post
-title: Add Custom fonts in ##Platform_Name## Pdfviewer control | Syncfusion
-description: Learn here all about how to add custom fonts using the PDF document in Syncfusion ##Platform_Name## Pdfviewer control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: PDF Viewer
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# How to add custom fonts to the PDF viewer used in the PDF document
-
-To use custom fonts in the Syncfusion PDF Viewer within your PDF document, you need to add the custom TTF font files to the resource URL directory and configure the viewer to load these fonts. You can specify the custom font names using the
-**customFonts** property, which accepts an array of font names.
-
-The following steps are used to customize the selection border.
-
-**Step 1:** Add the custom TTF font files to the resource URL path referenced in your application. For example, place the custom TTF files in the ej2-pdfviewer-lib folder, which will serve as the resource URL path.
-
-**Step 2:** The following code snippet are how you can add custom fonts to the PDF viewer.
-
-{% tabs %}
-{% highlight js tabtitle="Standalone" %}
-
-var pdfviewer = new ej.pdfviewer.PdfViewer({
- documentPath:'https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf',
- resourceUrl:'https://cdn.syncfusion.com/ej2/24.1.41/dist/ej2-pdfviewer-lib',
- customFonts: ["arialbd.ttf", "arial.ttf", "BKANT.TTF", "calibri.ttf", "GARA.TTF", "GARAIT.TTF", "msgothic.ttc", "trebuc.ttf", "wingding.ttf"]
- });
-ej.pdfviewer.PdfViewer.Inject(ej.pdfviewer.TextSelection, ej.pdfviewer.TextSearch, ej.pdfviewer.Print, ej.pdfviewer.Navigation, ej.pdfviewer.Toolbar,ej.pdfviewer.Magnification, ej.pdfviewer.Annotation, ej.pdfviewer.FormDesigner, ej.pdfviewer.FormFields);
-
-//PDF Viewer control rendering starts
-pdfviewer.appendTo('#PdfViewer');
-
-{% endhighlight %}
-{% highlight js tabtitle="Server-Backed" %}
-
-var pdfviewer = new ej.pdfviewer.PdfViewer({
- documentPath:'https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf',
- serviceUrl: 'https://services.syncfusion.com/js/production/api/pdfviewer',
- customFonts: ["arialbd.ttf", "arial.ttf", "BKANT.TTF", "calibri.ttf", "GARA.TTF", "GARAIT.TTF", "msgothic.ttc", "trebuc.ttf", "wingding.ttf"]
- });
-ej.pdfviewer.PdfViewer.Inject(ej.pdfviewer.TextSelection, ej.pdfviewer.TextSearch, ej.pdfviewer.Print, ej.pdfviewer.Navigation, ej.pdfviewer.Toolbar,ej.pdfviewer.Magnification, ej.pdfviewer.Annotation, ej.pdfviewer.FormDesigner, ej.pdfviewer.FormFields);
-
-//PDF Viewer control rendering starts
-pdfviewer.appendTo('#PdfViewer');
-
-{% endhighlight %}
-{% endtabs %}
-
-By following these steps, you can successfully integrate and use custom fonts in your PDF documents displayed in the EJ2 PDF Viewer.
\ No newline at end of file
diff --git a/ej2-javascript/pdfviewer/how-to/customize-text-search-color.md b/ej2-javascript/pdfviewer/how-to/customize-text-search-color.md
deleted file mode 100644
index c03117cab..000000000
--- a/ej2-javascript/pdfviewer/how-to/customize-text-search-color.md
+++ /dev/null
@@ -1,70 +0,0 @@
----
-layout: post
-title: Customize text search color in ##Platform_Name## Pdfviewer control | Syncfusion
-description: Learn here all about Customize text search color in Syncfusion ##Platform_Name## Pdfviewer control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: Customize text search color
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Customize text search color in ##Platform_Name## Pdfviewer control
-
-To change the text search color in the Syncfusion PDF viewer, you can use the **searchColor** property of the searchModule object. This property accepts a string value that represents the color in hexadecimal format.
-
-```ts
-
-viewer.textSearchColorSettings.searchColor = "#FF0000";
-
-```
-
-This will set the text search color to red. You can use any valid hexadecimal color code to set the text search color to the desired color.
-
-You can also use the **searchHighlightColor** property of the searchModule object to change the highlight color of the search results. This property also accepts a string value in hexadecimal format.
-
-```ts
-
-viewer.textSearchColorSettings.searchHighlightColor = "#0000FF";
-
-```
-
-This will set the highlight color of the search results to blue.
-
-* [**searchColor**](https://ej2.syncfusion.com/documentation/api/pdfviewer/textSearchColorSettings/#searchcolor)
-* [**searchHighlightColor**](https://ej2.syncfusion.com/documentation/api/pdfviewer/textSearchColorSettings/#searchhighlightcolor)
-
-Here is an example of how you can use the searchHighlightColor property and searchColor property:
-
-```
-
-
-
-
-
-
-```
-
-```ts
-
-viewer.enableTextSearch = true;
-// customize the textSeach color
-viewer.textSearchColorSettings.searchColor = "#FF0000";
-// customize the highlight color of the search results
-viewer.textSearchColorSettings.searchHighlightColor = "#0000FF";
-document.getElementById("search").addEventListener("click", () => {
- viewer.textSearchModule.searchText("pdf", false);
-});
-document.getElementById("searchNext").addEventListener("click", () => {
- viewer.textSearchModule.searchNext();
-});
-document.getElementById("searchPervious").addEventListener("click", () => {
- viewer.textSearchModule.searchPrevious();
-});
-document.getElementById("searchCancel").addEventListener("click", () => {
- viewer.textSearchModule.cancelTextSearch();
-});
-
-```
-
-Find the sample [how to customize the text search color](https://stackblitz.com/edit/typescript-oft4zw?file=index.ts)
\ No newline at end of file
diff --git a/ej2-javascript/pdfviewer/how-to/customize-text-search-colors.md b/ej2-javascript/pdfviewer/how-to/customize-text-search-colors.md
deleted file mode 100644
index 4546433d7..000000000
--- a/ej2-javascript/pdfviewer/how-to/customize-text-search-colors.md
+++ /dev/null
@@ -1,70 +0,0 @@
----
-layout: post
-title: Customize text search colors in ##Platform_Name## Pdfviewer control | Syncfusion
-description: Learn here all about Customize text search colors in Syncfusion ##Platform_Name## Pdfviewer control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: Customize text search colors
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Customize text search colors in ##Platform_Name## Pdfviewer control
-
-To change the text search color in the Syncfusion PDF viewer, you can use the **searchColor** property of the searchModule object. This property accepts a string value that represents the color in hexadecimal format.
-
-```javascript
-
-viewer.textSearchColorSettings.searchColor = "#FF0000";
-
-```
-
-This will set the text search color to red. You can use any valid hexadecimal color code to set the text search color to the desired color.
-
-You can also use the **searchHighlightColor** property of the searchModule object to change the highlight color of the search results. This property also accepts a string value in hexadecimal format.
-
-```javascript
-
-viewer.textSearchColorSettings.searchHighlightColor = "#0000FF";
-
-```
-
-This will set the highlight color of the search results to blue.
-
-* [**searchColor**](https://ej2.syncfusion.com/javascript/documentation/api/pdfviewer/textSearchColorSettings/#searchcolor)
-* [**searchHighlightColor**](https://ej2.syncfusion.com/javascript/documentation/api/pdfviewer/textSearchColorSettings/#searchhighlightcolor)
-
-Here is an example of how you can use the searchHighlightColor property and searchColor property:
-
-```
-
-
-
-
-
-
-```
-
-```javascript
-
-viewer.enableTextSearch = true;
-// customize the textSeach color
-viewer.textSearchColorSettings.searchColor = "#FF0000";
-// customize the highlight color of the search results
-viewer.textSearchColorSettings.searchHighlightColor = "#0000FF";
-document.getElementById("search").addEventListener("click", () => {
- viewer.textSearchModule.searchText("pdf", false);
-});
-document.getElementById("searchNext").addEventListener("click", () => {
- viewer.textSearchModule.searchNext();
-});
-document.getElementById("searchPervious").addEventListener("click", () => {
- viewer.textSearchModule.searchPrevious();
-});
-document.getElementById("searchCancel").addEventListener("click", () => {
- viewer.textSearchModule.cancelTextSearch();
-});
-
-```
-
-Find the sample [how to customize the text search color](https://stackblitz.com/edit/js-q6nquw?file=index.js)
\ No newline at end of file
diff --git a/ej2-javascript/pdfviewer/how-to/delete-annotation.md b/ej2-javascript/pdfviewer/how-to/delete-annotation.md
deleted file mode 100644
index 832b5ace2..000000000
--- a/ej2-javascript/pdfviewer/how-to/delete-annotation.md
+++ /dev/null
@@ -1,35 +0,0 @@
----
-layout: post
-title: Delete annotation in ##Platform_Name## Pdfviewer control | Syncfusion
-description: Learn here all about Delete annotation in Syncfusion ##Platform_Name## Pdfviewer control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: Delete annotation
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Delete annotation in ##Platform_Name## Pdfviewer control
-
-The PDF Viewer library allows you to delete a specific annotation from a PDF document. Deleting a specific annotation can be done using the **deleteAnnotationById()** method. This method is used to delete a specific annotation using its id.
-
-The following steps are used to delete a specific annotation from PDF Document.
-
-**Step 1:** Follow the steps provided in the [link](https://ej2.syncfusion.com/documentation/pdfviewer/getting-started/) to create simple PDF Viewer sample.
-
-**Step 2:** Use the following code snippet to delete a specific annotation using `deleteAnnotationById()` method.
-
-```
-
-```
-
-```ts
-// Delete Annotation by ID.
-document.getElementById('deleteAnnotationbyId').addEventListener('click', () => {
- viewer.annotationModule.deleteAnnotationById(
- viewer.annotationCollection[0].annotationId
- );
- });
-```
-
-Find the sample [how to delete a specific annotation using deleteAnnotationById](https://stackblitz.com/edit/mcxfte?file=index.ts)
\ No newline at end of file
diff --git a/ej2-javascript/pdfviewer/how-to/delete-annotations.md b/ej2-javascript/pdfviewer/how-to/delete-annotations.md
deleted file mode 100644
index 1ba749bd4..000000000
--- a/ej2-javascript/pdfviewer/how-to/delete-annotations.md
+++ /dev/null
@@ -1,35 +0,0 @@
----
-layout: post
-title: Delete annotations in ##Platform_Name## Pdfviewer control | Syncfusion
-description: Learn here all about Delete annotations in Syncfusion ##Platform_Name## Pdfviewer control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: Delete annotations
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Delete annotations in ##Platform_Name## Pdfviewer control
-
-The PDF Viewer library allows you to delete a specific annotation from a PDF document. Deleting a specific annotation can be done using the **deleteAnnotationById()** method. This method is used to delete a specific annotation using its id.
-
-The following steps are used to delete a specific annotation from PDF Document.
-
-**Step 1:** Follow the steps provided in the [link](https://ej2.syncfusion.com/javascript/documentation/pdfviewer/getting-started/) to create simple PDF Viewer sample.
-
-**Step 2:** Use the following code snippet to delete a specific annotation using `deleteAnnotationById()` method.
-
-```
-
-```
-
-```javascript
-// Delete Annotation by ID.
-document.getElementById('deleteAnnotationbyId').addEventListener('click', () => {
- viewer.annotationModule.deleteAnnotationById(
- viewer.annotationCollection[0].annotationId
- );
- });
-```
-
-Find the sample [how to delete a specific annotation using deleteAnnotationById](https://stackblitz.com/edit/5ygaeq?file=index.js)
\ No newline at end of file
diff --git a/ej2-javascript/pdfviewer/how-to/disable-context-menu-option.md b/ej2-javascript/pdfviewer/how-to/disable-context-menu-option.md
deleted file mode 100644
index a33cbc6d7..000000000
--- a/ej2-javascript/pdfviewer/how-to/disable-context-menu-option.md
+++ /dev/null
@@ -1,35 +0,0 @@
----
-layout: post
-title: Disable context menu option in ##Platform_Name## Pdfviewer control | Syncfusion
-description: Learn here all about Disable context menu option in Syncfusion ##Platform_Name## Pdfviewer control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: Disable context menu option
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Disable context menu option in ##Platform_Name## Pdfviewer control
-
-To disable the context menu in the Syncfusion PDF viewer control, you can use the [**ContextMenuOption**](https://helpej2.syncfusion.com/documentation/api/pdfviewer/#contextmenuoption) property as `'None'` to hide all context menu options. Default value of the **ContextMenuOption** is `'RightClick'`.
-
-Here is an example of how you can use the **ContextMenuOption** to disable context menu in the PDF Viewer:
-
-```
-
-
-
-```
-
-```javascript
-
-// Disable ContextMenuOption
-document.getElementById('disable').addEventListener('click', ()=> {
- viewer.contextMenuOption = 'None';
-});
-
-```
-
-This will hide the context menu and prevent the user from right-clicking on the PDF viewer.
-
-Find the sample [how to disable context menu](https://stackblitz.com/edit/jlphem-uicunx?devtoolsheight=33&file=index.js)
\ No newline at end of file
diff --git a/ej2-javascript/pdfviewer/how-to/disable-context-menu.md b/ej2-javascript/pdfviewer/how-to/disable-context-menu.md
deleted file mode 100644
index 6f9e97b5c..000000000
--- a/ej2-javascript/pdfviewer/how-to/disable-context-menu.md
+++ /dev/null
@@ -1,35 +0,0 @@
----
-layout: post
-title: Disable context menu in ##Platform_Name## Pdfviewer control | Syncfusion
-description: Learn here all about Disable context menu in Syncfusion ##Platform_Name## Pdfviewer control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: Disable context menu
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Disable context menu in ##Platform_Name## Pdfviewer control
-
-To disable the context menu in the Syncfusion PDF viewer control, you can use the [**ContextMenuOption**](https://helpej2.syncfusion.com/documentation/api/pdfviewer/#contextmenuoption) property as `'None'` to hide all context menu options. Default value of the **ContextMenuOption** is `'RightClick'`.
-
-Here is an example of how you can use the **ContextMenuOption** to disable context menu in the PDF Viewer:
-
-```
-
-
-
-```
-
-```ts
-
-// Disable ContextMenuOption
-document.getElementById('disable').addEventListener('click', ()=> {
- viewer.contextMenuOption = 'None';
-});
-
-```
-
-This will hide the context menu and prevent the user from right-clicking on the PDF viewer.
-
-Find the sample [how to disable Context Menu](https://stackblitz.com/edit/e99te3-ha9bkx?devtoolsheight=33&file=index.ts)
\ No newline at end of file
diff --git a/ej2-javascript/pdfviewer/how-to/disable-tile-rendering.md b/ej2-javascript/pdfviewer/how-to/disable-tile-rendering.md
deleted file mode 100644
index d01f8675f..000000000
--- a/ej2-javascript/pdfviewer/how-to/disable-tile-rendering.md
+++ /dev/null
@@ -1,37 +0,0 @@
----
-layout: post
-title: Disable tile rendering in ##Platform_Name## Pdfviewer control | Syncfusion
-description: Learn here all about Disable tile rendering in Syncfusion ##Platform_Name## Pdfviewer control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: Disable tile rendering
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Disable tile rendering in ##Platform_Name## Pdfviewer control
-
-To disable the tile rendering feature in the Syncfusion PDF viewer control, you can use the **enableTileRendering** property. This property allows you to enable or disable the tile rendering feature, which is used to improve the performance of the PDF viewer when displaying large documents.
-
-To disable the tile rendering feature, you can set the **enableTileRendering** property to `false`.
-
-By default, the tile rendering feature is enabled in the PDF viewer. Disabling it may improve the performance of the PDF viewer when displaying small documents, but it may also reduce the performance when displaying large documents.
-
-Here is an example of how you can use the **enableTileRendering** property:
-
-```
-
-
-
-```
-
-```ts
-
-// Disable tile rendering.
-document.getElementById('disable').addEventListener('click', () => {
- viewer.tileRenderingSettings.enableTileRendering = false;
-});
-
-```
-
-Find the sample [how to disable the tile rendering](https://stackblitz.com/edit/vj1hf8-q8ayqc?file=index.ts)
\ No newline at end of file
diff --git a/ej2-javascript/pdfviewer/how-to/disable-tile-renderings.md b/ej2-javascript/pdfviewer/how-to/disable-tile-renderings.md
deleted file mode 100644
index 196567008..000000000
--- a/ej2-javascript/pdfviewer/how-to/disable-tile-renderings.md
+++ /dev/null
@@ -1,37 +0,0 @@
----
-layout: post
-title: Disable tile renderings in ##Platform_Name## Pdfviewer control | Syncfusion
-description: Learn here all about Disable tile renderings in Syncfusion ##Platform_Name## Pdfviewer control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: Disable tile renderings
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Disable tile renderings in ##Platform_Name## Pdfviewer control
-
-To disable the tile rendering feature in the Syncfusion PDF viewer control, you can use the **enableTileRendering** property. This property allows you to enable or disable the tile rendering feature, which is used to improve the performance of the PDF viewer when displaying large documents.
-
-To disable the tile rendering feature, you can set the **enableTileRendering** property to `false`.
-
-By default, the tile rendering feature is enabled in the PDF viewer. Disabling it may improve the performance of the PDF viewer when displaying small documents, but it may also reduce the performance when displaying large documents.
-
-Here is an example of how you can use the **enableTileRendering** property:
-
-```
-
-
-
-```
-
-```javascript
-
-// Disable tile rendering.
-document.getElementById('disable').addEventListener('click', () => {
- viewer.tileRenderingSettings.enableTileRendering = false;
-});
-
-```
-
-Find the sample [how to disable the tile rendering](https://stackblitz.com/edit/7fefpj-n7pyna?file=index.js)
\ No newline at end of file
diff --git a/ej2-javascript/pdfviewer/how-to/display-custom-tool-tip-for-annotation.md b/ej2-javascript/pdfviewer/how-to/display-custom-tool-tip-for-annotation.md
deleted file mode 100644
index 5ce092fe5..000000000
--- a/ej2-javascript/pdfviewer/how-to/display-custom-tool-tip-for-annotation.md
+++ /dev/null
@@ -1,42 +0,0 @@
----
-layout: post
-title: Display custom tool tip for annotation in ##Platform_Name## Pdfviewer control | Syncfusion
-description: Learn here all about Display custom tool tip for annotation in Syncfusion ##Platform_Name## Pdfviewer control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: Display custom tool tip for annotation
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Display custom tool tip for annotation in ##Platform_Name## Pdfviewer control
-
-To display a custom tooltip for annotations using the mouseover event in the Syncfusion PDF Viewer, you can use the [**annotationMouseover**](https://helpej2.syncfusion.com/documentation/api/pdfviewer/#annotationmouseover) and **annotationMouseLeave** events .
-
-Here is an example that demonstrates how to display a custom tooltip for annotations using the mouseover event in the Syncfusion PDF Viewer:
-
-```ts
-
-viewer.annotationSettings.author = "syncfusion";
-
-let tooltip: Tooltip = new Tooltip({
- mouseTrail: true,
- opensOn: "Custom"
-});
-
-viewer.annotationMouseOver = args => {
- tooltip.appendTo("#pdfViewer_pageDiv_" + (viewer.currentPageNumber - 1));
- tooltip.content = args.annotation.author;
- tooltip.open();
- let ele: any = document.getElementsByClassName("e-tooltip-wrap")[0];
- ele.style.top = args.Y + 100 + "px";
- ele.style.left = args.X + "px";
-};
-
-viewer.annotationMouseLeave = args => {
- tooltip.close();
-};
-
-```
-
-Find the sample [how to display custom tooltip for annotations using MouseOver event](https://stackblitz.com/edit/cervhy-s9fh48?file=index.ts)
\ No newline at end of file
diff --git a/ej2-javascript/pdfviewer/how-to/display-custom-tool-tip-for-annotations.md b/ej2-javascript/pdfviewer/how-to/display-custom-tool-tip-for-annotations.md
deleted file mode 100644
index 02d193445..000000000
--- a/ej2-javascript/pdfviewer/how-to/display-custom-tool-tip-for-annotations.md
+++ /dev/null
@@ -1,39 +0,0 @@
----
-layout: post
-title: Display custom tool tip for annotations in ##Platform_Name## Pdfviewer control | Syncfusion
-description: Learn here all about Display custom tool tip for annotations in Syncfusion ##Platform_Name## Pdfviewer control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: Display custom tool tip for annotations
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Display custom tool tip for annotations in ##Platform_Name## Pdfviewer control
-
-To display a custom tooltip for annotations using the mouseover event in the Syncfusion PDF Viewer, you can use the [**annotationMouseOver**](https://helpej2.syncfusion.com/documentation/api/pdfviewer/#annotationmouseover) and **annotationMouseLeave** events .
-
-Here is an example that demonstrates how to display a custom tooltip for annotations using the mouseover event in the Syncfusion PDF Viewer:
-
-```javascript
-
-viewer.annotationSettings.author = "syncfusion";
-var tooltip = new ej.popups.Tooltip({
- mouseTrail: true,
- opensOn: "Custom"
-});
-viewer.annotationMouseOver = function(args) {
- tooltip.appendTo("#pdfViewer_pageDiv_" + (viewer.currentPageNumber - 1));
- tooltip.content = args.annotation.author;
- tooltip.open();
- var ele = document.getElementsByClassName("e-tooltip-wrap")[0];
- ele.style.top = args.Y + 100 + "px";
- ele.style.left = args.X + "px";
-};
-viewer.annotationMouseLeave = function(args) {
- tooltip.close();
-};
-
-```
-
-Find the Sample [how to display custom tooltip for annotations using MouseOver event](https://stackblitz.com/edit/ztmvjx-byzwvq?file=index.js)
\ No newline at end of file
diff --git a/ej2-javascript/pdfviewer/how-to/download-document-on-window-closing.md b/ej2-javascript/pdfviewer/how-to/download-document-on-window-closing.md
deleted file mode 100644
index 6550048df..000000000
--- a/ej2-javascript/pdfviewer/how-to/download-document-on-window-closing.md
+++ /dev/null
@@ -1,36 +0,0 @@
----
-layout: post
-title: Download document on window closing in ##Platform_Name## Pdfviewer control | Syncfusion
-description: Learn here all about Download document on window closing in Syncfusion ##Platform_Name## Pdfviewer control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: Download document on window closing
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Download document on window closing in ##Platform_Name## Pdfviewer control
-
-The PDF Viewer library allows you to download a PDF document rendered in the viewer while refreshing the window or clicking the close window using the [onbeforeunload](https://helpej2.syncfusion.com/documentation/api/pdfviewer/#unload) event.
-
-**Step 1:** Follow the steps provided in the [link](https://ej2.syncfusion.com/documentation/pdfviewer/getting-started/) to create a simple PDF Viewer sample.
-
-**Step 2:** Add the following code sample to download a PDF document while refreshing or closing the window.
-
-```ts
-
-//The event triggers while closing or refreshing the window.
-window.onbeforeunload = function(e){
- var message = "Do you want to close the page?"
- e = e || window.event;
- //For IE and Firefox.
- if (e) {
- e.returnValue = message;
- //Method to download the document.
- viewer.download();
- }
- }
-
-```
-
-[View sample in GitHub](https://github.com/SyncfusionExamples/javascript-pdf-viewer-examples/tree/master/Download/Download%20the%20pdf%20document%20before%20closing%20window%20or%20refresh)
\ No newline at end of file
diff --git a/ej2-javascript/pdfviewer/how-to/download-start-event-js.md b/ej2-javascript/pdfviewer/how-to/download-start-event-js.md
deleted file mode 100644
index 54c3d985e..000000000
--- a/ej2-javascript/pdfviewer/how-to/download-start-event-js.md
+++ /dev/null
@@ -1,31 +0,0 @@
----
-layout: post
-title: Controlling File Downloads in ##Platform_Name## Pdfviewer control | Syncfusion
-description: Learn here all about Controlling File Downloads in Syncfusion ##Platform_Name## Pdfviewer control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: PDF Viewer
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Controlling File Downloads in Syncfusion PDF Viewer
-
-In the Syncfusion PDF Viewer, we've introduced a new feature that enables you to manage file downloads more effectively. This feature allows you to intercept and potentially skip the download process of a PDF document, providing enhanced control over user interactions within your application.
-
-### Using the downloadStart Event
-
-The key to this functionality lies in the downloadStart event, which offers a mechanism to intercept the initiation of the download process. Within the event handler, you can set the cancel argument to true to programmatically prevent the download action from proceeding.
-
-```js
-pdfviewer.downloadStart = args => {
- // Your custom logic here
- args.cancel = true; // Prevent download action
-};
-```
-
-By default, the cancel argument is set to `false`, indicating that the download action will proceed unless explicitly canceled by your custom logic.
-
-### Enhanced Flexibility
-
-By leveraging the [downloadStart](https://helpej2.syncfusion.com/documentation/api/pdfviewer/#downloadstart) event and its cancel argument, you gain the ability to implement custom logic to control and potentially prevent download actions based on your application's specific requirements. This enhancement provides greater flexibility in managing user interactions with PDF documents, empowering you to tailor the experience according to your needs.
\ No newline at end of file
diff --git a/ej2-javascript/pdfviewer/how-to/download-start-event-ts.md b/ej2-javascript/pdfviewer/how-to/download-start-event-ts.md
deleted file mode 100644
index f6eaeb874..000000000
--- a/ej2-javascript/pdfviewer/how-to/download-start-event-ts.md
+++ /dev/null
@@ -1,31 +0,0 @@
----
-layout: post
-title: Controlling File Downloads in ##Platform_Name## Pdfviewer control | Syncfusion
-description: Learn here how to Controlling File Downloads in Syncfusion ##Platform_Name## Pdfviewer control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: PDF Viewer
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Controlling File Downloads in Syncfusion PDF Viewer
-
-In the Syncfusion PDF Viewer, we've introduced a new feature that enables you to manage file downloads more effectively. This feature allows you to intercept and potentially skip the download process of a PDF document, providing enhanced control over user interactions within your application.
-
-### Using the downloadStart Event
-
-The key to this functionality lies in the downloadStart event, which offers a mechanism to intercept the initiation of the download process. Within the event handler, you can set the cancel argument to true to programmatically prevent the download action from proceeding.
-
-```ts
-pdfviewer.downloadStart = (args: any) => {
- // Your custom logic here
- args.cancel = true; // Prevent download action
-};
-```
-
-By default, the cancel argument is set to `false`, indicating that the download action will proceed unless explicitly canceled by your custom logic.
-
-### Enhanced Flexibility
-
-By leveraging the [downloadStart](https://helpej2.syncfusion.com/documentation/api/pdfviewer/#downloadstart) event and its cancel argument, you gain the ability to implement custom logic to control and potentially prevent download actions based on your application's specific requirements. This enhancement provides greater flexibility in managing user interactions with PDF documents, empowering you to tailor the experience according to your needs.
\ No newline at end of file
diff --git a/ej2-javascript/pdfviewer/how-to/enable-local-storage-js.md b/ej2-javascript/pdfviewer/how-to/enable-local-storage-js.md
deleted file mode 100644
index 130bad95d..000000000
--- a/ej2-javascript/pdfviewer/how-to/enable-local-storage-js.md
+++ /dev/null
@@ -1,42 +0,0 @@
----
-layout: post
-title: Managing Local Storage in ##Platform_Name## Pdfviewer control | Syncfusion
-description: Learn how to manage local storage in Syncfusion ##Platform_Name## Pdfviewer control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: PDF Viewer
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Managing Local Storage in Syncfusion PDF Viewer
-
-The Syncfusion PDF Viewer provides the `enableLocalStorage` property, which allows you to control how session-specific data is stored. You can choose to store this data in an internal collection or rely on the default session storage.
-
-### Using the enableLocalStorage Property
-
-Set the `enableLocalStorage` property to manage whether the PDF Viewer uses session storage (default) or an internal collection. When set to `true`, session-specific data is kept in memory. Otherwise, session storage is used.
-
-```js
-var pdfviewer = new ej.pdfviewer.PdfViewer({
- documentPath: 'https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf',
- resourceUrl: "https://cdn.syncfusion.com/ej2/28.1.33/dist/ej2-pdfviewer-lib",
-});
-ej.pdfviewer.PdfViewer.Inject(ej.pdfviewer.TextSelection, ej.pdfviewer.TextSearch, ej.pdfviewer.Print, ej.pdfviewer.Navigation, ej.pdfviewer.Toolbar,
- ej.pdfviewer.Magnification, ej.pdfviewer.Annotation, ej.pdfviewer.FormDesigner, ej.pdfviewer.FormFields, ej.pdfviewer.PageOrganizer);
- //To enable Local Storage
- pdfviewer.enableLocalStorage=true;
- pdfviewer.appendTo('#PdfViewer');
-```
-
-### Impact and Considerations
-
-- **Increased Memory Usage**: Setting `enableLocalStorage` to `true` can increase memory usage, particularly with larger documents or those containing many interactive elements, such as form fields and annotations.
-- **Avoiding Memory Leaks**: It is crucial to properly dispose of the PDF Viewer instance when it's no longer needed to prevent memory leaks, especially when using in-memory storage.
-- **Default Behavior**: By default, this property is set to `false`, meaning the session storage mechanism is utilized unless explicitly changed.
-
-### Enhanced Control
-
-Leveraging the `enableLocalStorage` property provides greater flexibility in managing how data is stored during a session, allowing you to optimize performance and storage based on your application’s specific requirements.
-
-[View Sample in GitHub](https://github.com/SyncfusionExamples/javascript-pdf-viewer-examples/tree/master/How%20to)
\ No newline at end of file
diff --git a/ej2-javascript/pdfviewer/how-to/enable-local-storage-ts.md b/ej2-javascript/pdfviewer/how-to/enable-local-storage-ts.md
deleted file mode 100644
index 9c36b9197..000000000
--- a/ej2-javascript/pdfviewer/how-to/enable-local-storage-ts.md
+++ /dev/null
@@ -1,45 +0,0 @@
----
-layout: post
-title: Managing Local Storage in ##Platform_Name## Pdfviewer control | Syncfusion
-description: Learn how to manage local storage in Syncfusion ##Platform_Name## Pdfviewer control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: PDF Viewer
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Managing Local Storage in Syncfusion PDF Viewer
-
-The Syncfusion PDF Viewer provides the `enableLocalStorage` property, which allows you to control how session-specific data is stored. You can choose to store this data in an internal collection or rely on the default session storage.
-
-### Using the enableLocalStorage Property
-
-Set the `enableLocalStorage` property to manage whether the PDF Viewer uses session storage (default) or an internal collection. When set to `true`, session-specific data is kept in memory. Otherwise, session storage is used.
-
-```ts
-import { pdf } from '@syncfusion/ej2';
-import { PdfViewer, TextSelection, TextSearch, Print, Navigation, Toolbar, Magnification, Annotation, FormDesigner, FormFields, PageInfoModel } from '@syncfusion/ej2-pdfviewer';
-
-PdfViewer.Inject(TextSelection, TextSearch, Print, Navigation, Toolbar, Magnification, Annotation, FormDesigner, FormFields);
-
-const pdfviewer: PdfViewer = new PdfViewer({
- documentPath: 'https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf',
- resourceUrl: "https://cdn.syncfusion.com/ej2/28.1.33/dist/ej2-pdfviewer-lib",
-});
-//To enable local storage
-pdfviewer.enableLocalStorage=true;
-pdfviewer.appendTo('#PdfViewer');
-```
-
-### Impact and Considerations
-
-- **Increased Memory Usage**: Setting `enableLocalStorage` to `true` can increase memory usage, particularly with larger documents or those containing many interactive elements, such as form fields and annotations.
-- **Avoiding Memory Leaks**: It is crucial to properly dispose of the PDF Viewer instance when it's no longer needed to prevent memory leaks, especially when using in-memory storage.
-- **Default Behavior**: By default, this property is set to `false`, meaning the session storage mechanism is utilized unless explicitly changed.
-
-### Enhanced Control
-
-Leveraging the `enableLocalStorage` property provides greater flexibility in managing how data is stored during a session, allowing you to optimize performance and storage based on your application’s specific requirements.
-
-[View sample in GitHub](https://github.com/SyncfusionExamples/typescript-pdf-viewer-examples/tree/master/How%20to/)
\ No newline at end of file
diff --git a/ej2-javascript/pdfviewer/how-to/enable-resize-text.md b/ej2-javascript/pdfviewer/how-to/enable-resize-text.md
deleted file mode 100644
index aad497a5a..000000000
--- a/ej2-javascript/pdfviewer/how-to/enable-resize-text.md
+++ /dev/null
@@ -1,25 +0,0 @@
----
-layout: post
-title: Enable resize text in ##Platform_Name## Pdfviewer control | Syncfusion
-description: Learn here all about Enable resize text in Syncfusion ##Platform_Name## Pdfviewer control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: Enable resize text
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Enable resize text in ##Platform_Name## Pdfviewer control
-
-To enable the resizer for the text markup annotation in Syncfusion PDF viewer, you can use the [**enableTextMarkupResizer**](https://helpej2.syncfusion.com/documentation/api/pdfviewer/#enabletextmarkupresizer) property. Default value of the property is false.
-
-Here is an example of how you can enable the resizer for the text markup annotation:
-
-```javascript
-
-//Enable TextMarkup Resizer.
-viewer.enableTextMarkupResizer = true;
-
-```
-
-Find the sample [how to enable the resizer for the Text Markup annotation](https://stackblitz.com/edit/qzf6bk-xsk9pf?devtoolsheight=33&file=index.js)
diff --git a/ej2-javascript/pdfviewer/how-to/enable-resize.md b/ej2-javascript/pdfviewer/how-to/enable-resize.md
deleted file mode 100644
index dccbc17b6..000000000
--- a/ej2-javascript/pdfviewer/how-to/enable-resize.md
+++ /dev/null
@@ -1,25 +0,0 @@
----
-layout: post
-title: Enable resize in ##Platform_Name## Pdfviewer control | Syncfusion
-description: Learn here all about Enable resize in Syncfusion ##Platform_Name## Pdfviewer control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: Enable resize
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Enable resize in ##Platform_Name## Pdfviewer control
-
-To enable the resizer for the text markup annotation in Syncfusion PDF viewer, you can use the [**enableTextMarkupResizer**](https://helpej2.syncfusion.com/documentation/api/pdfviewer/#enabletextmarkupresizer) property. Default value of the property is false.
-
-Here is an example of how you can enable the resizer for the text markup annotation:
-
-```ts
-
-//Enable TextMarkup Resizer.
-viewer.enableTextMarkupResizer = true;
-
-```
-
-Find the sample [how to enable the resizer for the Text Markup annotation](https://stackblitz.com/edit/cdl3df-8wbtuc?devtoolsheight=33&file=index.ts)
\ No newline at end of file
diff --git a/ej2-javascript/pdfviewer/how-to/enable-text-selection-js.md b/ej2-javascript/pdfviewer/how-to/enable-text-selection-js.md
deleted file mode 100644
index 167eef3fe..000000000
--- a/ej2-javascript/pdfviewer/how-to/enable-text-selection-js.md
+++ /dev/null
@@ -1,63 +0,0 @@
----
-layout: post
-title: Enable or Disable Text Selection in ##Platform_Name## Pdfviewer control | Syncfusion
-description: Learn how to enable text selection in Syncfusion ##Platform_Name## Pdfviewer control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: PDF Viewer
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Enable or Disable Text Selection in Syncfusion PDF Viewer
-
-The Syncfusion PDF Viewer provides the `enableTextSelection` property, which allows you to control whether users can select text within the displayed PDF document. This feature can be toggled programmatically during runtime.
-
-## Configure Text Selection on Initialization
-
-You can set the initial text selection behavior when initializing the PDF Viewer control by configuring the `enableTextSelection` property.
-
-```js
-var pdfviewer = new ej.pdfviewer.PdfViewer({
- documentPath: 'https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf',
- resourceUrl: "https://cdn.syncfusion.com/ej2/30.1.37/dist/ej2-pdfviewer-lib",
- enableTextSelection: false, // Disable text selection initially
-});
-ej.pdfviewer.PdfViewer.Inject(ej.pdfviewer.TextSelection, ej.pdfviewer.TextSearch, ej.pdfviewer.Print, ej.pdfviewer.Navigation, ej.pdfviewer.Toolbar,
- ej.pdfviewer.Magnification, ej.pdfviewer.Annotation, ej.pdfviewer.FormDesigner, ej.pdfviewer.FormFields, ej.pdfviewer.PageOrganizer);
-pdfviewer.appendTo('#PdfViewer');
-```
-
-## Toggle Text Selection Dynamically
-
-You can change the text selection behavior at runtime using buttons, menu options, or other UI elements:
-
-```html
-
-
-
-```
-
-```js
-// Add click event listener for the enableTextSelection button
-document.getElementById('enableTextSelection').addEventListener('click', function () {
- pdfviewer.enableTextSelection = true;
-});
-
-// Add click event listener for the disableTextSelection button
-document.getElementById('disableTextSelection').addEventListener('click', function () {
- pdfviewer.enableTextSelection = false;
-});
-```
-
-## Use Cases and Considerations
-
-- **Document Protection**: Disabling text selection helps prevent unauthorized copying of sensitive content.
-- **Read-only Documents**: In scenarios where documents are meant for viewing only, disabling text selection can provide a cleaner user experience.
-- **Interactive Applications**: Toggle text selection based on user roles or document states in complex applications.
-
-## Default Behavior
-
-By default, text selection is enabled in the PDF Viewer. Set the `enableTextSelection` property to `false` explicitly if you want to disable this functionality.
-
-[View Sample in GitHub](https://github.com/SyncfusionExamples/javascript-pdf-viewer-examples/tree/master/How%20to)
\ No newline at end of file
diff --git a/ej2-javascript/pdfviewer/how-to/enable-text-selection-ts.md b/ej2-javascript/pdfviewer/how-to/enable-text-selection-ts.md
deleted file mode 100644
index e55ac6a9e..000000000
--- a/ej2-javascript/pdfviewer/how-to/enable-text-selection-ts.md
+++ /dev/null
@@ -1,65 +0,0 @@
----
-layout: post
-title: Enable or Disable Text Selection in ##Platform_Name## Pdfviewer control | Syncfusion
-description: Learn how to enable text selection in Syncfusion ##Platform_Name## Pdfviewer control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: PDF Viewer
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Enable or Disable Text Selection in Syncfusion PDF Viewer
-
-The Syncfusion PDF Viewer provides the `enableTextSelection` property, which allows you to control whether users can select text within the displayed PDF document. This feature can be toggled programmatically during runtime.
-
-## Configure Text Selection on Initialization
-
-You can set the initial text selection behavior when initializing the PDF Viewer control by configuring the `enableTextSelection` property.
-
-```ts
-import { PdfViewer, TextSelection, TextSearch, Print, Navigation, Toolbar, Magnification, Annotation, FormDesigner, FormFields } from '@syncfusion/ej2-pdfviewer';
-
-// Inject required modules
-PdfViewer.Inject(TextSelection, TextSearch, Print, Navigation, Toolbar, Magnification, Annotation, FormDesigner, FormFields);
-
-const pdfviewer: PdfViewer = new PdfViewer({
- documentPath: 'https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf',
- resourceUrl: "https://cdn.syncfusion.com/ej2/30.1.37/dist/ej2-pdfviewer-lib",
- enableTextSelection: false, // Disable text selection initially
-});
-pdfviewer.appendTo('#PdfViewer');
-```
-
-## Toggle Text Selection Dynamically
-
-You can change the text selection behavior at runtime using buttons, menu options, or other UI elements:
-
-```html
-
-
-
-```
-
-```ts
-// Create buttons to enable/disable text selection
-document.getElementById('enableSelection')?.addEventListener('click', ()=> {
- pdfviewer.enableTextSelection = true;
-});
-
-document.getElementById('disableSelection')?.addEventListener('click', () => {
- pdfviewer.enableTextSelection = false;
-});
-```
-
-## Use Cases and Considerations
-
-- **Document Protection**: Disabling text selection helps prevent unauthorized copying of sensitive content.
-- **Read-only Documents**: In scenarios where documents are meant for viewing only, disabling text selection can provide a cleaner user experience.
-- **Interactive Applications**: Toggle text selection based on user roles or document states in complex applications.
-
-## Default Behavior
-
-By default, text selection is enabled in the PDF Viewer. Set the `enableTextSelection` property to `false` explicitly if you want to disable this functionality.
-
-[View Sample in GitHub](https://github.com/SyncfusionExamples/typescript-pdf-viewer-examples/tree/master/How%20to)
\ No newline at end of file
diff --git a/ej2-javascript/pdfviewer/how-to/export-as-image-js.md b/ej2-javascript/pdfviewer/how-to/export-as-image-js.md
deleted file mode 100644
index 0f30c5b25..000000000
--- a/ej2-javascript/pdfviewer/how-to/export-as-image-js.md
+++ /dev/null
@@ -1,108 +0,0 @@
----
-layout: post
-title: Export As Image in ##Platform_Name## Pdfviewer control | Syncfusion
-description: Learn here all about Export As Image in Syncfusion ##Platform_Name## Pdfviewer control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: PDF Viewer
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Export As Image ##Platform_Name## Pdfviewer control
-
-The PDF Viewer library allows you to export specified pages as a Base64-encoded image string using the **exportAsImage()** method and exporting a range of pages as Base64-encoded image strings using the **exportAsImages()** method.
-
-The following steps are used to exportAsImage.
-
-**Step 1:** Follow the steps provided in the [link](https://ej2.syncfusion.com/documentation/pdfviewer/getting-started/) to create a simple PDF Viewer sample.
-
-**Step 2:** The following code snippet to implement the functionality for exporting a specified page as a Base64-encoded image string or exporting a range of pages as Base64-encoded image strings.
-
-```
-
-
-
-```
-
-```javascript
-
-document.getElementById('exportAsImage').addEventListener('click', () => {
- var imageDetail;
- var pageIndex = 1;
- viewer.exportAsImage(pageIndex).then(function (value) {
- imageDetail = value;
- console.log(imageDetail);
- });
-});
-
-```
-
-Similarly, to code snippet for exports the specified page as a Base64-encoded image string, allowing for custom image size:
-
-
-```
-
-
-
-```
-
-```javascript
-
-document.getElementById('exportAsImageWithSize').addEventListener('click', () => {
- var imageDetail;
- var pageIndex = 1;
- var size = {width:200, height:500};
- viewer.exportAsImage(pageIndex,size).then(function (value) {
- imageDetail = value;
- console.log(imageDetail);
- });
-});
-
-```
-Similarly, to code snippet for exports the range of pages as Base64-encoded image strings:
-
-
-```
-
-
-
-```
-
-```javascript
-
-document.getElementById('exportAsImages').addEventListener('click', () => {
- var startPageIndex = 1;
- var endPageIndex = 5;
- viewer.exportAsImages(startPageIndex, endPageIndex).then(function (value) {
- imageDetails = value;
- console.log(imageDetails);
- });
-});
-
-```
-
-Similarly, to code snippet for exports the range of pages as Base64-encoded image strings, allowing for custom image size:
-
-
-```
-
-
-
-```
-
-```javascript
-
-document.getElementById('exportAsImagesWithSize').addEventListener('click', () => {
- var startPageIndex = 1;
- var endPageIndex = 5;
- var size = {width:200, height:500};
- viewer.exportAsImages(startPageIndex, endPageIndex, size).then(function (value) {
- imageDetails = value;
- console.log(imageDetails);
- });
-});
-
-```
-
-By following these steps, you can successfully integrate and use the export as image API in the EJ2 PDF Viewer.
\ No newline at end of file
diff --git a/ej2-javascript/pdfviewer/how-to/export-as-image-ts.md b/ej2-javascript/pdfviewer/how-to/export-as-image-ts.md
deleted file mode 100644
index 632bddeb0..000000000
--- a/ej2-javascript/pdfviewer/how-to/export-as-image-ts.md
+++ /dev/null
@@ -1,110 +0,0 @@
----
-layout: post
-title: Export As Image in ##Platform_Name## Pdfviewer control | Syncfusion
-description: Learn here all about Export As Image in Syncfusion ##Platform_Name## Pdfviewer control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: PDF Viewer
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Export As Image ##Platform_Name## Pdfviewer control
-
-The PDF Viewer library allows you to export specified pages as a Base64-encoded image string using the **exportAsImage()** method and exporting a range of pages as Base64-encoded image strings using the **exportAsImages()** method.
-
-The following steps are used to exportAsImage.
-
-**Step 1:** Follow the steps provided in the [link](https://ej2.syncfusion.com/documentation/pdfviewer/getting-started/) to create a simple PDF Viewer sample.
-
-**Step 2:** The following code snippet to implement the functionality for exporting a specified page as a Base64-encoded image string or exporting a range of pages as Base64-encoded image strings.
-
-```
-
-
-
-```
-
-```ts
-
-document.getElementById('exportAsImage').addEventListener('click', () => {
- let imageDetail: any;
- let pageIndex: number = 1;
- viewer.exportAsImage(pageIndex).then(function (value) {
- imageDetail = value;
- console.log(imageDetail);
- });
-});
-
-```
-
-Similarly, to code snippet for exports the specified page as a Base64-encoded image string, allowing for custom image size:
-
-
-```
-
-
-
-```
-
-```ts
-
-document.getElementById('exportAsImageWithSize').addEventListener('click', () => {
- let imageDetail: any;
- let pageIndex: number = 1;
- let size: any = {width:200, height:500};
- viewer.exportAsImage(pageIndex,size).then(function (value) {
- imageDetail = value;
- console.log(imageDetail);
- });
-});
-
-```
-Similarly, to code snippet for exports the range of pages as Base64-encoded image strings:
-
-
-```
-
-
-
-```
-
-```ts
-
-document.getElementById('exportAsImages').addEventListener('click', () => {
- let imageDetail: any;
- let startPageIndex: number = 1;
- let endPageIndex: number = 5;
- viewer.exportAsImages(startPageIndex, endPageIndex).then(function (value) {
- imageDetails = value;
- console.log(imageDetails);
- });
-});
-
-```
-
-Similarly, to code snippet for exports the range of pages as Base64-encoded image strings, allowing for custom image size:
-
-
-```
-
-
-
-```
-
-```ts
-
-document.getElementById('exportAsImagesWithSize').addEventListener('click', () => {
- let imageDetail: any;
- let startPageIndex: number = 1;
- let endPageIndex: number = 5;
- let size: any = {width:200, height:500};
- viewer.exportAsImages(startPageIndex, endPageIndex, size).then(function (value) {
- imageDetails = value;
- console.log(imageDetails);
- });
-});
-
-```
-
-By following these steps, you can successfully integrate and use the export as image API in the EJ2 PDF Viewer.
\ No newline at end of file
diff --git a/ej2-javascript/pdfviewer/how-to/extract-text-completed-js.md b/ej2-javascript/pdfviewer/how-to/extract-text-completed-js.md
deleted file mode 100644
index 7ade17cd8..000000000
--- a/ej2-javascript/pdfviewer/how-to/extract-text-completed-js.md
+++ /dev/null
@@ -1,35 +0,0 @@
----
-layout: post
-title: extractTextCompleted Event in ##Platform_Name## Pdfviewer control | Syncfusion
-description: Learn here all about extractTextCompleted Event in Syncfusion ##Platform_Name## Pdfviewer control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: Extract text
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Extract text in ##Platform_Name## Pdfviewer control using extractTextCompleted event
-
-To extract text in Syncfusion PDF viewer, you can use the [**isExtractText**](https://helpej2.syncfusion.com/documentation/api/pdfviewer/#isextracttext) property and [**extractTextCompleted**](https://helpej2.syncfusion.com/documentation/api/pdfviewer/#extracttextcompleted) event.This allows you to extract the text from a page along with the bounds.
-
-Here is an example of how you can use the **isExtractText** property and **extractTextCompleted** event:
-
-```javascript
-
-viewer.isExtractText = true;
-viewer.extractTextCompleted = args => {
- //Extract the Complete text of load document
- console.log(args);
- console.log(args.documentTextCollection[1]);
- //Extract the Text data.
- console.log(args.documentTextCollection[1][1].TextData);
- //Extract Text in the Page.
- console.log(args.documentTextCollection[1][1].PageText);
- //Extracts the first text of the PDF document along with its bounds
- console.log(args.documentTextCollection[1][1].TextData[0].Bounds);
-};
-
-```
-
-Find the sample [how to extract Text](https://stackblitz.com/edit/kzd4jd-dcser9?file=index.js)
\ No newline at end of file
diff --git a/ej2-javascript/pdfviewer/how-to/extract-text-completed-ts.md b/ej2-javascript/pdfviewer/how-to/extract-text-completed-ts.md
deleted file mode 100644
index 6bc192b0b..000000000
--- a/ej2-javascript/pdfviewer/how-to/extract-text-completed-ts.md
+++ /dev/null
@@ -1,35 +0,0 @@
----
-layout: post
-title: extractTextCompleted Event in ##Platform_Name## Pdfviewer control | Syncfusion
-description: Learn here all about extractTextCompleted Event in Syncfusion ##Platform_Name## Pdfviewer control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: Extract text
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Extract text in ##Platform_Name## Pdfviewer control using extractTextCompleted event
-
-To extract text in Syncfusion PDF viewer, you can use the [**isExtractText**](https://helpej2.syncfusion.com/documentation/api/pdfviewer/#isextracttext) property and [**extractTextCompleted**](https://helpej2.syncfusion.com/documentation/api/pdfviewer/#extracttextcompleted) event.This allows you to extract the text from a page along with the bounds.
-
-Here is an example of how you can use the **isExtractText** property and **extractTextCompleted** event:
-
-```ts
-
-viewer.isExtractText = true;
-viewer.extractTextCompleted = args => {
- //Extract the Complete text of load document
- console.log(args);
- console.log(args.documentTextCollection[1]);
- //Extract the Text data.
- console.log(args.documentTextCollection[1][1].textData);
- //Extract Text in the Page.
- console.log(args.documentTextCollection[1][1].pageText);
- //Extracts the first text of the PDF document along with its bounds
- console.log(args.documentTextCollection[1][1].textData[0].Bounds);
-};
-
-```
-
-Find the sample [how to extract Text](https://stackblitz.com/edit/3xmbg6-m3ff47?devtoolsheight=33&file=index.ts)
\ No newline at end of file
diff --git a/ej2-javascript/pdfviewer/how-to/extract-text-js.md b/ej2-javascript/pdfviewer/how-to/extract-text-js.md
deleted file mode 100644
index c7db68753..000000000
--- a/ej2-javascript/pdfviewer/how-to/extract-text-js.md
+++ /dev/null
@@ -1,75 +0,0 @@
----
-layout: post
-title: Extract Text in Syncfusion ##Platform_Name## Pdfviewer Control | Syncfusion
-description: Learn about the Extract Text in Syncfusion #Platform_Name## Pdfviewer control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: Extract Text
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Extract Text Method in Syncfusion PdfViewer Control
-
-The `extractText` method of the Syncfusion PdfViewer control enables text extraction from one or more pages in a PDF document. This method is useful for retrieving the text content along with its associated data, such as the bounds of each text element.
-
-### extractText Method
-The extractText method retrieves text data from the specified page(s) of a PDF document. It can extract text from one page, a range of pages, or even provide detailed text data, depending on the options specified.
-
-#### Parameters:
-**startIndex:** The starting page index for text extraction (0-based index).
-
-**endIndex Or isOptions:** This can either be the ending page index for the text extraction (for extracting from multiple pages) or an option specifying text extraction criteria for a single page.
-
-**options (optional):** Specifies additional options, such as extracting plain text `TextOnly` or more detailed text data `TextAndBounds`. You can specify various options for text extraction. These options determine whether you want to extract plain text, text with bounds, or detailed text data.
-
-***TextOnly:*** Extracts only the plain text content without bounds or additional information.
-
-***TextAndBounds:*** Extracts text content along with its bounds (coordinates) within the PDF.
-
-#### Returns:
-The method returns a Promise that resolves to an object containing two properties:
-
-**textData:** An array of TextDataSettingsModel objects, each representing the details of the extracted text (including bounds, page text, etc.).
-
-**pageText:** A concatenated string of plain text extracted from the specified page(s).
-
-### Usage of extractText in Syncfusion PdfViewer Control
-Here is an example that demonstrates how to use the extractText method along with event handling:
-
-```html
-
-
-```
-```js
-// Initialize the PdfViewer
-
-var viewer = new ej.pdfviewer.PdfViewer({
- documentPath: 'https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf',
- resourceUrl: "https://cdn.syncfusion.com/ej2/29.1.33/dist/ej2-pdfviewer-lib",
-});
-viewer.appendTo("#pdfViewer");
-
-// Event Listener for Extract Text from Single Page
-document.getElementById('extractText').addEventListener('click', function () {
- viewer.extractText(1, 'TextOnly').then((val) => {
- console.log('Extracted Text from Page 1:');
- console.log(val); // Logs the extracted text from page 1
- });
-});
-
-// Event Listener for Extract Text from Multiple Pages
-document.getElementById('extractTexts').addEventListener('click', function () {
- viewer.extractText(0, 2, 'TextOnly').then((val) => {
- console.log('Extracted Text from Pages 0 to 2:');
- console.log(val); // Logs the extracted text from pages 0 to 2
- });
-});
-```
-
-#### Explanation:
-**Single Page Extraction:** The first `extractText` call extracts text from page 1 (`startIndex = 1`), using the 'TextOnly' option for plain text extraction.
-
-**Multiple Pages Extraction:** The second extractText call extracts text from pages 0 through 2 (`startIndex = 0, endIndex = 2`), using the `TextOnly` option for plain text extraction.
-
-[View Sample in GitHub](https://github.com/SyncfusionExamples/javascript-pdf-viewer-examples/tree/master/How%20to)
\ No newline at end of file
diff --git a/ej2-javascript/pdfviewer/how-to/extract-text-option-js.md b/ej2-javascript/pdfviewer/how-to/extract-text-option-js.md
deleted file mode 100644
index 52a84bbfc..000000000
--- a/ej2-javascript/pdfviewer/how-to/extract-text-option-js.md
+++ /dev/null
@@ -1,53 +0,0 @@
----
-layout: post
-title: Extract Text Option in Syncfusion ##Platform_Name## Pdfviewer Control | Syncfusion
-description: Learn about the `extractTextOption` in Syncfusion #Platform_Name## Pdfviewer control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: Extract Text Option
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-
-# Extract Text Option in Syncfusion ##Platform_Name## Pdfviewer Control
-
-The `extractTextOption` property in the Syncfusion PdfViewer control allows you to optimize memory usage by controlling the level of text extraction. This setting influences the data returned in the `extractTextCompleted` event. You can select one of the following options to determine the kind of text extraction and layout information to retrieve.
-
-### Available Options:
-
-**None:** No text information is extracted or returned. This is useful when you want to optimize memory usage and don't need any text data.
-
-**TextOnly:** Extracts only the plain text from the document. This option excludes any layout or positional information.
-
-**BoundsOnly:** Extracts layout information, such as bounds or coordinates, without including the plain text data.
-
-**TextAndBounds:** Extracts both the plain text and the layout (bounds) information, which is the default behavior.
-
-The following example demonstrates how to configure the `extractTextOption` property to control the level of text extraction:
-
-```js
-
-var pdfviewer = new ej.pdfviewer.PdfViewer({
- documentPath: 'https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf',
- resourceUrl: "https://cdn.syncfusion.com/ej2/29.1.33/dist/ej2-pdfviewer-lib",
-});
-ej.pdfviewer.PdfViewer.Inject(ej.pdfviewer.TextSelection, ej.pdfviewer.TextSearch, ej.pdfviewer.Print, ej.pdfviewer.Navigation, ej.pdfviewer.Toolbar,
- ej.pdfviewer.Magnification, ej.pdfviewer.Annotation, ej.pdfviewer.FormDesigner, ej.pdfviewer.FormFields, ej.pdfviewer.PageOrganizer);
- pdfviewer.extractTextOption = 'None'; // Options: 'None', 'TextOnly', 'BoundsOnly', 'TextAndBounds'
- pdfviewer.appendTo('#PdfViewer');
-
-```
-
-### Description of Each Option
-**extractTextOption.TextAndBounds (default):** This option returns both plain text and its positional data (bounds). Use this option when you need to access both the content of the PDF and its layout for further processing or analysis.
-
-**extractTextOption.TextOnly:** This option returns only the plain text from the PDF. No positional or layout data is included. Note that when using this option, text search functionality will be disabled. In such cases, it is recommended to use findTextAsync for text searching.
-
-**extractTextOption.BoundsOnly:** This option returns only the layout information (bounds) of the text, excluding the actual content. It is useful when the focus is on the position of text elements rather than the text itself.
-
-**extractTextOption.None:** This option does not extract or return any text or layout information. It is used to optimize memory usage when no text extraction is necessary. This setting is only relevant for the `extractTextCompleted` event and cannot be used with the `ExtractText` method.
-
-N> Text Search: When using the ` extractTextOption.None` and `extractTextOption.TextOnly` option, the findText method will not work. Instead, you should use the findTextAsync method to perform text searches asynchronously.
-
-[View Sample in GitHub](https://github.com/SyncfusionExamples/javascript-pdf-viewer-examples/tree/master/How%20to)
\ No newline at end of file
diff --git a/ej2-javascript/pdfviewer/how-to/extract-text-option-ts.md b/ej2-javascript/pdfviewer/how-to/extract-text-option-ts.md
deleted file mode 100644
index cf92e0ef5..000000000
--- a/ej2-javascript/pdfviewer/how-to/extract-text-option-ts.md
+++ /dev/null
@@ -1,56 +0,0 @@
----
-layout: post
-title: Extract Text Option in Syncfusion ##Platform_Name## Pdfviewer Control | Syncfusion
-description: Learn about the `extractTextOption` in Syncfusion #Platform_Name## Pdfviewer control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: Extract Text Option
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-
-# Extract Text Option in Syncfusion ##Platform_Name## Pdfviewer Control
-
-The `extractTextOption` property in the Syncfusion PdfViewer control allows you to optimize memory usage by controlling the level of text extraction. This setting influences the data returned in the `extractTextCompleted` event. You can select one of the following options to determine the kind of text extraction and layout information to retrieve.
-
-### Available Options:
-
-**None:** No text information is extracted or returned. This is useful when you want to optimize memory usage and don't need any text data.
-
-**TextOnly:** Extracts only the plain text from the document. This option excludes any layout or positional information.
-
-**BoundsOnly:** Extracts layout information, such as bounds or coordinates, without including the plain text data.
-
-**TextAndBounds:** Extracts both the plain text and the layout (bounds) information, which is the default behavior.
-
-The following example demonstrates how to configure the `extractTextOption` property to control the level of text extraction:
-
-```ts
-
-import { PdfViewer, Toolbar, Magnification, Navigation, LinkAnnotation, ThumbnailView, BookmarkView,
- TextSelection, TextSearch, Print, Annotation, FormFields, FormDesigner, PageOrganizer, ExtractTextOption} from '@syncfusion/ej2-pdfviewer';
-
-PdfViewer.Inject(Toolbar, Magnification, Navigation, LinkAnnotation, ThumbnailView, BookmarkView,
- TextSelection, TextSearch, Print, Annotation, FormFields, FormDesigner, PageOrganizer);
-
-let viewer: PdfViewer = new PdfViewer();
-viewer.documentPath= 'https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf';
-viewer.resourceUrl= "https://cdn.syncfusion.com/ej2/29.1.33/dist/ej2-pdfviewer-lib";
-viewer.extractTextOption = ExtractTextOption.None; // Options: 'None', 'TextOnly', 'BoundsOnly', 'TextAndBounds'
-viewer.appendTo("#PdfViewer");
-
-```
-
-### Description of Each Option
-**extractTextOption.TextAndBounds (default):** This option returns both plain text and its positional data (bounds). Use this option when you need to access both the content of the PDF and its layout for further processing or analysis.
-
-**extractTextOption.TextOnly:** This option returns only the plain text from the PDF. No positional or layout data is included. Note that when using this option, text search functionality will be disabled. In such cases, it is recommended to use findTextAsync for text searching.
-
-**extractTextOption.BoundsOnly:** This option returns only the layout information (bounds) of the text, excluding the actual content. It is useful when the focus is on the position of text elements rather than the text itself.
-
-**extractTextOption.None:** This option does not extract or return any text or layout information. It is used to optimize memory usage when no text extraction is necessary. This setting is only relevant for the `extractTextCompleted` event and cannot be used with the `ExtractText` method.
-
-N> Text Search: When using the `extractTextOption.TextOnly` and `extractTextOption.None` option, the findText method will not work. Instead, you should use the findTextAsync method to perform text searches asynchronously.
-
-[View sample in GitHub](https://github.com/SyncfusionExamples/typescript-pdf-viewer-examples/tree/master/How%20to/)
\ No newline at end of file
diff --git a/ej2-javascript/pdfviewer/how-to/extract-text-ts.md b/ej2-javascript/pdfviewer/how-to/extract-text-ts.md
deleted file mode 100644
index 76341e8b3..000000000
--- a/ej2-javascript/pdfviewer/how-to/extract-text-ts.md
+++ /dev/null
@@ -1,84 +0,0 @@
----
-layout: post
-title: Extract Text in Syncfusion ##Platform_Name## Pdfviewer Control | Syncfusion
-description: Learn about the Extract Text in Syncfusion #Platform_Name## Pdfviewer control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: Extract Text
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Extract Text Method in Syncfusion PdfViewer Control
-
-The `extractText` method of the Syncfusion PdfViewer control enables text extraction from one or more pages in a PDF document. This method is useful for retrieving the text content along with its associated data, such as the bounds of each text element.
-
-### extractText Method
-The extractText method retrieves text data from the specified page(s) of a PDF document. It can extract text from one page, a range of pages, or even provide detailed text data, depending on the options specified.
-
-#### Parameters:
-**startIndex:** The starting page index for text extraction (0-based index).
-
-**endIndex Or isOptions:** This can either be the ending page index for the text extraction (for extracting from multiple pages) or an option specifying text extraction criteria for a single page.
-
-**options (optional):** Specifies additional options, such as extracting plain text `TextOnly` or more detailed text data `TextAndBounds`. You can specify various options for text extraction. These options determine whether you want to extract plain text, text with bounds, or detailed text data.
-
-***TextOnly:*** Extracts only the plain text content without bounds or additional information.
-
-***TextAndBounds:*** Extracts text content along with its bounds (coordinates) within the PDF.
-
-#### Returns:
-The method returns a Promise that resolves to an object containing two properties:
-
-**textData:** An array of TextDataSettingsModel objects, each representing the details of the extracted text (including bounds, page text, etc.).
-
-**pageText:** A concatenated string of plain text extracted from the specified page(s).
-
-### Usage of extractText in Syncfusion PdfViewer Control
-Here is an example that demonstrates how to use the extractText method along with event handling:
-
-```html
-
-
-```
-```ts
-import { PdfViewer, TextSelection, TextSearch, Print, Navigation, Toolbar, Magnification, Annotation, FormDesigner, FormFields, PageInfoModel, ExtractTextOption } from '@syncfusion/ej2-pdfviewer';
-
-// Inject required modules
-PdfViewer.Inject(TextSelection, TextSearch, Print, Navigation, Toolbar, Magnification, Annotation, FormDesigner, FormFields);
-
-const viewer: PdfViewer = new PdfViewer({
- documentPath: 'https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf',
- resourceUrl: "https://cdn.syncfusion.com/ej2/29.1.33/dist/ej2-pdfviewer-lib",
-});
-viewer.appendTo("#PdfViewer");
-
-// Event Listener for Extract Text from Single Page
-const extractTextButton = document.getElementById('extractText');
-if (extractTextButton) {
-extractTextButton.addEventListener('click', function () {
- viewer.extractText(1, ExtractTextOption.TextOnly).then((val) => {
- console.log('Extracted Text from Page 1:');
- console.log(val); // Logs the extracted text from page 1
- });
-});
-}
-
-// Event Listener for Extract Text from Multiple Pages
-const extractTextButtons = document.getElementById('extractTexts');
-if (extractTextButtons) {
-extractTextButtons.addEventListener('click', function () {
- viewer.extractText(0, 2, ExtractTextOption.TextOnly).then((val) => {
- console.log('Extracted Text from Pages 0 to 2:');
- console.log(val); // Logs the extracted text from pages 0 to 2
- });
-});
-}
-```
-
-#### Explanation:
-**Single Page Extraction:** The first `extractText` call extracts text from page 1 (`startIndex = 1`), using the 'TextOnly' option for plain text extraction.
-
-**Multiple Pages Extraction:** The second extractText call extracts text from pages 0 through 2 (`startIndex = 0, endIndex = 2`), using the `TextOnly` option for plain text extraction.
-
-[View sample in GitHub](https://github.com/SyncfusionExamples/typescript-pdf-viewer-examples/tree/master/How%20to/)
\ No newline at end of file
diff --git a/ej2-javascript/pdfviewer/how-to/find-text-async-js.md b/ej2-javascript/pdfviewer/how-to/find-text-async-js.md
deleted file mode 100644
index 95c5bc57f..000000000
--- a/ej2-javascript/pdfviewer/how-to/find-text-async-js.md
+++ /dev/null
@@ -1,85 +0,0 @@
----
-layout: post
-title: Find Text Async in Syncfusion ##Platform_Name## Pdfviewer Control | Syncfusion
-description: Learn about the `findTextAsync` in Syncfusion #Platform_Name## Pdfviewer control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: Find Text Async
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-
-# Find Text using findTextAsync Method in Syncfusion ##Platform_Name## PdfViewer Control
-
-The findTextAsync method in the Syncfusion PdfViewer control allows you to search for specific text or an array of strings asynchronously within a PDF document. The method returns the bounding rectangles for each occurrence of the search term, allowing you to find and work with text positions in the document.
-
-Here is an example of how you can use the **findTextAsync** method:
-
-Example 1: Search for a single string ('pdf') with a case-insensitive search across all pages
-
-```html
-
-
-```
-```js
-var pdfviewer = new ej.pdfviewer.PdfViewer({
- documentPath: 'https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf',
- resourceUrl: "https://cdn.syncfusion.com/ej2/29.1.33/dist/ej2-pdfviewer-lib",
-});
-ej.pdfviewer.PdfViewer.Inject(ej.pdfviewer.TextSelection, ej.pdfviewer.TextSearch, ej.pdfviewer.Print, ej.pdfviewer.Navigation, ej.pdfviewer.Toolbar,
- ej.pdfviewer.Magnification, ej.pdfviewer.Annotation, ej.pdfviewer.FormDesigner, ej.pdfviewer.FormFields, ej.pdfviewer.PageOrganizer);
- pdfviewer.appendTo('#PdfViewer');
-
-document.getElementById('findText').addEventListener('click', function () {
- pdfviewer.textSearchModule.findTextAsync('pdf', false).then(res => {
- console.log(res); // Logs the search result for the term 'pdf'
- });
-});
-```
-Example 2: Search for multiple strings (['pdf', 'the']) with a case-insensitive search across all pages
-```js
-document.getElementById('findTexts').addEventListener('click', function () {
- pdfviewer.textSearchModule.findTextAsync(['pdf', 'the'], false).then(res => {
- console.log(res); // Logs the search result for the terms 'pdf' and 'the'
- });
-});
-```
-
-### Description:
-
-The `findTextAsync` method is designed for performing an asynchronous text search within a PDF document. You can use it to search for a single string or multiple strings, with the ability to control case sensitivity. By default, the search is applied to all pages of the document. However, you can adjust this behavior by specifying the page number (pageIndex), which allows you to search only a specific page if needed.
-
-### Parameters:
-
-**text (string | string[]):**
-
-The text or an array of texts you want to search for in the document.
-
-**matchCase (boolean):**
-
-Indicates whether the search should be case-sensitive.
-When set to true, the search will match the exact case.
-When set to false, the search will ignore case differences.
-
-**pageIndex (optional, number):**
-
-Specifies the page number (zero-based index) to search within the document.
-If not provided, the search will be performed across all pages in the document.
-For example, passing 0 would search only the first page of the document.
-
-### Example Workflow:
-
-**findTextAsync('pdf', false):**
-This will search for the term "pdf" in a case-insensitive manner across all pages of the document.
-
-**findTextAsync(['pdf', 'the'], false):**
-This will search for the terms "pdf" and "the" in a case-insensitive manner across all pages of the document.
-
-**findTextAsync('pdf', false, 0):**
-This will search for the term "pdf" in a case-insensitive manner only on the first page (page 0).
-
-**findTextAsync(['pdf', 'the'], false, 1):**
-This will search for the terms "pdf" and "the" in a case-insensitive manner only on the second page (page 1).
-
-[View Sample in GitHub](https://github.com/SyncfusionExamples/javascript-pdf-viewer-examples/tree/master/How%20to)
\ No newline at end of file
diff --git a/ej2-javascript/pdfviewer/how-to/find-text-async-ts.md b/ej2-javascript/pdfviewer/how-to/find-text-async-ts.md
deleted file mode 100644
index e551aab8d..000000000
--- a/ej2-javascript/pdfviewer/how-to/find-text-async-ts.md
+++ /dev/null
@@ -1,96 +0,0 @@
----
-layout: post
-title: Find Text Async in Syncfusion ##Platform_Name## Pdfviewer Control | Syncfusion
-description: Learn about the `findTextAsync` in Syncfusion #Platform_Name## Pdfviewer control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: Find Text Async
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-
-# Find Text using findTextAsync Method in Syncfusion ##Platform_Name## PdfViewer Control
-
-The findTextAsync method in the Syncfusion PdfViewer control allows you to search for specific text or an array of strings asynchronously within a PDF document. The method returns the bounding rectangles for each occurrence of the search term, allowing you to find and work with text positions in the document.
-
-Here is an example of how you can use the **findTextAsync** method:
-
-Example 1: Search for a single string ('pdf') with a case-insensitive search across all pages
-
-```html
-
-
-```
-```ts
-import { PdfViewer, Toolbar, Magnification, Navigation, LinkAnnotation, ThumbnailView, BookmarkView,
- TextSelection, TextSearch, Print, Annotation, FormFields, FormDesigner, PageOrganizer,
- ExtractTextOption} from '@syncfusion/ej2-pdfviewer';
-
-PdfViewer.Inject(Toolbar, Magnification, Navigation, LinkAnnotation, ThumbnailView, BookmarkView,
- TextSelection, TextSearch, Print, Annotation, FormFields, FormDesigner, PageOrganizer);
-
-let viewer: PdfViewer = new PdfViewer();
-viewer.documentPath= 'https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf';
-viewer.resourceUrl= "https://cdn.syncfusion.com/ej2/29.1.33/dist/ej2-pdfviewer-lib";
-viewer.appendTo("#PdfViewer");
-
-
-const findTextButton = document.getElementById('findText');
-if (findTextButton) {
- findTextButton.addEventListener('click', function () {
- viewer.textSearchModule.findTextAsync('pdf', false).then(res => {
- console.log(res); // Logs the search result for the term 'pdf'
- });
- });
-}
-```
-Example 2: Search for multiple strings (['pdf', 'the']) with a case-insensitive search across all pages
-```ts
-const findTextButtons = document.getElementById('findTexts');
-if(findTextButtons){
- findTextButtons.addEventListener('click', function () {
- viewer.textSearchModule.findTextAsync(['pdf', 'the'], false).then(res => {
- console.log(res); // Logs the search result for the terms 'pdf' and 'the'
- });
- });
-}
-```
-
-### Description:
-
-The `findTextAsync` method is designed for performing an asynchronous text search within a PDF document. You can use it to search for a single string or multiple strings, with the ability to control case sensitivity. By default, the search is applied to all pages of the document. However, you can adjust this behavior by specifying the page number (pageIndex), which allows you to search only a specific page if needed.
-
-### Parameters:
-
-**text (string | string[]):**
-
-The text or an array of texts you want to search for in the document.
-
-**matchCase (boolean):**
-
-Indicates whether the search should be case-sensitive.
-When set to true, the search will match the exact case.
-When set to false, the search will ignore case differences.
-
-**pageIndex (optional, number):**
-
-Specifies the page number (zero-based index) to search within the document.
-If not provided, the search will be performed across all pages in the document.
-For example, passing 0 would search only the first page of the document.
-
-### Example Workflow:
-
-**findTextAsync('pdf', false):**
-This will search for the term "pdf" in a case-insensitive manner across all pages of the document.
-
-**findTextAsync(['pdf', 'the'], false):**
-This will search for the terms "pdf" and "the" in a case-insensitive manner across all pages of the document.
-
-**findTextAsync('pdf', false, 0):**
-This will search for the term "pdf" in a case-insensitive manner only on the first page (page 0).
-
-**findTextAsync(['pdf', 'the'], false, 1):**
-This will search for the terms "pdf" and "the" in a case-insensitive manner only on the second page (page 1).
-
-[View sample in GitHub](https://github.com/SyncfusionExamples/typescript-pdf-viewer-examples/tree/master/How%20to/)
\ No newline at end of file
diff --git a/ej2-javascript/pdfviewer/how-to/focus-on-a-form-field-after-loading.md b/ej2-javascript/pdfviewer/how-to/focus-on-a-form-field-after-loading.md
deleted file mode 100644
index bf9ee4d99..000000000
--- a/ej2-javascript/pdfviewer/how-to/focus-on-a-form-field-after-loading.md
+++ /dev/null
@@ -1,41 +0,0 @@
----
-layout: post
-title: Focus on a form field after loading in ##Platform_Name## Pdfviewer control | Syncfusion
-description: Learn here all about Focus on a form field after loading in Syncfusion ##Platform_Name## Pdfviewer control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: Focus on a form field after loading
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Focus on a form field after loading in ##Platform_Name## Pdfviewer control
-
-The PDF Viewer library allows you to focus to the respective form field using the [`focusFormField()`](https://helpej2.syncfusion.com/documentation/api/pdfviewer/#focusformfield) API.
-
-The following steps are used to focus to the respective form field.
-
-**Step 1:** Follow the steps provided in the [link](https://ej2.syncfusion.com/documentation/pdfviewer/getting-started/) to create a simple PDF Viewer sample.
-
-**Step 2:** Use the following code sample to focus to the respective form field while loading as well as in a button click.
-
-```
-
-```
-
-```ts
-//Event triggers while clicking the FocusFormField button.
-document.getElementById('click').addEventListener('click', function () {
- var formField = viewer.retrieveFormFields();
- //API to bring the form fields in focus.
- viewer.focusFormField(formField[1]);
-});
-//Event triggers while loading the document.
-viewer.documentLoad = (args) => {
- var formField = viewer.retrieveFormFields();
- //API to bring the form fields in focus.
- viewer.focusFormField(formField[1]);
-};
-```
-
-[View sample in GitHub](https://github.com/SyncfusionExamples/javascript-pdf-viewer-examples/tree/master/Form%20Fields/Focusing%20the%20form%20fields%20while%20loading).
\ No newline at end of file
diff --git a/ej2-javascript/pdfviewer/how-to/get-base64-js.md b/ej2-javascript/pdfviewer/how-to/get-base64-js.md
deleted file mode 100644
index 3466d87fd..000000000
--- a/ej2-javascript/pdfviewer/how-to/get-base64-js.md
+++ /dev/null
@@ -1,63 +0,0 @@
----
-layout: post
-title: Retrieving Base64 Value in JavaScript PdfViewer | Syncfusion
-description: Learn how to retrieve the Base64 value of a loaded PDF document in the Syncfusion ##Platform_Name## Pdfviewer control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: PDF Viewer
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Retrieving Base64 Value from a PDF in PDF Viewer
-
-### Overview
-
-This guide demonstrates how to fetch the base64-encoded value of a PDF document loaded in the Syncfusion PDF Viewer using JavaScript. This is useful for sending the PDF as a base64 string or processing it in the front end.
-
-### How to Retrieve Base64 Value
-
-**Step 1:** Follow the steps provided in the [link](https://ej2.syncfusion.com/documentation/pdfviewer/getting-started/) to create a simple PDF Viewer sample.
-
-
-**Step 2:** Create a Button in Your HTML File
-
-Add a button element in your HTML file that will trigger the conversion to a base64 string.
-
-```html
-
-
-```
-
-**Step 3:** Add a Button Click Event Listener
-
-Add an event listener to the button to trigger the base64 retrieval function.
-
-```js
-document.getElementById('getBase64').addEventListener('click', function() {
- base64ofloadedDocument(); // Call the function to get the Base64 string
-});
-```
-
-**Step 4:** Retrieve Base64 of the Loaded Document
-
-Create a function that uses saveAsBlob, and convert the blob to a base64 string.
-
-```js
-function base64ofloadedDocument() {
- pdfviewer.saveAsBlob().then(function(value) {
- var data = value;
- var reader = new FileReader();
- reader.readAsDataURL(data);
- reader.onload = function() {
- var base64data = reader.result;
- console.log(base64data); // Outputs the base64 string of the PDF
- };
- });
-}
-```
-### Conclusion
-
-By implementing these steps, you can convert a PDF document loaded in the Syncfusion PDF Viewer to a base64 string on button click, facilitating the manipulation or transfer of PDF data as needed.
-
-[View sample in GitHub](https://github.com/SyncfusionExamples/javascript-pdf-viewer-examples/tree/master/How%20to)
\ No newline at end of file
diff --git a/ej2-javascript/pdfviewer/how-to/get-base64-ts.md b/ej2-javascript/pdfviewer/how-to/get-base64-ts.md
deleted file mode 100644
index 900a075aa..000000000
--- a/ej2-javascript/pdfviewer/how-to/get-base64-ts.md
+++ /dev/null
@@ -1,62 +0,0 @@
----
-layout: post
-title: Retrieving Base64 Value in TypeScript PdfViewer | Syncfusion
-description: Learn how to retrieve the Base64 value of a loaded PDF document in the Syncfusion ##Platform_Name## Pdfviewer control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: PDF Viewer
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Retrieving Base64 Value from a PDF in PDF Viewer
-
-### Overview
-
-This guide demonstrates how to fetch the base64-encoded value of a PDF document loaded in the Syncfusion PDF Viewer using Typescript. This is useful for sending the PDF as a base64 string or processing it in the front end.
-
-### How to Retrieve Base64 Value
-
-**Step 1:** Follow the steps provided in the [link](https://ej2.syncfusion.com/documentation/pdfviewer/getting-started) to create a simple PDF Viewer sample.
-
-
-**Step 2:** Create a Button in Your HTML File
-
-Add a button element in your HTML file that will trigger the conversion to a base64 string.
-
-```html
-
-
-```
-
-**Step 3:** Add a Button Click Event Listener
-
-Add an event listener to the button to trigger the base64 retrieval function.
-
-```ts
-document.getElementById('getBase64')?.addEventListener('click', base64ofloadedDocument);
-```
-
-**Step 4:** Retrieve Base64 of the Loaded Document
-
-Create a function that uses saveAsBlob, and convert the blob to a base64 string.
-
-```ts
-// Function to get Base64 of the loaded document
-function base64ofloadedDocument() {
- pdfviewer.saveAsBlob().then((blob) => {
- const reader = new FileReader();
- reader.onload = () => {
- const base64data = reader.result;
- console.log(base64data);
- };
- // Read the blob as a data URL to get Base64
- reader.readAsDataURL(blob);
- })
-}
-```
-### Conclusion
-
-By implementing these steps, you can convert a PDF document loaded in the Syncfusion PDF Viewer to a base64 string on button click, facilitating the manipulation or transfer of PDF data as needed.
-
-[View sample in GitHub](https://github.com/SyncfusionExamples/typescript-pdf-viewer-examples/tree/master/How%20to)
\ No newline at end of file
diff --git a/ej2-javascript/pdfviewer/how-to/get-page-info-js.md b/ej2-javascript/pdfviewer/how-to/get-page-info-js.md
deleted file mode 100644
index e71444ee1..000000000
--- a/ej2-javascript/pdfviewer/how-to/get-page-info-js.md
+++ /dev/null
@@ -1,47 +0,0 @@
----
-layout: post
-title: Get Page Info in ##Platform_Name## Pdfviewer control | Syncfusion
-description: Learn here all about Get Page Info in Syncfusion ##Platform_Name## Pdfviewer control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: PDF Viewer
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Get Page Info ##Platform_Name## Pdfviewer control
-
-The PDF Viewer library allows you to retrieves the information of a specified page in the viewer using the **getPageInfo()** method.This provides essential information such as the height, width and rotation.
-
-The following steps are used to getPageInfo.
-
-**Step 1:** Follow the steps provided in the [link](https://ej2.syncfusion.com/documentation/pdfviewer/getting-started/) to create a simple PDF Viewer sample.
-
-**Step 2:** The following code snippet to implement the functionality for retrieving height, width and rotation of a specified page in the viewer.
-
-```html
-
-
-
-```
-
-```javascript
-
-document.getElementById('getPageInfo').addEventListener('click', function() {
- // Set the page index for which info is required
- let pageIndex=0;
- // To Retrieve and log the page information
- console.log(pdfviewer.getPageInfo(pageIndex));
- // To Log the specific page information details to the console
- const pageInfo = pdfviewer.getPageInfo(pageIndex);
- console.log(`Page Info for Page Index ${pageIndex}:`);
- console.log(`Height: ${pageInfo.height}`);
- console.log(`Width: ${pageInfo.width}`);
- console.log(`Rotation: ${pageInfo.rotation}`);
-});
-
-```
-
-By following these steps, you can successfully integrate and use the get page info API in the EJ2 PDF Viewer.
-
-[View Sample in GitHub](https://github.com/SyncfusionExamples/javascript-pdf-viewer-examples/tree/master/How%20to)
\ No newline at end of file
diff --git a/ej2-javascript/pdfviewer/how-to/get-page-info-ts.md b/ej2-javascript/pdfviewer/how-to/get-page-info-ts.md
deleted file mode 100644
index f52bdf322..000000000
--- a/ej2-javascript/pdfviewer/how-to/get-page-info-ts.md
+++ /dev/null
@@ -1,50 +0,0 @@
----
-layout: post
-title: Get Page Info in ##Platform_Name## Pdfviewer control | Syncfusion
-description: Learn here all about Get Page Info in Syncfusion ##Platform_Name## Pdfviewer control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: PDF Viewer
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Get Page Info ##Platform_Name## Pdfviewer control
-
-The PDF Viewer library allows you to retrieves the information of a specified page in the viewer using the **getPageInfo()** method.This provides essential information such as the height, width and rotation.
-
-The following steps are used to getPageInfo.
-
-**Step 1:** Follow the steps provided in the [link](https://ej2.syncfusion.com/documentation/pdfviewer/getting-started/) to create a simple PDF Viewer sample.
-
-**Step 2:** The following code snippet to implement the functionality for retrieving height, width and rotation of a specified page in the viewer.
-
-```html
-
-
-
-```
-
-```ts
-
-// Event listener for getting page information
-document.getElementById('getPageInfo')?.addEventListener('click', function() {
- // Set the page index for which info is required
- let pageIndex: number = 0;
-
- // To Retrieve and log the page information
- console.log(pdfviewer.getPageInfo(pageIndex));
-
- // Log the specific page information details to the console
- const pageInfo:PageInfoModel = pdfviewer.getPageInfo(pageIndex);
- console.log(`Page Info for Page Index ${pageIndex}:`);
- console.log(`Height: ${pageInfo.height}`);
- console.log(`Width: ${pageInfo.width}`);
- console.log(`Rotation: ${pageInfo.rotation}`);
- });
-
-```
-
-By following these steps, you can successfully integrate and use the get page info API in the EJ2 PDF Viewer.
-
-[View sample in GitHub](https://github.com/SyncfusionExamples/typescript-pdf-viewer-examples/tree/master/How%20to)
\ No newline at end of file
diff --git a/ej2-javascript/pdfviewer/how-to/highlight-underline-strikeout-text.md b/ej2-javascript/pdfviewer/how-to/highlight-underline-strikeout-text.md
deleted file mode 100644
index f4884f963..000000000
--- a/ej2-javascript/pdfviewer/how-to/highlight-underline-strikeout-text.md
+++ /dev/null
@@ -1,37 +0,0 @@
----
-layout: post
-title: Highlight underline strikeout text in ##Platform_Name## Pdfviewer control | Syncfusion
-description: Learn here all about Highlight underline strikeout text in Syncfusion ##Platform_Name## Pdfviewer control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: Highlight underline strikeout text
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Highlight underline strikeout text in ##Platform_Name## Pdfviewer control
-
-The PDF Viewer library allows you to highlight, underline and strikeout text in the loaded PDF document programmatically using the [**setAnnotationMode()**](https://helpej2.syncfusion.com/documentation/api/pdfviewer/annotation/#setannotationmode) method.
-
-**Step 1:** Follow the steps provided in the [link](https://ej2.syncfusion.com/documentation/pdfviewer/getting-started/) to create simple PDF Viewer sample.
-
-**Step 2:** Add the following code snippet to highlight, underline, and strikeout text in index.ts file with button click events.
-
-```ts
-
- document.getElementById('setHighlight').addEventListener('click', ()=> {
- viewer.annotation.setAnnotationMode('Highlight');
- });
- document.getElementById('setUnderline').addEventListener('click', ()=> {
- viewer.annotation.setAnnotationMode('Underline');
- });
- document.getElementById('setStrikeout').addEventListener('click', ()=> {
- viewer.annotation.setAnnotationMode('Strikethrough');
- });
- document.getElementById('setNone').addEventListener('click', ()=> {
- viewer.annotation.setAnnotationMode('None');
- });
-
-```
-
-Find the Sample [how to highlight, underline and strikeout text programmatically](https://stackblitz.com/edit/rmfrlw-jgx99q?devtoolsheight=33&file=index.ts)
\ No newline at end of file
diff --git a/ej2-javascript/pdfviewer/how-to/highlight-underline-strikeout.md b/ej2-javascript/pdfviewer/how-to/highlight-underline-strikeout.md
deleted file mode 100644
index 374269d2c..000000000
--- a/ej2-javascript/pdfviewer/how-to/highlight-underline-strikeout.md
+++ /dev/null
@@ -1,37 +0,0 @@
----
-layout: post
-title: Highlight underline strikeout in ##Platform_Name## Pdfviewer control | Syncfusion
-description: Learn here all about Highlight underline strikeout in Syncfusion ##Platform_Name## Pdfviewer control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: Highlight underline strikeout
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Highlight underline strikeout in ##Platform_Name## Pdfviewer control
-
-The PDF Viewer library allows you to highlight, underline and strikeout text in the loaded PDF document programmatically using the [**setAnnotationMode()**](https://helpej2.syncfusion.com/documentation/api/pdfviewer/annotation/#setannotationmode) method.
-
-**Step 1:** Follow the steps provided in the [link](https://ej2.syncfusion.com/javascript/documentation/pdfviewer/getting-started/) to create simple PDF Viewer sample.
-
-**Step 2:** Add the following code snippet to highlight, underline, and strikeout text in the loaded document with button click events.
-
-```javascript
-
- document.getElementById('setHighlight').addEventListener('click', ()=> {
- viewer.annotation.setAnnotationMode('Highlight');
- });
- document.getElementById('setUnderline').addEventListener('click', ()=> {
- viewer.annotation.setAnnotationMode('Underline');
- });
- document.getElementById('setStrikeout').addEventListener('click', ()=> {
- viewer.annotation.setAnnotationMode('Strikethrough');
- });
- document.getElementById('setNone').addEventListener('click', ()=> {
- viewer.annotation.setAnnotationMode('None');
- });
-
-```
-
-Find the Sample [how to highlight, underline and strikeout text programmatically](https://stackblitz.com/edit/bf3k6y?devtoolsheight=33&file=index.js)
\ No newline at end of file
diff --git a/ej2-javascript/pdfviewer/how-to/identify-added-annotation-mode.md b/ej2-javascript/pdfviewer/how-to/identify-added-annotation-mode.md
deleted file mode 100644
index e2ef4c387..000000000
--- a/ej2-javascript/pdfviewer/how-to/identify-added-annotation-mode.md
+++ /dev/null
@@ -1,28 +0,0 @@
----
-layout: post
-title: Identify added annotation mode in ##Platform_Name## Pdfviewer control | Syncfusion
-description: Learn here all about Identify added annotation mode in Syncfusion ##Platform_Name## Pdfviewer control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: Identify added annotation mode
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Identify added annotation mode in ##Platform_Name## Pdfviewer control
-
-The PDF Viewer library allows you to identify whether the added annotations in PDF document is UI drawn, imported or existing annotation. Annotation mode can be identified using the [**annotationAddMode**](https://helpej2.syncfusion.com/documentation/api/pdfviewer/#annotationadd) property of [**annotationSelect**](https://helpej2.syncfusion.com/documentation/api/pdfviewer/#annotationselect) event.
-
-**Step 1:** Follow the steps provided in the [link](https://ej2.syncfusion.com/documentation/pdfviewer/getting-started/) to create simple PDF Viewer sample.
-
-**Step 2:** The following code snippet explains how to identify added annotation mode.
-
-```ts
-
-viewer.annotationSelect =(args) =>{
-console.log(args.annotationAddMode);
-}
-
-```
-
-Find the Sample [how to identify added annotation mode](https://stackblitz.com/edit/nldhsr?devtoolsheight=33&file=index.ts)
diff --git a/ej2-javascript/pdfviewer/how-to/identify-added-annotation.md b/ej2-javascript/pdfviewer/how-to/identify-added-annotation.md
deleted file mode 100644
index 57ba077f6..000000000
--- a/ej2-javascript/pdfviewer/how-to/identify-added-annotation.md
+++ /dev/null
@@ -1,28 +0,0 @@
----
-layout: post
-title: Identify added annotation in ##Platform_Name## Pdfviewer control | Syncfusion
-description: Learn here all about Identify added annotation in Syncfusion ##Platform_Name## Pdfviewer control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: Identify added annotation
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Identify added annotation in ##Platform_Name## Pdfviewer control
-
-The PDF Viewer library allows you to identify whether the added annotations in PDF document is UI drawn, imported or existing annotation. Annotation mode can be identified using the [**annotationAddMode**](https://helpej2.syncfusion.com/documentation/api/pdfviewer/#annotationadd) property of **annotationSelect**9(https://helpej2.syncfusion.com/documentation/api/pdfviewer/#annotationselect) event.
-
-**Step 1:** Follow the steps provided in the [link](https://ej2.syncfusion.com/javascript/documentation/pdfviewer/getting-started/) to create simple PDF Viewer sample.
-
-**Step 2:** The following code snippet explains how to identify added annotation mode.
-
-```javascript
-
-viewer.annotationSelect =(args) =>{
-console.log(args.annotationAddMode);
-}
-
-```
-
-Find the Sample [how to identify added annotation mode](https://stackblitz.com/edit/xntzu8?devtoolsheight=33&file=index.js)
diff --git a/ej2-javascript/pdfviewer/how-to/images/Coreapp.png b/ej2-javascript/pdfviewer/how-to/images/Coreapp.png
deleted file mode 100644
index f13eebee1..000000000
Binary files a/ej2-javascript/pdfviewer/how-to/images/Coreapp.png and /dev/null differ
diff --git a/ej2-javascript/pdfviewer/how-to/images/Coreapp1.png b/ej2-javascript/pdfviewer/how-to/images/Coreapp1.png
deleted file mode 100644
index 1cca37635..000000000
Binary files a/ej2-javascript/pdfviewer/how-to/images/Coreapp1.png and /dev/null differ
diff --git a/ej2-javascript/pdfviewer/how-to/images/CoreappCreate.png b/ej2-javascript/pdfviewer/how-to/images/CoreappCreate.png
deleted file mode 100644
index 6badfd7a5..000000000
Binary files a/ej2-javascript/pdfviewer/how-to/images/CoreappCreate.png and /dev/null differ
diff --git a/ej2-javascript/pdfviewer/how-to/images/ErrorinformationuintheNetworkTab.png b/ej2-javascript/pdfviewer/how-to/images/ErrorinformationuintheNetworkTab.png
deleted file mode 100644
index 8838f9a62..000000000
Binary files a/ej2-javascript/pdfviewer/how-to/images/ErrorinformationuintheNetworkTab.png and /dev/null differ
diff --git a/ej2-javascript/pdfviewer/how-to/images/Nugetpackage.png b/ej2-javascript/pdfviewer/how-to/images/Nugetpackage.png
deleted file mode 100644
index ca97a8dc0..000000000
Binary files a/ej2-javascript/pdfviewer/how-to/images/Nugetpackage.png and /dev/null differ
diff --git a/ej2-javascript/pdfviewer/how-to/images/Start.png b/ej2-javascript/pdfviewer/how-to/images/Start.png
deleted file mode 100644
index 3e1868305..000000000
Binary files a/ej2-javascript/pdfviewer/how-to/images/Start.png and /dev/null differ
diff --git a/ej2-javascript/pdfviewer/how-to/images/add-revised.png b/ej2-javascript/pdfviewer/how-to/images/add-revised.png
deleted file mode 100644
index 0e0a24bae..000000000
Binary files a/ej2-javascript/pdfviewer/how-to/images/add-revised.png and /dev/null differ
diff --git a/ej2-javascript/pdfviewer/how-to/images/add-shapes.png b/ej2-javascript/pdfviewer/how-to/images/add-shapes.png
deleted file mode 100644
index 09ab8ef22..000000000
Binary files a/ej2-javascript/pdfviewer/how-to/images/add-shapes.png and /dev/null differ
diff --git a/ej2-javascript/pdfviewer/how-to/images/add-signature.png b/ej2-javascript/pdfviewer/how-to/images/add-signature.png
deleted file mode 100644
index 3bf8fe062..000000000
Binary files a/ej2-javascript/pdfviewer/how-to/images/add-signature.png and /dev/null differ
diff --git a/ej2-javascript/pdfviewer/how-to/images/add-sticky-notes.png b/ej2-javascript/pdfviewer/how-to/images/add-sticky-notes.png
deleted file mode 100644
index d86780c44..000000000
Binary files a/ej2-javascript/pdfviewer/how-to/images/add-sticky-notes.png and /dev/null differ
diff --git a/ej2-javascript/pdfviewer/how-to/images/add-text-markup.png b/ej2-javascript/pdfviewer/how-to/images/add-text-markup.png
deleted file mode 100644
index 7a09d8d5a..000000000
Binary files a/ej2-javascript/pdfviewer/how-to/images/add-text-markup.png and /dev/null differ
diff --git a/ej2-javascript/pdfviewer/how-to/images/addformfield.gif b/ej2-javascript/pdfviewer/how-to/images/addformfield.gif
deleted file mode 100644
index 88f70cbb4..000000000
Binary files a/ej2-javascript/pdfviewer/how-to/images/addformfield.gif and /dev/null differ
diff --git a/ej2-javascript/pdfviewer/how-to/images/adding-signature.png b/ej2-javascript/pdfviewer/how-to/images/adding-signature.png
deleted file mode 100644
index fd92aa760..000000000
Binary files a/ej2-javascript/pdfviewer/how-to/images/adding-signature.png and /dev/null differ
diff --git a/ej2-javascript/pdfviewer/how-to/images/after-enabling-annotation-toolbar.png b/ej2-javascript/pdfviewer/how-to/images/after-enabling-annotation-toolbar.png
deleted file mode 100644
index 2387c4035..000000000
Binary files a/ej2-javascript/pdfviewer/how-to/images/after-enabling-annotation-toolbar.png and /dev/null differ
diff --git a/ej2-javascript/pdfviewer/how-to/images/api-controller.png b/ej2-javascript/pdfviewer/how-to/images/api-controller.png
deleted file mode 100644
index 4afff0902..000000000
Binary files a/ej2-javascript/pdfviewer/how-to/images/api-controller.png and /dev/null differ
diff --git a/ej2-javascript/pdfviewer/how-to/images/apicontroller.png b/ej2-javascript/pdfviewer/how-to/images/apicontroller.png
deleted file mode 100644
index 7cdaf60b1..000000000
Binary files a/ej2-javascript/pdfviewer/how-to/images/apicontroller.png and /dev/null differ
diff --git a/ej2-javascript/pdfviewer/how-to/images/appearanceproperties.png b/ej2-javascript/pdfviewer/how-to/images/appearanceproperties.png
deleted file mode 100644
index 14d99c667..000000000
Binary files a/ej2-javascript/pdfviewer/how-to/images/appearanceproperties.png and /dev/null differ
diff --git a/ej2-javascript/pdfviewer/how-to/images/azure_pdfviewer.png b/ej2-javascript/pdfviewer/how-to/images/azure_pdfviewer.png
deleted file mode 100644
index e3fc61964..000000000
Binary files a/ej2-javascript/pdfviewer/how-to/images/azure_pdfviewer.png and /dev/null differ
diff --git a/ej2-javascript/pdfviewer/how-to/images/azure_publish.png b/ej2-javascript/pdfviewer/how-to/images/azure_publish.png
deleted file mode 100644
index cc48af57b..000000000
Binary files a/ej2-javascript/pdfviewer/how-to/images/azure_publish.png and /dev/null differ
diff --git a/ej2-javascript/pdfviewer/how-to/images/azure_target.png b/ej2-javascript/pdfviewer/how-to/images/azure_target.png
deleted file mode 100644
index 8a15cd104..000000000
Binary files a/ej2-javascript/pdfviewer/how-to/images/azure_target.png and /dev/null differ
diff --git a/ej2-javascript/pdfviewer/how-to/images/bookmark.png b/ej2-javascript/pdfviewer/how-to/images/bookmark.png
deleted file mode 100644
index bab491c45..000000000
Binary files a/ej2-javascript/pdfviewer/how-to/images/bookmark.png and /dev/null differ
diff --git a/ej2-javascript/pdfviewer/how-to/images/change-property.png b/ej2-javascript/pdfviewer/how-to/images/change-property.png
deleted file mode 100644
index edb1b772d..000000000
Binary files a/ej2-javascript/pdfviewer/how-to/images/change-property.png and /dev/null differ
diff --git a/ej2-javascript/pdfviewer/how-to/images/clipboardformfield.png b/ej2-javascript/pdfviewer/how-to/images/clipboardformfield.png
deleted file mode 100644
index e27af034d..000000000
Binary files a/ej2-javascript/pdfviewer/how-to/images/clipboardformfield.png and /dev/null differ
diff --git a/ej2-javascript/pdfviewer/how-to/images/close-comment-panel.png b/ej2-javascript/pdfviewer/how-to/images/close-comment-panel.png
deleted file mode 100644
index 26af17938..000000000
Binary files a/ej2-javascript/pdfviewer/how-to/images/close-comment-panel.png and /dev/null differ
diff --git a/ej2-javascript/pdfviewer/how-to/images/comment-panel.png b/ej2-javascript/pdfviewer/how-to/images/comment-panel.png
deleted file mode 100644
index 61c066ec0..000000000
Binary files a/ej2-javascript/pdfviewer/how-to/images/comment-panel.png and /dev/null differ
diff --git a/ej2-javascript/pdfviewer/how-to/images/default-template.png b/ej2-javascript/pdfviewer/how-to/images/default-template.png
deleted file mode 100644
index b82ddc737..000000000
Binary files a/ej2-javascript/pdfviewer/how-to/images/default-template.png and /dev/null differ
diff --git a/ej2-javascript/pdfviewer/how-to/images/delete-icon.png b/ej2-javascript/pdfviewer/how-to/images/delete-icon.png
deleted file mode 100644
index 9c99dc690..000000000
Binary files a/ej2-javascript/pdfviewer/how-to/images/delete-icon.png and /dev/null differ
diff --git a/ej2-javascript/pdfviewer/how-to/images/delete_button.png b/ej2-javascript/pdfviewer/how-to/images/delete_button.png
deleted file mode 100644
index 3642d2e50..000000000
Binary files a/ej2-javascript/pdfviewer/how-to/images/delete_button.png and /dev/null differ
diff --git a/ej2-javascript/pdfviewer/how-to/images/download.png b/ej2-javascript/pdfviewer/how-to/images/download.png
deleted file mode 100644
index aa3660027..000000000
Binary files a/ej2-javascript/pdfviewer/how-to/images/download.png and /dev/null differ
diff --git a/ej2-javascript/pdfviewer/how-to/images/dragformfield.gif b/ej2-javascript/pdfviewer/how-to/images/dragformfield.gif
deleted file mode 100644
index 97666468f..000000000
Binary files a/ej2-javascript/pdfviewer/how-to/images/dragformfield.gif and /dev/null differ
diff --git a/ej2-javascript/pdfviewer/how-to/images/dropdownproperties.png b/ej2-javascript/pdfviewer/how-to/images/dropdownproperties.png
deleted file mode 100644
index 9bb5dc3dd..000000000
Binary files a/ej2-javascript/pdfviewer/how-to/images/dropdownproperties.png and /dev/null differ
diff --git a/ej2-javascript/pdfviewer/how-to/images/edit-annotation.png b/ej2-javascript/pdfviewer/how-to/images/edit-annotation.png
deleted file mode 100644
index 1b00dad78..000000000
Binary files a/ej2-javascript/pdfviewer/how-to/images/edit-annotation.png and /dev/null differ
diff --git a/ej2-javascript/pdfviewer/how-to/images/edit_color.png b/ej2-javascript/pdfviewer/how-to/images/edit_color.png
deleted file mode 100644
index 1c335dd0b..000000000
Binary files a/ej2-javascript/pdfviewer/how-to/images/edit_color.png and /dev/null differ
diff --git a/ej2-javascript/pdfviewer/how-to/images/edit_opacity.png b/ej2-javascript/pdfviewer/how-to/images/edit_opacity.png
deleted file mode 100644
index 1c813aca2..000000000
Binary files a/ej2-javascript/pdfviewer/how-to/images/edit_opacity.png and /dev/null differ
diff --git a/ej2-javascript/pdfviewer/how-to/images/generalproperties.png b/ej2-javascript/pdfviewer/how-to/images/generalproperties.png
deleted file mode 100644
index e0cd4ee89..000000000
Binary files a/ej2-javascript/pdfviewer/how-to/images/generalproperties.png and /dev/null differ
diff --git a/ej2-javascript/pdfviewer/how-to/images/highlight_button.PNG b/ej2-javascript/pdfviewer/how-to/images/highlight_button.PNG
deleted file mode 100644
index 742cf4412..000000000
Binary files a/ej2-javascript/pdfviewer/how-to/images/highlight_button.PNG and /dev/null differ
diff --git a/ej2-javascript/pdfviewer/how-to/images/highlight_context.png b/ej2-javascript/pdfviewer/how-to/images/highlight_context.png
deleted file mode 100644
index 43e5f5f88..000000000
Binary files a/ej2-javascript/pdfviewer/how-to/images/highlight_context.png and /dev/null differ
diff --git a/ej2-javascript/pdfviewer/how-to/images/ink-annotation.png b/ej2-javascript/pdfviewer/how-to/images/ink-annotation.png
deleted file mode 100644
index 0699edb19..000000000
Binary files a/ej2-javascript/pdfviewer/how-to/images/ink-annotation.png and /dev/null differ
diff --git a/ej2-javascript/pdfviewer/how-to/images/link.png b/ej2-javascript/pdfviewer/how-to/images/link.png
deleted file mode 100644
index 6ff713700..000000000
Binary files a/ej2-javascript/pdfviewer/how-to/images/link.png and /dev/null differ
diff --git a/ej2-javascript/pdfviewer/how-to/images/navigation.png b/ej2-javascript/pdfviewer/how-to/images/navigation.png
deleted file mode 100644
index 143a0f0d4..000000000
Binary files a/ej2-javascript/pdfviewer/how-to/images/navigation.png and /dev/null differ
diff --git a/ej2-javascript/pdfviewer/how-to/images/open-comment.png b/ej2-javascript/pdfviewer/how-to/images/open-comment.png
deleted file mode 100644
index 900069fad..000000000
Binary files a/ej2-javascript/pdfviewer/how-to/images/open-comment.png and /dev/null differ
diff --git a/ej2-javascript/pdfviewer/how-to/images/open-fillcolor.png b/ej2-javascript/pdfviewer/how-to/images/open-fillcolor.png
deleted file mode 100644
index 5eaa67806..000000000
Binary files a/ej2-javascript/pdfviewer/how-to/images/open-fillcolor.png and /dev/null differ
diff --git a/ej2-javascript/pdfviewer/how-to/images/open-ink.png b/ej2-javascript/pdfviewer/how-to/images/open-ink.png
deleted file mode 100644
index c52125247..000000000
Binary files a/ej2-javascript/pdfviewer/how-to/images/open-ink.png and /dev/null differ
diff --git a/ej2-javascript/pdfviewer/how-to/images/open-radius.png b/ej2-javascript/pdfviewer/how-to/images/open-radius.png
deleted file mode 100644
index 0dd083a9c..000000000
Binary files a/ej2-javascript/pdfviewer/how-to/images/open-radius.png and /dev/null differ
diff --git a/ej2-javascript/pdfviewer/how-to/images/open-stamp.png b/ej2-javascript/pdfviewer/how-to/images/open-stamp.png
deleted file mode 100644
index 74ccf1664..000000000
Binary files a/ej2-javascript/pdfviewer/how-to/images/open-stamp.png and /dev/null differ
diff --git a/ej2-javascript/pdfviewer/how-to/images/openexistingpdf.gif b/ej2-javascript/pdfviewer/how-to/images/openexistingpdf.gif
deleted file mode 100644
index b88e0f096..000000000
Binary files a/ej2-javascript/pdfviewer/how-to/images/openexistingpdf.gif and /dev/null differ
diff --git a/ej2-javascript/pdfviewer/how-to/images/pan.png b/ej2-javascript/pdfviewer/how-to/images/pan.png
deleted file mode 100644
index 3d5cc4ac1..000000000
Binary files a/ej2-javascript/pdfviewer/how-to/images/pan.png and /dev/null differ
diff --git a/ej2-javascript/pdfviewer/how-to/images/pdfviewer-dependency.png b/ej2-javascript/pdfviewer/how-to/images/pdfviewer-dependency.png
deleted file mode 100644
index 8de1ed0df..000000000
Binary files a/ej2-javascript/pdfviewer/how-to/images/pdfviewer-dependency.png and /dev/null differ
diff --git a/ej2-javascript/pdfviewer/how-to/images/print.png b/ej2-javascript/pdfviewer/how-to/images/print.png
deleted file mode 100644
index 588950330..000000000
Binary files a/ej2-javascript/pdfviewer/how-to/images/print.png and /dev/null differ
diff --git a/ej2-javascript/pdfviewer/how-to/images/printformfield.gif b/ej2-javascript/pdfviewer/how-to/images/printformfield.gif
deleted file mode 100644
index 9365bf7fd..000000000
Binary files a/ej2-javascript/pdfviewer/how-to/images/printformfield.gif and /dev/null differ
diff --git a/ej2-javascript/pdfviewer/how-to/images/radius-annotation.png b/ej2-javascript/pdfviewer/how-to/images/radius-annotation.png
deleted file mode 100644
index 2559f6da8..000000000
Binary files a/ej2-javascript/pdfviewer/how-to/images/radius-annotation.png and /dev/null differ
diff --git a/ej2-javascript/pdfviewer/how-to/images/resizeformfield.gif b/ej2-javascript/pdfviewer/how-to/images/resizeformfield.gif
deleted file mode 100644
index 06d97cf67..000000000
Binary files a/ej2-javascript/pdfviewer/how-to/images/resizeformfield.gif and /dev/null differ
diff --git a/ej2-javascript/pdfviewer/how-to/images/saveformfield.gif b/ej2-javascript/pdfviewer/how-to/images/saveformfield.gif
deleted file mode 100644
index b254a7df4..000000000
Binary files a/ej2-javascript/pdfviewer/how-to/images/saveformfield.gif and /dev/null differ
diff --git a/ej2-javascript/pdfviewer/how-to/images/search.png b/ej2-javascript/pdfviewer/how-to/images/search.png
deleted file mode 100644
index b8246ab69..000000000
Binary files a/ej2-javascript/pdfviewer/how-to/images/search.png and /dev/null differ
diff --git a/ej2-javascript/pdfviewer/how-to/images/select-text.png b/ej2-javascript/pdfviewer/how-to/images/select-text.png
deleted file mode 100644
index b7d119b38..000000000
Binary files a/ej2-javascript/pdfviewer/how-to/images/select-text.png and /dev/null differ
diff --git a/ej2-javascript/pdfviewer/how-to/images/selection.png b/ej2-javascript/pdfviewer/how-to/images/selection.png
deleted file mode 100644
index 901a0cd72..000000000
Binary files a/ej2-javascript/pdfviewer/how-to/images/selection.png and /dev/null differ
diff --git a/ej2-javascript/pdfviewer/how-to/images/solution-explorer.png b/ej2-javascript/pdfviewer/how-to/images/solution-explorer.png
deleted file mode 100644
index 11d012579..000000000
Binary files a/ej2-javascript/pdfviewer/how-to/images/solution-explorer.png and /dev/null differ
diff --git a/ej2-javascript/pdfviewer/how-to/images/sticky-notes-in-page.png b/ej2-javascript/pdfviewer/how-to/images/sticky-notes-in-page.png
deleted file mode 100644
index 3a96cc714..000000000
Binary files a/ej2-javascript/pdfviewer/how-to/images/sticky-notes-in-page.png and /dev/null differ
diff --git a/ej2-javascript/pdfviewer/how-to/images/strikethrough_button.png b/ej2-javascript/pdfviewer/how-to/images/strikethrough_button.png
deleted file mode 100644
index c416e49cd..000000000
Binary files a/ej2-javascript/pdfviewer/how-to/images/strikethrough_button.png and /dev/null differ
diff --git a/ej2-javascript/pdfviewer/how-to/images/strikethrough_context.png b/ej2-javascript/pdfviewer/how-to/images/strikethrough_context.png
deleted file mode 100644
index 0bcea7b82..000000000
Binary files a/ej2-javascript/pdfviewer/how-to/images/strikethrough_context.png and /dev/null differ
diff --git a/ej2-javascript/pdfviewer/how-to/images/text_markup_annotation.png b/ej2-javascript/pdfviewer/how-to/images/text_markup_annotation.png
deleted file mode 100644
index 7165f1e11..000000000
Binary files a/ej2-javascript/pdfviewer/how-to/images/text_markup_annotation.png and /dev/null differ
diff --git a/ej2-javascript/pdfviewer/how-to/images/thumbnail.png b/ej2-javascript/pdfviewer/how-to/images/thumbnail.png
deleted file mode 100644
index 99c63d926..000000000
Binary files a/ej2-javascript/pdfviewer/how-to/images/thumbnail.png and /dev/null differ
diff --git a/ej2-javascript/pdfviewer/how-to/images/toc.png b/ej2-javascript/pdfviewer/how-to/images/toc.png
deleted file mode 100644
index 617e1ea9d..000000000
Binary files a/ej2-javascript/pdfviewer/how-to/images/toc.png and /dev/null differ
diff --git a/ej2-javascript/pdfviewer/how-to/images/toolbar.png b/ej2-javascript/pdfviewer/how-to/images/toolbar.png
deleted file mode 100644
index e899e9678..000000000
Binary files a/ej2-javascript/pdfviewer/how-to/images/toolbar.png and /dev/null differ
diff --git a/ej2-javascript/pdfviewer/how-to/images/underline_button.png b/ej2-javascript/pdfviewer/how-to/images/underline_button.png
deleted file mode 100644
index a93d3b86f..000000000
Binary files a/ej2-javascript/pdfviewer/how-to/images/underline_button.png and /dev/null differ
diff --git a/ej2-javascript/pdfviewer/how-to/images/underline_context.png b/ej2-javascript/pdfviewer/how-to/images/underline_context.png
deleted file mode 100644
index 2aab9892e..000000000
Binary files a/ej2-javascript/pdfviewer/how-to/images/underline_context.png and /dev/null differ
diff --git a/ej2-javascript/pdfviewer/how-to/images/viewer-dependency.png b/ej2-javascript/pdfviewer/how-to/images/viewer-dependency.png
deleted file mode 100644
index 79564dbf4..000000000
Binary files a/ej2-javascript/pdfviewer/how-to/images/viewer-dependency.png and /dev/null differ
diff --git a/ej2-javascript/pdfviewer/how-to/images/zoom.png b/ej2-javascript/pdfviewer/how-to/images/zoom.png
deleted file mode 100644
index 69adbf988..000000000
Binary files a/ej2-javascript/pdfviewer/how-to/images/zoom.png and /dev/null differ
diff --git a/ej2-javascript/pdfviewer/how-to/import-annotation.md b/ej2-javascript/pdfviewer/how-to/import-annotation.md
deleted file mode 100644
index dde45c4da..000000000
--- a/ej2-javascript/pdfviewer/how-to/import-annotation.md
+++ /dev/null
@@ -1,130 +0,0 @@
----
-layout: post
-title: Import annotation in ##Platform_Name## Pdfviewer control | Syncfusion
-description: Learn here all about Import annotation in Syncfusion ##Platform_Name## Pdfviewer control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: Import annotation
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Import annotation in ##Platform_Name## Pdfviewer control
-
-To import annotations into a Syncfusion PDF Viewer when loading a PDF document, you can use the [**importAnnotations()**](https://helpej2.syncfusion.com/documentation/api/pdfviewer/#importannotation) method of the PDF Viewer. This method allows you to import annotations from a file or a string in the PDF Viewer.
-
-Here is an example of how you can use the [**importAnnotations()**](https://helpej2.syncfusion.com/documentation/api/pdfviewer/#importannotation) method to import annotations when loading a PDF document:
-
-**Step 1:** Follow the steps provided in the [link](https://ej2.syncfusion.com/javascript/documentation/pdfviewer/getting-started/) to create simple PDF Viewer sample.
-
-**Step 2:** Add the following code snippet to import annotations on load PDF document.
-
-```javascript
-
-document.getElementById('importAnnot').addEventListener('click', ()=> {
-viewer.importAnnotation({
- pdfAnnotation: {
- '0': {
- shapeAnnotation: [
- {
- ShapeAnnotationType: 'Square',
- Author: 'Guest',
- AnnotationSelectorSettings: {
- selectionBorderColor: '',
- resizerBorderColor: 'black',
- resizerFillColor: '#FF4081',
- resizerSize: 8,
- selectionBorderThickness: 1,
- resizerShape: 'Square',
- selectorLineDashArray: [],
- resizerLocation: 3,
- resizerCursorType: null
- },
- ModifiedDate: '4/22/2021, 10:33:04 AM',
- Subject: 'Rectangle',
- Note: '',
- IsCommentLock: false,
- StrokeColor: 'rgba(255,0,0,1)',
- FillColor: 'rgba(255,255,255,0)',
- Opacity: 1,
- Bounds: {
- X: 124,
- Y: 76,
- Width: 202,
- Height: 154,
- Location: { X: 124, Y: 76 },
- Size: { IsEmpty: false, Width: 202, Height: 154 },
- Left: 124,
- Top: 76,
- Right: 326,
- Bottom: 230
- },
- Thickness: 2,
- BorderStyle: 'Solid',
- BorderDashArray: 0,
- RotateAngle: 'RotateAngle0',
- IsCloudShape: false,
- CloudIntensity: 0,
- RectangleDifference: null,
- VertexPoints: null,
- LineHeadStart: null,
- LineHeadEnd: null,
- IsLocked: false,
- AnnotName: 'e9a14dbe-5d09-4226-329e-c6edab201284',
- Comments: null,
- State: '',
- StateModel: '',
- AnnotType: 'shape',
- EnableShapeLabel: false,
- LabelContent: null,
- LabelFillColor: null,
- LabelBorderColor: null,
- FontColor: null,
- FontSize: 0,
- CustomData: null,
- LabelBounds: {
- X: 0,
- Y: 0,
- Width: 0,
- Height: 0,
- Location: { X: 0, Y: 0 },
- Size: { IsEmpty: true, Width: 0, Height: 0 },
- Left: 0,
- Top: 0,
- Right: 0,
- Bottom: 0
- },
- LabelSettings: null,
- AnnotationSettings: {
- minWidth: 0,
- maxWidth: 0,
- minHeight: 0,
- maxHeight: 0,
- isLock: false,
- isPrint: true
- },
- AllowedInteractions: ['None'],
- IsPrint: true,
- ExistingCustomData: null
- },
- ]
- }
- }
- });
-});
-
-```
-
-In this example, the PDF Viewer is first used to load the PDF document from a file. The **importAnnotations()** method is then used to import annotations from a string. The imported annotations will be added to the PDF Viewer and displayed along with the document.
-
-Alternatively, we can import annotations from a file in JSON or XFDF format.
-
-```javascript
-
-document.getElementById('import').addEventListener('click', function() {
- viewer.importAnnotation('F# Succinctly.xfdf');
-});
-
-```
-
-Find the sample [how to import annotations on loading a PDF Document](https://stackblitz.com/edit/eus1kk?file=index.js)
\ No newline at end of file
diff --git a/ej2-javascript/pdfviewer/how-to/import-annotations.md b/ej2-javascript/pdfviewer/how-to/import-annotations.md
deleted file mode 100644
index 4ff5f082f..000000000
--- a/ej2-javascript/pdfviewer/how-to/import-annotations.md
+++ /dev/null
@@ -1,130 +0,0 @@
----
-layout: post
-title: Import annotations in ##Platform_Name## Pdfviewer control | Syncfusion
-description: Learn here all about Import annotations in Syncfusion ##Platform_Name## Pdfviewer control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: Import annotations
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Import annotations in ##Platform_Name## Pdfviewer control
-
-To import annotations into a Syncfusion PDF Viewer when loading a PDF document, you can use the [**importAnnotations()**](https://helpej2.syncfusion.com/documentation/api/pdfviewer/#importannotation) method of the PDF Viewer. This method allows you to import annotations from a file or a string in the PDF Viewer.
-
-Here is an example of how you can use the [**importAnnotations()**](https://helpej2.syncfusion.com/documentation/api/pdfviewer/#importannotation) method to import annotations when loading a PDF document:
-
-**Step 1:** Follow the steps provided in the [link](https://ej2.syncfusion.com/javascript/documentation/pdfviewer/getting-started/) to create simple PDF Viewer sample.
-
-**Step 2:** Add the following code snippet to import annotations on load PDF document.
-
-```ts
-
-document.getElementById('importAnnot').addEventListener('click', ()=> {
-viewer.importAnnotation({
- pdfAnnotation: {
- '0': {
- shapeAnnotation: [
- {
- ShapeAnnotationType: 'Square',
- Author: 'Guest',
- AnnotationSelectorSettings: {
- selectionBorderColor: '',
- resizerBorderColor: 'black',
- resizerFillColor: '#FF4081',
- resizerSize: 8,
- selectionBorderThickness: 1,
- resizerShape: 'Square',
- selectorLineDashArray: [],
- resizerLocation: 3,
- resizerCursorType: null
- },
- ModifiedDate: '4/22/2021, 10:33:04 AM',
- Subject: 'Rectangle',
- Note: '',
- IsCommentLock: false,
- StrokeColor: 'rgba(255,0,0,1)',
- FillColor: 'rgba(255,255,255,0)',
- Opacity: 1,
- Bounds: {
- X: 124,
- Y: 76,
- Width: 202,
- Height: 154,
- Location: { X: 124, Y: 76 },
- Size: { IsEmpty: false, Width: 202, Height: 154 },
- Left: 124,
- Top: 76,
- Right: 326,
- Bottom: 230
- },
- Thickness: 2,
- BorderStyle: 'Solid',
- BorderDashArray: 0,
- RotateAngle: 'RotateAngle0',
- IsCloudShape: false,
- CloudIntensity: 0,
- RectangleDifference: null,
- VertexPoints: null,
- LineHeadStart: null,
- LineHeadEnd: null,
- IsLocked: false,
- AnnotName: 'e9a14dbe-5d09-4226-329e-c6edab201284',
- Comments: null,
- State: '',
- StateModel: '',
- AnnotType: 'shape',
- EnableShapeLabel: false,
- LabelContent: null,
- LabelFillColor: null,
- LabelBorderColor: null,
- FontColor: null,
- FontSize: 0,
- CustomData: null,
- LabelBounds: {
- X: 0,
- Y: 0,
- Width: 0,
- Height: 0,
- Location: { X: 0, Y: 0 },
- Size: { IsEmpty: true, Width: 0, Height: 0 },
- Left: 0,
- Top: 0,
- Right: 0,
- Bottom: 0
- },
- LabelSettings: null,
- AnnotationSettings: {
- minWidth: 0,
- maxWidth: 0,
- minHeight: 0,
- maxHeight: 0,
- isLock: false,
- isPrint: true
- },
- AllowedInteractions: ['None'],
- IsPrint: true,
- ExistingCustomData: null
- },
- ]
- }
- }
- });
-});
-
-```
-
-In this example, the PDF Viewer is first used to load the PDF document from a file. The **importAnnotations()** method is then used to import annotations from a string. The imported annotations will be added to the PDF Viewer and displayed along with the document.
-
-Alternatively, we can import annotations from a file in JSON or XFDF format.
-
-```ts
-
-document.getElementById('import').addEventListener('click', function() {
- viewer.importAnnotation('F# Succinctly.xfdf');
-});
-
-```
-
-Find the sample [how to import annotations on loading a PDF Document](https://stackblitz.com/edit/maxwf1-fqxduj?devtoolsheight=33&file=index.ts)
\ No newline at end of file
diff --git a/ej2-javascript/pdfviewer/how-to/import-export-annotation-js.md b/ej2-javascript/pdfviewer/how-to/import-export-annotation-js.md
deleted file mode 100644
index 2eb87a717..000000000
--- a/ej2-javascript/pdfviewer/how-to/import-export-annotation-js.md
+++ /dev/null
@@ -1,56 +0,0 @@
----
-layout: post
-title: Import export annotation in ##Platform_Name## Pdfviewer control | Syncfusion
-description: Learn here all about Import export annotation in Syncfusion ##Platform_Name## Pdfviewer control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: Import export annotation
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Import export annotation in ##Platform_Name## Pdfviewer control
-
-The PDF Viewer library allows you to import annotations from objects or streams instead of loading it as a file. To import such annotation objects, the PDF Viewer control must export the PDF annotations as objects using the [**ExportAnnotationsAsObject()**](https://ej2.syncfusion.com/javascript/documentation/api/pdfviewer/#exportannotationsasobject) method. Only the annotation objects that are exported from the PDF Viewer can be imported.
-
-The following steps are used to import and export annotations in various formats such as objects, JSON, and XFDF.
-
-**Step 1:** Follow the steps provided in the [link](https://ej2.syncfusion.com/javascript/documentation/pdfviewer/getting-started/) to create a simple PDF Viewer sample.
-
-**Step 2:** Use the following code snippet to perform import and export annotation.
-
-```
-
-
-
-
-```
-
-```js
-
-//Export annotation as object.
-// Export annotations in XFDF format.
-document.getElementById('ExportXfdf').addEventListener('click', function () {
- viewer.exportAnnotation('Xfdf');
-});
-
-// Export annotations in JSON format.
-document.getElementById('ExportJSON').addEventListener('click', function () {
- viewer.exportAnnotation('Json');
-});
-
-// Export annotations as an object.
-document.getElementById('export').addEventListener('click', () => {
- viewer.exportAnnotationsAsObject().then(function(value) {
- exportObject = value;
- });
-});
-
-// Import annotations that were exported as objects.
-document.getElementById('import').addEventListener('click', () => {
- viewer.importAnnotation(JSON.parse(exportObject));
-});
-
-```
-
-[View Sample in GitHub](https://github.com/SyncfusionExamples/javascript-pdf-viewer-examples/tree/master/How%20to)
\ No newline at end of file
diff --git a/ej2-javascript/pdfviewer/how-to/import-export-annotation-ts.md b/ej2-javascript/pdfviewer/how-to/import-export-annotation-ts.md
deleted file mode 100644
index 4de2d0ce4..000000000
--- a/ej2-javascript/pdfviewer/how-to/import-export-annotation-ts.md
+++ /dev/null
@@ -1,72 +0,0 @@
----
-layout: post
-title: Import export annotation in ##Platform_Name## Pdfviewer control | Syncfusion
-description: Learn here all about Import export annotation in Syncfusion ##Platform_Name## Pdfviewer control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: Import export annotation
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Import export annotation in ##Platform_Name## Pdfviewer control
-
-The PDF Viewer library allows you to import annotations from objects or streams instead of loading it as a file. To import such annotation objects, the PDF Viewer control must export the PDF annotations as objects using the [**ExportAnnotationsAsObject()**](https://ej2.syncfusion.com/documentation/api/pdfviewer/#exportannotationsasobject) method. Only the annotations objects that are exported from the PDF Viewer can be imported.
-
-The following steps are used to import and export annotations in various formats such as objects, JSON, and XFDF.
-
-**Step 1:** Follow the steps provided in the [link](https://ej2.syncfusion.com/documentation/pdfviewer/getting-started/) to create a simple PDF Viewer sample.
-
-**Step 2:** Use the following code snippet to perform import and export annotation.
-
-```
-
-
-
-
-```
-
-```ts
-enum AnnotationDataFormat {
- Json = 'Json',
- Xfdf = 'Xfdf'
- }
-
-let ExportXfdf = document.getElementById('ExportXfdf');
-if (ExportXfdf) {
- ExportXfdf.addEventListener('click', function () {
- // export the annotation in XFDF format.
- pdfviewer.exportAnnotation(AnnotationDataFormat.Xfdf);
- });
-}
-
-let ExportJSON = document.getElementById('ExportJSON');
-if (ExportJSON) {
- ExportJSON.addEventListener('click', function () {
- // export the annotation in JSON format.
- pdfviewer.exportAnnotation(AnnotationDataFormat.Json);
- });
-}
-
-let exportObject: any;
-let ExportAnnotationsAsObject = document.getElementById('export');
-//Export annotation as object.
-if (ExportAnnotationsAsObject) {
- ExportAnnotationsAsObject.addEventListener('click', () => {
- pdfviewer.exportAnnotationsAsObject().then(function (value: any) {
- exportObject = value;
- });
- });
-}
-
-let Import = document.getElementById('import');
-//Import annotation that are exported as object.
-if (Import) {
- Import.addEventListener('click', () => {
- pdfviewer.importAnnotation(JSON.parse(exportObject));
- });
-}
-
-```
-
-[View sample in GitHub](https://github.com/SyncfusionExamples/typescript-pdf-viewer-examples/tree/master/How%20to)
\ No newline at end of file
diff --git a/ej2-javascript/pdfviewer/how-to/load-document.md b/ej2-javascript/pdfviewer/how-to/load-document.md
deleted file mode 100644
index ff50a5f38..000000000
--- a/ej2-javascript/pdfviewer/how-to/load-document.md
+++ /dev/null
@@ -1,48 +0,0 @@
----
-layout: post
-title: Load document in ##Platform_Name## Pdfviewer control | Syncfusion
-description: Learn here all about Load document in Syncfusion ##Platform_Name## Pdfviewer control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: Load document
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Load document in ##Platform_Name## Pdfviewer control
-
-The PDF Viewer library allows to switch or load the PDF documents dynamically after the initial load operation. To achieve this, load the PDF document as a base64 string or file name in PDF Viewer control using the [**Load()**](https://ej2.syncfusion.com/documentation/api/pdfviewer/#load) method dynamically.
-
-The following steps are used to load the PDF document dynamically.
-
-**Step 1:** Follow the steps provided in the [link](https://ej2.syncfusion.com/documentation/pdfviewer/getting-started/) to create a simple PDF Viewer sample.
-
-**Step 2:** Use the following code snippet to load PDF document using base64 string.
-
-```
-
-```
-
-```ts
-// Load PDF document from Base64 string
-document.getElementById('load1').addEventListener('click', () => {
- viewer.load(
- 'data:application/pdf;base64,'+ AddBase64String, null);
-}
-```
-
-**Step 3:** Use the following code snippet to load PDF document using document name.
-
-```
-
-```
-
-```ts
-// Load PDF document using file name
-document.getElementById('load2').addEventListener('click', () => {
- viewer.load('https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf', null);
-});
-
-```
-
-Find the sample, [how to load PDF documents dynamically](https://stackblitz.com/edit/1tkfra-a8yca8?devtoolsheight=33&file=index.ts)
\ No newline at end of file
diff --git a/ej2-javascript/pdfviewer/how-to/load-documents.md b/ej2-javascript/pdfviewer/how-to/load-documents.md
deleted file mode 100644
index 2c5c30062..000000000
--- a/ej2-javascript/pdfviewer/how-to/load-documents.md
+++ /dev/null
@@ -1,48 +0,0 @@
----
-layout: post
-title: Load documents in ##Platform_Name## Pdfviewer control | Syncfusion
-description: Learn here all about Load documents in Syncfusion ##Platform_Name## Pdfviewer control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: Load documents
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Load documents in ##Platform_Name## Pdfviewer control
-
-The PDF Viewer library allows to switch or load the PDF documents dynamically after the initial load operation. To achieve this, load the PDF document as a base64 string or file name in PDF Viewer control using the [**Load()**](https://ej2.syncfusion.com/javascript/documentation/api/pdfviewer/#load) method dynamically.
-
-The following steps are used to load the PDF document dynamically.
-
-**Step 1:** Follow the steps provided in the [link](https://ej2.syncfusion.com/javascript/documentation/pdfviewer/getting-started/) to create a simple PDF Viewer sample.
-
-**Step 2:** Use the following code snippet to load PDF document using base64 string.
-
-```
-
-```
-
-```javascript
-// Load PDF document from Base64 string
-document.getElementById('load1').addEventListener('click', () => {
- viewer.load(
- 'data:application/pdf;base64,'+ AddBase64String, null);
-}
-```
-
-**Step 3:** Use the following code snippet to load PDF document using document name.
-
-```
-
-```
-
-```javascript
-// Load PDF document using file name
-document.getElementById('load2').addEventListener('click', () => {
- viewer.load('https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf', null);
-});
-
-```
-
-Find the sample, [how to load PDF documents dynamically](https://stackblitz.com/edit/w82pgd?devtoolsheight=33&file=index.js)
\ No newline at end of file
diff --git a/ej2-javascript/pdfviewer/how-to/min-max-zoom-js.md b/ej2-javascript/pdfviewer/how-to/min-max-zoom-js.md
deleted file mode 100644
index a9ed2be73..000000000
--- a/ej2-javascript/pdfviewer/how-to/min-max-zoom-js.md
+++ /dev/null
@@ -1,103 +0,0 @@
----
-layout: post
-title: Minimum and Maximum Zoom in ##Platform_Name## PDF Viewer control | Syncfusion
-description: Learn here all about Minimum and Maximum Zoom in Syncfusion ##Platform_Name## PDF Viewer control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: PDF Viewer
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Minimum and Maximum Zoom Properties
-
-The Syncfusion PDF Viewer provides the ability to control zoom levels for viewing PDF documents. The [minZoom](https://helpej2.syncfusion.com/documentation/api/pdfviewer/#minzoom) and [maxZoom](https://helpej2.syncfusion.com/documentation/api/pdfviewer/#maxzoom) properties enable developers to set the minimum and maximum zoom levels, ensuring a consistent and controlled viewing experience.
-
-### minZoom
-
-The [minZoom](https://helpej2.syncfusion.com/documentation/api/pdfviewer/#minzoom) property specifies the minimum zoom percentage allowed in the PDF Viewer. This ensures that users cannot zoom out beyond a certain limit, which helps maintain readability and performance. Developers can set the `minZoom` property programmatically, defining the minimum zoom level based on the application's requirements. This is particularly useful for preventing users from zooming out too much, which could make the content difficult to read.
-
-### maxZoom
-
-The [maxZoom](https://helpej2.syncfusion.com/documentation/api/pdfviewer/#maxzoom) property defines the maximum zoom percentage allowed in the PDF Viewer. By setting this property, developers can prevent users from zooming in too much, helping to avoid performance issues and maintain a smooth viewing experience. The `maxZoom` property can be set programmatically to control the upper limit of the zoom level. This is useful for applications where extremely high zoom levels might degrade performance or user experience.
-
-{% tabs %}
-{% highlight ts tabtitle="Standalone" %}
-
-var pdfviewer = new ej.pdfviewer.PdfViewer({
- documentPath: "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf",
- resourceUrl : "https://cdn.syncfusion.com/ej2/25.1.35/dist/ej2-pdfviewer-lib",
- maxZoom : 100,
- minZoom : 10,
-
- });
-ej.pdfviewer.PdfViewer.Inject(ej.pdfviewer.TextSelection, ej.pdfviewer.TextSearch, ej.pdfviewer.Print, ej.pdfviewer.Navigation, ej.pdfviewer.Toolbar,
- ej.pdfviewer.Magnification, ej.pdfviewer.Annotation, ej.pdfviewer.FormDesigner, ej.pdfviewer.FormFields, ej.pdfviewer.PageOrganizer);
-pdfviewer.appendTo('#PdfViewer');
-
-{% endhighlight %}
-{% highlight ts tabtitle="Server-Backed" %}
-
-var pdfviewer = new ej.pdfviewer.PdfViewer({
- documentPath: "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf",
- serviceUrl: 'https://services.syncfusion.com/js/production/api/pdfviewer',
- maxZoom : 100,
- minZoom : 10,
- });
-ej.pdfviewer.PdfViewer.Inject(ej.pdfviewer.TextSelection, ej.pdfviewer.TextSearch, ej.pdfviewer.Print, ej.pdfviewer.Navigation, ej.pdfviewer.Toolbar,
- ej.pdfviewer.Magnification, ej.pdfviewer.Annotation, ej.pdfviewer.FormDesigner, ej.pdfviewer.FormFields, ej.pdfviewer.PageOrganizer);
-pdfviewer.appendTo('#PdfViewer');
-
-{% endhighlight %}
-{% endtabs %}
-
-#### Restrict Zoom Percentage on Mobile Devices
-
-You can easily restrict the zoom percentage on mobile devices using the [minZoom](https://helpej2.syncfusion.com/documentation/api/pdfviewer/#minzoom) and [maxZoom](https://helpej2.syncfusion.com/documentation/api/pdfviewer/#maxzoom) properties. This feature allows you to set specific limits for zooming, ensuring smoother scrolling performance and efficient document loading on mobile devices. By controlling the zoom levels, you can provide a better user experience across different devices.
-
-{% tabs %}
-{% highlight js tabtitle="Standalone" %}
-
-var pdfviewer = new ej.pdfviewer.PdfViewer({
- documentPath: "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf",
- resourceUrl : "https://cdn.syncfusion.com/ej2/25.1.35/dist/ej2-pdfviewer-lib"
- });
-ej.pdfviewer.PdfViewer.Inject(ej.pdfviewer.TextSelection, ej.pdfviewer.TextSearch, ej.pdfviewer.Print, ej.pdfviewer.Navigation, ej.pdfviewer.Toolbar,
- ej.pdfviewer.Magnification, ej.pdfviewer.Annotation, ej.pdfviewer.FormDesigner, ej.pdfviewer.FormFields, ej.pdfviewer.PageOrganizer);
-pdfviewer.appendTo('#PdfViewer');
-
-pdfviewer.documentLoad = (): void => {
- if (Browser.isDevice && !viewer.enableDesktopMode) {
- pdfviewer.maxZoom = 200;
- pdfviewer.minZoom = 10;
- }
- else{
- pdfviewer.zoomMode = 'Default';
- }
-};
-
-{% endhighlight %}
-{% highlight js tabtitle="Server-Backed" %}
-
-var pdfviewer = new ej.pdfviewer.PdfViewer({
- documentPath: "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf",
- serviceUrl: 'https://services.syncfusion.com/js/production/api/pdfviewer'
- });
-ej.pdfviewer.PdfViewer.Inject(ej.pdfviewer.TextSelection, ej.pdfviewer.TextSearch, ej.pdfviewer.Print, ej.pdfviewer.Navigation, ej.pdfviewer.Toolbar,
- ej.pdfviewer.Magnification, ej.pdfviewer.Annotation, ej.pdfviewer.FormDesigner, ej.pdfviewer.FormFields, ej.pdfviewer.PageOrganizer);
-pdfviewer.appendTo('#PdfViewer');
-
-pdfviewer.documentLoad = (): void => {
- if (Browser.isDevice && !viewer.enableDesktopMode) {
- pdfviewer.maxZoom = 200;
- pdfviewer.minZoom = 10;
- }
- else{
- pdfviewer.zoomMode = 'Default';
- }
-};
-
-{% endhighlight %}
-{% endtabs %}
-
-By implementing this, you ensure that the maximum zoom percentage on mobile devices is limited to 200% and the minimum zoom percentage is set to 10%. This prevents performance issues that may arise from excessive zooming on mobile platforms.
\ No newline at end of file
diff --git a/ej2-javascript/pdfviewer/how-to/min-max-zoom-ts.md b/ej2-javascript/pdfviewer/how-to/min-max-zoom-ts.md
deleted file mode 100644
index 8d4e74c38..000000000
--- a/ej2-javascript/pdfviewer/how-to/min-max-zoom-ts.md
+++ /dev/null
@@ -1,112 +0,0 @@
----
-layout: post
-title: Minimum and Maximum Zoom in ##Platform_Name## PDF Viewer control | Syncfusion
-description: Learn here all about Minimum and Maximum Zoom in Syncfusion ##Platform_Name## PDF Viewer control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: PDF Viewer
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Minimum and Maximum Zoom Properties
-
-The Syncfusion PDF Viewer provides the ability to control zoom levels for viewing PDF documents. The [minZoom](https://helpej2.syncfusion.com/documentation/api/pdfviewer/#minzoom) and [maxZoom](https://helpej2.syncfusion.com/documentation/api/pdfviewer/#maxzoom) properties enable developers to set the minimum and maximum zoom levels, ensuring a consistent and controlled viewing experience.
-
-### minZoom
-
-The [minZoom](https://helpej2.syncfusion.com/documentation/api/pdfviewer/#minzoom) property specifies the minimum zoom percentage allowed in the PDF Viewer. This ensures that users cannot zoom out beyond a certain limit, which helps maintain readability and performance. Developers can set the `minZoom` property programmatically, defining the minimum zoom level based on the application's requirements. This is particularly useful for preventing users from zooming out too much, which could make the content difficult to read.
-
-### maxZoom
-
-The [maxZoom](https://helpej2.syncfusion.com/documentation/api/pdfviewer/#maxzoom) property defines the maximum zoom percentage allowed in the PDF Viewer. By setting this property, developers can prevent users from zooming in too much, helping to avoid performance issues and maintain a smooth viewing experience. The `maxZoom` property can be set programmatically to control the upper limit of the zoom level. This is useful for applications where extremely high zoom levels might degrade performance or user experience.
-
-{% tabs %}
-{% highlight ts tabtitle="Standalone" %}
-
-import { PdfViewer, Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, TextSearch, FormFields, FormDesigner, PageOrganizer} from '@syncfusion/ej2-pdfviewer';
-
-PdfViewer.Inject(Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, TextSearch, FormFields, FormDesigner, PageOrganizer);
-
-let pdfviewer: PdfViewer = new PdfViewer();
-pdfviewer.documentPath = "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf";
-pdfviewer.resourceUrl = "https://cdn.syncfusion.com/ej2/25.1.35/dist/ej2-pdfviewer-lib";
-pdfviewer.maxZoom = 100;
-pdfviewer.minZoom = 10;
-pdfviewer.appendTo('#PdfViewer');
-
-{% endhighlight %}
-{% highlight ts tabtitle="Server-Backed" %}
-
-import { PdfViewer, Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, TextSearch, FormFields, FormDesigner, PageOrganizer} from '@syncfusion/ej2-pdfviewer';
-
-PdfViewer.Inject(Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, TextSearch, FormFields, FormDesigner, PageOrganizer);
-
-let pdfviewer: PdfViewer = new PdfViewer();
-pdfviewer.serviceUrl = 'https://services.syncfusion.com/js/production/api/pdfviewer';
-pdfviewer.documentPath = "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf";
-pdfviewer.maxZoom = 100;
-pdfviewer.minZoom = 10;
-pdfviewer.appendTo('#PdfViewer');
-
-{% endhighlight %}
-{% endtabs %}
-
-#### Restrict Zoom Percentage on Mobile Devices
-
-You can easily restrict the zoom percentage on mobile devices using the [minZoom](https://helpej2.syncfusion.com/documentation/api/pdfviewer/#minzoom) and [maxZoom](https://helpej2.syncfusion.com/documentation/api/pdfviewer/#maxzoom) properties. This feature allows you to set specific limits for zooming, ensuring smoother scrolling performance and efficient document loading on mobile devices. By controlling the zoom levels, you can provide a better user experience across different devices.
-
-{% tabs %}
-{% highlight ts tabtitle="Standalone" %}
-
-import { PdfViewer, Toolbar, Magnification, Navigation, Annotation,
- LinkAnnotation, ThumbnailView, BookmarkView, TextSelection,
- TextSearch, FormFields, FormDesigner, PageOrganizer } from '@syncfusion/ej2-pdfviewer';
-import {Browser} from '@syncfusion/ej2-base';
-PdfViewer.Inject( Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, ThumbnailView,
- BookmarkView, TextSelection, TextSearch, FormFields, FormDesigner, PageOrganizer);
-
-let pdfviewer: PdfViewer = new PdfViewer();
-pdfviewer.documentPath = "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf";
-pdfviewer.resourceUrl = "https://cdn.syncfusion.com/ej2/25.1.35/dist/ej2-pdfviewer-lib";
-pdfviewer.appendTo('#PdfViewer');
-
-pdfviewer.documentLoad = (): void => {
- if (Browser.isDevice && !pdfviewer.enableDesktopMode) {
- pdfviewer.maxZoom = 200;
- pdfviewer.minZoom = 10;
- }
- else{
- pdfviewer.zoomMode = 'Default';
- }
-};
-
-{% endhighlight %}
-{% highlight ts tabtitle="Server-Backed" %}
-
-import { PdfViewer, Toolbar, Magnification, Navigation, Annotation,
- LinkAnnotation, ThumbnailView, BookmarkView, TextSelection,
- TextSearch, FormFields, FormDesigner, PageOrganizer } from '@syncfusion/ej2-pdfviewer';
-import {Browser} from '@syncfusion/ej2-base';
-PdfViewer.Inject( Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, ThumbnailView,
- BookmarkView, TextSelection, TextSearch, FormFields, FormDesigner, PageOrganizer);
-
-let pdfviewer: PdfViewer = new PdfViewer();
-pdfviewer.serviceUrl = 'https://services.syncfusion.com/js/production/api/pdfviewer';
-pdfviewer.documentPath = "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf";
-pdfviewer.appendTo('#PdfViewer');
-
-pdfviewer.documentLoad = (): void => {
- if (Browser.isDevice && !pdfviewer.enableDesktopMode) {
- pdfviewer.maxZoom = 200;
- pdfviewer.minZoom = 10;
- }
- else{
- pdfviewer.zoomMode = 'Default';
- }
-};
-
-{% endhighlight %}
-{% endtabs %}
-
-By implementing this, you ensure that the maximum zoom percentage on mobile devices is limited to 200% and the minimum zoom percentage is set to 10%. This prevents performance issues that may arise from excessive zooming on mobile platforms.
\ No newline at end of file
diff --git a/ej2-javascript/pdfviewer/how-to/open-bookmark-js.md b/ej2-javascript/pdfviewer/how-to/open-bookmark-js.md
deleted file mode 100644
index 6e81c2ab0..000000000
--- a/ej2-javascript/pdfviewer/how-to/open-bookmark-js.md
+++ /dev/null
@@ -1,45 +0,0 @@
----
-layout: post
-title: Open Bookmark in ##Platform_Name## PDF Viewer control | Syncfusion
-description: Learn here all about Open Bookmark in Syncfusion ##Platform_Name## PDF Viewer control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: PDF Viewer
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Open and Close Bookmark pane programmatically
-
-The PDF Viewer library allows you to open the Bookmark pane programmatically using the **openBookmarkPane()** method.
-
-The following steps are used to open the Bookmark.
-
-**Step 1:** Follow the steps provided in the [link](https://ej2.syncfusion.com/javascript/documentation/pdfviewer/getting-started) to create a simple PDF Viewer sample.
-
-**Step 2:** Insert the following code snippet to implement the functionality for opening the Bookmark pane:
-
-```html
-
-```
-
-```js
-document.getElementById('openBookmark').addEventListener('click', () => {
- // Open Bookmark pane
- viewer.bookmarkViewModule.openBookmarkPane();
-});
-```
-
-Similarly, to close the Bookmark pane programmatically, employ the following code snippet:
-
-```html
-
-```
-
-```js
-document.getElementById('closeBookmark').addEventListener('click', () => {
- // close Bookmark pane
- viewer.bookmarkViewModule.closeBookmarkPane();
-});
-
-[View sample in GitHub](https://github.com/SyncfusionExamples/javascript-pdf-viewer-examples/tree/master/How%20to/Open%20and%20Close%20bookmark%20pane)
\ No newline at end of file
diff --git a/ej2-javascript/pdfviewer/how-to/open-bookmark-ts.md b/ej2-javascript/pdfviewer/how-to/open-bookmark-ts.md
deleted file mode 100644
index 579041ddc..000000000
--- a/ej2-javascript/pdfviewer/how-to/open-bookmark-ts.md
+++ /dev/null
@@ -1,43 +0,0 @@
----
-layout: post
-title: Open Bookmark in ##Platform_Name## PDF Viewer control | Syncfusion
-description: Learn here all about Open Bookmark in Syncfusion ##Platform_Name## PDF Viewer control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: PDF Viewer
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Open and Close Bookmark pane programmatically
-
-The PDF Viewer library allows you to open the Bookmark pane programmatically using the **openBookmarkPane()** method.
-
-The following steps are used to open the Bookmark.
-
-**Step 1:** Follow the steps provided in the [link](https://ej2.syncfusion.com/javascript/documentation/pdfviewer/getting-started) to create a simple PDF Viewer sample.
-
-**Step 2:** Insert the following code snippet to implement the functionality for opening the Bookmark pane:
-
-```html
-
-```
-
-```ts
-document.getElementById('openBookmark').addEventListener('click', () => {
- // Open Bookmark pane
- viewer.bookmarkViewModule.openBookmarkPane();
-});
-```
-
-Similarly, to close the Bookmark pane programmatically, employ the following code snippet:
-
-```html
-
-```
-
-```ts
-document.getElementById('closeBookmark').addEventListener('click', () => {
- // close Bookmark pane
- viewer.bookmarkViewModule.closeBookmarkPane();
-});
\ No newline at end of file
diff --git a/ej2-javascript/pdfviewer/how-to/open-thumbnail-js.md b/ej2-javascript/pdfviewer/how-to/open-thumbnail-js.md
deleted file mode 100644
index 28ba2768c..000000000
--- a/ej2-javascript/pdfviewer/how-to/open-thumbnail-js.md
+++ /dev/null
@@ -1,33 +0,0 @@
----
-layout: post
-title: Open thumbnail js in ##Platform_Name## Pdfviewer control | Syncfusion
-description: Learn here all about Open thumbnail js in Syncfusion ##Platform_Name## Pdfviewer control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: Open thumbnail js
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Open thumbnail js in ##Platform_Name## Pdfviewer control
-
-The PDF Viewer library allows you to open the thumbnail pane programmatically using the [**openThumbnailPane()**](https://ej2.syncfusion.com/javascript/documentation/api/pdfviewer/thumbnailView/#openthumbnailpane) method.
-
-The following steps are used to open the thumbnail.
-
-**Step 1:** Follow the steps provided in the [link](https://ej2.syncfusion.com/javascript/documentation/pdfviewer/getting-started/) to create a simple PDF Viewer sample.
-
-**Step 2:** Use the following code snippet to open thumbnail.
-
-```
-
-```
-
-```js
-document.getElementById('openThumbnail').addEventListener('click', () => {
- // Open Thumbnail pane
- viewer.thumbnailViewModule.openThumbnailPane();
-});
-```
-
-Find the sample, [how to open the thumbnail pane programmatically](https://stackblitz.com/edit/ejvemx?file=index.js)
\ No newline at end of file
diff --git a/ej2-javascript/pdfviewer/how-to/open-thumbnail.md b/ej2-javascript/pdfviewer/how-to/open-thumbnail.md
deleted file mode 100644
index b9e86e0f8..000000000
--- a/ej2-javascript/pdfviewer/how-to/open-thumbnail.md
+++ /dev/null
@@ -1,33 +0,0 @@
----
-layout: post
-title: Open thumbnail in ##Platform_Name## Pdfviewer control | Syncfusion
-description: Learn here all about Open thumbnail in Syncfusion ##Platform_Name## Pdfviewer control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: Open thumbnail
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Open thumbnail in ##Platform_Name## Pdfviewer control
-
-The PDF Viewer library allows you to open the thumbnail pane programmatically using the [**openThumbnailPane()**](https://ej2.syncfusion.com/documentation/api/pdfviewer/thumbnailView/#openthumbnailpane) method.
-
-The following steps are used to open the thumbnail.
-
-**Step 1:** Follow the steps provided in the [link](https://ej2.syncfusion.com/documentation/pdfviewer/getting-started/) to create a simple PDF Viewer sample.
-
-**Step 2:** Use the following code snippet to open thumbnail.
-
-```
-
-```
-
-```ts
-document.getElementById('openThumbnail').addEventListener('click', () => {
- // Open Thumbnail pane
- viewer.thumbnailViewModule.openThumbnailPane();
-});
-```
-
-Find the sample, [how to open the thumbnail pane programmatically](https://stackblitz.com/edit/hjoij3?file=index.ts)
\ No newline at end of file
diff --git a/ej2-javascript/pdfviewer/how-to/overlapped-annotation.md b/ej2-javascript/pdfviewer/how-to/overlapped-annotation.md
deleted file mode 100644
index e94dd3537..000000000
--- a/ej2-javascript/pdfviewer/how-to/overlapped-annotation.md
+++ /dev/null
@@ -1,27 +0,0 @@
----
-layout: post
-title: Overlapped annotation in ##Platform_Name## Pdfviewer control | Syncfusion
-description: Learn here all about Overlapped annotation in Syncfusion ##Platform_Name## Pdfviewer control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: Overlapped annotation
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Overlapped annotation in ##Platform_Name## Pdfviewer control
-
-To get the overlapped annotations on a mouse click in a Syncfusion PDF Viewer, you can use the [**annotationCollection**](https://helpej2.syncfusion.com/documentation/api/pdfviewer/#annotationcollection) property of [**annotationSelect**](https://helpej2.syncfusion.com/documentation/api/pdfviewer/#annotationselect) event.This event is triggered when the user clicks on an annotation in the PDF document.
-
-Here is an example of how you can use the **annotationSelect** event to get the overlapped annotations on a mouse click in a Syncfusion PDF Viewer:
-
-```ts
-
-// Get overlapped annotation collections.
-viewer.annotationSelect =(args) =>{
- console.log(args.annotationCollection);
-}
-
-```
-
-Find the sample [how to get the overlapped annotations on mouse click](https://stackblitz.com/edit/9jn6bk-kmzqr5?devtoolsheight=33&file=index.ts)
\ No newline at end of file
diff --git a/ej2-javascript/pdfviewer/how-to/overlapped-annotations.md b/ej2-javascript/pdfviewer/how-to/overlapped-annotations.md
deleted file mode 100644
index 30f2d87bd..000000000
--- a/ej2-javascript/pdfviewer/how-to/overlapped-annotations.md
+++ /dev/null
@@ -1,27 +0,0 @@
----
-layout: post
-title: Overlapped annotations in ##Platform_Name## Pdfviewer control | Syncfusion
-description: Learn here all about Overlapped annotations in Syncfusion ##Platform_Name## Pdfviewer control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: Overlapped annotations
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Overlapped annotations in ##Platform_Name## Pdfviewer control
-
-To get the overlapped annotations on a mouse click in a Syncfusion PDF Viewer, you can use the [**annotationCollection**](https://helpej2.syncfusion.com/documentation/api/pdfviewer/#annotationcollection) property of [**annotationSelect**](https://helpej2.syncfusion.com/documentation/api/pdfviewer/#annotationselect) event.This event is triggered when the user clicks on an annotation in the PDF document.
-
-Here is an example of how you can use the [**annotationSelect**](https://helpej2.syncfusion.com/documentation/api/pdfviewer/#annotationselect) event to get the overlapped annotations on a mouse click in a Syncfusion PDF Viewer:
-
-```javascript
-
-// Get overlapped annotation collections.
-viewer.annotationSelect =(args) =>{
- console.log(args.annotationCollection);
-}
-
-```
-
-Find the sample [how to get the overlapped annotations on mouse click](https://stackblitz.com/edit/a93cem-lprlap?devtoolsheight=33&file=index.js)
\ No newline at end of file
diff --git a/ej2-javascript/pdfviewer/how-to/pagerenderstarted-pagerendercompleted-js.md b/ej2-javascript/pdfviewer/how-to/pagerenderstarted-pagerendercompleted-js.md
deleted file mode 100644
index f767e0498..000000000
--- a/ej2-javascript/pdfviewer/how-to/pagerenderstarted-pagerendercompleted-js.md
+++ /dev/null
@@ -1,40 +0,0 @@
----
-layout: post
-title: Rendering events in | Syncfusion
-description: Learn here all about the pageRenderInitiate and pageRenderComplete event in Syncfusion Javascript PDF Viewer component of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: PDF Viewer
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# PageRenderInitiate and PageRenderComplete event
-
-In Syncfusion PDF Viewer, [pageRenderInitiate](https://helpej2.syncfusion.com/documentation/api/pdfviewer/#pagerenderinitiate) and [pageRenderComplete](https://helpej2.syncfusion.com/documentation/api/pdfviewer/#pagerendercomplete) actions are events that occur during the rendering process of PDF documents.
-
-**pageRenderInitiate**
-
-The pageRenderInitiate event is triggered when the rendering of a page in the PDF document begins. This event provides developers with an opportunity to perform any necessary initialization or setup before the rendering of the page content commences. It can be utilized to prepare resources, set up rendering parameters, or execute any other actions required before the page rendering process starts.
-
-**pageRenderComplete**
-
-The pageRenderComplete event is triggered when the rendering of a page in the PDF document is completed. This event allows developers to perform cleanup tasks or finalize rendering-related processes after the rendering of the page content finishes. It can be used to release resources, finalize rendering settings, or handle any post-rendering tasks necessary for the application.
-
-```js
-pdfviewer.pageRenderInitiate = args => {
- // This method is called when the page rendering starts
- console.log('Rendering of pages started');
- console.log(args);
- };
-
-pdfviewer.pageRenderComplete = args => {
- // This method is called when the page rendering completes
- console.log('Rendering of pages completed');
- console.log(args);
-};
-```
-
-The provided code demonstrates how to subscribe to the [pageRenderInitiate](https://helpej2.syncfusion.com/documentation/api/pdfviewer/#pagerenderinitiate) and [pageRenderComplete](https://helpej2.syncfusion.com/documentation/api/pdfviewer/#pagerendercomplete) events in the Syncfusion PDF Viewer component.
-
-[View sample in GitHub](https://github.com/SyncfusionExamples/javascript-pdf-viewer-examples/tree/master/How%20to/PageRenderStarted%20and%20PageRenderCompleted%20event)
\ No newline at end of file
diff --git a/ej2-javascript/pdfviewer/how-to/pagerenderstarted-pagerendercompleted-ts.md b/ej2-javascript/pdfviewer/how-to/pagerenderstarted-pagerendercompleted-ts.md
deleted file mode 100644
index 96c577690..000000000
--- a/ej2-javascript/pdfviewer/how-to/pagerenderstarted-pagerendercompleted-ts.md
+++ /dev/null
@@ -1,41 +0,0 @@
----
-layout: post
-title: Rendering events in ##Platform_Name## PDF Viewer control | Syncfusion
-description: Learn here all about pageRenderInitiate and pageRenderComplete event in Syncfusion ##Platform_Name## PDF Viewer control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: PDF Viewer
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# PageRenderInitiate and pageRenderComplete event
-
-In Syncfusion PDF Viewer, [pageRenderInitiate](https://helpej2.syncfusion.com/documentation/api/pdfviewer/#pagerenderinitiate) and [pageRenderComplete](https://helpej2.syncfusion.com/documentation/api/pdfviewer/#pagerendercomplete) actions are events that occur during the rendering process of PDF documents.
-
-**PageRenderInitiate**
-
-The `pageRenderInitiate` event is triggered when the rendering of a page in the PDF document begins. This event provides developers with an opportunity to perform any necessary initialization or setup before the rendering of the page content commences. It can be utilized to prepare resources, set up rendering parameters, or execute any other actions required before the page rendering process starts.
-
-**PageRenderComplete**
-
-The `pageRenderComplete` event is triggered when the rendering of a page in the PDF document is completed. This event allows developers to perform cleanup tasks or finalize rendering-related processes after the rendering of the page content finishes. It can be used to release resources, finalize rendering settings, or handle any post-rendering tasks necessary for the application.
-
-
-```ts
-
-pdfviewer.pageRenderInitiate = (args: any) => {
- // This method is called when the page rendering starts
- console.log('Rendering of pages started');
- console.log(args);
- };
-
-pdfviewer.pageRenderComplete = (args: any) => {
- // This method is called when the page rendering completes
- console.log('Rendering of pages completed');
- console.log(args);
-};
-
-```
-
-The provided code demonstrates how to subscribe to the [pageRenderInitiate](https://helpej2.syncfusion.com/documentation/api/pdfviewer/#pagerenderinitiate) and [pageRenderComplete](https://helpej2.syncfusion.com/documentation/api/pdfviewer/#pagerendercomplete) events in the Syncfusion PDF Viewer component.
\ No newline at end of file
diff --git a/ej2-javascript/pdfviewer/how-to/print-document.md b/ej2-javascript/pdfviewer/how-to/print-document.md
deleted file mode 100644
index 812337478..000000000
--- a/ej2-javascript/pdfviewer/how-to/print-document.md
+++ /dev/null
@@ -1,33 +0,0 @@
----
-layout: post
-title: Print document in ##Platform_Name## Pdfviewer control | Syncfusion
-description: Learn here all about Print document in Syncfusion ##Platform_Name## Pdfviewer control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: Print document
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Print document in ##Platform_Name## Pdfviewer control
-
-The PDF Viewer library allows you to print the PDF document programmatically using the [**print()**](https://helpej2.syncfusion.com/documentation/api/pdfviewer/#print) method in the **PrintModule**.
-
-The following steps are used to print the PDF document programmatically.
-
-**Step 1:** Follow the steps provided in the [link](https://ej2.syncfusion.com/documentation/pdfviewer/getting-started/) to create a simple PDF Viewer sample.
-
-**Step 2:** Add the following code snippet to perform the print operation.
-
-```
-
-```
-
-```ts
-document.getElementById('print').addEventListener('click', ()=> {
- //Print the loaded document.
- viewer.printModule.print();
-});
-```
-
-Find the Sample, [how to print the PDF document programmatically](https://stackblitz.com/edit/j9tu5j-cc3akh?devtoolsheight=33&file=index.ts)
\ No newline at end of file
diff --git a/ej2-javascript/pdfviewer/how-to/print-documents.md b/ej2-javascript/pdfviewer/how-to/print-documents.md
deleted file mode 100644
index 4bb27eed7..000000000
--- a/ej2-javascript/pdfviewer/how-to/print-documents.md
+++ /dev/null
@@ -1,33 +0,0 @@
----
-layout: post
-title: Print documents in ##Platform_Name## Pdfviewer control | Syncfusion
-description: Learn here all about Print documents in Syncfusion ##Platform_Name## Pdfviewer control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: Print documents
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Print documents in ##Platform_Name## Pdfviewer control
-
-The PDF Viewer library allows you to print the PDF document programmatically using the [**print()**](https://helpej2.syncfusion.com/documentation/api/pdfviewer/#print) method in the **PrintModule**.
-
-The following steps are used to print the PDF document programmatically.
-
-**Step 1:** Follow the steps provided in the [link](https://ej2.syncfusion.com/javascript/documentation/pdfviewer/getting-started/) to create a simple PDF Viewer sample.
-
-**Step 2:** Add the following code snippet to perform the print operation.
-
-```
-
-```
-
-```ts
-document.getElementById('print').addEventListener('click', ()=> {
- //Print the loaded document.
- viewer.printModule.print();
-});
-```
-
-Find the Sample, [how to print the PDF document programmatically](https://stackblitz.com/edit/rawhaj?devtoolsheight=33&file=index.js)
\ No newline at end of file
diff --git a/ej2-javascript/pdfviewer/how-to/resolve-unable-to-find-an-entry-point-error.md b/ej2-javascript/pdfviewer/how-to/resolve-unable-to-find-an-entry-point-error.md
deleted file mode 100644
index 660e4b787..000000000
--- a/ej2-javascript/pdfviewer/how-to/resolve-unable-to-find-an-entry-point-error.md
+++ /dev/null
@@ -1,27 +0,0 @@
----
-layout: post
-title: Resolve unable to find an entry point error in ##Platform_Name## Pdfviewer control | Syncfusion
-description: Learn here all about Resolve unable to find an entry point error in Syncfusion ##Platform_Name## Pdfviewer control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: Resolve unable to find an entry point error
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Resolve unable to find an entry point error in ##Platform_Name## Pdfviewer control
-
-From the release of version **21.1.0.35 (2023 Volume 1)** of Essential Studio, the Pdfium package has been upgraded to improve various functionalities like text search, text selection, rendering, and even performance. If you are updating your project to this version of the Syncfusion PDF Viewer, you may encounter the **"Web-Service is not listening"** error. The Network tab can help you identify the root cause of the issue, which is typically caused by an old version of pdfium assembly being referenced in the local web service project. Below are the assemblies to be referred to in the respective operating systems.
-
-* Windows – pdfium.dll
-* Linux – libpdfium.so
-* OSX – libpdfium.dylib
-
-
-
-## To solve this issue, you should follow the below steps
-
-1. Clear the bin and object files of the web-service project.
-2. Re-publish the web-service project.
-
-N>Note: If you are hosting your application in Azure, AWS, or in Linux environments, delete the older published files and republish the application.
\ No newline at end of file
diff --git a/ej2-javascript/pdfviewer/how-to/restricting-zoom-in-mobile-mode-js.md b/ej2-javascript/pdfviewer/how-to/restricting-zoom-in-mobile-mode-js.md
deleted file mode 100644
index 5cd2b40b8..000000000
--- a/ej2-javascript/pdfviewer/how-to/restricting-zoom-in-mobile-mode-js.md
+++ /dev/null
@@ -1,63 +0,0 @@
----
-layout: post
-title: Restrict Zoom Percentage in ##Platform_Name## Pdfviewer control | Syncfusion
-description: Learn here all how to restrict zoom percentage in Syncfusion ##Platform_Name## Pdfviewer control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: PDF Viewer
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# How to Restrict Zoom Percentage on Mobile Devices
-
-In Syncfusion PDF Viewer, you can easily restrict the zoom percentage on mobile devices using the **maxZoom** and **minZoom** property. This feature allows you to set specific limits for zooming, ensuring smoother scrolling performance and efficient document loading, on mobile devices.
-
-{% tabs %}
-{% highlight js tabtitle="Standalone" %}
-
-var pdfviewer = new ej.pdfviewer.PdfViewer({
- documentPath: "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf",
- resourceUrl : "https://cdn.syncfusion.com/ej2/25.1.35/dist/ej2-pdfviewer-lib"
- });
-ej.pdfviewer.PdfViewer.Inject(ej.pdfviewer.TextSelection, ej.pdfviewer.TextSearch, ej.pdfviewer.Print, ej.pdfviewer.Navigation, ej.pdfviewer.Toolbar,
- ej.pdfviewer.Magnification, ej.pdfviewer.Annotation, ej.pdfviewer.FormDesigner, ej.pdfviewer.FormFields, ej.pdfviewer.PageOrganizer);
-pdfviewer.appendTo('#PdfViewer');
-
-pdfviewer.documentLoad = (): void => {
- if (Browser.isDevice && !viewer.enableDesktopMode) {
- pdfviewer.maxZoom = 200;
- pdfviewer.minZoom = 10;
- }
- else{
- pdfviewer.zoomMode = 'Default';
- }
-};
-
-{% endhighlight %}
-{% highlight js tabtitle="Server-Backed" %}
-
-var pdfviewer = new ej.pdfviewer.PdfViewer({
- documentPath: "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf",
- serviceUrl: 'https://services.syncfusion.com/js/production/api/pdfviewer'
- });
-ej.pdfviewer.PdfViewer.Inject(ej.pdfviewer.TextSelection, ej.pdfviewer.TextSearch, ej.pdfviewer.Print, ej.pdfviewer.Navigation, ej.pdfviewer.Toolbar,
- ej.pdfviewer.Magnification, ej.pdfviewer.Annotation, ej.pdfviewer.FormDesigner, ej.pdfviewer.FormFields, ej.pdfviewer.PageOrganizer);
-pdfviewer.appendTo('#PdfViewer');
-
-pdfviewer.documentLoad = (): void => {
- if (Browser.isDevice && !viewer.enableDesktopMode) {
- pdfviewer.maxZoom = 200;
- pdfviewer.minZoom = 10;
- }
- else{
- pdfviewer.zoomMode = 'Default';
- }
-};
-
-{% endhighlight %}
-{% endtabs %}
-
-By implementing this, you ensure that the maximum zoom percentage on mobile devices is limited to 200% and the minimum zoom percentage is set to 10%. This prevents performance issues that may arise from excessive zooming on mobile platforms.
-
-[View sample in GitHub](https://github.com/SyncfusionExamples/javascript-pdf-viewer-examples/tree/master/How%20to/Restrict%20Zoom%20Percentage%20on%20Mobile%20Devices)
\ No newline at end of file
diff --git a/ej2-javascript/pdfviewer/how-to/restricting-zoom-in-mobile-mode-ts.md b/ej2-javascript/pdfviewer/how-to/restricting-zoom-in-mobile-mode-ts.md
deleted file mode 100644
index 4bf63617b..000000000
--- a/ej2-javascript/pdfviewer/how-to/restricting-zoom-in-mobile-mode-ts.md
+++ /dev/null
@@ -1,71 +0,0 @@
----
-layout: post
-title: Restrict Zoom Percentage in ##Platform_Name## Pdfviewer control | Syncfusion
-description: Learn here all how to restrict zoom percentage in Syncfusion ##Platform_Name## Pdfviewer control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: PDF Viewer
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# How to Restrict Zoom Percentage on Mobile Devices
-
-In Syncfusion PDF Viewer, you can easily restrict the zoom percentage on mobile devices using the **maxZoom** and **minZoom** property. This feature allows you to set specific limits for zooming, ensuring smoother scrolling performance and efficient document loading, on mobile devices.
-
-{% tabs %}
-{% highlight ts tabtitle="Standalone" %}
-
-import { PdfViewer, Toolbar, Magnification, Navigation, Annotation,
- LinkAnnotation, ThumbnailView, BookmarkView, TextSelection,
- TextSearch, FormFields, FormDesigner, PageOrganizer } from '@syncfusion/ej2-pdfviewer';
-
-PdfViewer.Inject( Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, ThumbnailView,
- BookmarkView, TextSelection, TextSearch, FormFields, FormDesigner, PageOrganizer);
-
-let pdfviewer: PdfViewer = new PdfViewer();
-pdfviewer.documentPath = "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf";
-pdfviewer.resourceUrl = "https://cdn.syncfusion.com/ej2/25.1.35/dist/ej2-pdfviewer-lib";
-pdfviewer.appendTo('#PdfViewer');
-
-pdfviewer.documentLoad = (): void => {
- if (Browser.isDevice && !viewer.enableDesktopMode) {
- pdfviewer.maxZoom = 200;
- pdfviewer.minZoom = 10;
- }
- else{
- pdfviewer.zoomMode = 'Default';
- }
-};
-
-{% endhighlight %}
-{% highlight ts tabtitle="Server-Backed" %}
-
-import { PdfViewer, Toolbar, Magnification, Navigation, Annotation,
- LinkAnnotation, ThumbnailView, BookmarkView, TextSelection,
- TextSearch, FormFields, FormDesigner, PageOrganizer } from '@syncfusion/ej2-pdfviewer';
-
-PdfViewer.Inject( Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, ThumbnailView,
- BookmarkView, TextSelection, TextSearch, FormFields, FormDesigner, PageOrganizer);
-
-let pdfviewer: PdfViewer = new PdfViewer();
-pdfviewer.serviceUrl = 'https://services.syncfusion.com/js/production/api/pdfviewer';
-pdfviewer.documentPath = "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf";
-pdfviewer.appendTo('#PdfViewer');
-
-pdfviewer.documentLoad = (): void => {
- if (Browser.isDevice && !viewer.enableDesktopMode) {
- pdfviewer.maxZoom = 200;
- pdfviewer.minZoom = 10;
- }
- else{
- pdfviewer.zoomMode = 'Default';
- }
-};
-
-{% endhighlight %}
-{% endtabs %}
-
-By implementing this, you ensure that the maximum zoom percentage on mobile devices is limited to 200% and the minimum zoom percentage is set to 10%. This prevents performance issues that may arise from excessive zooming on mobile platforms.
-
-[View sample in GitHub](https://github.com/SyncfusionExamples/typescript-pdf-viewer-examples/tree/master/How%20to/Restrict%20Zoom%20Percentage%20on%20Mobile%20Devices)
\ No newline at end of file
diff --git a/ej2-javascript/pdfviewer/how-to/save-pdf-document-to-url.md b/ej2-javascript/pdfviewer/how-to/save-pdf-document-to-url.md
deleted file mode 100644
index 6b0836b61..000000000
--- a/ej2-javascript/pdfviewer/how-to/save-pdf-document-to-url.md
+++ /dev/null
@@ -1,121 +0,0 @@
----
-layout: post
-title: Save pdf document to url in ##Platform_Name## Pdfviewer control | Syncfusion
-description: Learn here all about Save pdf document to url in Syncfusion ##Platform_Name## Pdfviewer control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: Save pdf document to url
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Save pdf document to url in ##Platform_Name## Pdfviewer control
-
-The PDF Viewer library allows you to save the PDF document to specific URL.
-
-**Step 1:** Follow the steps provided in the [link](https://ej2.syncfusion.com/documentation/pdfviewer/getting-started/) to create simple PDF Viewer sample.
-
-**Step 2:** Follow the steps provided in the [link](https://ej2.syncfusion.com/documentation/pdfviewer/how-to/create-pdfviewer-service/) to create the PDF Viewer web service.
-
-**Step 3:** Add the below code snippet in the PDF Viewer controller code to save the PDF document to the URL.
-
-```ts
-
-[HttpPost]
-[EnableCors("AllowAllOrigins")]
-[Route("SaveUrl")]
-public async Task SaveUrl([FromBody] Dictionary jsonObject)
-{
- PdfRenderer pdfviewer;
- if (Startup.isRedisCacheEnable)
- pdfviewer = new PdfRenderer(_mCache, _dCache, _slidingTime);
- else
- pdfviewer = new PdfRenderer(_mCache);
- try
- {
- HttpClient client = new HttpClient();
- Dictionary RequestDetails = new Dictionary();
- RequestDetails.Add("Url", jsonObject["RequestedUrl"]);
- RequestDetails.Add("base64", jsonObject["base64Data"]);
- string jsonString = JsonConvert.SerializeObject(RequestDetails);
- StringContent Data = new StringContent(jsonString);
- string UriAddress = jsonObject["UriAddress"];
- var result = await client.PutAsync(UriAddress, Data);
- if (result.StatusCode.ToString() == "OK")
- {
- return Content("Document saved successfully!");
- }
- else
- {
- return Content("Failed to save the document!");
- }
- } catch (Exception exception)
- {
- return Content(exception.Message);
- }
-}
-
-```
-
-**Step 4:** Add the following code in your file server which you want to rewrite the content.
-
-```ts
-
-[AcceptVerbs("Put")]
-[HttpPut]
-[EnableCors("AllowAllOrigins")]
-public async System.Threading.Tasks.Task PutAsync(string name)
-{
-using (var Reader = new StreamReader(Request.Body))
-{
-var Data = await Reader.ReadToEndAsync();
-Dictionary Response = JsonConvert.DeserializeObject>(Data);
-string Url = Response["Url"].ToString();
-string base64String = Response["base64"].ToString();
-var document = Url.Split(Request.Host.Value + "/");
-System.Net.WebClient WebClient = new WebClient();
-Stream stream = WebClient.OpenWrite(document[1], "PUT");
-byte[] bytes = System.Convert.FromBase64String(base64String);
-stream.Write(bytes, 0, bytes.Length);
-}
-}
-
-```
-
-**Step 5:** The following code snippet explains how to send Ajax Request for sending request to save the PDF document to specific URL.
-
-```
-
-```
-
-```ts
-
-let jsonData: any = {};
-document.getElementById('save').addEventListener('click', () => {
- let data: any;
- let base64data: any;
- viewer.saveAsBlob().then(function (value) {
- data = value;
- var reader = new FileReader();
- reader.readAsDataURL(data);
- reader.onload = () => {
- base64data = reader.result;
- let RequestHandler = new AjaxHandler(viewer);
- RequestHandler.url = viewer.serviceUrl + "/" + "saveUrl";
- RequestHandler.responseType = "json";
- jsonData["action"] = 'SaveUrl';
- // base64 string
- jsonData["base64Data"] = base64data.replace('data:application/pdf;base64,', '');
- // File location of the file server which we have to rewrite the content
- jsonData["RequestedUrl"] = "http://localhost:65534/Data/PDF_Succinctly.pdf";
- // Hosted file server address
- jsonData["UriAddress"] = "http://localhost:65534/pdfviewer";
- RequestHandler.send(jsonData);
- RequestHandler.onSuccess = function (result: any) {
- console.log("PDF Document saved to URL!");
- }
- };
- });
-});
-
-```
\ No newline at end of file
diff --git a/ej2-javascript/pdfviewer/how-to/select-multi-page-annotation.md b/ej2-javascript/pdfviewer/how-to/select-multi-page-annotation.md
deleted file mode 100644
index d45764b02..000000000
--- a/ej2-javascript/pdfviewer/how-to/select-multi-page-annotation.md
+++ /dev/null
@@ -1,35 +0,0 @@
----
-layout: post
-title: Select multi page annotation in ##Platform_Name## Pdfviewer control | Syncfusion
-description: Learn here all about Select multi page annotation in Syncfusion ##Platform_Name## Pdfviewer control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: Select multi page annotation
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Select multi page annotation in ##Platform_Name## Pdfviewer control
-
-To select a multi-page TextMarkup annotation as a single annotation in a Syncfusion PDF viewer, you can use by enabling the [**enableMultiPageAnnotation**](https://helpej2.syncfusion.com/documentation/api/pdfviewer/#enablemultipageannotation) property. By default it is `false`.
-
-Here is an example of how you can use the [**enableMultiPageAnnotation**](https://helpej2.syncfusion.com/documentation/api/pdfviewer/#enablemultipageannotation) property to select the multi page TextMarkup annotation as a single annotation, export and import multi page annotation:
-
-```javascript
-
-// Enable multi-page TextMarkup Annotation.
-viewer.enableMultiPageAnnotation = true;
-
-// Export Annotation
-document.getElementById('export').addEventListener('click', () => {
- viewer.exportAnnotation();
-});
-
-// Import Annotation.
-document.getElementById('import').addEventListener('click', () => {
- viewer.importAnnotation("Add Export annotation file content");
-});
-
-```
-
-Find the sample [how to select multi-page TextMarkup annotation as single annotation](https://stackblitz.com/edit/1epvap-vewcbt?file=index.js)
\ No newline at end of file
diff --git a/ej2-javascript/pdfviewer/how-to/select-multi-page-annotations.md b/ej2-javascript/pdfviewer/how-to/select-multi-page-annotations.md
deleted file mode 100644
index 99bb5b954..000000000
--- a/ej2-javascript/pdfviewer/how-to/select-multi-page-annotations.md
+++ /dev/null
@@ -1,35 +0,0 @@
----
-layout: post
-title: Select multi page annotations in ##Platform_Name## Pdfviewer control | Syncfusion
-description: Learn here all about Select multi page annotations in Syncfusion ##Platform_Name## Pdfviewer control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: Select multi page annotations
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Select multi page annotations in ##Platform_Name## Pdfviewer control
-
-To select a multi-page TextMarkup annotation as a single annotation in a Syncfusion PDF viewer, you can use by enabling the [**enableMultiPageAnnotation**](https://helpej2.syncfusion.com/documentation/api/pdfviewer/#enablemultipageannotation) property. By default it is `false`.
-
-Here is an example of how you can use the [**enableMultiPageAnnotation**](https://helpej2.syncfusion.com/documentation/api/pdfviewer/#enablemultipageannotation) property to select the multi page TextMarkup annotation as a single annotation, export and import multi page annotation:
-
-```ts
-
-// Enable multi-page TextMarkup Annotation.
-viewer.enableMultiPageAnnotation = true;
-
-// Export Annotation
-document.getElementById('export').addEventListener('click', () => {
- viewer.exportAnnotation();
-});
-
-// Import Annotation.
-document.getElementById('import').addEventListener('click', () => {
- viewer.importAnnotation("Add Export annotation file content");
-});
-
-```
-
-Find the sample [how to select multi-page TextMarkup annotation as single annotation](https://stackblitz.com/edit/xuyjgt-bjwrbw?file=index.ts)
\ No newline at end of file
diff --git a/ej2-javascript/pdfviewer/how-to/show-custom-stamp-item-js.md b/ej2-javascript/pdfviewer/how-to/show-custom-stamp-item-js.md
deleted file mode 100644
index c165bd285..000000000
--- a/ej2-javascript/pdfviewer/how-to/show-custom-stamp-item-js.md
+++ /dev/null
@@ -1,53 +0,0 @@
----
-layout: post
-title: Displaying Custom Items in Custom Stamp in Syncfusion PDF Viewer
-description: Learn how to display custom items in the custom stamp Dropdown in Syncfusion PDF Viewer using JavaScript.
-platform: ej2-javascript
-control: PDF Viewer
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Displaying Custom Items in Custom Stamp Dropdown
-
-### Overview
-
-This guide explains how to add and display custom items in the custom stamp dropdown menu of Syncfusion's PDF Viewer using JavaScript. This feature allows users to easily access and apply custom stamps to their PDF documents.
-
-### Steps to Show Custom Items in Custom Stamp Dropdown
-
-**Step 1:** Follow the steps provided in the [link](https://ej2.syncfusion.com/javascript/documentation/pdfviewer/getting-started) to create a simple PDF Viewer sample.
-
-**Step 2:** Configure Custom Stamp Settings
-
-Within the PDF Viewer setup, utilize `customStampSettings` to specify the custom stamps that should appear in the dropdown menu.
-```js
-
-// Initialize the PDF Viewer component
-var pdfviewer = new ej.pdfviewer.PdfViewer({
- documentPath: 'https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf',
- resourceUrl: 'https://cdn.syncfusion.com/ej2/27.2.2/dist/ej2-pdfviewer-lib',
- // Configure custom stamp settings
- customStampSettings: {
- isAddToMenu: true,
- customStamps: [
- {
- customStampName: 'Image1',
- customStampImageSource: 'data:image/png;base64,...' // Provide a valid base64 or URL for the image
- },
- {
- customStampName: 'Image2',
- customStampImageSource: 'data:image/png;base64,...' // Provide a valid base64 or URL for the image
- }
- ],
- enableCustomStamp: true,
- opacity: 1
- }
-});
-
-```
-
-By following these instructions, you can successfully configure to display custom items in the custom stamp dropdown, allowing users to easily apply personalized stamps to their documents.
-
-[View sample in GitHub](https://github.com/SyncfusionExamples/javascript-pdf-viewer-examples/tree/master/How%20to)
\ No newline at end of file
diff --git a/ej2-javascript/pdfviewer/how-to/show-custom-stamp-item-ts.md b/ej2-javascript/pdfviewer/how-to/show-custom-stamp-item-ts.md
deleted file mode 100644
index cdc08dbe3..000000000
--- a/ej2-javascript/pdfviewer/how-to/show-custom-stamp-item-ts.md
+++ /dev/null
@@ -1,52 +0,0 @@
----
-layout: post
-title: Displaying Custom Items in ##Platform_Name## PDF Viewer control | Syncfusion
-description: Learn how to display custom items in the custom stamp in Syncfusion ##Platform_Name## PDF Viewer control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: PDF Viewer
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Displaying Custom Items in Custom Stamp Dropdown in PDF Viewer
-
-### Overview
-
-This guide explains how to add and display custom items in the custom stamp dropdown menu of Syncfusion's PDF Viewer using TypeScript. This feature allows users to easily access and apply custom stamps to their PDF documents.
-
-### Steps to Show Custom Items in Custom Stamp Dropdown
-
-**Step 1:** Follow the steps provided in the [link](https://ej2.syncfusion.com/documentation/pdfviewer/getting-started) to create a simple PDF Viewer sample.
-
-**Step 2:** Configure Custom Stamp Settings
-
-Within the PDF Viewer setup, utilize `customStampSettings` to specify the custom stamps that should appear in the dropdown menu.
-
-```ts
-
-const pdfviewer: PdfViewer = new PdfViewer({
- documentPath: 'https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf',
- resourceUrl: 'https://cdn.syncfusion.com/ej2/27.2.2/dist/ej2-pdfviewer-lib',
- customStampSettings: {
- isAddToMenu: true,
- customStamps: [
- {
- customStampName: 'Image1',
- customStampImageSource: 'data:image/png;base64,...' // Provide a valid base64 or URL for the image
- },
- {
- customStampName: 'Image2',
- customStampImageSource: 'data:image/png;base64,...' // Provide a valid base64 or URL for the image
- }
- ],
- enableCustomStamp: true,
- opacity: 1
- }
-});
-
-```
-
-By following these instructions, you can successfully configure to display custom items in the custom stamp dropdown, allowing users to easily apply personalized stamps to their documents.
-
-[View sample in GitHub](https://github.com/SyncfusionExamples/typescript-pdf-viewer-examples/tree/master/How%20to)
\ No newline at end of file
diff --git a/ej2-javascript/pdfviewer/how-to/show-hide-annotation-js.md b/ej2-javascript/pdfviewer/how-to/show-hide-annotation-js.md
deleted file mode 100644
index 246d28dab..000000000
--- a/ej2-javascript/pdfviewer/how-to/show-hide-annotation-js.md
+++ /dev/null
@@ -1,72 +0,0 @@
----
-layout: post
-title: Show and Hide Annotations in JavaScript PdfViewer | Syncfusion
-description: Learn how to show or hide annotations in the Syncfusion ##Platform_Name## PdfViewer control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: PDF Viewer
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Show and Hide Annotations in PDF Viewer
-
-## Overview
-
-This guide demonstrates how to show or hide annotations in the Syncfusion PDF Viewer control. This functionality allows users to temporarily remove annotations from view and restore them later without permanently deleting them.
-
-## How to Show/Hide Annotations
-
-**Step 1:** Follow the steps provided in the [link](https://ej2.syncfusion.com/documentation/pdfviewer/getting-started) to create a simple PDF Viewer sample.
-
-**Step 2:** Create a Button in Your HTML File
-
-Add a toggle button element in your HTML file that will control the visibility of annotations.
-
-```html
-
-
-
-```
-**Step 3:** Initialize the PDF Viewer with Annotation Support
-
-Set up the PDF Viewer with necessary modules including Annotation support.
-
-```js
-let exportObject = null;
-var pdfviewer = new ej.pdfviewer.PdfViewer({
- resourceUrl: 'https://cdn.syncfusion.com/ej2/30.1.37/dist/ej2-pdfviewer-lib',
- documentPath: 'https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf',
-});
-ej.pdfviewer.PdfViewer.Inject(ej.pdfviewer.TextSelection, ej.pdfviewer.TextSearch, ej.pdfviewer.Print,
- ej.pdfviewer.Navigation, ej.pdfviewer.Toolbar, ej.pdfviewer.Magnification, ej.pdfviewer.Annotation,
- ej.pdfviewer.FormDesigner, ej.pdfviewer.FormFields, ej.pdfviewer.PageOrganizer);
-pdfviewer.appendTo('#PdfViewer');
-```
-**Step 4:** Add Toggle Functionality for Annotations
-
-Implement the toggle button click event to show or hide annotations.
-
-```js
-// Function to hide annotations
-function HideAnnotations() {
- pdfviewer.exportAnnotationsAsObject().then(function(value) {
- exportObject = value;
- pdfviewer.deleteAnnotations();
- });
-}
-
-// Function to unhide annotations
-function UnHideAnnotations() {
- pdfviewer.importAnnotation(JSON.parse(exportObject));
-}
-
-// Add event listeners to buttons
-document.getElementById('hideBtn').addEventListener('click', HideAnnotations);
-document.getElementById('unhideBtn').addEventListener('click', UnHideAnnotations);
-```
-### Conclusion
-
-This implementation provides a clean way to temporarily hide and show annotations in the PDF Viewer without permanently deleting them. This can be useful in scenarios where users need to temporarily view the document without annotations for better clarity.
-
-[View sample in GitHub](https://github.com/SyncfusionExamples/javascript-pdf-viewer-examples/tree/master/How%20to)
\ No newline at end of file
diff --git a/ej2-javascript/pdfviewer/how-to/show-hide-annotation-ts.md b/ej2-javascript/pdfviewer/how-to/show-hide-annotation-ts.md
deleted file mode 100644
index aa378520f..000000000
--- a/ej2-javascript/pdfviewer/how-to/show-hide-annotation-ts.md
+++ /dev/null
@@ -1,82 +0,0 @@
----
-layout: post
-title: Show and Hide Annotations in TypeScript PdfViewer | Syncfusion
-description: Learn how to show and hide annotations in the Syncfusion ##Platform_Name## Pdfviewer control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: PDF Viewer
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Show and Hide Annotations in PDF Viewer
-
-### Overview
-
-This guide demonstrates how to toggle the visibility of annotations in the Syncfusion PDF Viewer using TypeScript. This feature is useful when you want to temporarily hide annotations for a cleaner view or show them again as needed.
-
-### How to Toggle Annotation Visibility
-
-**Step 1:** Follow the steps provided in the [link](https://ej2.syncfusion.com/documentation/pdfviewer/getting-started) to create a simple PDF Viewer sample.
-
-**Step 2:** Create Toggle Buttons in Your HTML File
-
-Add button elements in your HTML file that will trigger the show and hide functionality.
-
-```html
-
-
-
-
-```
-
-**Step 3:** Initialize the PDF Viewer with Required Modules
-
-In your TypeScript file, initialize the PDF Viewer with necessary modules including the Annotation module.
-
-```ts
-import { PdfViewer, Toolbar, Magnification, Navigation, LinkAnnotation, ThumbnailView, BookmarkView,
-TextSelection, TextSearch, Print, Annotation, FormFields, FormDesigner, PageOrganizer } from '@syncfusion/ej2-pdfviewer';
-
-PdfViewer.Inject(Toolbar, Magnification, Navigation, LinkAnnotation, ThumbnailView, BookmarkView,
-TextSelection, TextSearch, Print, Annotation, FormFields, FormDesigner, PageOrganizer);
-
-// Create the PDF viewer instance
-let pdfviewer: PdfViewer = new PdfViewer();
-pdfviewer.resourceUrl = 'https://cdn.syncfusion.com/ej2/30.1.37/dist/ej2-pdfviewer-lib';
-pdfviewer.documentPath = 'https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf';
-// Append the viewer to the container element
-pdfviewer.appendTo('#PdfViewer');
-```
-
-**Step 4:** Implement the Show/Hide Annotation Functionality
-
-Add the code to handle the show and hide functionality of annotations by exporting and importing them as needed.
-
-```ts
-// Variable to store exported annotations
-let exportObject: any = "";
-
-// Function to hide annotations
-function HideAnnotations(): void {
- pdfviewer.exportAnnotationsAsObject().then(function(value: any) {
- exportObject = value;
- pdfviewer.deleteAnnotations();
- });
-}
-
-// Function to unhide annotations
-function UnHideAnnotations(): void {
- pdfviewer.importAnnotation(JSON.parse(exportObject));
-}
-
-// Add event listeners to buttons
-document.getElementById('hideBtn')?.addEventListener('click', HideAnnotations);
-document.getElementById('unhideBtn')?.addEventListener('click', UnHideAnnotations);
-```
-
-### Conclusion
-
-By implementing these steps, you can easily add functionality to toggle the visibility of annotations in your PDF Viewer application. This feature enhances user experience by allowing selective viewing of annotations.
-
-[View sample in GitHub](https://github.com/SyncfusionExamples/typescript-pdf-viewer-examples/tree/master/How%20to)
\ No newline at end of file
diff --git a/ej2-javascript/pdfviewer/how-to/signatureselect-signatureunselect-js.md b/ej2-javascript/pdfviewer/how-to/signatureselect-signatureunselect-js.md
deleted file mode 100644
index 841f379da..000000000
--- a/ej2-javascript/pdfviewer/how-to/signatureselect-signatureunselect-js.md
+++ /dev/null
@@ -1,38 +0,0 @@
----
-layout: post
-title: Selection events in | Syncfusion
-description: Learn here all about the SignatureSelect and SignatureUnselect event in Syncfusion Javascript PDF Viewer component of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: PDF Viewer
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# SignatureSelect and SignatureUnselect event
-
-The Syncfusion PDF Viewer provides event-handling capabilities for various actions, including selecting and unselecting handwritten signatures. The [signatureSelect](https://helpej2.syncfusion.com/documentation/api/pdfviewer/#signatureselect) and [signatureUnselect](https://helpej2.syncfusion.com/documentation/api/pdfviewer/#signatureunselect) events enable developers to programmatically manage the selection state of signatures within the PDF Viewer component.
-
-**signatureSelect**
-
-The [signatureSelect](https://helpej2.syncfusion.com/documentation/api/pdfviewer/#signatureselect) event triggers when a handwritten signature annotation is selected. This event allows developers to capture the signature selection and handle it programmatically, such as updating the UI or storing the selection data for further processing.
-
-**signatureUnselect**
-
-The [signatureUnselect](https://helpej2.syncfusion.com/documentation/api/pdfviewer/#signatureunselect) event triggers when a handwritten signature annotation is unselected. This event enables developers to manage the unselection programmatically, which can be useful for tasks like cleanup operations or updating the application's state to reflect that a signature is no longer selected.
-
-The code snippet demonstrates how to subscribe to the [signatureSelect](https://helpej2.syncfusion.com/documentation/api/pdfviewer/#signatureselect) and [signatureUnselect](https://helpej2.syncfusion.com/documentation/api/pdfviewer/#signatureunselect) events in the Syncfusion PDF Viewer component.
-
-```js
-pdfviewer.signatureSelect = (args: any) => {
- console.log('Signature selected:', args);
- };
-
-pdfviewer.signatureUnselect = (args: any) => {
- console.log('Signature selected:', args);
-};
-```
-
-The `signatureSelect` and `signatureUnselect` events in Syncfusion PDF Viewer offer robust options for managing the state of handwritten signatures within your application. By handling these events, developers can create a more interactive and dynamic user experience, responding programmatically to signature selection and unselection.
-
-[View sample in GitHub]()
\ No newline at end of file
diff --git a/ej2-javascript/pdfviewer/how-to/signatureselect-signatureunselect-ts.md b/ej2-javascript/pdfviewer/how-to/signatureselect-signatureunselect-ts.md
deleted file mode 100644
index 9d1722ecb..000000000
--- a/ej2-javascript/pdfviewer/how-to/signatureselect-signatureunselect-ts.md
+++ /dev/null
@@ -1,40 +0,0 @@
----
-layout: post
-title: Selection events in ##Platform_Name## PDF Viewer control | Syncfusion
-description: Learn here all about SignatureSelect and SignatureUnselect event in Syncfusion ##Platform_Name## PDF Viewer control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: PDF Viewer
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# SignatureSelect and SignatureUnselect event
-
-The Syncfusion PDF Viewer provides event-handling capabilities for various actions, including selecting and unselecting handwritten signatures. The [signatureSelect](https://helpej2.syncfusion.com/documentation/api/pdfviewer/#signatureselect) and [signatureUnselect](https://helpej2.syncfusion.com/documentation/api/pdfviewer/#signatureunselect) events enable developers to programmatically manage the selection state of signatures within the PDF Viewer component.
-
-**signatureSelect**
-
-The [signatureSelect](https://helpej2.syncfusion.com/documentation/api/pdfviewer/#signatureselect) event triggers when a handwritten signature annotation is selected. This event allows developers to capture the signature selection and handle it programmatically, such as updating the UI or storing the selection data for further processing.
-
-**signatureUnselect**
-
-The [signatureUnselect](https://helpej2.syncfusion.com/documentation/api/pdfviewer/#signatureunselect) event triggers when a handwritten signature annotation is unselected. This event enables developers to manage the unselection programmatically, which can be useful for tasks like cleanup operations or updating the application's state to reflect that a signature is no longer selected.
-
-The code snippet demonstrates how to subscribe to the [signatureSelect](https://helpej2.syncfusion.com/documentation/api/pdfviewer/#signatureselect) and [signatureUnselect](https://helpej2.syncfusion.com/documentation/api/pdfviewer/#signatureunselect) events in the Syncfusion PDF Viewer component.
-
-```ts
-
-pdfviewer.signatureSelect = (args: any) => {
- console.log('Signature selected:', args);
- };
-
-pdfviewer.signatureUnselect = (args: any) => {
- console.log('Signature selected:', args);
-};
-
-```
-
-The `signatureSelect` and `signatureUnselect` events in Syncfusion PDF Viewer offer robust options for managing the state of handwritten signatures within your application. By handling these events, developers can create a more interactive and dynamic user experience, responding programmatically to signature selection and unselection.
-
-[View sample in GitHub]()
\ No newline at end of file
diff --git a/ej2-javascript/pdfviewer/how-to/unload-document.md b/ej2-javascript/pdfviewer/how-to/unload-document.md
deleted file mode 100644
index fad1beb02..000000000
--- a/ej2-javascript/pdfviewer/how-to/unload-document.md
+++ /dev/null
@@ -1,33 +0,0 @@
----
-layout: post
-title: Unload document in ##Platform_Name## Pdfviewer control | Syncfusion
-description: Learn here all about Unload document in Syncfusion ##Platform_Name## Pdfviewer control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: Unload document
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Unload document in ##Platform_Name## Pdfviewer control
-
-The PDF Viewer library allows you to unload the PDF document being display in the PDF Viewer control programmatically using the [**unload()**](https://ej2.syncfusion.com/documentation/api/pdfviewer/#unload) method.
-
-The following steps are used to unload the PDF document programmatically.
-
-**Step 1:** Follow the steps provided in the [link](https://ej2.syncfusion.com/documentation/pdfviewer/getting-started/) to create a simple PDF Viewer sample.
-
-**Step 2:** Add the following code snippet to perform the unload operation.
-
-```
-
-```
-
-```ts
-document.getElementById('unload').addEventListener('click', () => {
- // Unload the document.
- viewer.unload();
-});
-```
-
-Find the Sample, [how to unload the PDF document programmatically](https://stackblitz.com/edit/jhnx4g?file=index.ts)
\ No newline at end of file
diff --git a/ej2-javascript/pdfviewer/how-to/unload-documents.md b/ej2-javascript/pdfviewer/how-to/unload-documents.md
deleted file mode 100644
index 1cab6f5aa..000000000
--- a/ej2-javascript/pdfviewer/how-to/unload-documents.md
+++ /dev/null
@@ -1,33 +0,0 @@
----
-layout: post
-title: Unload documents in ##Platform_Name## Pdfviewer control | Syncfusion
-description: Learn here all about Unload documents in Syncfusion ##Platform_Name## Pdfviewer control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: Unload documents
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Unload documents in ##Platform_Name## Pdfviewer control
-
-The PDF Viewer library allows you to unload the PDF document being display in the PDF Viewer control programmatically using the [**unload()**](https://ej2.syncfusion.com/javascript/documentation/api/pdfviewer/#unload) method.
-
-The following steps are used to unload the PDF document programmatically.
-
-**Step 1:** Follow the steps provided in the [link](https://ej2.syncfusion.com/javascript/documentation/pdfviewer/getting-started/) to create a simple PDF Viewer sample.
-
-**Step 2:** Add the following code snippet to perform the unload operation.
-
-```
-
-```
-
-```ts
-document.getElementById('unload').addEventListener('click', () => {
- // Unload the document.
- viewer.unload();
-});
-```
-
-Find the Sample, [how to unload the PDF document programmatically](https://stackblitz.com/edit/vkr6f1?file=index.js)
\ No newline at end of file
diff --git a/ej2-javascript/pdfviewer/how-to/use-local-script-and-style-references.md b/ej2-javascript/pdfviewer/how-to/use-local-script-and-style-references.md
deleted file mode 100644
index 8a5bc398c..000000000
--- a/ej2-javascript/pdfviewer/how-to/use-local-script-and-style-references.md
+++ /dev/null
@@ -1,72 +0,0 @@
----
-layout: post
-title: Use local script and style references in ##Platform_Name## Pdfviewer control | Syncfusion
-description: Learn here all about Use local script and style references in Syncfusion ##Platform_Name## Pdfviewer control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: Use local script and style references
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Use local script and style references in ##Platform_Name## Pdfviewer control
-
-**Step 1:** Create an app folder `myapp` 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)**/Syncfusion/Essential Studio/JavaScript - EJ2/{RELEASE_VERSION}/Web(Essential JS 2)/JavaScript/{PACKAGE_NAME}/dist/{PACKAGE_NAME}.min.js`
->
-> Styles: `**(installed location)**/Syncfusion/Essential Studio/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/19.3.53/Web(Essential JS 2)/JavaScript/ej2/dist/ej2.min.js`
->
-> Styles: `C:/Program Files (x86)/Syncfusion/Essential Studio/JavaScript - EJ2/19.3.53/Web(Essential JS 2)/JavaScript/ej2-js-es5/styles/material.css`
-
-You can also clone the [`Essential JS 2 quickstart`](https://github.com/syncfusion/ej2-quickstart.git) project and install necessary packages by using the following commands.
-
-```
-git clone https://github.com/syncfusion/ej2-quickstart.git quickstart
-cd quickstart
-npm install
-```
-
-**Step 3:** Create a folder `myapp/resources` and copy/paste the scripts and styles of ej2 package from the above installed location to `myapp/resources` location.
-
-**Step 4:** Add the `Div` element and initiate the `Essential JS 2 PDF Viewer` component with script and style references in the `index.html` by using following code
-
-```html
-
-
-
- Essential JS 2
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-```
-
-**Step 6:** Now, run the `index.html` in web browser, it will render the **Essential JS 2 PDF Viewer** component as below.
-
-
\ No newline at end of file
diff --git a/ej2-javascript/pdfviewer/images/Checkbox.png b/ej2-javascript/pdfviewer/images/Checkbox.png
deleted file mode 100644
index 50d4f8ef7..000000000
Binary files a/ej2-javascript/pdfviewer/images/Checkbox.png and /dev/null differ
diff --git a/ej2-javascript/pdfviewer/images/Dropdown.png b/ej2-javascript/pdfviewer/images/Dropdown.png
deleted file mode 100644
index 967dea1d0..000000000
Binary files a/ej2-javascript/pdfviewer/images/Dropdown.png and /dev/null differ
diff --git a/ej2-javascript/pdfviewer/images/InitialField.png b/ej2-javascript/pdfviewer/images/InitialField.png
deleted file mode 100644
index dbeabe526..000000000
Binary files a/ej2-javascript/pdfviewer/images/InitialField.png and /dev/null differ
diff --git a/ej2-javascript/pdfviewer/images/Listbox.png b/ej2-javascript/pdfviewer/images/Listbox.png
deleted file mode 100644
index 750126846..000000000
Binary files a/ej2-javascript/pdfviewer/images/Listbox.png and /dev/null differ
diff --git a/ej2-javascript/pdfviewer/images/MultiSearchPopup.png b/ej2-javascript/pdfviewer/images/MultiSearchPopup.png
deleted file mode 100644
index c7e90da24..000000000
Binary files a/ej2-javascript/pdfviewer/images/MultiSearchPopup.png and /dev/null differ
diff --git a/ej2-javascript/pdfviewer/images/Password.png b/ej2-javascript/pdfviewer/images/Password.png
deleted file mode 100644
index 09430e212..000000000
Binary files a/ej2-javascript/pdfviewer/images/Password.png and /dev/null differ
diff --git a/ej2-javascript/pdfviewer/images/Radiobutton.png b/ej2-javascript/pdfviewer/images/Radiobutton.png
deleted file mode 100644
index 3599e0084..000000000
Binary files a/ej2-javascript/pdfviewer/images/Radiobutton.png and /dev/null differ
diff --git a/ej2-javascript/pdfviewer/images/SearchNavigationMatchCase.png b/ej2-javascript/pdfviewer/images/SearchNavigationMatchCase.png
deleted file mode 100644
index cd1a0229a..000000000
Binary files a/ej2-javascript/pdfviewer/images/SearchNavigationMatchCase.png and /dev/null differ
diff --git a/ej2-javascript/pdfviewer/images/SearchNavigationNoMatchCase.png b/ej2-javascript/pdfviewer/images/SearchNavigationNoMatchCase.png
deleted file mode 100644
index 6a52877f3..000000000
Binary files a/ej2-javascript/pdfviewer/images/SearchNavigationNoMatchCase.png and /dev/null differ
diff --git a/ej2-javascript/pdfviewer/images/SearchResultFromPopup.png b/ej2-javascript/pdfviewer/images/SearchResultFromPopup.png
deleted file mode 100644
index ab754ab65..000000000
Binary files a/ej2-javascript/pdfviewer/images/SearchResultFromPopup.png and /dev/null differ
diff --git a/ej2-javascript/pdfviewer/images/SignatureField.png b/ej2-javascript/pdfviewer/images/SignatureField.png
deleted file mode 100644
index 939ea85fc..000000000
Binary files a/ej2-javascript/pdfviewer/images/SignatureField.png and /dev/null differ
diff --git a/ej2-javascript/pdfviewer/images/SingleSearchPopup.png b/ej2-javascript/pdfviewer/images/SingleSearchPopup.png
deleted file mode 100644
index 19a07343d..000000000
Binary files a/ej2-javascript/pdfviewer/images/SingleSearchPopup.png and /dev/null differ
diff --git a/ej2-javascript/pdfviewer/images/Textbox.png b/ej2-javascript/pdfviewer/images/Textbox.png
deleted file mode 100644
index 13eaf454c..000000000
Binary files a/ej2-javascript/pdfviewer/images/Textbox.png and /dev/null differ
diff --git a/ej2-javascript/pdfviewer/images/add-revised.png b/ej2-javascript/pdfviewer/images/add-revised.png
deleted file mode 100644
index 0e0a24bae..000000000
Binary files a/ej2-javascript/pdfviewer/images/add-revised.png and /dev/null differ
diff --git a/ej2-javascript/pdfviewer/images/add-role.png b/ej2-javascript/pdfviewer/images/add-role.png
deleted file mode 100644
index 1f7f58fcf..000000000
Binary files a/ej2-javascript/pdfviewer/images/add-role.png and /dev/null differ
diff --git a/ej2-javascript/pdfviewer/images/add-shapes.png b/ej2-javascript/pdfviewer/images/add-shapes.png
deleted file mode 100644
index 09ab8ef22..000000000
Binary files a/ej2-javascript/pdfviewer/images/add-shapes.png and /dev/null differ
diff --git a/ej2-javascript/pdfviewer/images/add-signature.png b/ej2-javascript/pdfviewer/images/add-signature.png
deleted file mode 100644
index 3bf8fe062..000000000
Binary files a/ej2-javascript/pdfviewer/images/add-signature.png and /dev/null differ
diff --git a/ej2-javascript/pdfviewer/images/add-sticky-notes.png b/ej2-javascript/pdfviewer/images/add-sticky-notes.png
deleted file mode 100644
index d86780c44..000000000
Binary files a/ej2-javascript/pdfviewer/images/add-sticky-notes.png and /dev/null differ
diff --git a/ej2-javascript/pdfviewer/images/add-text-markup.png b/ej2-javascript/pdfviewer/images/add-text-markup.png
deleted file mode 100644
index 7a09d8d5a..000000000
Binary files a/ej2-javascript/pdfviewer/images/add-text-markup.png and /dev/null differ
diff --git a/ej2-javascript/pdfviewer/images/add_sign.png b/ej2-javascript/pdfviewer/images/add_sign.png
deleted file mode 100644
index 1a157d31b..000000000
Binary files a/ej2-javascript/pdfviewer/images/add_sign.png and /dev/null differ
diff --git a/ej2-javascript/pdfviewer/images/addformfield.gif b/ej2-javascript/pdfviewer/images/addformfield.gif
deleted file mode 100644
index 88f70cbb4..000000000
Binary files a/ej2-javascript/pdfviewer/images/addformfield.gif and /dev/null differ
diff --git a/ej2-javascript/pdfviewer/images/adding-signature.png b/ej2-javascript/pdfviewer/images/adding-signature.png
deleted file mode 100644
index fd92aa760..000000000
Binary files a/ej2-javascript/pdfviewer/images/adding-signature.png and /dev/null differ
diff --git a/ej2-javascript/pdfviewer/images/after-enabling-annotation-toolbar.png b/ej2-javascript/pdfviewer/images/after-enabling-annotation-toolbar.png
deleted file mode 100644
index 2387c4035..000000000
Binary files a/ej2-javascript/pdfviewer/images/after-enabling-annotation-toolbar.png and /dev/null differ
diff --git a/ej2-javascript/pdfviewer/images/app-registration.png b/ej2-javascript/pdfviewer/images/app-registration.png
deleted file mode 100644
index 052231b9b..000000000
Binary files a/ej2-javascript/pdfviewer/images/app-registration.png and /dev/null differ
diff --git a/ej2-javascript/pdfviewer/images/appearanceproperties.png b/ej2-javascript/pdfviewer/images/appearanceproperties.png
deleted file mode 100644
index 14d99c667..000000000
Binary files a/ej2-javascript/pdfviewer/images/appearanceproperties.png and /dev/null differ
diff --git a/ej2-javascript/pdfviewer/images/azure_pdfviewer.png b/ej2-javascript/pdfviewer/images/azure_pdfviewer.png
deleted file mode 100644
index e3fc61964..000000000
Binary files a/ej2-javascript/pdfviewer/images/azure_pdfviewer.png and /dev/null differ
diff --git a/ej2-javascript/pdfviewer/images/azure_publish.png b/ej2-javascript/pdfviewer/images/azure_publish.png
deleted file mode 100644
index cc48af57b..000000000
Binary files a/ej2-javascript/pdfviewer/images/azure_publish.png and /dev/null differ
diff --git a/ej2-javascript/pdfviewer/images/azure_target.png b/ej2-javascript/pdfviewer/images/azure_target.png
deleted file mode 100644
index 8a15cd104..000000000
Binary files a/ej2-javascript/pdfviewer/images/azure_target.png and /dev/null differ
diff --git a/ej2-javascript/pdfviewer/images/bookmark.png b/ej2-javascript/pdfviewer/images/bookmark.png
deleted file mode 100644
index bab491c45..000000000
Binary files a/ej2-javascript/pdfviewer/images/bookmark.png and /dev/null differ
diff --git a/ej2-javascript/pdfviewer/images/calibrate_annotation.png b/ej2-javascript/pdfviewer/images/calibrate_annotation.png
deleted file mode 100644
index fa0355e5a..000000000
Binary files a/ej2-javascript/pdfviewer/images/calibrate_annotation.png and /dev/null differ
diff --git a/ej2-javascript/pdfviewer/images/calibrate_fillcolor.png b/ej2-javascript/pdfviewer/images/calibrate_fillcolor.png
deleted file mode 100644
index 69d7499cd..000000000
Binary files a/ej2-javascript/pdfviewer/images/calibrate_fillcolor.png and /dev/null differ
diff --git a/ej2-javascript/pdfviewer/images/calibrate_lineprop.png b/ej2-javascript/pdfviewer/images/calibrate_lineprop.png
deleted file mode 100644
index 7ea04ca4e..000000000
Binary files a/ej2-javascript/pdfviewer/images/calibrate_lineprop.png and /dev/null differ
diff --git a/ej2-javascript/pdfviewer/images/calibrate_opacity.png b/ej2-javascript/pdfviewer/images/calibrate_opacity.png
deleted file mode 100644
index c56989c37..000000000
Binary files a/ej2-javascript/pdfviewer/images/calibrate_opacity.png and /dev/null differ
diff --git a/ej2-javascript/pdfviewer/images/calibrate_scaledialog.png b/ej2-javascript/pdfviewer/images/calibrate_scaledialog.png
deleted file mode 100644
index 3ec905674..000000000
Binary files a/ej2-javascript/pdfviewer/images/calibrate_scaledialog.png and /dev/null differ
diff --git a/ej2-javascript/pdfviewer/images/calibrate_scaleratio.png b/ej2-javascript/pdfviewer/images/calibrate_scaleratio.png
deleted file mode 100644
index 4cc41a352..000000000
Binary files a/ej2-javascript/pdfviewer/images/calibrate_scaleratio.png and /dev/null differ
diff --git a/ej2-javascript/pdfviewer/images/calibrate_stroke.png b/ej2-javascript/pdfviewer/images/calibrate_stroke.png
deleted file mode 100644
index 4381f1a82..000000000
Binary files a/ej2-javascript/pdfviewer/images/calibrate_stroke.png and /dev/null differ
diff --git a/ej2-javascript/pdfviewer/images/calibrate_thickness.png b/ej2-javascript/pdfviewer/images/calibrate_thickness.png
deleted file mode 100644
index 14824432f..000000000
Binary files a/ej2-javascript/pdfviewer/images/calibrate_thickness.png and /dev/null differ
diff --git a/ej2-javascript/pdfviewer/images/calibrate_tool.png b/ej2-javascript/pdfviewer/images/calibrate_tool.png
deleted file mode 100644
index f60523a24..000000000
Binary files a/ej2-javascript/pdfviewer/images/calibrate_tool.png and /dev/null differ
diff --git a/ej2-javascript/pdfviewer/images/change-property.png b/ej2-javascript/pdfviewer/images/change-property.png
deleted file mode 100644
index edb1b772d..000000000
Binary files a/ej2-javascript/pdfviewer/images/change-property.png and /dev/null differ
diff --git a/ej2-javascript/pdfviewer/images/change_opacity.png b/ej2-javascript/pdfviewer/images/change_opacity.png
deleted file mode 100644
index 9d5ef807a..000000000
Binary files a/ej2-javascript/pdfviewer/images/change_opacity.png and /dev/null differ
diff --git a/ej2-javascript/pdfviewer/images/change_stroke.png b/ej2-javascript/pdfviewer/images/change_stroke.png
deleted file mode 100644
index 39ddd96fe..000000000
Binary files a/ej2-javascript/pdfviewer/images/change_stroke.png and /dev/null differ
diff --git a/ej2-javascript/pdfviewer/images/change_thickness.png b/ej2-javascript/pdfviewer/images/change_thickness.png
deleted file mode 100644
index 1404a8bcf..000000000
Binary files a/ej2-javascript/pdfviewer/images/change_thickness.png and /dev/null differ
diff --git a/ej2-javascript/pdfviewer/images/client-secret.png b/ej2-javascript/pdfviewer/images/client-secret.png
deleted file mode 100644
index 4dcbae2a8..000000000
Binary files a/ej2-javascript/pdfviewer/images/client-secret.png and /dev/null differ
diff --git a/ej2-javascript/pdfviewer/images/clipboardformfield.png b/ej2-javascript/pdfviewer/images/clipboardformfield.png
deleted file mode 100644
index e27af034d..000000000
Binary files a/ej2-javascript/pdfviewer/images/clipboardformfield.png and /dev/null differ
diff --git a/ej2-javascript/pdfviewer/images/close-comment-panel.png b/ej2-javascript/pdfviewer/images/close-comment-panel.png
deleted file mode 100644
index 26af17938..000000000
Binary files a/ej2-javascript/pdfviewer/images/close-comment-panel.png and /dev/null differ
diff --git a/ej2-javascript/pdfviewer/images/comment-panel.png b/ej2-javascript/pdfviewer/images/comment-panel.png
deleted file mode 100644
index 61c066ec0..000000000
Binary files a/ej2-javascript/pdfviewer/images/comment-panel.png and /dev/null differ
diff --git a/ej2-javascript/pdfviewer/images/commentPanel.png b/ej2-javascript/pdfviewer/images/commentPanel.png
deleted file mode 100644
index 0b71294c9..000000000
Binary files a/ej2-javascript/pdfviewer/images/commentPanel.png and /dev/null differ
diff --git a/ej2-javascript/pdfviewer/images/commentannot.png b/ej2-javascript/pdfviewer/images/commentannot.png
deleted file mode 100644
index 1d2bda964..000000000
Binary files a/ej2-javascript/pdfviewer/images/commentannot.png and /dev/null differ
diff --git a/ej2-javascript/pdfviewer/images/commentsdelete.png b/ej2-javascript/pdfviewer/images/commentsdelete.png
deleted file mode 100644
index a1a75e045..000000000
Binary files a/ej2-javascript/pdfviewer/images/commentsdelete.png and /dev/null differ
diff --git a/ej2-javascript/pdfviewer/images/commentsedit.png b/ej2-javascript/pdfviewer/images/commentsedit.png
deleted file mode 100644
index f38a6be5f..000000000
Binary files a/ej2-javascript/pdfviewer/images/commentsedit.png and /dev/null differ
diff --git a/ej2-javascript/pdfviewer/images/commentstatus.png b/ej2-javascript/pdfviewer/images/commentstatus.png
deleted file mode 100644
index 5971312ca..000000000
Binary files a/ej2-javascript/pdfviewer/images/commentstatus.png and /dev/null differ
diff --git a/ej2-javascript/pdfviewer/images/create_sign.png b/ej2-javascript/pdfviewer/images/create_sign.png
deleted file mode 100644
index b3bd4e5e2..000000000
Binary files a/ej2-javascript/pdfviewer/images/create_sign.png and /dev/null differ
diff --git a/ej2-javascript/pdfviewer/images/customStamp.png b/ej2-javascript/pdfviewer/images/customStamp.png
deleted file mode 100644
index db7d16488..000000000
Binary files a/ej2-javascript/pdfviewer/images/customStamp.png and /dev/null differ
diff --git a/ej2-javascript/pdfviewer/images/delete-icon.png b/ej2-javascript/pdfviewer/images/delete-icon.png
deleted file mode 100644
index 9c99dc690..000000000
Binary files a/ej2-javascript/pdfviewer/images/delete-icon.png and /dev/null differ
diff --git a/ej2-javascript/pdfviewer/images/delete_button.png b/ej2-javascript/pdfviewer/images/delete_button.png
deleted file mode 100644
index 3642d2e50..000000000
Binary files a/ej2-javascript/pdfviewer/images/delete_button.png and /dev/null differ
diff --git a/ej2-javascript/pdfviewer/images/download.png b/ej2-javascript/pdfviewer/images/download.png
deleted file mode 100644
index aa3660027..000000000
Binary files a/ej2-javascript/pdfviewer/images/download.png and /dev/null differ
diff --git a/ej2-javascript/pdfviewer/images/dragformfield.gif b/ej2-javascript/pdfviewer/images/dragformfield.gif
deleted file mode 100644
index 97666468f..000000000
Binary files a/ej2-javascript/pdfviewer/images/dragformfield.gif and /dev/null differ
diff --git a/ej2-javascript/pdfviewer/images/dropdownproperties.png b/ej2-javascript/pdfviewer/images/dropdownproperties.png
deleted file mode 100644
index 9bb5dc3dd..000000000
Binary files a/ej2-javascript/pdfviewer/images/dropdownproperties.png and /dev/null differ
diff --git a/ej2-javascript/pdfviewer/images/edit-annotation.png b/ej2-javascript/pdfviewer/images/edit-annotation.png
deleted file mode 100644
index 1b00dad78..000000000
Binary files a/ej2-javascript/pdfviewer/images/edit-annotation.png and /dev/null differ
diff --git a/ej2-javascript/pdfviewer/images/editAnnotation.png b/ej2-javascript/pdfviewer/images/editAnnotation.png
deleted file mode 100644
index 9086dcb15..000000000
Binary files a/ej2-javascript/pdfviewer/images/editAnnotation.png and /dev/null differ
diff --git a/ej2-javascript/pdfviewer/images/edit_color.png b/ej2-javascript/pdfviewer/images/edit_color.png
deleted file mode 100644
index 1c335dd0b..000000000
Binary files a/ej2-javascript/pdfviewer/images/edit_color.png and /dev/null differ
diff --git a/ej2-javascript/pdfviewer/images/edit_opacity.png b/ej2-javascript/pdfviewer/images/edit_opacity.png
deleted file mode 100644
index 1c813aca2..000000000
Binary files a/ej2-javascript/pdfviewer/images/edit_opacity.png and /dev/null differ
diff --git a/ej2-javascript/pdfviewer/images/fillcolor.png b/ej2-javascript/pdfviewer/images/fillcolor.png
deleted file mode 100644
index d0f4f4361..000000000
Binary files a/ej2-javascript/pdfviewer/images/fillcolor.png and /dev/null differ
diff --git a/ej2-javascript/pdfviewer/images/fontcolor.png b/ej2-javascript/pdfviewer/images/fontcolor.png
deleted file mode 100644
index 2937b4984..000000000
Binary files a/ej2-javascript/pdfviewer/images/fontcolor.png and /dev/null differ
diff --git a/ej2-javascript/pdfviewer/images/fontfamily.png b/ej2-javascript/pdfviewer/images/fontfamily.png
deleted file mode 100644
index 7be45631c..000000000
Binary files a/ej2-javascript/pdfviewer/images/fontfamily.png and /dev/null differ
diff --git a/ej2-javascript/pdfviewer/images/fontopacity.png b/ej2-javascript/pdfviewer/images/fontopacity.png
deleted file mode 100644
index 16beaca6f..000000000
Binary files a/ej2-javascript/pdfviewer/images/fontopacity.png and /dev/null differ
diff --git a/ej2-javascript/pdfviewer/images/fontsize.png b/ej2-javascript/pdfviewer/images/fontsize.png
deleted file mode 100644
index 9517f09b1..000000000
Binary files a/ej2-javascript/pdfviewer/images/fontsize.png and /dev/null differ
diff --git a/ej2-javascript/pdfviewer/images/fontstroke.png b/ej2-javascript/pdfviewer/images/fontstroke.png
deleted file mode 100644
index 6b40cf7d7..000000000
Binary files a/ej2-javascript/pdfviewer/images/fontstroke.png and /dev/null differ
diff --git a/ej2-javascript/pdfviewer/images/fontstyle.png b/ej2-javascript/pdfviewer/images/fontstyle.png
deleted file mode 100644
index 46a760611..000000000
Binary files a/ej2-javascript/pdfviewer/images/fontstyle.png and /dev/null differ
diff --git a/ej2-javascript/pdfviewer/images/fontthickness.png b/ej2-javascript/pdfviewer/images/fontthickness.png
deleted file mode 100644
index f792d0acf..000000000
Binary files a/ej2-javascript/pdfviewer/images/fontthickness.png and /dev/null differ
diff --git a/ej2-javascript/pdfviewer/images/freetext_tool.png b/ej2-javascript/pdfviewer/images/freetext_tool.png
deleted file mode 100644
index 5ccf232e7..000000000
Binary files a/ej2-javascript/pdfviewer/images/freetext_tool.png and /dev/null differ
diff --git a/ej2-javascript/pdfviewer/images/generalproperties.png b/ej2-javascript/pdfviewer/images/generalproperties.png
deleted file mode 100644
index e0cd4ee89..000000000
Binary files a/ej2-javascript/pdfviewer/images/generalproperties.png and /dev/null differ
diff --git a/ej2-javascript/pdfviewer/images/highlight_button.PNG b/ej2-javascript/pdfviewer/images/highlight_button.PNG
deleted file mode 100644
index 742cf4412..000000000
Binary files a/ej2-javascript/pdfviewer/images/highlight_button.PNG and /dev/null differ
diff --git a/ej2-javascript/pdfviewer/images/highlight_context.png b/ej2-javascript/pdfviewer/images/highlight_context.png
deleted file mode 100644
index 43e5f5f88..000000000
Binary files a/ej2-javascript/pdfviewer/images/highlight_context.png and /dev/null differ
diff --git a/ej2-javascript/pdfviewer/images/import.gif b/ej2-javascript/pdfviewer/images/import.gif
deleted file mode 100644
index 54d25773a..000000000
Binary files a/ej2-javascript/pdfviewer/images/import.gif and /dev/null differ
diff --git a/ej2-javascript/pdfviewer/images/ink_annotation.png b/ej2-javascript/pdfviewer/images/ink_annotation.png
deleted file mode 100644
index 163a1130e..000000000
Binary files a/ej2-javascript/pdfviewer/images/ink_annotation.png and /dev/null differ
diff --git a/ej2-javascript/pdfviewer/images/ink_opacity.png b/ej2-javascript/pdfviewer/images/ink_opacity.png
deleted file mode 100644
index 9170a26b9..000000000
Binary files a/ej2-javascript/pdfviewer/images/ink_opacity.png and /dev/null differ
diff --git a/ej2-javascript/pdfviewer/images/ink_strokecolor.png b/ej2-javascript/pdfviewer/images/ink_strokecolor.png
deleted file mode 100644
index 718216c40..000000000
Binary files a/ej2-javascript/pdfviewer/images/ink_strokecolor.png and /dev/null differ
diff --git a/ej2-javascript/pdfviewer/images/ink_thickness.png b/ej2-javascript/pdfviewer/images/ink_thickness.png
deleted file mode 100644
index aabe10b5b..000000000
Binary files a/ej2-javascript/pdfviewer/images/ink_thickness.png and /dev/null differ
diff --git a/ej2-javascript/pdfviewer/images/ink_tool.png b/ej2-javascript/pdfviewer/images/ink_tool.png
deleted file mode 100644
index 696563c0f..000000000
Binary files a/ej2-javascript/pdfviewer/images/ink_tool.png and /dev/null differ
diff --git a/ej2-javascript/pdfviewer/images/insert-delete-copy.gif b/ej2-javascript/pdfviewer/images/insert-delete-copy.gif
deleted file mode 100644
index c617714bd..000000000
Binary files a/ej2-javascript/pdfviewer/images/insert-delete-copy.gif and /dev/null differ
diff --git a/ej2-javascript/pdfviewer/images/javascript_output.png b/ej2-javascript/pdfviewer/images/javascript_output.png
deleted file mode 100644
index 5e1654468..000000000
Binary files a/ej2-javascript/pdfviewer/images/javascript_output.png and /dev/null differ
diff --git a/ej2-javascript/pdfviewer/images/link.png b/ej2-javascript/pdfviewer/images/link.png
deleted file mode 100644
index 6ff713700..000000000
Binary files a/ej2-javascript/pdfviewer/images/link.png and /dev/null differ
diff --git a/ej2-javascript/pdfviewer/images/mobileToolbar.png b/ej2-javascript/pdfviewer/images/mobileToolbar.png
deleted file mode 100644
index fb6cdfe79..000000000
Binary files a/ej2-javascript/pdfviewer/images/mobileToolbar.png and /dev/null differ
diff --git a/ej2-javascript/pdfviewer/images/more-options.png b/ej2-javascript/pdfviewer/images/more-options.png
deleted file mode 100644
index e722639bf..000000000
Binary files a/ej2-javascript/pdfviewer/images/more-options.png and /dev/null differ
diff --git a/ej2-javascript/pdfviewer/images/navigation.png b/ej2-javascript/pdfviewer/images/navigation.png
deleted file mode 100644
index 143a0f0d4..000000000
Binary files a/ej2-javascript/pdfviewer/images/navigation.png and /dev/null differ
diff --git a/ej2-javascript/pdfviewer/images/open-comment.png b/ej2-javascript/pdfviewer/images/open-comment.png
deleted file mode 100644
index 900069fad..000000000
Binary files a/ej2-javascript/pdfviewer/images/open-comment.png and /dev/null differ
diff --git a/ej2-javascript/pdfviewer/images/open-fillcolor.png b/ej2-javascript/pdfviewer/images/open-fillcolor.png
deleted file mode 100644
index 5eaa67806..000000000
Binary files a/ej2-javascript/pdfviewer/images/open-fillcolor.png and /dev/null differ
diff --git a/ej2-javascript/pdfviewer/images/open-ink.png b/ej2-javascript/pdfviewer/images/open-ink.png
deleted file mode 100644
index c52125247..000000000
Binary files a/ej2-javascript/pdfviewer/images/open-ink.png and /dev/null differ
diff --git a/ej2-javascript/pdfviewer/images/open-radius.png b/ej2-javascript/pdfviewer/images/open-radius.png
deleted file mode 100644
index 0dd083a9c..000000000
Binary files a/ej2-javascript/pdfviewer/images/open-radius.png and /dev/null differ
diff --git a/ej2-javascript/pdfviewer/images/open-stamp.png b/ej2-javascript/pdfviewer/images/open-stamp.png
deleted file mode 100644
index 74ccf1664..000000000
Binary files a/ej2-javascript/pdfviewer/images/open-stamp.png and /dev/null differ
diff --git a/ej2-javascript/pdfviewer/images/openexistingpdf.gif b/ej2-javascript/pdfviewer/images/openexistingpdf.gif
deleted file mode 100644
index b88e0f096..000000000
Binary files a/ej2-javascript/pdfviewer/images/openexistingpdf.gif and /dev/null differ
diff --git a/ej2-javascript/pdfviewer/images/organize-page.png b/ej2-javascript/pdfviewer/images/organize-page.png
deleted file mode 100644
index b43b9d5d4..000000000
Binary files a/ej2-javascript/pdfviewer/images/organize-page.png and /dev/null differ
diff --git a/ej2-javascript/pdfviewer/images/organizePages.png b/ej2-javascript/pdfviewer/images/organizePages.png
deleted file mode 100644
index ea648f518..000000000
Binary files a/ej2-javascript/pdfviewer/images/organizePages.png and /dev/null differ
diff --git a/ej2-javascript/pdfviewer/images/pan.png b/ej2-javascript/pdfviewer/images/pan.png
deleted file mode 100644
index 3d5cc4ac1..000000000
Binary files a/ej2-javascript/pdfviewer/images/pan.png and /dev/null differ
diff --git a/ej2-javascript/pdfviewer/images/pdfviewer-digitalsignature.png b/ej2-javascript/pdfviewer/images/pdfviewer-digitalsignature.png
deleted file mode 100644
index 09352bbf6..000000000
Binary files a/ej2-javascript/pdfviewer/images/pdfviewer-digitalsignature.png and /dev/null differ
diff --git a/ej2-javascript/pdfviewer/images/print.png b/ej2-javascript/pdfviewer/images/print.png
deleted file mode 100644
index 588950330..000000000
Binary files a/ej2-javascript/pdfviewer/images/print.png and /dev/null differ
diff --git a/ej2-javascript/pdfviewer/images/printformfield.gif b/ej2-javascript/pdfviewer/images/printformfield.gif
deleted file mode 100644
index 9365bf7fd..000000000
Binary files a/ej2-javascript/pdfviewer/images/printformfield.gif and /dev/null differ
diff --git a/ej2-javascript/pdfviewer/images/radius-annotation.png b/ej2-javascript/pdfviewer/images/radius-annotation.png
deleted file mode 100644
index 2559f6da8..000000000
Binary files a/ej2-javascript/pdfviewer/images/radius-annotation.png and /dev/null differ
diff --git a/ej2-javascript/pdfviewer/images/resizeformfield.gif b/ej2-javascript/pdfviewer/images/resizeformfield.gif
deleted file mode 100644
index 06d97cf67..000000000
Binary files a/ej2-javascript/pdfviewer/images/resizeformfield.gif and /dev/null differ
diff --git a/ej2-javascript/pdfviewer/images/rotate-rearrange.gif b/ej2-javascript/pdfviewer/images/rotate-rearrange.gif
deleted file mode 100644
index 172906f96..000000000
Binary files a/ej2-javascript/pdfviewer/images/rotate-rearrange.gif and /dev/null differ
diff --git a/ej2-javascript/pdfviewer/images/saveformfield.gif b/ej2-javascript/pdfviewer/images/saveformfield.gif
deleted file mode 100644
index b254a7df4..000000000
Binary files a/ej2-javascript/pdfviewer/images/saveformfield.gif and /dev/null differ
diff --git a/ej2-javascript/pdfviewer/images/search.png b/ej2-javascript/pdfviewer/images/search.png
deleted file mode 100644
index b8246ab69..000000000
Binary files a/ej2-javascript/pdfviewer/images/search.png and /dev/null differ
diff --git a/ej2-javascript/pdfviewer/images/searchOption.png b/ej2-javascript/pdfviewer/images/searchOption.png
deleted file mode 100644
index f896cfb83..000000000
Binary files a/ej2-javascript/pdfviewer/images/searchOption.png and /dev/null differ
diff --git a/ej2-javascript/pdfviewer/images/select-text.png b/ej2-javascript/pdfviewer/images/select-text.png
deleted file mode 100644
index b7d119b38..000000000
Binary files a/ej2-javascript/pdfviewer/images/select-text.png and /dev/null differ
diff --git a/ej2-javascript/pdfviewer/images/select_sign.png b/ej2-javascript/pdfviewer/images/select_sign.png
deleted file mode 100644
index 800487e45..000000000
Binary files a/ej2-javascript/pdfviewer/images/select_sign.png and /dev/null differ
diff --git a/ej2-javascript/pdfviewer/images/selectall.png b/ej2-javascript/pdfviewer/images/selectall.png
deleted file mode 100644
index efe64ff32..000000000
Binary files a/ej2-javascript/pdfviewer/images/selectall.png and /dev/null differ
diff --git a/ej2-javascript/pdfviewer/images/selection.png b/ej2-javascript/pdfviewer/images/selection.png
deleted file mode 100644
index 901a0cd72..000000000
Binary files a/ej2-javascript/pdfviewer/images/selection.png and /dev/null differ
diff --git a/ej2-javascript/pdfviewer/images/selectstamp_annot.png b/ej2-javascript/pdfviewer/images/selectstamp_annot.png
deleted file mode 100644
index 0ed5198e3..000000000
Binary files a/ej2-javascript/pdfviewer/images/selectstamp_annot.png and /dev/null differ
diff --git a/ej2-javascript/pdfviewer/images/shape_annot.png b/ej2-javascript/pdfviewer/images/shape_annot.png
deleted file mode 100644
index 9d47219c1..000000000
Binary files a/ej2-javascript/pdfviewer/images/shape_annot.png and /dev/null differ
diff --git a/ej2-javascript/pdfviewer/images/shape_fillColor.png b/ej2-javascript/pdfviewer/images/shape_fillColor.png
deleted file mode 100644
index 3f7a2519e..000000000
Binary files a/ej2-javascript/pdfviewer/images/shape_fillColor.png and /dev/null differ
diff --git a/ej2-javascript/pdfviewer/images/shape_lineprty.png b/ej2-javascript/pdfviewer/images/shape_lineprty.png
deleted file mode 100644
index 765361063..000000000
Binary files a/ej2-javascript/pdfviewer/images/shape_lineprty.png and /dev/null differ
diff --git a/ej2-javascript/pdfviewer/images/shape_opacity.png b/ej2-javascript/pdfviewer/images/shape_opacity.png
deleted file mode 100644
index 70cf57c03..000000000
Binary files a/ej2-javascript/pdfviewer/images/shape_opacity.png and /dev/null differ
diff --git a/ej2-javascript/pdfviewer/images/shape_strokecolor.png b/ej2-javascript/pdfviewer/images/shape_strokecolor.png
deleted file mode 100644
index 366b7e763..000000000
Binary files a/ej2-javascript/pdfviewer/images/shape_strokecolor.png and /dev/null differ
diff --git a/ej2-javascript/pdfviewer/images/shape_thickness.png b/ej2-javascript/pdfviewer/images/shape_thickness.png
deleted file mode 100644
index 7d3545d5f..000000000
Binary files a/ej2-javascript/pdfviewer/images/shape_thickness.png and /dev/null differ
diff --git a/ej2-javascript/pdfviewer/images/shape_toolbar.png b/ej2-javascript/pdfviewer/images/shape_toolbar.png
deleted file mode 100644
index 15aea3098..000000000
Binary files a/ej2-javascript/pdfviewer/images/shape_toolbar.png and /dev/null differ
diff --git a/ej2-javascript/pdfviewer/images/squiggly_button.png b/ej2-javascript/pdfviewer/images/squiggly_button.png
deleted file mode 100644
index 86418c5b1..000000000
Binary files a/ej2-javascript/pdfviewer/images/squiggly_button.png and /dev/null differ
diff --git a/ej2-javascript/pdfviewer/images/squiggly_context.png b/ej2-javascript/pdfviewer/images/squiggly_context.png
deleted file mode 100644
index 97377da1d..000000000
Binary files a/ej2-javascript/pdfviewer/images/squiggly_context.png and /dev/null differ
diff --git a/ej2-javascript/pdfviewer/images/stamp_annot.png b/ej2-javascript/pdfviewer/images/stamp_annot.png
deleted file mode 100644
index 36a359b1b..000000000
Binary files a/ej2-javascript/pdfviewer/images/stamp_annot.png and /dev/null differ
diff --git a/ej2-javascript/pdfviewer/images/stamp_tool.png b/ej2-javascript/pdfviewer/images/stamp_tool.png
deleted file mode 100644
index 7282f4436..000000000
Binary files a/ej2-javascript/pdfviewer/images/stamp_tool.png and /dev/null differ
diff --git a/ej2-javascript/pdfviewer/images/sticky-notes-in-page.png b/ej2-javascript/pdfviewer/images/sticky-notes-in-page.png
deleted file mode 100644
index 3a96cc714..000000000
Binary files a/ej2-javascript/pdfviewer/images/sticky-notes-in-page.png and /dev/null differ
diff --git a/ej2-javascript/pdfviewer/images/sticky_editbtn.png b/ej2-javascript/pdfviewer/images/sticky_editbtn.png
deleted file mode 100644
index f917a35c4..000000000
Binary files a/ej2-javascript/pdfviewer/images/sticky_editbtn.png and /dev/null differ
diff --git a/ej2-javascript/pdfviewer/images/sticky_opacity.png b/ej2-javascript/pdfviewer/images/sticky_opacity.png
deleted file mode 100644
index 2a60b7b0c..000000000
Binary files a/ej2-javascript/pdfviewer/images/sticky_opacity.png and /dev/null differ
diff --git a/ej2-javascript/pdfviewer/images/stickycomment.png b/ej2-javascript/pdfviewer/images/stickycomment.png
deleted file mode 100644
index d87c4306d..000000000
Binary files a/ej2-javascript/pdfviewer/images/stickycomment.png and /dev/null differ
diff --git a/ej2-javascript/pdfviewer/images/stickynotes_annotation.png b/ej2-javascript/pdfviewer/images/stickynotes_annotation.png
deleted file mode 100644
index e25e7035a..000000000
Binary files a/ej2-javascript/pdfviewer/images/stickynotes_annotation.png and /dev/null differ
diff --git a/ej2-javascript/pdfviewer/images/stickynotes_comment.png b/ej2-javascript/pdfviewer/images/stickynotes_comment.png
deleted file mode 100644
index 76b288752..000000000
Binary files a/ej2-javascript/pdfviewer/images/stickynotes_comment.png and /dev/null differ
diff --git a/ej2-javascript/pdfviewer/images/stickynotes_tool.png b/ej2-javascript/pdfviewer/images/stickynotes_tool.png
deleted file mode 100644
index ad91b673b..000000000
Binary files a/ej2-javascript/pdfviewer/images/stickynotes_tool.png and /dev/null differ
diff --git a/ej2-javascript/pdfviewer/images/storage-account.png b/ej2-javascript/pdfviewer/images/storage-account.png
deleted file mode 100644
index fe240b165..000000000
Binary files a/ej2-javascript/pdfviewer/images/storage-account.png and /dev/null differ
diff --git a/ej2-javascript/pdfviewer/images/strikethrough_button.png b/ej2-javascript/pdfviewer/images/strikethrough_button.png
deleted file mode 100644
index c416e49cd..000000000
Binary files a/ej2-javascript/pdfviewer/images/strikethrough_button.png and /dev/null differ
diff --git a/ej2-javascript/pdfviewer/images/strikethrough_context.png b/ej2-javascript/pdfviewer/images/strikethrough_context.png
deleted file mode 100644
index 0bcea7b82..000000000
Binary files a/ej2-javascript/pdfviewer/images/strikethrough_context.png and /dev/null differ
diff --git a/ej2-javascript/pdfviewer/images/text_markup_annotation.png b/ej2-javascript/pdfviewer/images/text_markup_annotation.png
deleted file mode 100644
index a0684a628..000000000
Binary files a/ej2-javascript/pdfviewer/images/text_markup_annotation.png and /dev/null differ
diff --git a/ej2-javascript/pdfviewer/images/textalign.png b/ej2-javascript/pdfviewer/images/textalign.png
deleted file mode 100644
index 07826f3a3..000000000
Binary files a/ej2-javascript/pdfviewer/images/textalign.png and /dev/null differ
diff --git a/ej2-javascript/pdfviewer/images/thumbnail.png b/ej2-javascript/pdfviewer/images/thumbnail.png
deleted file mode 100644
index 99c63d926..000000000
Binary files a/ej2-javascript/pdfviewer/images/thumbnail.png and /dev/null differ
diff --git a/ej2-javascript/pdfviewer/images/toc.png b/ej2-javascript/pdfviewer/images/toc.png
deleted file mode 100644
index 617e1ea9d..000000000
Binary files a/ej2-javascript/pdfviewer/images/toc.png and /dev/null differ
diff --git a/ej2-javascript/pdfviewer/images/toolbar.png b/ej2-javascript/pdfviewer/images/toolbar.png
deleted file mode 100644
index e899e9678..000000000
Binary files a/ej2-javascript/pdfviewer/images/toolbar.png and /dev/null differ
diff --git a/ej2-javascript/pdfviewer/images/underline_button.png b/ej2-javascript/pdfviewer/images/underline_button.png
deleted file mode 100644
index a93d3b86f..000000000
Binary files a/ej2-javascript/pdfviewer/images/underline_button.png and /dev/null differ
diff --git a/ej2-javascript/pdfviewer/images/underline_context.png b/ej2-javascript/pdfviewer/images/underline_context.png
deleted file mode 100644
index 2aab9892e..000000000
Binary files a/ej2-javascript/pdfviewer/images/underline_context.png and /dev/null differ
diff --git a/ej2-javascript/pdfviewer/images/undo-redo.png b/ej2-javascript/pdfviewer/images/undo-redo.png
deleted file mode 100644
index 3ead9ff13..000000000
Binary files a/ej2-javascript/pdfviewer/images/undo-redo.png and /dev/null differ
diff --git a/ej2-javascript/pdfviewer/images/upload-pdf.png b/ej2-javascript/pdfviewer/images/upload-pdf.png
deleted file mode 100644
index d49aaabfb..000000000
Binary files a/ej2-javascript/pdfviewer/images/upload-pdf.png and /dev/null differ
diff --git a/ej2-javascript/pdfviewer/images/zoom.png b/ej2-javascript/pdfviewer/images/zoom.png
deleted file mode 100644
index 41a222105..000000000
Binary files a/ej2-javascript/pdfviewer/images/zoom.png and /dev/null differ
diff --git a/ej2-javascript/pdfviewer/images/zoomOrganize.png b/ej2-javascript/pdfviewer/images/zoomOrganize.png
deleted file mode 100644
index e55f6058b..000000000
Binary files a/ej2-javascript/pdfviewer/images/zoomOrganize.png and /dev/null differ
diff --git a/ej2-javascript/pdfviewer/js/accessibility.md b/ej2-javascript/pdfviewer/js/accessibility.md
deleted file mode 100644
index 15556ce5b..000000000
--- a/ej2-javascript/pdfviewer/js/accessibility.md
+++ /dev/null
@@ -1,292 +0,0 @@
----
-layout: post
-title: Accessibility in ##Platform_Name## Pdfviewer control | Syncfusion
-description: Learn here all about accessibility in Syncfusion ##Platform_Name## Pdfviewer control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: PDF Viewer
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Accessibility in Syncfusion PDF Viewer components
-
-The PDF Viewer component followed the accessibility guidelines and standards, including [ADA](https://www.ada.gov/), [Section 508](https://www.section508.gov/), [WCAG 2.2](https://www.w3.org/TR/WCAG22/) standards, and [WCAG roles](https://www.w3.org/TR/wai-aria/#roles) that are commonly used to evaluate accessibility.
-
-The accessibility compliance for the PDF Viewer 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.
-
-## WAI-ARIA attributes
-
-[WAI-ARIA](https://www.w3.org/WAI/ARIA/apg/patterns/alert/) (Accessibility Initiative – Accessible Rich Internet Applications) defines a way to increase the accessibility of web pages, dynamic content, and user interface components developed with Ajax, HTML, JavaScript,and related technologies. ARIA provides additional semantics to describe the role, state, and functionality of web components. The following ARIA attributes are used in the PDF Viewer component:
-
-| Attributes | Purpose |
-| --- | --- |
-| `aria-disabled`| Indicates whether the PDF Viewer component is in a disabled state or not.|
-| `aria-expanded`| Indicates whether the suggestion list has expanded or not. |
-| `aria-readonly` | Indicates the readonly state of the PDF Viewer element. |
-| `aria-haspopup` | Indicates whether the PDF Viewer input element has a suggestion list or not. |
-| `aria-label` | Indicates the breadcrumb item text. |
-| `aria-labelledby` | Provides a label for the PDF Viewer. Typically, the "aria-labelledby" attribute will contain the id of the element used as the PDF Viewer's title. |
-| `aria-describedby` | This attribute points to the PDF Viewer element describing the one it's set on. |
-| `aria-orientation` | Indicates whether the PDF Viewer element is oriented horizontally or vertically. |
-| `aria-valuetext` | Returns the current text of the PDF Viewer. |
-| `aria-valuemax` | Indicates the Maximum value of the PDF Viewer. |
-| `aria-valuemin` | Indicates the Minimum value of the PDF Viewer. |
-| `aria-valuenow` | Indicates the current value of the PDF Viewer. |
-| `aria-controls` | Attribute is set to the button and it points to the corresponding content. |
-
-
-## Keyboard interaction
-
-The PDF Viewer component followed the [keyboard interaction](https://www.w3.org/WAI/ARIA/apg/patterns/alert/#keyboardinteraction) guideline, making it easy for people who use assistive technologies (AT) and those who completely rely on keyboard navigation. The following keyboard shortcuts are supported by the Message component.
-
-| **Press (Windows)** |**Press (Macintosh)** | **To do this** |
-| --- | --- | --- |
-|||**Shortcuts for page navigation**|
-| CONTROL + Left Arrow (or) CONTROL + Up Arrow | COMMAND + Left Arrow (or) COMMAND + Up Arrow |Navigate to the first page |
-| CONTROL + Right Arrow (or) CONTROL + Down Arrow |COMMAND + Right Arrow (or) COMMAND + Down Arrow |Navigate to the last page |
-|Left Arrow | Left Arrow (or) Shift + Space |Navigate to the previous page|
-| Right Arrow | Right Arrow (or) Space | Navigate to the next page |
-| CONTROL + G | COMMAND + G | Go To The Page|
-|Up Arrow |Up Arrow |Scroll up|
-| Down Arrow | Down Arrow | Scroll down|
-|||**Shortcuts for Zooming**|
-|CONTROL + = |COMMAND + = | Perform zoom-in operation |
-| CONTROL + - | COMMAND + - | Perform zoom-out operation |
-|CONTROL + 0 |COMMAND + 0 | Retain the zoom level to 1 |
-|||**Shortcut for Text Search**|
-| CONTROL + F | COMMAND + F |Open the search toolbar|
-|||**Shortcut for Text Selection**|
-|CONTROL + C |CONTROL + C | Copy the selected text or annotation or form field |
-| CONTROL + X | CONTROL + X |Cut the selected text or annotation of the form field|
-|CONTROL + Y |CONTROL + Y |Paste the selected text or annotation or form field|
-|||**Shortcuts for the general operation**|
-| CONTROL + Z | CONTROL + Z |Undo the action|
-|CONTROL + Y |CONTROL + Y |Redo the action|
-| CONTROL + P | COMMAND + P |Print the document|
-|Delete |Delete |Delete the annotations and form fields|
-|CONTROL + Shift + A |COMMAND + Shift + A |Toggle Annotation Toolbar|
-|CONTROL + Alt + 0 |COMMAND + Option + 0 |Show Command panel|
-|CONTROL + Alt + 2 |COMMAND + Option + 2 |Show Bookmarks|
-|CONTROL + Alt + 1 |COMMAND + Option + 1 |Show Thumbnails|
-|CONTROL + S |COMMAND + S |Download|
-|Shift + H |Shift + H |Enable pan mode|
-|Shift + V |Shift + V |Enable text selection mode|
-
-The current implementation of our PDF Viewer includes keyboard shortcuts for various functions like scrolling, zooming, text search, printing, and annotation deletion.
-
-To enhance user experience, we're adding additional keyboard shortcuts for actions such as navigating between pages, accessing specific pages, toggling annotation tools, and displaying PDF elements like outlines, annotations, bookmarks, and thumbnails.
-
-To support this, we're introducing a new class called **commandManager**, which handles custom commands triggered by specific key gestures. These custom commands will be defined by users and executed accordingly.
-
-The **commandManager** will have a parameter called Commands, which will hold the collection of custom keyboard commands specified by users. Each custom command will be represented by a KeyboardCommand class, containing the `command name` and associated `keyboard combination`.
-
-Additionally, we're introducing the **keyboardCustomCommands** parameter for the CommandManager, which will utilize the EventCallback to handle keyboard events and trigger appropriate methods when specific key combinations are pressed.
-
-{% tabs %}
-{% highlight html tabtitle="Standalone" %}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-{% endhighlight %}
-{% endtabs %}
-
-Each `keyboardCommand` object consists of a name property, specifying the `name` of the `custom command`, and a `gesture property`, defining the key gesture associated with the command.
-
-For example, the first command named `customCopy` is associated with the **G** key and requires both the **Shift** and **Alt** modifier keys to be pressed simultaneously.
-
-Additionally, there's an explanation of the key modifiers used in the gestures:
-
-* Ctrl corresponds to the Control key, represented by the value `1`.
-* Alt corresponds to the Alt key, represented by the value `2`.
-* Shift corresponds to the Shift key, represented by the value `4`.
-* Meta corresponds to the Command key on macOS or the Windows key on Windows, represented by the value `8`.
-
-This setup allows users to perform custom actions within the PDF viewer by pressing specific key combinations, enhancing the user experience and providing more efficient navigation and interaction options.
-
-## Ensuring accessibility
-
-The PDF Viewer 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 PDF Viewer component is shown in the following sample. Open the [sample](https://ej2.syncfusion.com/accessibility/pdf-viewer.html) in a new window to evaluate the accessibility of the PDF Viewer component with accessibility tools.
-
-{% previewsample "https://ej2.syncfusion.com/accessibility/pdf-viewer.html" %}
-
-## See also
-
-* [Accessibility in Syncfusion EJ2 JavaScript components](../common/accessibility)
diff --git a/ej2-javascript/pdfviewer/js/annotations/comments.md b/ej2-javascript/pdfviewer/js/annotations/comments.md
deleted file mode 100644
index f0c7d0395..000000000
--- a/ej2-javascript/pdfviewer/js/annotations/comments.md
+++ /dev/null
@@ -1,166 +0,0 @@
----
-layout: post
-title: Comments in ##Platform_Name## PDF Viewer control | Syncfusion
-description: Learn here all about Comments in Syncfusion ##Platform_Name## PDF Viewer control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: PDF Viewer
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Comments in ##Platform_Name## PDF Viewer control
-
-The PDF Viewer control provides options to add, edit, and delete the comments to the following annotation in the PDF documents:
-
-* Shape annotation
-* Stamp annotation
-* Sticky note annotation
-* Measurement annotation
-* Text markup annotation
-* Free text annotation
-* Ink annotation
-
-
-
-## Adding a comment to the annotation
-
-Annotation comment, comment replies, and status can be added to the PDF document using the comment panel.
-
-### Comment panel
-
-Annotation comments can be added to the PDF using the comment panel. The comment panel can be opened in the following ways:
-
-1. Using the annotation menu
-
- * Click the Edit Annotation button in the PDF Viewer toolbar. A toolbar appears below it.
- * Click the Comment Panel button. A comment panel will appear.
-
-2. Using Context menu
-
- * Select annotation in the PDF document and right-click it.
- * Select the comment option in the context menu that appears.
-
-3. Using the Mouse click
-
- * Select annotation in the PDF document and double click it, a comment panel will appear.
-
-If the comment panel is already in the open state, you can select the annotations and add annotation comments using the comment panel.
-
-### Adding comments
-
-* Select annotation in the PDF document and click it.
-* The selected annotation comment container is highlighted in the comment panel.
-* Now, you can add comment and comment replies using the comment panel.
-
-
-
-### Adding Comment Replies
-
-* The PDF Viewer control provides an option to add multiple replies to the comment.
-* After adding the annotation comment, you can add a reply to the comment.
-
-### Adding Comment or Reply Status
-
-* Select the Annotation Comments in the comment panel.
-* Click the more options button showing in the Comments or reply container.
-* Select the Set Status option in the context menu that appears.
-* Select the status of the annotation comment in the context menu that appears.
-
-
-
-### Editing the comments and comments replies of the annotations
-
-The comment, comment replies, and status of the annotation can be edited using the comment panel.
-
-### Editing the Comment or Comment Replies
-
-The annotation comment and comment replies can be edited in the following ways:
-
-1. Using the Context menu
-
- * Select the Annotation Comments in the comment panel.
- * Click the More options button showing in the Comments or reply container.
- * Select the Edit option in the context menu that appears.
- * Now, an editable text box appears. You can change the content of the annotation comment or comment reply.
-
-2. Using the Mouse Click
-
- * Select the annotation comments in the comment panel.
- * Double click the comment or comment reply content.
- * Now, an editable text box appears. You can change the content of the annotation comment or comment reply.
-
-### Editing Comment or Reply Status
-
-* Select the Annotation Comments in the comment panel.
-* Click the more options button showing in the Comments or reply container.
-* Select the Set Status option in the context menu that appears.
-* Select the status of the annotation comment in the context menu that appears.
-* Status ‘None’ is the default state. If the status is set to ‘None,’ the comments or reply does not appear.
-
-
-
-### Delete Comment or Comment Replies
-
-* Select the Annotation Comments in the comment panel.
-* Click the more options button shown in the Comments or reply container.
-* Select the Delete option in the context menu that appears.
-
-
-
->The annotation will be deleted on deleting the comment using comment panel.
-
-## How to check the comments added by the user
-
-The comments added to the PDF document can be viewed by using the [comments](https://helpej2.syncfusion.com/documentation/api/pdfviewer/commentEventArgs/) property of the annotation.
-
-Refer to the following code to check the comments added in the PDF document using a button click event.
-
-```html
-
-```
-
-{% tabs %}
-{% highlight html tabtitle="Standalone" %}
-
-var pdfviewer = new ej.pdfviewer.PdfViewer({
- documentPath: "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf",
- resourceUrl : "https://cdn.syncfusion.com/ej2/23.1.43/dist/ej2-pdfviewer-lib";
- });
-ej.pdfviewer.PdfViewer.Inject(ej.pdfviewer.TextSelection, ej.pdfviewer.TextSearch, ej.pdfviewer.Print, ej.pdfviewer.Navigation, ej.pdfviewer.Toolbar,
- ej.pdfviewer.Magnification, ej.pdfviewer.Annotation, ej.pdfviewer.FormDesigner, ej.pdfviewer.FormFields, ej.pdfviewer.PageOrganizer);
-pdfviewer.appendTo('#PdfViewer');
-
-{% endhighlight %}
-{% highlight html tabtitle="Server-Backed" %}
-
-var pdfviewer = new ej.pdfviewer.PdfViewer({
- documentPath: "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf",
- serviceUrl: 'https://services.syncfusion.com/js/production/api/pdfviewer'
- });
-ej.pdfviewer.PdfViewer.Inject(ej.pdfviewer.TextSelection, ej.pdfviewer.TextSearch, ej.pdfviewer.Print, ej.pdfviewer.Navigation, ej.pdfviewer.Toolbar,
- ej.pdfviewer.Magnification, ej.pdfviewer.Annotation, ej.pdfviewer.FormDesigner, ej.pdfviewer.FormFields, ej.pdfviewer.PageOrganizer);
-pdfviewer.appendTo('#PdfViewer');
-
-{% endhighlight %}
-{% endtabs %}
-
-```typescript
-//Method to check the comments added in the PDF document.
-document.getElementById('checkComments').addEventListener('click', function () {
- var annotationCollections = pdfviewer.annotationCollection;
- for (var x = 0; x < annotationCollections.length; x++) {
- //Prints the annotation id in the console window.
- console.log("annotation Id : " +annotationCollections[x].annotationId);
- var comments = annotationCollections[x].comments;
- for (var y = 0; y < comments.length; y++) {
- var comment = comments[y];
- //Prints the PDF document's comments in the console window.
- console.log("comment" + "[" + y + "] :" + comment.note);
- }
- var note = annotationCollections[x].note;
- console.log("note : " + note);
- }
-});
-
-```
\ No newline at end of file
diff --git a/ej2-javascript/pdfviewer/js/annotations/free-text-annotation.md b/ej2-javascript/pdfviewer/js/annotations/free-text-annotation.md
deleted file mode 100644
index 219b2d0e0..000000000
--- a/ej2-javascript/pdfviewer/js/annotations/free-text-annotation.md
+++ /dev/null
@@ -1,299 +0,0 @@
----
-layout: post
-title: Free text annotation in ##Platform_Name## PDF Viewer control | Syncfusion
-description: Learn here all about Free text annotation in Syncfusion ##Platform_Name## PDF Viewer control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: PDF Viewer
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Free text annotation in ##Platform_Name## PDF Viewer control
-
-The PDF Viewer control provides the options to add, edit, and delete the free text annotations.
-
-## Adding a free text annotation to the PDF document
-
-The Free text annotations can be added to the PDF document using the annotation toolbar.
-
-* Click the **Edit Annotation** button in the PDF Viewer toolbar. A toolbar appears below it.
-* Select the **Free Text Annotation** button in the annotation toolbar. It enables the Free Text annotation mode.
-* You can add the text over the pages of the PDF document.
-
-In the pan mode, if the free text annotation mode is entered, the PDF Viewer control will switch to text select mode.
-
-
-
-Refer to the following code sample to switch to the Free Text annotation mode using a button click.
-
-
-```html
-
-```
-{% tabs %}
-{% highlight ts tabtitle="Standalone" %}
-
-var pdfviewer = new ej.pdfviewer.PdfViewer({
- documentPath: "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf",
- resourceUrl : "https://cdn.syncfusion.com/ej2/25.1.35/dist/ej2-pdfviewer-lib"
- });
-ej.pdfviewer.PdfViewer.Inject(ej.pdfviewer.TextSelection, ej.pdfviewer.TextSearch, ej.pdfviewer.Print, ej.pdfviewer.Navigation, ej.pdfviewer.Toolbar,
- ej.pdfviewer.Magnification, ej.pdfviewer.Annotation, ej.pdfviewer.FormDesigner, ej.pdfviewer.FormFields, ej.pdfviewer.PageOrganizer);
-pdfviewer.appendTo('#PdfViewer');
-
-let addFreeTextAnnotationButton = document.getElementById('addFreeTextAnnotation');
-if (addFreeTextAnnotationButton) {
- addFreeTextAnnotationButton.addEventListener('click', function () {
- if (pdfviewer) {
- pdfviewer.annotationModule.setAnnotationMode("FreeText");
- }
- });
-}
-
-{% endhighlight %}
-{% highlight ts tabtitle="Server-Backed" %}
-
-var pdfviewer = new ej.pdfviewer.PdfViewer({
- documentPath: "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf",
- serviceUrl: 'https://services.syncfusion.com/js/production/api/pdfviewer'
- });
-ej.pdfviewer.PdfViewer.Inject(ej.pdfviewer.TextSelection, ej.pdfviewer.TextSearch, ej.pdfviewer.Print, ej.pdfviewer.Navigation, ej.pdfviewer.Toolbar,
- ej.pdfviewer.Magnification, ej.pdfviewer.Annotation, ej.pdfviewer.FormDesigner, ej.pdfviewer.FormFields, ej.pdfviewer.PageOrganizer);
-pdfviewer.appendTo('#PdfViewer');
-let addFreeTextAnnotationButton = document.getElementById('addFreeTextAnnotation');
-if (addFreeTextAnnotationButton) {
- addFreeTextAnnotationButton.addEventListener('click', function () {
- if (pdfviewer) {
- pdfviewer.annotationModule.setAnnotationMode("FreeText");
- }
- });
-}
-
-{% endhighlight %}
-{% endtabs %}
-
-## Adding a free text annotation programatically to the PDF document
-
-The PDF Viewer library allows you to add the free text annotation in the PDF Viewer control programmatically using the [**addAnnotation()**](https://helpej2.syncfusion.com/javascript/documentation/api/pdfviewer/annotation/#addannotation) method.
-
-Here is an example of how you can use the [**addAnnotation()**](https://helpej2.syncfusion.com/documentation/api/pdfviewer/#addannotation) method to move the free text annotation programmatically:
-
-```html
-
-
-```
-{% tabs %}
-{% highlight ts tabtitle="Standalone" %}
-
-var pdfviewer = new ej.pdfviewer.PdfViewer({
- documentPath: "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf",
- resourceUrl : "https://cdn.syncfusion.com/ej2/25.1.35/dist/ej2-pdfviewer-lib"
- });
-ej.pdfviewer.PdfViewer.Inject(ej.pdfviewer.TextSelection, ej.pdfviewer.TextSearch, ej.pdfviewer.Print, ej.pdfviewer.Navigation, ej.pdfviewer.Toolbar,
- ej.pdfviewer.Magnification, ej.pdfviewer.Annotation, ej.pdfviewer.FormDesigner, ej.pdfviewer.FormFields, ej.pdfviewer.PageOrganizer);
-pdfviewer.appendTo('#PdfViewer');
-
-let addFreeTextAnnotation = document.getElementById('addFreeTextAnnotation');
-if (addFreeTextAnnotation) {
- addFreeTextAnnotation.addEventListener('click', function () {
- if (pdfviewer) {
- pdfviewer.annotation.addAnnotation("FreeText", {
- offset: { x: 120, y: 80 },
- fontSize: 16,
- fontFamily: "Helvetica",
- pageNumber: 1,
- width: 200,
- height: 40,
- isLock: false,
- defaultText: "Syncfusion"
- } );
- }
- });
-}
-
-{% endhighlight %}
-{% highlight ts tabtitle="Server-Backed" %}
-
-var pdfviewer = new ej.pdfviewer.PdfViewer({
- documentPath: "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf",
- serviceUrl: 'https://services.syncfusion.com/js/production/api/pdfviewer'
- });
-ej.pdfviewer.PdfViewer.Inject(ej.pdfviewer.TextSelection, ej.pdfviewer.TextSearch, ej.pdfviewer.Print, ej.pdfviewer.Navigation, ej.pdfviewer.Toolbar,
- ej.pdfviewer.Magnification, ej.pdfviewer.Annotation, ej.pdfviewer.FormDesigner, ej.pdfviewer.FormFields, ej.pdfviewer.PageOrganizer);
-pdfviewer.appendTo('#PdfViewer');
-let addFreeTextAnnotation = document.getElementById('addFreeTextAnnotation');
-if (addFreeTextAnnotation) {
- addFreeTextAnnotation.addEventListener('click', function () {
- if (pdfviewer) {
- pdfviewer.annotation.addAnnotation("FreeText", {
- offset: { x: 120, y: 80 },
- fontSize: 16,
- fontFamily: "Helvetica",
- pageNumber: 1,
- width: 200,
- height: 40,
- isLock: false,
- defaultText: "Syncfusion"
- } );
- }
- });
-}
-
-{% endhighlight %}
-{% endtabs %}
-
-## Change the content of an existing Free text annotation programmatically
-
-To change the content of an existing free text annotation in the Syncfusion PDF viewer programmatically, you can use the **editAnnotation()** method.
-
-Here is an example of how you can use the **editAnnotation()** method to change the content of a free text annotation:
-
-```html
-
-```
-{% tabs %}
-{% highlight ts tabtitle="Standalone" %}
-
-var pdfviewer = new ej.pdfviewer.PdfViewer({
- documentPath: "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf",
- resourceUrl : "https://cdn.syncfusion.com/ej2/25.1.35/dist/ej2-pdfviewer-lib"
- });
-ej.pdfviewer.PdfViewer.Inject(ej.pdfviewer.TextSelection, ej.pdfviewer.TextSearch, ej.pdfviewer.Print, ej.pdfviewer.Navigation, ej.pdfviewer.Toolbar,
- ej.pdfviewer.Magnification, ej.pdfviewer.Annotation, ej.pdfviewer.FormDesigner, ej.pdfviewer.FormFields, ej.pdfviewer.PageOrganizer);
-pdfviewer.appendTo('#PdfViewer');
-
-let changeContent = document.getElementById('changeContent');
-if (changeContent) {
- changeContent.addEventListener('click', function () {
- if (pdfviewer) {
- for (let i = 0; i < pdfviewer.annotationCollection.length; i++) {
- if (pdfviewer.annotationCollection[i].subject === 'Text Box') {
- pdfviewer.annotationCollection[i].dynamicText = 'syncfusion';
- pdfviewer.annotation.editAnnotation(pdfviewer.annotationCollection[i]);
- }
- }
- }
- });
-}
-
-{% endhighlight %}
-{% highlight ts tabtitle="Server-Backed" %}
-
-var pdfviewer = new ej.pdfviewer.PdfViewer({
- documentPath: "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf",
- serviceUrl: 'https://services.syncfusion.com/js/production/api/pdfviewer'
- });
-ej.pdfviewer.PdfViewer.Inject(ej.pdfviewer.TextSelection, ej.pdfviewer.TextSearch, ej.pdfviewer.Print, ej.pdfviewer.Navigation, ej.pdfviewer.Toolbar,
- ej.pdfviewer.Magnification, ej.pdfviewer.Annotation, ej.pdfviewer.FormDesigner, ej.pdfviewer.FormFields, ej.pdfviewer.PageOrganizer);
-pdfviewer.appendTo('#PdfViewer');
-
-let changeContent = document.getElementById('changeContent');
-if (changeContent) {
- changeContent.addEventListener('click', function () {
- if (pdfviewer) {
- for (let i = 0; i < pdfviewer.annotationCollection.length; i++) {
- if (pdfviewer.annotationCollection[i].subject === 'Text Box') {
- pdfviewer.annotationCollection[i].dynamicText = 'syncfusion';
- pdfviewer.annotation.editAnnotation(pdfviewer.annotationCollection[i]);
- }
- }
- }
- });
-}
-
-{% endhighlight %}
-{% endtabs %}
-
-N> Please note that the current version of the PDF Viewer does not offer the functionality to edit existing text within a PDF document. However, you can add new free text annotations and modify existing free text annotations within the document.
-
-## Editing the properties of free text annotation
-
-The font family, font size, font styles, font color, text alignment, fill color, the border stroke color, border thickness, and opacity of the free text annotation can be edited using the Font Family tool, Font Size tool, Font Color tool, Text Align tool, Font Style tool Edit Color tool, Edit Stroke Color tool, Edit Thickness tool, and Edit Opacity tool in the annotation toolbar.
-
-### Editing font family
-
-The font family of the annotation can be edited by selecting the desired font in the Font Family tool.
-
-
-
-### Editing font size
-
-The font size of the annotation can be edited by selecting the desired size in the Font Size tool.
-
-
-
-### Editing font color
-
-The font color of the annotation can be edited using the color palette provided in the Font Color tool.
-
-
-
-### Editing the text alignment
-
-The text in the annotation can be aligned by selecting the desired styles in the drop-down pop-up in the Text Align tool.
-
-
-
-### Editing text styles
-
-The style of the text in the annotation can be edited by selecting the desired styles in the drop-down pop-up in the Font Style tool.
-
-
-
-### Editing fill color
-
-The fill color of the annotation can be edited using the color palette provided in the Edit Color tool.
-
-
-
-### Editing stroke color
-
-The stroke color of the annotation can be edited using the color palette provided in the Edit Stroke Color tool.
-
-
-
-### Editing thickness
-
-The border thickness of the annotation can be edited using the range slider provided in the Edit Thickness tool.
-
-
-
-### Editing opacity
-
-The opacity of the annotation can be edited using the range slider provided in the Edit Opacity tool.
-
-
-
-## Setting default properties during control initialization
-
-The properties of the free text annotation can be set before creating the control using the FreeTextSettings.
-
-After editing the default values, they will be changed to the selected values. Refer to the following code sample to set the default free text annotation settings.
-
-{% tabs %}
-{% highlight ts tabtitle="Standalone" %}
-
-var pdfviewer = new ej.pdfviewer.PdfViewer({
- documentPath: "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf",
- resourceUrl : "https://cdn.syncfusion.com/ej2/25.1.35/dist/ej2-pdfviewer-lib",
- freeTextSettings : { fillColor: 'green', borderColor: 'blue', fontColor: 'yellow' }
- });
-ej.pdfviewer.PdfViewer.Inject(ej.pdfviewer.TextSelection, ej.pdfviewer.TextSearch, ej.pdfviewer.Print, ej.pdfviewer.Navigation, ej.pdfviewer.Toolbar,
- ej.pdfviewer.Magnification, ej.pdfviewer.Annotation, ej.pdfviewer.FormDesigner, ej.pdfviewer.FormFields, ej.pdfviewer.PageOrganizer);
-pdfviewer.appendTo('#PdfViewer');
-
-{% endhighlight %}
-{% highlight ts tabtitle="Server-Backed" %}
-
-var pdfviewer = new ej.pdfviewer.PdfViewer({
- documentPath: "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf",
- serviceUrl: 'https://services.syncfusion.com/js/production/api/pdfviewer',
- freeTextSettings : { fillColor: 'green', borderColor: 'blue', fontColor: 'yellow' }
- });
-ej.pdfviewer.PdfViewer.Inject(ej.pdfviewer.TextSelection, ej.pdfviewer.TextSearch, ej.pdfviewer.Print, ej.pdfviewer.Navigation, ej.pdfviewer.Toolbar,
- ej.pdfviewer.Magnification, ej.pdfviewer.Annotation, ej.pdfviewer.FormDesigner, ej.pdfviewer.FormFields, ej.pdfviewer.PageOrganizer);
-pdfviewer.appendTo('#PdfViewer');
-
-{% endhighlight %}
-{% endtabs %}
diff --git a/ej2-javascript/pdfviewer/js/annotations/ink-annotation.md b/ej2-javascript/pdfviewer/js/annotations/ink-annotation.md
deleted file mode 100644
index eafee4580..000000000
--- a/ej2-javascript/pdfviewer/js/annotations/ink-annotation.md
+++ /dev/null
@@ -1,271 +0,0 @@
----
-layout: post
-title: Ink annotation in ##Platform_Name## PDF Viewer control | Syncfusion
-description: Learn here all about Ink annotation in Syncfusion ##Platform_Name## PDF Viewer control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: PDF Viewer
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Ink annotation in ##Platform_Name## PDF Viewer control
-
-The PDF Viewer control provides the options to add, edit, and delete the ink annotations.
-
-
-
-## Adding an ink annotation to the PDF document
-
-The ink annotations can be added to the PDF document using the annotation toolbar.
-
-* Click the **Edit Annotation** button in the PDF Viewer toolbar. A toolbar appears below it.
-* Select the **Draw Ink** button in the annotation toolbar. It enables the ink annotation mode.
-* You can draw anything over the pages of the PDF document.
-
-
-
-Refer to the following code sample to switch to the ink annotation mode.
-
-```html
-
-```
-
-{% tabs %}
-{% highlight ts tabtitle="Standalone" %}
-
-var pdfviewer = new ej.pdfviewer.PdfViewer({
- documentPath: "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf",
- resourceUrl : "https://cdn.syncfusion.com/ej2/25.1.35/dist/ej2-pdfviewer-lib",
- });
-ej.pdfviewer.PdfViewer.Inject(ej.pdfviewer.TextSelection, ej.pdfviewer.TextSearch, ej.pdfviewer.Print, ej.pdfviewer.Navigation, ej.pdfviewer.Toolbar,
- ej.pdfviewer.Magnification, ej.pdfviewer.Annotation, ej.pdfviewer.FormDesigner, ej.pdfviewer.FormFields, ej.pdfviewer.PageOrganizer);
-pdfviewer.appendTo('#PdfViewer');
-
-let addInkAnnotation = document.getElementById('addInkAnnotation');
-if (addInkAnnotation) {
- addInkAnnotation.addEventListener('click', function () {
- if (pdfviewer) {
- pdfviewer.annotationModule.setAnnotationMode("Ink");
- }
- });
-}
-
-{% endhighlight %}
-{% highlight ts tabtitle="Server-Backed" %}
-
-var pdfviewer = new ej.pdfviewer.PdfViewer({
- documentPath: "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf",
- serviceUrl : "https://services.syncfusion.com/js/production/api/pdfviewer",
- });
-ej.pdfviewer.PdfViewer.Inject(ej.pdfviewer.TextSelection, ej.pdfviewer.TextSearch, ej.pdfviewer.Print, ej.pdfviewer.Navigation, ej.pdfviewer.Toolbar,
- ej.pdfviewer.Magnification, ej.pdfviewer.Annotation, ej.pdfviewer.FormDesigner, ej.pdfviewer.FormFields, ej.pdfviewer.PageOrganizer);
-pdfviewer.appendTo('#PdfViewer');
-
-let addInkAnnotation = document.getElementById('addInkAnnotation');
-if (addInkAnnotation) {
- addInkAnnotation.addEventListener('click', function () {
- if (pdfviewer) {
- pdfviewer.annotationModule.setAnnotationMode("Ink");
- }
- });
-}
-
-{% endhighlight %}
-{% endtabs %}
-
-## Adding a Ink annotation programatically to the PDF document
-
-The PDF Viewer library allows you to add the Ink annotation in the PDF Viewer control programmatically using the [**addAnnotation()**](https://helpej2.syncfusion.com/documentation/api/pdfviewer/annotation/#annotation) method.
-
-Here is an example of how you can use the **addAnnotation()** method to move the Ink annotation programmatically:
-
-```html
-
-```
-
-{% tabs %}
-{% highlight ts tabtitle="Standalone" %}
-
-var pdfviewer = new ej.pdfviewer.PdfViewer({
- documentPath: "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf",
- resourceUrl : "https://cdn.syncfusion.com/ej2/25.1.35/dist/ej2-pdfviewer-lib",
- });
-ej.pdfviewer.PdfViewer.Inject(ej.pdfviewer.TextSelection, ej.pdfviewer.TextSearch, ej.pdfviewer.Print, ej.pdfviewer.Navigation, ej.pdfviewer.Toolbar,
- ej.pdfviewer.Magnification, ej.pdfviewer.Annotation, ej.pdfviewer.FormDesigner, ej.pdfviewer.FormFields, ej.pdfviewer.PageOrganizer);
-pdfviewer.appendTo('#PdfViewer');
-
-let addInkAnnotation = document.getElementById('addInkAnnotation');
-if (addInkAnnotation) {
- addInkAnnotation.addEventListener('click', function () {
- if (pdfviewer) {
- pdfviewer.annotation.addAnnotation("Ink", {
- offset: { x: 150, y: 100 },
- pageNumber: 1,
- width : 200,
- height:60,
- path: '[{\"command\":\"M\",\"x\":244.83334350585938,\"y\":982.0000305175781},{\"command\":\"L\",\"x\":244.83334350585938,\"y\":982.0000305175781},{\"command\":\"L\",\"x\":250.83334350585938,\"y\":953.3333435058594},{\"command\":\"L\",\"x\":252.83334350585938,\"y\":946.0000305175781},{\"command\":\"L\",\"x\":254.16668701171875,\"y\":940.6667175292969},{\"command\":\"L\",\"x\":256.8333435058594,\"y\":931.3333435058594},{\"command\":\"L\",\"x\":257.5,\"y\":929.3333435058594},{\"command\":\"L\",\"x\":258.8333435058594,\"y\":926.6667175292969},{\"command\":\"L\",\"x\":259.5,\"y\":924.0000305175781},{\"command\":\"L\",\"x\":259.5,\"y\":922.6667175292969},{\"command\":\"L\",\"x\":258.8333435058594,\"y\":922.0000305175781},{\"command\":\"L\",\"x\":258.16668701171875,\"y\":922.0000305175781},{\"command\":\"L\",\"x\":256.8333435058594,\"y\":922.0000305175781},{\"command\":\"L\",\"x\":256.16668701171875,\"y\":922.6667175292969},{\"command\":\"L\",\"x\":254.83334350585938,\"y\":923.3333435058594},{\"command\":\"L\",\"x\":254.16668701171875,\"y\":923.3333435058594},{\"command\":\"L\",\"x\":253.5,\"y\":923.3333435058594},{\"command\":\"L\",\"x\":252.83334350585938,\"y\":925.3333435058594},{\"command\":\"L\",\"x\":252.83334350585938,\"y\":927.3333435058594},{\"command\":\"L\",\"x\":252.83334350585938,\"y\":936.0000305175781},{\"command\":\"L\",\"x\":253.5,\"y\":940.6667175292969},{\"command\":\"L\",\"x\":254.83334350585938,\"y\":944.6667175292969},{\"command\":\"L\",\"x\":260.16668701171875,\"y\":952.0000305175781},{\"command\":\"L\",\"x\":264.16668701171875,\"y\":954.0000305175781},{\"command\":\"L\",\"x\":274.16668701171875,\"y\":958.6667175292969},{\"command\":\"L\",\"x\":278.16668701171875,\"y\":960.0000305175781},{\"command\":\"L\",\"x\":281.5,\"y\":961.3333435058594},{\"command\":\"L\",\"x\":285.5,\"y\":964.6667175292969},{\"command\":\"L\",\"x\":286.8333740234375,\"y\":967.3333435058594},{\"command\":\"L\",\"x\":286.8333740234375,\"y\":970.0000305175781},{\"command\":\"L\",\"x\":282.8333740234375,\"y\":978.6667175292969},{\"command\":\"L\",\"x\":278.16668701171875,\"y\":983.3333435058594},{\"command\":\"L\",\"x\":266.16668701171875,\"y\":991.3333435058594},{\"command\":\"L\",\"x\":259.5,\"y\":993.3333435058594},{\"command\":\"L\",\"x\":252.16668701171875,\"y\":994.0000305175781},{\"command\":\"L\",\"x\":240.83334350585938,\"y\":991.3333435058594},{\"command\":\"L\",\"x\":236.16668701171875,\"y\":988.6667175292969},{\"command\":\"L\",\"x\":230.16668701171875,\"y\":982.6667175292969},{\"command\":\"L\",\"x\":228.83334350585938,\"y\":980.6667175292969},{\"command\":\"L\",\"x\":228.16668701171875,\"y\":978.6667175292969},{\"command\":\"L\",\"x\":228.83334350585938,\"y\":974.6667175292969},{\"command\":\"L\",\"x\":230.16668701171875,\"y\":973.3333435058594},{\"command\":\"L\",\"x\":236.16668701171875,\"y\":971.3333435058594},{\"command\":\"L\",\"x\":240.83334350585938,\"y\":971.3333435058594},{\"command\":\"L\",\"x\":246.16668701171875,\"y\":972.0000305175781},{\"command\":\"L\",\"x\":257.5,\"y\":974.6667175292969},{\"command\":\"L\",\"x\":262.8333435058594,\"y\":976.0000305175781},{\"command\":\"L\",\"x\":269.5,\"y\":977.3333435058594},{\"command\":\"L\",\"x\":276.16668701171875,\"y\":978.6667175292969},{\"command\":\"L\",\"x\":279.5,\"y\":978.0000305175781},{\"command\":\"L\",\"x\":285.5,\"y\":976.6667175292969},{\"command\":\"L\",\"x\":288.16668701171875,\"y\":974.6667175292969},{\"command\":\"L\",\"x\":292.8333740234375,\"y\":969.3333435058594},{\"command\":\"L\",\"x\":293.5,\"y\":966.6667175292969},{\"command\":\"L\",\"x\":294.16668701171875,\"y\":964.0000305175781},{\"command\":\"L\",\"x\":293.5,\"y\":960.0000305175781},{\"command\":\"L\",\"x\":293.5,\"y\":958.0000305175781},{\"command\":\"L\",\"x\":292.8333740234375,\"y\":956.6667175292969},{\"command\":\"L\",\"x\":291.5,\"y\":954.6667175292969},{\"command\":\"L\",\"x\":291.5,\"y\":954.0000305175781},{\"command\":\"L\",\"x\":291.5,\"y\":953.3333435058594},{\"command\":\"L\",\"x\":291.5,\"y\":954.0000305175781},{\"command\":\"L\",\"x\":292.16668701171875,\"y\":954.6667175292969},{\"command\":\"L\",\"x\":292.8333740234375,\"y\":956.0000305175781},{\"command\":\"L\",\"x\":294.16668701171875,\"y\":961.3333435058594},{\"command\":\"L\",\"x\":295.5,\"y\":964.6667175292969},{\"command\":\"L\",\"x\":297.5,\"y\":969.3333435058594},{\"command\":\"L\",\"x\":298.8333740234375,\"y\":970.6667175292969},{\"command\":\"L\",\"x\":301.5,\"y\":970.0000305175781},{\"command\":\"L\",\"x\":304.16668701171875,\"y\":968.6667175292969},{\"command\":\"L\",\"x\":305.5,\"y\":966.0000305175781},{\"command\":\"L\",\"x\":308.8333740234375,\"y\":960.0000305175781},{\"command\":\"L\",\"x\":310.16668701171875,\"y\":957.3333435058594},{\"command\":\"L\",\"x\":310.8333740234375,\"y\":956.0000305175781},{\"command\":\"L\",\"x\":310.8333740234375,\"y\":954.6667175292969},{\"command\":\"L\",\"x\":310.8333740234375,\"y\":954.0000305175781},{\"command\":\"L\",\"x\":311.5,\"y\":956.0000305175781},{\"command\":\"L\",\"x\":312.8333740234375,\"y\":959.3333435058594},{\"command\":\"L\",\"x\":316.16668701171875,\"y\":968.0000305175781},{\"command\":\"L\",\"x\":317.5,\"y\":972.6667175292969},{\"command\":\"L\",\"x\":318.16668701171875,\"y\":977.3333435058594},{\"command\":\"L\",\"x\":319.5,\"y\":983.3333435058594},{\"command\":\"L\",\"x\":319.5,\"y\":986.0000305175781},{\"command\":\"L\",\"x\":319.5,\"y\":988.0000305175781},{\"command\":\"L\",\"x\":318.8333740234375,\"y\":988.0000305175781},{\"command\":\"L\",\"x\":318.16668701171875,\"y\":988.6667175292969},{\"command\":\"L\",\"x\":316.16668701171875,\"y\":987.3333435058594},{\"command\":\"L\",\"x\":314.8333740234375,\"y\":985.3333435058594},{\"command\":\"L\",\"x\":314.16668701171875,\"y\":980.6667175292969},{\"command\":\"L\",\"x\":314.8333740234375,\"y\":974.6667175292969},{\"command\":\"L\",\"x\":316.16668701171875,\"y\":969.3333435058594},{\"command\":\"L\",\"x\":319.5,\"y\":960.6667175292969},{\"command\":\"L\",\"x\":320.16668701171875,\"y\":957.3333435058594},{\"command\":\"L\",\"x\":321.5,\"y\":955.3333435058594},{\"command\":\"L\",\"x\":322.16668701171875,\"y\":953.3333435058594},{\"command\":\"L\",\"x\":322.8333740234375,\"y\":952.6667175292969},{\"command\":\"L\",\"x\":324.16668701171875,\"y\":952.6667175292969},{\"command\":\"L\",\"x\":324.8333740234375,\"y\":953.3333435058594},{\"command\":\"L\",\"x\":326.8333740234375,\"y\":956.0000305175781},{\"command\":\"L\",\"x\":328.16668701171875,\"y\":958.0000305175781},{\"command\":\"L\",\"x\":328.8333740234375,\"y\":960.0000305175781},{\"command\":\"L\",\"x\":329.5,\"y\":962.0000305175781},{\"command\":\"L\",\"x\":330.16668701171875,\"y\":962.0000305175781},{\"command\":\"L\",\"x\":330.16668701171875,\"y\":962.6667175292969},{\"command\":\"L\",\"x\":330.16668701171875,\"y\":962.0000305175781},{\"command\":\"L\",\"x\":330.8333740234375,\"y\":960.0000305175781},{\"command\":\"L\",\"x\":331.5,\"y\":956.0000305175781},{\"command\":\"L\",\"x\":332.8333740234375,\"y\":952.0000305175781},{\"command\":\"L\",\"x\":333.5,\"y\":950.0000305175781},{\"command\":\"L\",\"x\":334.8333740234375,\"y\":948.6667175292969},{\"command\":\"L\",\"x\":335.5,\"y\":948.6667175292969},{\"command\":\"L\",\"x\":336.16668701171875,\"y\":948.6667175292969},{\"command\":\"L\",\"x\":337.5,\"y\":950.6667175292969},{\"command\":\"L\",\"x\":338.8333740234375,\"y\":952.0000305175781},{\"command\":\"L\",\"x\":340.8333740234375,\"y\":954.0000305175781},{\"command\":\"L\",\"x\":341.5,\"y\":954.0000305175781},{\"command\":\"L\",\"x\":342.8333740234375,\"y\":954.6667175292969},{\"command\":\"L\",\"x\":344.8333740234375,\"y\":954.0000305175781},{\"command\":\"L\",\"x\":346.8333740234375,\"y\":952.6667175292969},{\"command\":\"L\",\"x\":349.5,\"y\":949.3333435058594},{\"command\":\"L\",\"x\":350.8333740234375,\"y\":948.0000305175781},{\"command\":\"L\",\"x\":351.5,\"y\":946.6667175292969},{\"command\":\"L\",\"x\":352.8333740234375,\"y\":944.0000305175781},{\"command\":\"L\",\"x\":352.8333740234375,\"y\":943.3333435058594},{\"command\":\"L\",\"x\":354.16668701171875,\"y\":942.0000305175781},{\"command\":\"L\",\"x\":354.8333740234375,\"y\":942.0000305175781},{\"command\":\"L\",\"x\":354.8333740234375,\"y\":942.6667175292969},{\"command\":\"L\",\"x\":354.16668701171875,\"y\":943.3333435058594},{\"command\":\"L\",\"x\":354.16668701171875,\"y\":946.6667175292969},{\"command\":\"L\",\"x\":354.16668701171875,\"y\":950.0000305175781},{\"command\":\"L\",\"x\":355.5,\"y\":956.0000305175781},{\"command\":\"L\",\"x\":356.16668701171875,\"y\":957.3333435058594},{\"command\":\"L\",\"x\":358.16668701171875,\"y\":959.3333435058594},{\"command\":\"L\",\"x\":360.16668701171875,\"y\":958.0000305175781},{\"command\":\"L\",\"x\":364.16668701171875,\"y\":956.0000305175781},{\"command\":\"L\",\"x\":370.8333740234375,\"y\":948.6667175292969},{\"command\":\"L\",\"x\":373.5,\"y\":943.3333435058594},{\"command\":\"L\",\"x\":375.5,\"y\":937.3333435058594},{\"command\":\"L\",\"x\":376.16668701171875,\"y\":933.3333435058594},{\"command\":\"L\",\"x\":376.8333740234375,\"y\":931.3333435058594},{\"command\":\"L\",\"x\":376.8333740234375,\"y\":930.0000305175781},{\"command\":\"L\",\"x\":376.8333740234375,\"y\":929.3333435058594},{\"command\":\"L\",\"x\":376.16668701171875,\"y\":930.0000305175781},{\"command\":\"L\",\"x\":375.5,\"y\":932.0000305175781},{\"command\":\"L\",\"x\":375.5,\"y\":937.3333435058594},{\"command\":\"L\",\"x\":374.8333740234375,\"y\":953.3333435058594},{\"command\":\"L\",\"x\":374.8333740234375,\"y\":960.6667175292969},{\"command\":\"L\",\"x\":375.5,\"y\":966.0000305175781},{\"command\":\"L\",\"x\":377.5,\"y\":974.6667175292969},{\"command\":\"L\",\"x\":378.16668701171875,\"y\":977.3333435058594},{\"command\":\"L\",\"x\":380.8333740234375,\"y\":981.3333435058594},{\"command\":\"L\",\"x\":382.16668701171875,\"y\":982.6667175292969},{\"command\":\"L\",\"x\":383.5,\"y\":982.6667175292969},{\"command\":\"L\",\"x\":387.5,\"y\":982.6667175292969},{\"command\":\"L\",\"x\":389.5,\"y\":980.6667175292969},{\"command\":\"L\",\"x\":392.16668701171875,\"y\":976.6667175292969},{\"command\":\"L\",\"x\":392.8333740234375,\"y\":973.3333435058594},{\"command\":\"L\",\"x\":392.16668701171875,\"y\":970.0000305175781},{\"command\":\"L\",\"x\":388.8333740234375,\"y\":965.3333435058594},{\"command\":\"L\",\"x\":385.5,\"y\":964.0000305175781},{\"command\":\"L\",\"x\":382.8333740234375,\"y\":964.0000305175781},{\"command\":\"L\",\"x\":377.5,\"y\":964.0000305175781},{\"command\":\"L\",\"x\":375.5,\"y\":964.6667175292969},{\"command\":\"L\",\"x\":373.5,\"y\":965.3333435058594},{\"command\":\"L\",\"x\":374.8333740234375,\"y\":963.3333435058594},{\"command\":\"L\",\"x\":376.8333740234375,\"y\":961.3333435058594},{\"command\":\"L\",\"x\":382.16668701171875,\"y\":956.0000305175781},{\"command\":\"L\",\"x\":384.16668701171875,\"y\":953.3333435058594},{\"command\":\"L\",\"x\":387.5,\"y\":950.6667175292969},{\"command\":\"L\",\"x\":388.16668701171875,\"y\":952.0000305175781},{\"command\":\"L\",\"x\":388.16668701171875,\"y\":952.6667175292969},{\"command\":\"L\",\"x\":388.8333740234375,\"y\":954.0000305175781},{\"command\":\"L\",\"x\":388.8333740234375,\"y\":954.6667175292969},{\"command\":\"L\",\"x\":389.5,\"y\":959.3333435058594},{\"command\":\"L\",\"x\":389.5,\"y\":960.6667175292969},{\"command\":\"L\",\"x\":390.16668701171875,\"y\":961.3333435058594},{\"command\":\"L\",\"x\":390.8333740234375,\"y\":960.6667175292969},{\"command\":\"L\",\"x\":393.5,\"y\":958.0000305175781},{\"command\":\"L\",\"x\":396.8333740234375,\"y\":954.0000305175781},{\"command\":\"L\",\"x\":398.16668701171875,\"y\":952.0000305175781},{\"command\":\"L\",\"x\":400.16668701171875,\"y\":949.3333435058594},{\"command\":\"L\",\"x\":400.16668701171875,\"y\":948.6667175292969},{\"command\":\"L\",\"x\":400.8333740234375,\"y\":948.0000305175781},{\"command\":\"L\",\"x\":400.8333740234375,\"y\":947.3333435058594},{\"command\":\"L\",\"x\":401.5,\"y\":948.0000305175781},{\"command\":\"L\",\"x\":402.16668701171875,\"y\":949.3333435058594},{\"command\":\"L\",\"x\":403.5,\"y\":950.6667175292969},{\"command\":\"L\",\"x\":404.8333740234375,\"y\":953.3333435058594},{\"command\":\"L\",\"x\":406.16668701171875,\"y\":954.0000305175781},{\"command\":\"L\",\"x\":407.5,\"y\":954.0000305175781},{\"command\":\"L\",\"x\":410.16668701171875,\"y\":952.0000305175781},{\"command\":\"L\",\"x\":412.16668701171875,\"y\":949.3333435058594},{\"command\":\"L\",\"x\":414.16668701171875,\"y\":944.6667175292969},{\"command\":\"L\",\"x\":414.16668701171875,\"y\":942.0000305175781},{\"command\":\"L\",\"x\":414.16668701171875,\"y\":940.6667175292969},{\"command\":\"L\",\"x\":414.16668701171875,\"y\":938.6667175292969},{\"command\":\"L\",\"x\":414.16668701171875,\"y\":938.0000305175781},{\"command\":\"L\",\"x\":415.5,\"y\":939.3333435058594},{\"command\":\"L\",\"x\":418.8333740234375,\"y\":942.6667175292969},{\"command\":\"L\",\"x\":420.16668701171875,\"y\":945.3333435058594},{\"command\":\"L\",\"x\":421.5,\"y\":946.6667175292969},{\"command\":\"L\",\"x\":422.8333740234375,\"y\":950.0000305175781},{\"command\":\"L\",\"x\":423.5,\"y\":950.6667175292969},{\"command\":\"L\",\"x\":423.5,\"y\":953.3333435058594},{\"command\":\"L\",\"x\":422.8333740234375,\"y\":954.0000305175781},{\"command\":\"L\",\"x\":421.5,\"y\":955.3333435058594},{\"command\":\"L\",\"x\":421.5,\"y\":956.0000305175781},{\"command\":\"L\",\"x\":422.16668701171875,\"y\":954.6667175292969},{\"command\":\"L\",\"x\":422.8333740234375,\"y\":954.0000305175781},{\"command\":\"L\",\"x\":424.8333740234375,\"y\":950.6667175292969},{\"command\":\"L\",\"x\":425.5,\"y\":948.6667175292969},{\"command\":\"L\",\"x\":428.16668701171875,\"y\":945.3333435058594},{\"command\":\"L\",\"x\":428.8333740234375,\"y\":943.3333435058594},{\"command\":\"L\",\"x\":428.8333740234375,\"y\":942.6667175292969},{\"command\":\"L\",\"x\":428.8333740234375,\"y\":943.3333435058594},{\"command\":\"L\",\"x\":428.8333740234375,\"y\":945.3333435058594},{\"command\":\"L\",\"x\":428.8333740234375,\"y\":948.0000305175781},{\"command\":\"L\",\"x\":428.8333740234375,\"y\":950.0000305175781},{\"command\":\"L\",\"x\":429.5,\"y\":953.3333435058594},{\"command\":\"L\",\"x\":430.16668701171875,\"y\":953.3333435058594},{\"command\":\"L\",\"x\":432.8333740234375,\"y\":952.6667175292969},{\"command\":\"L\",\"x\":434.8333740234375,\"y\":950.6667175292969},{\"command\":\"L\",\"x\":437.5,\"y\":948.6667175292969},{\"command\":\"L\",\"x\":440.16668701171875,\"y\":944.6667175292969},{\"command\":\"L\",\"x\":441.5,\"y\":942.6667175292969},{\"command\":\"L\",\"x\":442.16668701171875,\"y\":942.0000305175781},{\"command\":\"L\",\"x\":442.8333740234375,\"y\":941.3333435058594},{\"command\":\"L\",\"x\":442.8333740234375,\"y\":942.0000305175781},{\"command\":\"L\",\"x\":442.8333740234375,\"y\":943.3333435058594},{\"command\":\"L\",\"x\":442.8333740234375,\"y\":944.6667175292969},{\"command\":\"L\",\"x\":442.8333740234375,\"y\":946.0000305175781},{\"command\":\"L\",\"x\":443.5,\"y\":949.3333435058594},{\"command\":\"L\",\"x\":444.16668701171875,\"y\":950.6667175292969},{\"command\":\"L\",\"x\":445.5,\"y\":950.6667175292969},{\"command\":\"L\",\"x\":447.5,\"y\":950.6667175292969},{\"command\":\"L\",\"x\":450.16668701171875,\"y\":948.6667175292969},{\"command\":\"L\",\"x\":452.16668701171875,\"y\":945.3333435058594},{\"command\":\"L\",\"x\":453.5,\"y\":942.6667175292969},{\"command\":\"L\",\"x\":452.8333740234375,\"y\":938.6667175292969},{\"command\":\"L\",\"x\":452.16668701171875,\"y\":937.3333435058594},{\"command\":\"L\",\"x\":450.8333740234375,\"y\":936.6667175292969},{\"command\":\"L\",\"x\":448.8333740234375,\"y\":936.0000305175781},{\"command\":\"L\",\"x\":447.5,\"y\":936.6667175292969},{\"command\":\"L\",\"x\":446.16668701171875,\"y\":937.3333435058594},{\"command\":\"L\",\"x\":445.5,\"y\":938.6667175292969},{\"command\":\"L\",\"x\":445.5,\"y\":939.3333435058594},{\"command\":\"L\",\"x\":446.16668701171875,\"y\":939.3333435058594},{\"command\":\"L\",\"x\":446.8333740234375,\"y\":939.3333435058594},{\"command\":\"L\",\"x\":452.16668701171875,\"y\":937.3333435058594},{\"command\":\"L\",\"x\":454.8333740234375,\"y\":936.6667175292969},{\"command\":\"L\",\"x\":456.8333740234375,\"y\":936.0000305175781},{\"command\":\"L\",\"x\":459.5,\"y\":936.6667175292969},{\"command\":\"L\",\"x\":460.8333740234375,\"y\":937.3333435058594},{\"command\":\"L\",\"x\":461.5,\"y\":938.6667175292969},{\"command\":\"L\",\"x\":462.16668701171875,\"y\":942.0000305175781},{\"command\":\"L\",\"x\":462.16668701171875,\"y\":942.6667175292969},{\"command\":\"L\",\"x\":462.16668701171875,\"y\":944.0000305175781},{\"command\":\"L\",\"x\":462.16668701171875,\"y\":943.3333435058594},{\"command\":\"L\",\"x\":462.16668701171875,\"y\":942.6667175292969},{\"command\":\"L\",\"x\":462.16668701171875,\"y\":941.3333435058594},{\"command\":\"L\",\"x\":462.8333740234375,\"y\":938.6667175292969},{\"command\":\"L\",\"x\":464.16668701171875,\"y\":935.3333435058594},{\"command\":\"L\",\"x\":465.5,\"y\":933.3333435058594},{\"command\":\"L\",\"x\":466.16668701171875,\"y\":932.6667175292969},{\"command\":\"L\",\"x\":467.5,\"y\":933.3333435058594},{\"command\":\"L\",\"x\":469.5,\"y\":935.3333435058594},{\"command\":\"L\",\"x\":470.16668701171875,\"y\":938.6667175292969},{\"command\":\"L\",\"x\":472.8333740234375,\"y\":943.3333435058594},{\"command\":\"L\",\"x\":472.8333740234375,\"y\":944.6667175292969},{\"command\":\"L\",\"x\":474.16668701171875,\"y\":944.6667175292969},{\"command\":\"L\",\"x\":475.5,\"y\":944.0000305175781},{\"command\":\"L\",\"x\":478.16668701171875,\"y\":941.3333435058594},{\"command\":\"L\",\"x\":481.5,\"y\":937.3333435058594},{\"command\":\"L\",\"x\":484.8333740234375,\"y\":934.0000305175781},{\"command\":\"L\",\"x\":488.8333740234375,\"y\":929.3333435058594},{\"command\":\"L\",\"x\":489.5,\"y\":928.0000305175781}]'
- });
- }
- });
-}
-
-{% endhighlight %}
-{% highlight ts tabtitle="Server-Backed" %}
-
-var pdfviewer = new ej.pdfviewer.PdfViewer({
- documentPath: "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf",
- serviceUrl : "https://services.syncfusion.com/js/production/api/pdfviewer",
- });
-ej.pdfviewer.PdfViewer.Inject(ej.pdfviewer.TextSelection, ej.pdfviewer.TextSearch, ej.pdfviewer.Print, ej.pdfviewer.Navigation, ej.pdfviewer.Toolbar,
- ej.pdfviewer.Magnification, ej.pdfviewer.Annotation, ej.pdfviewer.FormDesigner, ej.pdfviewer.FormFields, ej.pdfviewer.PageOrganizer);
-pdfviewer.appendTo('#PdfViewer');
-
-let addInkAnnotation = document.getElementById('addInkAnnotation');
-if (addInkAnnotation) {
- addInkAnnotation.addEventListener('click', function () {
- if (pdfviewer) {
- pdfviewer.annotation.addAnnotation("Ink", {
- offset: { x: 150, y: 100 },
- pageNumber: 1,
- width : 200,
- height:60,
- path: '[{\"command\":\"M\",\"x\":244.83334350585938,\"y\":982.0000305175781},{\"command\":\"L\",\"x\":244.83334350585938,\"y\":982.0000305175781},{\"command\":\"L\",\"x\":250.83334350585938,\"y\":953.3333435058594},{\"command\":\"L\",\"x\":252.83334350585938,\"y\":946.0000305175781},{\"command\":\"L\",\"x\":254.16668701171875,\"y\":940.6667175292969},{\"command\":\"L\",\"x\":256.8333435058594,\"y\":931.3333435058594},{\"command\":\"L\",\"x\":257.5,\"y\":929.3333435058594},{\"command\":\"L\",\"x\":258.8333435058594,\"y\":926.6667175292969},{\"command\":\"L\",\"x\":259.5,\"y\":924.0000305175781},{\"command\":\"L\",\"x\":259.5,\"y\":922.6667175292969},{\"command\":\"L\",\"x\":258.8333435058594,\"y\":922.0000305175781},{\"command\":\"L\",\"x\":258.16668701171875,\"y\":922.0000305175781},{\"command\":\"L\",\"x\":256.8333435058594,\"y\":922.0000305175781},{\"command\":\"L\",\"x\":256.16668701171875,\"y\":922.6667175292969},{\"command\":\"L\",\"x\":254.83334350585938,\"y\":923.3333435058594},{\"command\":\"L\",\"x\":254.16668701171875,\"y\":923.3333435058594},{\"command\":\"L\",\"x\":253.5,\"y\":923.3333435058594},{\"command\":\"L\",\"x\":252.83334350585938,\"y\":925.3333435058594},{\"command\":\"L\",\"x\":252.83334350585938,\"y\":927.3333435058594},{\"command\":\"L\",\"x\":252.83334350585938,\"y\":936.0000305175781},{\"command\":\"L\",\"x\":253.5,\"y\":940.6667175292969},{\"command\":\"L\",\"x\":254.83334350585938,\"y\":944.6667175292969},{\"command\":\"L\",\"x\":260.16668701171875,\"y\":952.0000305175781},{\"command\":\"L\",\"x\":264.16668701171875,\"y\":954.0000305175781},{\"command\":\"L\",\"x\":274.16668701171875,\"y\":958.6667175292969},{\"command\":\"L\",\"x\":278.16668701171875,\"y\":960.0000305175781},{\"command\":\"L\",\"x\":281.5,\"y\":961.3333435058594},{\"command\":\"L\",\"x\":285.5,\"y\":964.6667175292969},{\"command\":\"L\",\"x\":286.8333740234375,\"y\":967.3333435058594},{\"command\":\"L\",\"x\":286.8333740234375,\"y\":970.0000305175781},{\"command\":\"L\",\"x\":282.8333740234375,\"y\":978.6667175292969},{\"command\":\"L\",\"x\":278.16668701171875,\"y\":983.3333435058594},{\"command\":\"L\",\"x\":266.16668701171875,\"y\":991.3333435058594},{\"command\":\"L\",\"x\":259.5,\"y\":993.3333435058594},{\"command\":\"L\",\"x\":252.16668701171875,\"y\":994.0000305175781},{\"command\":\"L\",\"x\":240.83334350585938,\"y\":991.3333435058594},{\"command\":\"L\",\"x\":236.16668701171875,\"y\":988.6667175292969},{\"command\":\"L\",\"x\":230.16668701171875,\"y\":982.6667175292969},{\"command\":\"L\",\"x\":228.83334350585938,\"y\":980.6667175292969},{\"command\":\"L\",\"x\":228.16668701171875,\"y\":978.6667175292969},{\"command\":\"L\",\"x\":228.83334350585938,\"y\":974.6667175292969},{\"command\":\"L\",\"x\":230.16668701171875,\"y\":973.3333435058594},{\"command\":\"L\",\"x\":236.16668701171875,\"y\":971.3333435058594},{\"command\":\"L\",\"x\":240.83334350585938,\"y\":971.3333435058594},{\"command\":\"L\",\"x\":246.16668701171875,\"y\":972.0000305175781},{\"command\":\"L\",\"x\":257.5,\"y\":974.6667175292969},{\"command\":\"L\",\"x\":262.8333435058594,\"y\":976.0000305175781},{\"command\":\"L\",\"x\":269.5,\"y\":977.3333435058594},{\"command\":\"L\",\"x\":276.16668701171875,\"y\":978.6667175292969},{\"command\":\"L\",\"x\":279.5,\"y\":978.0000305175781},{\"command\":\"L\",\"x\":285.5,\"y\":976.6667175292969},{\"command\":\"L\",\"x\":288.16668701171875,\"y\":974.6667175292969},{\"command\":\"L\",\"x\":292.8333740234375,\"y\":969.3333435058594},{\"command\":\"L\",\"x\":293.5,\"y\":966.6667175292969},{\"command\":\"L\",\"x\":294.16668701171875,\"y\":964.0000305175781},{\"command\":\"L\",\"x\":293.5,\"y\":960.0000305175781},{\"command\":\"L\",\"x\":293.5,\"y\":958.0000305175781},{\"command\":\"L\",\"x\":292.8333740234375,\"y\":956.6667175292969},{\"command\":\"L\",\"x\":291.5,\"y\":954.6667175292969},{\"command\":\"L\",\"x\":291.5,\"y\":954.0000305175781},{\"command\":\"L\",\"x\":291.5,\"y\":953.3333435058594},{\"command\":\"L\",\"x\":291.5,\"y\":954.0000305175781},{\"command\":\"L\",\"x\":292.16668701171875,\"y\":954.6667175292969},{\"command\":\"L\",\"x\":292.8333740234375,\"y\":956.0000305175781},{\"command\":\"L\",\"x\":294.16668701171875,\"y\":961.3333435058594},{\"command\":\"L\",\"x\":295.5,\"y\":964.6667175292969},{\"command\":\"L\",\"x\":297.5,\"y\":969.3333435058594},{\"command\":\"L\",\"x\":298.8333740234375,\"y\":970.6667175292969},{\"command\":\"L\",\"x\":301.5,\"y\":970.0000305175781},{\"command\":\"L\",\"x\":304.16668701171875,\"y\":968.6667175292969},{\"command\":\"L\",\"x\":305.5,\"y\":966.0000305175781},{\"command\":\"L\",\"x\":308.8333740234375,\"y\":960.0000305175781},{\"command\":\"L\",\"x\":310.16668701171875,\"y\":957.3333435058594},{\"command\":\"L\",\"x\":310.8333740234375,\"y\":956.0000305175781},{\"command\":\"L\",\"x\":310.8333740234375,\"y\":954.6667175292969},{\"command\":\"L\",\"x\":310.8333740234375,\"y\":954.0000305175781},{\"command\":\"L\",\"x\":311.5,\"y\":956.0000305175781},{\"command\":\"L\",\"x\":312.8333740234375,\"y\":959.3333435058594},{\"command\":\"L\",\"x\":316.16668701171875,\"y\":968.0000305175781},{\"command\":\"L\",\"x\":317.5,\"y\":972.6667175292969},{\"command\":\"L\",\"x\":318.16668701171875,\"y\":977.3333435058594},{\"command\":\"L\",\"x\":319.5,\"y\":983.3333435058594},{\"command\":\"L\",\"x\":319.5,\"y\":986.0000305175781},{\"command\":\"L\",\"x\":319.5,\"y\":988.0000305175781},{\"command\":\"L\",\"x\":318.8333740234375,\"y\":988.0000305175781},{\"command\":\"L\",\"x\":318.16668701171875,\"y\":988.6667175292969},{\"command\":\"L\",\"x\":316.16668701171875,\"y\":987.3333435058594},{\"command\":\"L\",\"x\":314.8333740234375,\"y\":985.3333435058594},{\"command\":\"L\",\"x\":314.16668701171875,\"y\":980.6667175292969},{\"command\":\"L\",\"x\":314.8333740234375,\"y\":974.6667175292969},{\"command\":\"L\",\"x\":316.16668701171875,\"y\":969.3333435058594},{\"command\":\"L\",\"x\":319.5,\"y\":960.6667175292969},{\"command\":\"L\",\"x\":320.16668701171875,\"y\":957.3333435058594},{\"command\":\"L\",\"x\":321.5,\"y\":955.3333435058594},{\"command\":\"L\",\"x\":322.16668701171875,\"y\":953.3333435058594},{\"command\":\"L\",\"x\":322.8333740234375,\"y\":952.6667175292969},{\"command\":\"L\",\"x\":324.16668701171875,\"y\":952.6667175292969},{\"command\":\"L\",\"x\":324.8333740234375,\"y\":953.3333435058594},{\"command\":\"L\",\"x\":326.8333740234375,\"y\":956.0000305175781},{\"command\":\"L\",\"x\":328.16668701171875,\"y\":958.0000305175781},{\"command\":\"L\",\"x\":328.8333740234375,\"y\":960.0000305175781},{\"command\":\"L\",\"x\":329.5,\"y\":962.0000305175781},{\"command\":\"L\",\"x\":330.16668701171875,\"y\":962.0000305175781},{\"command\":\"L\",\"x\":330.16668701171875,\"y\":962.6667175292969},{\"command\":\"L\",\"x\":330.16668701171875,\"y\":962.0000305175781},{\"command\":\"L\",\"x\":330.8333740234375,\"y\":960.0000305175781},{\"command\":\"L\",\"x\":331.5,\"y\":956.0000305175781},{\"command\":\"L\",\"x\":332.8333740234375,\"y\":952.0000305175781},{\"command\":\"L\",\"x\":333.5,\"y\":950.0000305175781},{\"command\":\"L\",\"x\":334.8333740234375,\"y\":948.6667175292969},{\"command\":\"L\",\"x\":335.5,\"y\":948.6667175292969},{\"command\":\"L\",\"x\":336.16668701171875,\"y\":948.6667175292969},{\"command\":\"L\",\"x\":337.5,\"y\":950.6667175292969},{\"command\":\"L\",\"x\":338.8333740234375,\"y\":952.0000305175781},{\"command\":\"L\",\"x\":340.8333740234375,\"y\":954.0000305175781},{\"command\":\"L\",\"x\":341.5,\"y\":954.0000305175781},{\"command\":\"L\",\"x\":342.8333740234375,\"y\":954.6667175292969},{\"command\":\"L\",\"x\":344.8333740234375,\"y\":954.0000305175781},{\"command\":\"L\",\"x\":346.8333740234375,\"y\":952.6667175292969},{\"command\":\"L\",\"x\":349.5,\"y\":949.3333435058594},{\"command\":\"L\",\"x\":350.8333740234375,\"y\":948.0000305175781},{\"command\":\"L\",\"x\":351.5,\"y\":946.6667175292969},{\"command\":\"L\",\"x\":352.8333740234375,\"y\":944.0000305175781},{\"command\":\"L\",\"x\":352.8333740234375,\"y\":943.3333435058594},{\"command\":\"L\",\"x\":354.16668701171875,\"y\":942.0000305175781},{\"command\":\"L\",\"x\":354.8333740234375,\"y\":942.0000305175781},{\"command\":\"L\",\"x\":354.8333740234375,\"y\":942.6667175292969},{\"command\":\"L\",\"x\":354.16668701171875,\"y\":943.3333435058594},{\"command\":\"L\",\"x\":354.16668701171875,\"y\":946.6667175292969},{\"command\":\"L\",\"x\":354.16668701171875,\"y\":950.0000305175781},{\"command\":\"L\",\"x\":355.5,\"y\":956.0000305175781},{\"command\":\"L\",\"x\":356.16668701171875,\"y\":957.3333435058594},{\"command\":\"L\",\"x\":358.16668701171875,\"y\":959.3333435058594},{\"command\":\"L\",\"x\":360.16668701171875,\"y\":958.0000305175781},{\"command\":\"L\",\"x\":364.16668701171875,\"y\":956.0000305175781},{\"command\":\"L\",\"x\":370.8333740234375,\"y\":948.6667175292969},{\"command\":\"L\",\"x\":373.5,\"y\":943.3333435058594},{\"command\":\"L\",\"x\":375.5,\"y\":937.3333435058594},{\"command\":\"L\",\"x\":376.16668701171875,\"y\":933.3333435058594},{\"command\":\"L\",\"x\":376.8333740234375,\"y\":931.3333435058594},{\"command\":\"L\",\"x\":376.8333740234375,\"y\":930.0000305175781},{\"command\":\"L\",\"x\":376.8333740234375,\"y\":929.3333435058594},{\"command\":\"L\",\"x\":376.16668701171875,\"y\":930.0000305175781},{\"command\":\"L\",\"x\":375.5,\"y\":932.0000305175781},{\"command\":\"L\",\"x\":375.5,\"y\":937.3333435058594},{\"command\":\"L\",\"x\":374.8333740234375,\"y\":953.3333435058594},{\"command\":\"L\",\"x\":374.8333740234375,\"y\":960.6667175292969},{\"command\":\"L\",\"x\":375.5,\"y\":966.0000305175781},{\"command\":\"L\",\"x\":377.5,\"y\":974.6667175292969},{\"command\":\"L\",\"x\":378.16668701171875,\"y\":977.3333435058594},{\"command\":\"L\",\"x\":380.8333740234375,\"y\":981.3333435058594},{\"command\":\"L\",\"x\":382.16668701171875,\"y\":982.6667175292969},{\"command\":\"L\",\"x\":383.5,\"y\":982.6667175292969},{\"command\":\"L\",\"x\":387.5,\"y\":982.6667175292969},{\"command\":\"L\",\"x\":389.5,\"y\":980.6667175292969},{\"command\":\"L\",\"x\":392.16668701171875,\"y\":976.6667175292969},{\"command\":\"L\",\"x\":392.8333740234375,\"y\":973.3333435058594},{\"command\":\"L\",\"x\":392.16668701171875,\"y\":970.0000305175781},{\"command\":\"L\",\"x\":388.8333740234375,\"y\":965.3333435058594},{\"command\":\"L\",\"x\":385.5,\"y\":964.0000305175781},{\"command\":\"L\",\"x\":382.8333740234375,\"y\":964.0000305175781},{\"command\":\"L\",\"x\":377.5,\"y\":964.0000305175781},{\"command\":\"L\",\"x\":375.5,\"y\":964.6667175292969},{\"command\":\"L\",\"x\":373.5,\"y\":965.3333435058594},{\"command\":\"L\",\"x\":374.8333740234375,\"y\":963.3333435058594},{\"command\":\"L\",\"x\":376.8333740234375,\"y\":961.3333435058594},{\"command\":\"L\",\"x\":382.16668701171875,\"y\":956.0000305175781},{\"command\":\"L\",\"x\":384.16668701171875,\"y\":953.3333435058594},{\"command\":\"L\",\"x\":387.5,\"y\":950.6667175292969},{\"command\":\"L\",\"x\":388.16668701171875,\"y\":952.0000305175781},{\"command\":\"L\",\"x\":388.16668701171875,\"y\":952.6667175292969},{\"command\":\"L\",\"x\":388.8333740234375,\"y\":954.0000305175781},{\"command\":\"L\",\"x\":388.8333740234375,\"y\":954.6667175292969},{\"command\":\"L\",\"x\":389.5,\"y\":959.3333435058594},{\"command\":\"L\",\"x\":389.5,\"y\":960.6667175292969},{\"command\":\"L\",\"x\":390.16668701171875,\"y\":961.3333435058594},{\"command\":\"L\",\"x\":390.8333740234375,\"y\":960.6667175292969},{\"command\":\"L\",\"x\":393.5,\"y\":958.0000305175781},{\"command\":\"L\",\"x\":396.8333740234375,\"y\":954.0000305175781},{\"command\":\"L\",\"x\":398.16668701171875,\"y\":952.0000305175781},{\"command\":\"L\",\"x\":400.16668701171875,\"y\":949.3333435058594},{\"command\":\"L\",\"x\":400.16668701171875,\"y\":948.6667175292969},{\"command\":\"L\",\"x\":400.8333740234375,\"y\":948.0000305175781},{\"command\":\"L\",\"x\":400.8333740234375,\"y\":947.3333435058594},{\"command\":\"L\",\"x\":401.5,\"y\":948.0000305175781},{\"command\":\"L\",\"x\":402.16668701171875,\"y\":949.3333435058594},{\"command\":\"L\",\"x\":403.5,\"y\":950.6667175292969},{\"command\":\"L\",\"x\":404.8333740234375,\"y\":953.3333435058594},{\"command\":\"L\",\"x\":406.16668701171875,\"y\":954.0000305175781},{\"command\":\"L\",\"x\":407.5,\"y\":954.0000305175781},{\"command\":\"L\",\"x\":410.16668701171875,\"y\":952.0000305175781},{\"command\":\"L\",\"x\":412.16668701171875,\"y\":949.3333435058594},{\"command\":\"L\",\"x\":414.16668701171875,\"y\":944.6667175292969},{\"command\":\"L\",\"x\":414.16668701171875,\"y\":942.0000305175781},{\"command\":\"L\",\"x\":414.16668701171875,\"y\":940.6667175292969},{\"command\":\"L\",\"x\":414.16668701171875,\"y\":938.6667175292969},{\"command\":\"L\",\"x\":414.16668701171875,\"y\":938.0000305175781},{\"command\":\"L\",\"x\":415.5,\"y\":939.3333435058594},{\"command\":\"L\",\"x\":418.8333740234375,\"y\":942.6667175292969},{\"command\":\"L\",\"x\":420.16668701171875,\"y\":945.3333435058594},{\"command\":\"L\",\"x\":421.5,\"y\":946.6667175292969},{\"command\":\"L\",\"x\":422.8333740234375,\"y\":950.0000305175781},{\"command\":\"L\",\"x\":423.5,\"y\":950.6667175292969},{\"command\":\"L\",\"x\":423.5,\"y\":953.3333435058594},{\"command\":\"L\",\"x\":422.8333740234375,\"y\":954.0000305175781},{\"command\":\"L\",\"x\":421.5,\"y\":955.3333435058594},{\"command\":\"L\",\"x\":421.5,\"y\":956.0000305175781},{\"command\":\"L\",\"x\":422.16668701171875,\"y\":954.6667175292969},{\"command\":\"L\",\"x\":422.8333740234375,\"y\":954.0000305175781},{\"command\":\"L\",\"x\":424.8333740234375,\"y\":950.6667175292969},{\"command\":\"L\",\"x\":425.5,\"y\":948.6667175292969},{\"command\":\"L\",\"x\":428.16668701171875,\"y\":945.3333435058594},{\"command\":\"L\",\"x\":428.8333740234375,\"y\":943.3333435058594},{\"command\":\"L\",\"x\":428.8333740234375,\"y\":942.6667175292969},{\"command\":\"L\",\"x\":428.8333740234375,\"y\":943.3333435058594},{\"command\":\"L\",\"x\":428.8333740234375,\"y\":945.3333435058594},{\"command\":\"L\",\"x\":428.8333740234375,\"y\":948.0000305175781},{\"command\":\"L\",\"x\":428.8333740234375,\"y\":950.0000305175781},{\"command\":\"L\",\"x\":429.5,\"y\":953.3333435058594},{\"command\":\"L\",\"x\":430.16668701171875,\"y\":953.3333435058594},{\"command\":\"L\",\"x\":432.8333740234375,\"y\":952.6667175292969},{\"command\":\"L\",\"x\":434.8333740234375,\"y\":950.6667175292969},{\"command\":\"L\",\"x\":437.5,\"y\":948.6667175292969},{\"command\":\"L\",\"x\":440.16668701171875,\"y\":944.6667175292969},{\"command\":\"L\",\"x\":441.5,\"y\":942.6667175292969},{\"command\":\"L\",\"x\":442.16668701171875,\"y\":942.0000305175781},{\"command\":\"L\",\"x\":442.8333740234375,\"y\":941.3333435058594},{\"command\":\"L\",\"x\":442.8333740234375,\"y\":942.0000305175781},{\"command\":\"L\",\"x\":442.8333740234375,\"y\":943.3333435058594},{\"command\":\"L\",\"x\":442.8333740234375,\"y\":944.6667175292969},{\"command\":\"L\",\"x\":442.8333740234375,\"y\":946.0000305175781},{\"command\":\"L\",\"x\":443.5,\"y\":949.3333435058594},{\"command\":\"L\",\"x\":444.16668701171875,\"y\":950.6667175292969},{\"command\":\"L\",\"x\":445.5,\"y\":950.6667175292969},{\"command\":\"L\",\"x\":447.5,\"y\":950.6667175292969},{\"command\":\"L\",\"x\":450.16668701171875,\"y\":948.6667175292969},{\"command\":\"L\",\"x\":452.16668701171875,\"y\":945.3333435058594},{\"command\":\"L\",\"x\":453.5,\"y\":942.6667175292969},{\"command\":\"L\",\"x\":452.8333740234375,\"y\":938.6667175292969},{\"command\":\"L\",\"x\":452.16668701171875,\"y\":937.3333435058594},{\"command\":\"L\",\"x\":450.8333740234375,\"y\":936.6667175292969},{\"command\":\"L\",\"x\":448.8333740234375,\"y\":936.0000305175781},{\"command\":\"L\",\"x\":447.5,\"y\":936.6667175292969},{\"command\":\"L\",\"x\":446.16668701171875,\"y\":937.3333435058594},{\"command\":\"L\",\"x\":445.5,\"y\":938.6667175292969},{\"command\":\"L\",\"x\":445.5,\"y\":939.3333435058594},{\"command\":\"L\",\"x\":446.16668701171875,\"y\":939.3333435058594},{\"command\":\"L\",\"x\":446.8333740234375,\"y\":939.3333435058594},{\"command\":\"L\",\"x\":452.16668701171875,\"y\":937.3333435058594},{\"command\":\"L\",\"x\":454.8333740234375,\"y\":936.6667175292969},{\"command\":\"L\",\"x\":456.8333740234375,\"y\":936.0000305175781},{\"command\":\"L\",\"x\":459.5,\"y\":936.6667175292969},{\"command\":\"L\",\"x\":460.8333740234375,\"y\":937.3333435058594},{\"command\":\"L\",\"x\":461.5,\"y\":938.6667175292969},{\"command\":\"L\",\"x\":462.16668701171875,\"y\":942.0000305175781},{\"command\":\"L\",\"x\":462.16668701171875,\"y\":942.6667175292969},{\"command\":\"L\",\"x\":462.16668701171875,\"y\":944.0000305175781},{\"command\":\"L\",\"x\":462.16668701171875,\"y\":943.3333435058594},{\"command\":\"L\",\"x\":462.16668701171875,\"y\":942.6667175292969},{\"command\":\"L\",\"x\":462.16668701171875,\"y\":941.3333435058594},{\"command\":\"L\",\"x\":462.8333740234375,\"y\":938.6667175292969},{\"command\":\"L\",\"x\":464.16668701171875,\"y\":935.3333435058594},{\"command\":\"L\",\"x\":465.5,\"y\":933.3333435058594},{\"command\":\"L\",\"x\":466.16668701171875,\"y\":932.6667175292969},{\"command\":\"L\",\"x\":467.5,\"y\":933.3333435058594},{\"command\":\"L\",\"x\":469.5,\"y\":935.3333435058594},{\"command\":\"L\",\"x\":470.16668701171875,\"y\":938.6667175292969},{\"command\":\"L\",\"x\":472.8333740234375,\"y\":943.3333435058594},{\"command\":\"L\",\"x\":472.8333740234375,\"y\":944.6667175292969},{\"command\":\"L\",\"x\":474.16668701171875,\"y\":944.6667175292969},{\"command\":\"L\",\"x\":475.5,\"y\":944.0000305175781},{\"command\":\"L\",\"x\":478.16668701171875,\"y\":941.3333435058594},{\"command\":\"L\",\"x\":481.5,\"y\":937.3333435058594},{\"command\":\"L\",\"x\":484.8333740234375,\"y\":934.0000305175781},{\"command\":\"L\",\"x\":488.8333740234375,\"y\":929.3333435058594},{\"command\":\"L\",\"x\":489.5,\"y\":928.0000305175781}]'
- });
- }
- });
-}
-
-{% endhighlight %}
-{% endtabs %}
-
-## Edit the existing Ink annotation programmatically
-
-To modify existing Ink annotation in the Syncfusion PDF viewer programmatically, you can use the **editAnnotation()** method.
-
-Here is an example of how you can use the **editAnnotation()** method:
-
-```html
-
-```
-
-{% tabs %}
-{% highlight ts tabtitle="Standalone" %}
-
-var pdfviewer = new ej.pdfviewer.PdfViewer({
- documentPath: "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf",
- resourceUrl : "https://cdn.syncfusion.com/ej2/25.1.35/dist/ej2-pdfviewer-lib",
- });
-ej.pdfviewer.PdfViewer.Inject(ej.pdfviewer.TextSelection, ej.pdfviewer.TextSearch, ej.pdfviewer.Print, ej.pdfviewer.Navigation, ej.pdfviewer.Toolbar,
- ej.pdfviewer.Magnification, ej.pdfviewer.Annotation, ej.pdfviewer.FormDesigner, ej.pdfviewer.FormFields, ej.pdfviewer.PageOrganizer);
-pdfviewer.appendTo('#PdfViewer');
-
-let editInkAnnotation = document.getElementById('editInkAnnotation');
-if (editInkAnnotation) {
- editInkAnnotation.addEventListener('click', function () {
- if (pdfviewer) {
- for (let i = 0; i < pdfviewer.annotationCollection.length; i++) {
- if (pdfviewer.annotationCollection[i].shapeAnnotationType === "Ink") {
- var width = pdfviewer.annotationCollection[i].bounds.width;
- var height = pdfviewer.annotationCollection[i].bounds.height;
- pdfviewer.annotationCollection[i].bounds = { x: 100, y: 100, width: width, height: height };
- pdfviewer.annotationCollection[i].strokeColor = "#0000FF";
- pdfviewer.annotationCollection[i].thickness = 2;
- pdfviewer.annotationCollection[i].annotationSelectorSettings.resizerShape = "Circle"
- pdfviewer.annotation.editAnnotation(pdfviewer.annotationCollection[i]);
- }
- }
- }
- });
-}
-
-{% endhighlight %}
-{% highlight ts tabtitle="Server-Backed" %}
-
-var pdfviewer = new ej.pdfviewer.PdfViewer({
- documentPath: "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf",
- serviceUrl : "https://services.syncfusion.com/js/production/api/pdfviewer",
- });
-ej.pdfviewer.PdfViewer.Inject(ej.pdfviewer.TextSelection, ej.pdfviewer.TextSearch, ej.pdfviewer.Print, ej.pdfviewer.Navigation, ej.pdfviewer.Toolbar,
- ej.pdfviewer.Magnification, ej.pdfviewer.Annotation, ej.pdfviewer.FormDesigner, ej.pdfviewer.FormFields, ej.pdfviewer.PageOrganizer);
-pdfviewer.appendTo('#PdfViewer');
-
-let editInkAnnotation = document.getElementById('editInkAnnotation');
-if (editInkAnnotation) {
- editInkAnnotation.addEventListener('click', function () {
- if (pdfviewer) {
- for (let i = 0; i < pdfviewer.annotationCollection.length; i++) {
- if (pdfviewer.annotationCollection[i].shapeAnnotationType === "Ink") {
- var width = pdfviewer.annotationCollection[i].bounds.width;
- var height = pdfviewer.annotationCollection[i].bounds.height;
- pdfviewer.annotationCollection[i].bounds = { x: 100, y: 100, width: width, height: height };
- pdfviewer.annotationCollection[i].strokeColor = "#0000FF";
- pdfviewer.annotationCollection[i].thickness = 2;
- pdfviewer.annotationCollection[i].annotationSelectorSettings.resizerShape = "Circle"
- pdfviewer.annotation.editAnnotation(pdfviewer.annotationCollection[i]);
- }
- }
- }
- });
-}
-
-{% endhighlight %}
-{% endtabs %}
-
-## Editing the properties of the ink annotation
-
-The stroke color, thickness, and opacity of the ink annotation can be edited using the Edit stroke color tool, Edit thickness tool, and Edit opacity tool in the annotation toolbar.
-
-### Editing stroke color
-
-The stroke color of the annotation can be edited using the color palette provided in the Edit Stroke Color tool.
-
-
-
-### Editing thickness
-
-The thickness of the border of the annotation can be edited using the range slider provided in the Edit Thickness tool.
-
-
-
-### Editing opacity
-
-The opacity of the annotation can be edited using the range slider provided in the Edit Opacity tool.
-
-
-
-## Setting default properties during the control initialization
-
-The properties of the ink annotation can be set before creating the control using the InkAnnotationSettings.
-
-After editing the default values, they will be changed to the selected values.
-Refer to the following code sample to set the default ink annotation settings.
-
-{% tabs %}
-{% highlight ts tabtitle="Standalone" %}
-
-import { PdfViewer, Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, TextSearch, FormFields, FormDesigner, PageOrganizer} from '@syncfusion/ej2-pdfviewer';
-
-PdfViewer.Inject(Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, TextSearch, FormFields, FormDesigner, PageOrganizer);
-
-let pdfviewer: PdfViewer = new PdfViewer();
-pdfviewer.documentPath = "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf";
-pdfviewer.resourceUrl = "https://cdn.syncfusion.com/ej2/25.1.35/dist/ej2-pdfviewer-lib";
-pdfviewer.inkAnnotationSettings = {author: 'Syncfusion', strokeColor: 'green', thickness: 3, opacity: 0.6};
-pdfviewer.appendTo('#PdfViewer');
-
-{% endhighlight %}
-{% highlight ts tabtitle="Server-Backed" %}
-
-import { PdfViewer, Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, TextSearch, FormFields, FormDesigner, PageOrganizer} from '@syncfusion/ej2-pdfviewer';
-
-PdfViewer.Inject(Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, TextSearch, FormFields, FormDesigner, PageOrganizer);
-
-let pdfviewer: PdfViewer = new PdfViewer();
-pdfviewer.serviceUrl = 'https://services.syncfusion.com/js/production/api/pdfviewer';
-pdfviewer.documentPath = "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf";
-pdfviewer.inkAnnotationSettings = {author: 'Syncfusion', strokeColor: 'green', thickness: 3, opacity: 0.6};
-pdfviewer.appendTo('#PdfViewer');
-
-{% endhighlight %}
-{% endtabs %}
\ No newline at end of file
diff --git a/ej2-javascript/pdfviewer/js/annotations/measurement-annotation.md b/ej2-javascript/pdfviewer/js/annotations/measurement-annotation.md
deleted file mode 100644
index 8c7e1cb7b..000000000
--- a/ej2-javascript/pdfviewer/js/annotations/measurement-annotation.md
+++ /dev/null
@@ -1,582 +0,0 @@
----
-layout: post
-title: Measurement annotation in ##Platform_Name## PDF Viewer control | Syncfusion
-description: Learn here all about Measurement annotation in Syncfusion ##Platform_Name## PDF Viewer control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: PDF Viewer
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Measurement annotation in ##Platform_Name## PDF Viewer control
-
-The PDF Viewer provides the options to add measurement annotations. You can measure the page annotations with the help of measurement annotation. The supported measurement annotations in the PDF Viewer control are:
-
-* Distance
-* Perimeter
-* Area
-* Radius
-* Volume
-
-
-
-## Adding measurement annotations to the PDF document
-
-The measurement annotations can be added to the PDF document using the annotation toolbar.
-
-* Click the **Edit Annotation** button in the PDF Viewer toolbar. A toolbar appears below it.
-* Click the **Measurement Annotation** dropdown button. A dropdown pop-up will appear and shows the measurement annotations to be added.
-* Select the measurement type to be added to the page in the dropdown pop-up. It enables the selected measurement annotation mode.
-* You can measure and add the annotation over the pages of the PDF document.
-
-In the pan mode, if the measurement annotation mode is entered, the PDF Viewer control will switch to text select mode.
-
- 
-
-Refer to the following code snippet to switch to distance annotation mode.
-
-```html
-
-```
-{% tabs %}
-{% highlight ts tabtitle="Standalone" %}
-
-var pdfviewer = new ej.pdfviewer.PdfViewer({
- documentPath: "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf",
- resourceUrl : "https://cdn.syncfusion.com/ej2/25.1.35/dist/ej2-pdfviewer-lib",
- });
-ej.pdfviewer.PdfViewer.Inject(ej.pdfviewer.TextSelection, ej.pdfviewer.TextSearch, ej.pdfviewer.Print, ej.pdfviewer.Navigation, ej.pdfviewer.Toolbar,
- ej.pdfviewer.Magnification, ej.pdfviewer.Annotation, ej.pdfviewer.FormDesigner, ej.pdfviewer.FormFields, ej.pdfviewer.PageOrganizer);
-pdfviewer.appendTo('#PdfViewer');
-let distanceMode = document.getElementById('distanceMode');
-if (distanceMode) {
- distanceMode.addEventListener('click', function () {
- if (pdfviewer) {
- pdfviewer.annotationModule.setAnnotationMode("Distance");
- }
- });
-}
-
-
-{% endhighlight %}
-{% highlight ts tabtitle="Server-Backed" %}
-
-var pdfviewer = new ej.pdfviewer.PdfViewer({
- documentPath: "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf",
- serviceUrl: 'https://services.syncfusion.com/js/production/api/pdfviewer',
- });
-ej.pdfviewer.PdfViewer.Inject(ej.pdfviewer.TextSelection, ej.pdfviewer.TextSearch, ej.pdfviewer.Print, ej.pdfviewer.Navigation, ej.pdfviewer.Toolbar,
- ej.pdfviewer.Magnification, ej.pdfviewer.Annotation, ej.pdfviewer.FormDesigner, ej.pdfviewer.FormFields, ej.pdfviewer.PageOrganizer);
-pdfviewer.appendTo('#PdfViewer');
-let distanceMode = document.getElementById('distanceMode');
-if (distanceMode) {
- distanceMode.addEventListener('click', function () {
- if (pdfviewer) {
- pdfviewer.annotationModule.setAnnotationMode("Distance");
- }
- });
-}
-
-{% endhighlight %}
-{% endtabs %}
-
-## Adding a measurement annotation to the PDF document Programmatically
-
-With the PDF Viewer library, you can add a measurement annotation to the PDF Viewer control programmatically using the [**addAnnotation()**](https://helpej2.syncfusion.com/documentation/api/pdfviewer/annotation/#addannotation) method.
-
-Here's a example of how you can utilize the **addAnnotation()** method to include a measurement annotation programmatically:
-
-```html
-
-
-
-
-
-```
-
-{% tabs %}
-{% highlight ts tabtitle="Standalone" %}
-
-var pdfviewer = new ej.pdfviewer.PdfViewer({
- documentPath: "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf",
- resourceUrl : "https://cdn.syncfusion.com/ej2/25.1.35/dist/ej2-pdfviewer-lib",
- });
-ej.pdfviewer.PdfViewer.Inject(ej.pdfviewer.TextSelection, ej.pdfviewer.TextSearch, ej.pdfviewer.Print, ej.pdfviewer.Navigation, ej.pdfviewer.Toolbar,
- ej.pdfviewer.Magnification, ej.pdfviewer.Annotation, ej.pdfviewer.FormDesigner, ej.pdfviewer.FormFields, ej.pdfviewer.PageOrganizer);
-pdfviewer.appendTo('#PdfViewer');
-
-let addDistanceAnnotation = document.getElementById('addDistanceAnnotation');
-if (addDistanceAnnotation) {
- addDistanceAnnotation.addEventListener('click', function () {
- if (pdfviewer) {
- pdfviewer.annotation.addAnnotation("Distance", {
- offset: { x: 200, y: 230 },
- pageNumber: 1,
- vertexPoints: [{ x: 200, y: 230 }, { x: 350, y: 230 }]
- });
- }
- });
-}
-
-let addPerimeterAnnotation = document.getElementById('addPerimeterAnnotation');
-if (addPerimeterAnnotation) {
- addPerimeterAnnotation.addEventListener('click', function () {
- if (pdfviewer) {
- pdfviewer.annotation.addAnnotation("Perimeter", {
- offset: { x: 200, y: 350 },
- pageNumber: 1,
- vertexPoints: [{ x: 200, y: 350 }, { x: 285, y: 350 }, { x: 286, y: 412 }]
- });
- }
- });
-}
-
-let addAreaAnnotation = document.getElementById('addAreaAnnotation');
-if (addAreaAnnotation) {
- addAreaAnnotation.addEventListener('click', function () {
- if (pdfviewer) {
- pdfviewer.annotation.addAnnotation("Area", {
- offset: { x: 200, y: 500 },
- pageNumber: 1,
- vertexPoints: [{ x: 200, y: 500 }, { x: 288, y: 499 }, { x: 289, y: 553 }, { x: 200, y: 500 }]
- });
- }
- });
-}
-
-let addRadiusAnnotation = document.getElementById('addRadiusAnnotation');
-if (addRadiusAnnotation) {
- addRadiusAnnotation.addEventListener('click', function () {
- if (pdfviewer) {
- pdfviewer.annotation.addAnnotation("Radius", {
- offset: { x: 200, y: 630 },
- pageNumber: 1,
- width: 90,
- height: 90
- });
- }
- });
-}
-
-let addVolumeAnnotation = document.getElementById('addVolumeAnnotation');
-if (addVolumeAnnotation) {
- addVolumeAnnotation.addEventListener('click', function () {
- if (pdfviewer) {
- pdfviewer.annotation.addAnnotation("Volume", {
- offset: { x: 200, y: 810 },
- pageNumber: 1,
- vertexPoints: [{ x: 200, y: 810 }, { x: 200, y: 919 }, { x: 320, y: 919 }, { x: 320, y: 809 }, { x: 200, y: 810 }]
- });
- }
- });
-}
-
-{% endhighlight %}
-{% highlight ts tabtitle="Server-Backed" %}
-
-var pdfviewer = new ej.pdfviewer.PdfViewer({
- documentPath: "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf",
- serviceUrl : "https://services.syncfusion.com/js/production/api/pdfviewer",
- });
-ej.pdfviewer.PdfViewer.Inject(ej.pdfviewer.TextSelection, ej.pdfviewer.TextSearch, ej.pdfviewer.Print, ej.pdfviewer.Navigation, ej.pdfviewer.Toolbar,
- ej.pdfviewer.Magnification, ej.pdfviewer.Annotation, ej.pdfviewer.FormDesigner, ej.pdfviewer.FormFields, ej.pdfviewer.PageOrganizer);
-pdfviewer.appendTo('#PdfViewer');
-
-let addDistanceAnnotation = document.getElementById('addDistanceAnnotation');
-if (addDistanceAnnotation) {
- addDistanceAnnotation.addEventListener('click', function () {
- if (pdfviewer) {
- pdfviewer.annotation.addAnnotation("Distance", {
- offset: { x: 200, y: 230 },
- pageNumber: 1,
- vertexPoints: [{ x: 200, y: 230 }, { x: 350, y: 230 }]
- });
- }
- });
-}
-
-let addPerimeterAnnotation = document.getElementById('addPerimeterAnnotation');
-if (addPerimeterAnnotation) {
- addPerimeterAnnotation.addEventListener('click', function () {
- if (pdfviewer) {
- pdfviewer.annotation.addAnnotation("Perimeter", {
- offset: { x: 200, y: 350 },
- pageNumber: 1,
- vertexPoints: [{ x: 200, y: 350 }, { x: 285, y: 350 }, { x: 286, y: 412 }]
- });
- }
- });
-}
-
-let addAreaAnnotation = document.getElementById('addAreaAnnotation');
-if (addAreaAnnotation) {
- addAreaAnnotation.addEventListener('click', function () {
- if (pdfviewer) {
- pdfviewer.annotation.addAnnotation("Area", {
- offset: { x: 200, y: 500 },
- pageNumber: 1,
- vertexPoints: [{ x: 200, y: 500 }, { x: 288, y: 499 }, { x: 289, y: 553 }, { x: 200, y: 500 }]
- });
- }
- });
-}
-
-let addRadiusAnnotation = document.getElementById('addRadiusAnnotation');
-if (addRadiusAnnotation) {
- addRadiusAnnotation.addEventListener('click', function () {
- if (pdfviewer) {
- pdfviewer.annotation.addAnnotation("Radius", {
- offset: { x: 200, y: 630 },
- pageNumber: 1,
- width: 90,
- height: 90
- });
- }
- });
-}
-
-let addVolumeAnnotation = document.getElementById('addVolumeAnnotation');
-if (addVolumeAnnotation) {
- addVolumeAnnotation.addEventListener('click', function () {
- if (pdfviewer) {
- pdfviewer.annotation.addAnnotation("Volume", {
- offset: { x: 200, y: 810 },
- pageNumber: 1,
- vertexPoints: [{ x: 200, y: 810 }, { x: 200, y: 919 }, { x: 320, y: 919 }, { x: 320, y: 809 }, { x: 200, y: 810 }]
- });
- }
- });
-}
-
-{% endhighlight %}
-{% endtabs %}
-
-## Edit the existing measurement annotation programmatically
-
-To modify existing measurement annotation in the Syncfusion PDF viewer programmatically, you can use the **editAnnotation()** method.
-
-Here is an example of how you can use the **editAnnotation()** method:
-
-```html
-
-
-
-
-
-```
-
-{% tabs %}
-{% highlight ts tabtitle="Standalone" %}
-
-var pdfviewer = new ej.pdfviewer.PdfViewer({
- documentPath: "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf",
- resourceUrl : "https://cdn.syncfusion.com/ej2/25.1.35/dist/ej2-pdfviewer-lib",
- });
-ej.pdfviewer.PdfViewer.Inject(ej.pdfviewer.TextSelection, ej.pdfviewer.TextSearch, ej.pdfviewer.Print, ej.pdfviewer.Navigation, ej.pdfviewer.Toolbar,
- ej.pdfviewer.Magnification, ej.pdfviewer.Annotation, ej.pdfviewer.FormDesigner, ej.pdfviewer.FormFields, ej.pdfviewer.PageOrganizer);
-pdfviewer.appendTo('#PdfViewer');
-let editDistanceAnnotation = document.getElementById('editDistanceAnnotation');
-if (editDistanceAnnotation) {
- editDistanceAnnotation.addEventListener('click', function () {
- if (pdfviewer) {
- for (let i = 0; i < pdfviewer.annotationCollection.length; i++) {
- if (pdfviewer.annotationCollection[i].subject === "Distance calculation") {
- pdfviewer.annotationCollection[i].annotationSelectorSettings.resizerShape = "Circle"
- pdfviewer.annotationCollection[i].strokeColor = "#0000FF";
- pdfviewer.annotationCollection[i].thickness = 2;
- pdfviewer.annotationCollection[i].fillColor = "#FFFF00";
- pdfviewer.annotation.editAnnotation(pdfviewer.annotationCollection[i]);
- }
- }
- }
- });
-}
-
-let editPerimeterAnnotation = document.getElementById('editPerimeterAnnotation');
-if (editPerimeterAnnotation) {
- editPerimeterAnnotation.addEventListener('click', function () {
- if (pdfviewer) {
- for (let i = 0; i < pdfviewer.annotationCollection.length; i++) {
- if (pdfviewer.annotationCollection[i].subject === "Perimeter calculation") {
- pdfviewer.annotationCollection[i].annotationSelectorSettings.resizerShape = "Circle"
- pdfviewer.annotationCollection[i].strokeColor = "#0000FF";
- pdfviewer.annotationCollection[i].thickness = 2;
- pdfviewer.annotationCollection[i].fillColor = "#FFFF00";
- pdfviewer.annotation.editAnnotation(pdfviewer.annotationCollection[i]);
- }
- }
- }
- });
-}
-
-let editAreaAnnotation = document.getElementById('editAreaAnnotation');
-if (editAreaAnnotation) {
- editAreaAnnotation.addEventListener('click', function () {
- if (pdfviewer) {
- for (let i = 0; i < pdfviewer.annotationCollection.length; i++) {
- if (pdfviewer.annotationCollection[i].subject === "Area calculation") {
- pdfviewer.annotationCollection[i].annotationSelectorSettings.resizerShape = "Circle"
- pdfviewer.annotationCollection[i].strokeColor = "#0000FF";
- pdfviewer.annotationCollection[i].thickness = 2;
- pdfviewer.annotationCollection[i].fillColor = "#FFFF00";
- pdfviewer.annotation.editAnnotation(pdfviewer.annotationCollection[i]);
- }
- }
- }
- });
-}
-
-let editRadiusAnnotation = document.getElementById('editRadiusAnnotation');
-if (editRadiusAnnotation) {
- editRadiusAnnotation.addEventListener('click', function () {
- if (pdfviewer) {
- for (let i = 0; i < pdfviewer.annotationCollection.length; i++) {
- if (pdfviewer.annotationCollection[i].subject === "Radius calculation") {
- pdfviewer.annotationCollection[i].annotationSelectorSettings.resizerShape = "Circle"
- pdfviewer.annotationCollection[i].strokeColor = "#0000FF";
- pdfviewer.annotationCollection[i].thickness = 2;
- pdfviewer.annotationCollection[i].fillColor = "#FFFF00";
- pdfviewer.annotation.editAnnotation(pdfviewer.annotationCollection[i]);
- }
- }
- }
- });
-}
-
-let editVolumeAnnotation = document.getElementById('editVolumeAnnotation');
-if (editVolumeAnnotation) {
- editVolumeAnnotation.addEventListener('click', function () {
- if (pdfviewer) {
- for (let i = 0; i < pdfviewer.annotationCollection.length; i++) {
- if (pdfviewer.annotationCollection[i].subject === "Volume calculation") {
- pdfviewer.annotationCollection[i].annotationSelectorSettings.resizerShape = "Circle"
- pdfviewer.annotationCollection[i].strokeColor = "#0000FF";
- pdfviewer.annotationCollection[i].thickness = 2;
- pdfviewer.annotationCollection[i].fillColor = "#FFFF00";
- pdfviewer.annotation.editAnnotation(pdfviewer.annotationCollection[i]);
- }
- }
- }
- });
-}
-
-{% endhighlight %}
-{% highlight ts tabtitle="Server-Backed" %}
-
-var pdfviewer = new ej.pdfviewer.PdfViewer({
- documentPath: "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf",
- serviceUrl : "https://services.syncfusion.com/js/production/api/pdfviewer",
- });
-ej.pdfviewer.PdfViewer.Inject(ej.pdfviewer.TextSelection, ej.pdfviewer.TextSearch, ej.pdfviewer.Print, ej.pdfviewer.Navigation, ej.pdfviewer.Toolbar,
- ej.pdfviewer.Magnification, ej.pdfviewer.Annotation, ej.pdfviewer.FormDesigner, ej.pdfviewer.FormFields, ej.pdfviewer.PageOrganizer);
-pdfviewer.appendTo('#PdfViewer');
-let editDistanceAnnotation = document.getElementById('editDistanceAnnotation');
-if (editDistanceAnnotation) {
- editDistanceAnnotation.addEventListener('click', function () {
- if (pdfviewer) {
- for (let i = 0; i < pdfviewer.annotationCollection.length; i++) {
- if (pdfviewer.annotationCollection[i].subject === "Distance calculation") {
- pdfviewer.annotationCollection[i].annotationSelectorSettings.resizerShape = "Circle"
- pdfviewer.annotationCollection[i].strokeColor = "#0000FF";
- pdfviewer.annotationCollection[i].thickness = 2;
- pdfviewer.annotationCollection[i].fillColor = "#FFFF00";
- pdfviewer.annotation.editAnnotation(pdfviewer.annotationCollection[i]);
- }
- }
- }
- });
-}
-
-let editPerimeterAnnotation = document.getElementById('editPerimeterAnnotation');
-if (editPerimeterAnnotation) {
- editPerimeterAnnotation.addEventListener('click', function () {
- if (pdfviewer) {
- for (let i = 0; i < pdfviewer.annotationCollection.length; i++) {
- if (pdfviewer.annotationCollection[i].subject === "Perimeter calculation") {
- pdfviewer.annotationCollection[i].annotationSelectorSettings.resizerShape = "Circle"
- pdfviewer.annotationCollection[i].strokeColor = "#0000FF";
- pdfviewer.annotationCollection[i].thickness = 2;
- pdfviewer.annotationCollection[i].fillColor = "#FFFF00";
- pdfviewer.annotation.editAnnotation(pdfviewer.annotationCollection[i]);
- }
- }
- }
- });
-}
-
-let editAreaAnnotation = document.getElementById('editAreaAnnotation');
-if (editAreaAnnotation) {
- editAreaAnnotation.addEventListener('click', function () {
- if (pdfviewer) {
- for (let i = 0; i < pdfviewer.annotationCollection.length; i++) {
- if (pdfviewer.annotationCollection[i].subject === "Area calculation") {
- pdfviewer.annotationCollection[i].annotationSelectorSettings.resizerShape = "Circle"
- pdfviewer.annotationCollection[i].strokeColor = "#0000FF";
- pdfviewer.annotationCollection[i].thickness = 2;
- pdfviewer.annotationCollection[i].fillColor = "#FFFF00";
- pdfviewer.annotation.editAnnotation(pdfviewer.annotationCollection[i]);
- }
- }
- }
- });
-}
-
-let editRadiusAnnotation = document.getElementById('editRadiusAnnotation');
-if (editRadiusAnnotation) {
- editRadiusAnnotation.addEventListener('click', function () {
- if (pdfviewer) {
- for (let i = 0; i < pdfviewer.annotationCollection.length; i++) {
- if (pdfviewer.annotationCollection[i].subject === "Radius calculation") {
- pdfviewer.annotationCollection[i].annotationSelectorSettings.resizerShape = "Circle"
- pdfviewer.annotationCollection[i].strokeColor = "#0000FF";
- pdfviewer.annotationCollection[i].thickness = 2;
- pdfviewer.annotationCollection[i].fillColor = "#FFFF00";
- pdfviewer.annotation.editAnnotation(pdfviewer.annotationCollection[i]);
- }
- }
- }
- });
-}
-
-let editVolumeAnnotation = document.getElementById('editVolumeAnnotation');
-if (editVolumeAnnotation) {
- editVolumeAnnotation.addEventListener('click', function () {
- if (pdfviewer) {
- for (let i = 0; i < pdfviewer.annotationCollection.length; i++) {
- if (pdfviewer.annotationCollection[i].subject === "Volume calculation") {
- pdfviewer.annotationCollection[i].annotationSelectorSettings.resizerShape = "Circle"
- pdfviewer.annotationCollection[i].strokeColor = "#0000FF";
- pdfviewer.annotationCollection[i].thickness = 2;
- pdfviewer.annotationCollection[i].fillColor = "#FFFF00";
- pdfviewer.annotation.editAnnotation(pdfviewer.annotationCollection[i]);
- }
- }
- }
- });
-}
-
-{% endhighlight %}
-{% endtabs %}
-
-## Editing the properties of measurement annotation
-
-The fill color, stroke color, thickness, and opacity of the measurement annotation can be edited using the Edit Color tool, Edit Stroke Color tool, Edit Thickness tool, and Edit Opacity tool in the annotation toolbar.
-
-### Editing fill color
-
-The fill color of the annotation can be edited using the color palette provided in the Edit Color tool.
-
-
-
-### Editing stroke color
-
-The stroke color of the annotation can be edited using the color palette provided in the Edit Stroke Color tool.
-
-
-
-### Editing thickness
-
-The thickness of the border of the annotation can be edited using the range slider provided in the Edit thickness tool.
-
-
-
-### Editing opacity
-
-The opacity of the annotation can be edited using the range slider provided in the Edit Opacity tool.
-
-
-
-### Editing the line properties
-
-The properties of the line shapes such as distance and perimeter annotations can be edited using the Line properties window. It can be opened by selecting the Properties option in the context menu that appears on right-clicking the distance and perimeter annotations.
-
-
-
-## Setting default properties during control initialization
-
-The properties of the shape annotations can be set before creating the control using distanceSettings, perimeterSettings, areaSettings, radiusSettings and volumeSettings.
-
-Refer to the following code snippet to set the default annotation settings.
-
-{% tabs %}
-{% highlight ts tabtitle="Standalone" %}
-
-var pdfviewer = new ej.pdfviewer.PdfViewer({
- documentPath: "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf",
- resourceUrl : "https://cdn.syncfusion.com/ej2/25.1.35/dist/ej2-pdfviewer-lib",
- distanceSettings : {fillColor: 'blue', opacity: 0.6, strokeColor: 'green'},
- perimeterSettings : {fillColor: 'green', opacity: 0.6, strokeColor: 'blue'},
- areaSettings :{fillColor: 'yellow', opacity: 0.6, strokeColor: 'orange'},
- radiusSettings : {fillColor: 'orange', opacity: 0.6, strokeColor: 'pink'},
- volumeSettings : {fillColor: 'pink', opacity: 0.6, strokeColor: 'yellow'},
- });
-ej.pdfviewer.PdfViewer.Inject(ej.pdfviewer.TextSelection, ej.pdfviewer.TextSearch, ej.pdfviewer.Print, ej.pdfviewer.Navigation, ej.pdfviewer.Toolbar,
- ej.pdfviewer.Magnification, ej.pdfviewer.Annotation, ej.pdfviewer.FormDesigner, ej.pdfviewer.FormFields, ej.pdfviewer.PageOrganizer);
-pdfviewer.appendTo('#PdfViewer');
-
-{% endhighlight %}
-{% highlight ts tabtitle="Server-Backed" %}
-
-var pdfviewer = new ej.pdfviewer.PdfViewer({
- documentPath: "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf",
- serviceUrl: 'https://services.syncfusion.com/js/production/api/pdfviewer',
- distanceSettings : {fillColor: 'blue', opacity: 0.6, strokeColor: 'green'},
- perimeterSettings : {fillColor: 'green', opacity: 0.6, strokeColor: 'blue'},
- areaSettings :{fillColor: 'yellow', opacity: 0.6, strokeColor: 'orange'},
- radiusSettings : {fillColor: 'orange', opacity: 0.6, strokeColor: 'pink'},
- volumeSettings : {fillColor: 'pink', opacity: 0.6, strokeColor: 'yellow'},
- });
-ej.pdfviewer.PdfViewer.Inject(ej.pdfviewer.TextSelection, ej.pdfviewer.TextSearch, ej.pdfviewer.Print, ej.pdfviewer.Navigation, ej.pdfviewer.Toolbar,
- ej.pdfviewer.Magnification, ej.pdfviewer.Annotation, ej.pdfviewer.FormDesigner, ej.pdfviewer.FormFields, ej.pdfviewer.PageOrganizer);
-pdfviewer.appendTo('#PdfViewer');
-
-{% endhighlight %}
-{% endtabs %}
-## Editing scale ratio and unit of the measurement annotation
-
-The scale ratio and unit of measurement can be modified using the scale ratio option provided in the context menu of the PDF Viewer control.
-
- 
-
-The Units of measurements support for the measurement annotations in the PDF Viewer are
-
-* Inch
-* Millimeter
-* Centimeter
-* Point
-* Pica
-* Feet
-
-
-
-## Setting default scale ratio settings during control initialization
-
-The properties of scale ratio for measurement annotation can be set before creating the control using ScaleRatioSettings as shown in the following code snippet,
-
-{% tabs %}
-{% highlight ts tabtitle="Standalone" %}
-
-var pdfviewer = new ej.pdfviewer.PdfViewer({
- documentPath: "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf",
- resourceUrl : "https://cdn.syncfusion.com/ej2/25.1.35/dist/ej2-pdfviewer-lib",
- measurementSettings = {scaleRatio: 2, conversionUnit: 'cm', displayUnit: 'cm'},
- });
-ej.pdfviewer.PdfViewer.Inject(ej.pdfviewer.TextSelection, ej.pdfviewer.TextSearch, ej.pdfviewer.Print, ej.pdfviewer.Navigation, ej.pdfviewer.Toolbar,
- ej.pdfviewer.Magnification, ej.pdfviewer.Annotation, ej.pdfviewer.FormDesigner, ej.pdfviewer.FormFields, ej.pdfviewer.PageOrganizer);
-pdfviewer.appendTo('#PdfViewer');
-
-{% endhighlight %}
-{% highlight ts tabtitle="Server-Backed" %}
-
-var pdfviewer = new ej.pdfviewer.PdfViewer({
- documentPath: "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf",
- serviceUrl: 'https://services.syncfusion.com/js/production/api/pdfviewer',
- measurementSettings = {scaleRatio: 2, conversionUnit: 'cm', displayUnit: 'cm'},
- });
-ej.pdfviewer.PdfViewer.Inject(ej.pdfviewer.TextSelection, ej.pdfviewer.TextSearch, ej.pdfviewer.Print, ej.pdfviewer.Navigation, ej.pdfviewer.Toolbar,
- ej.pdfviewer.Magnification, ej.pdfviewer.Annotation, ej.pdfviewer.FormDesigner, ej.pdfviewer.FormFields, ej.pdfviewer.PageOrganizer);
-pdfviewer.appendTo('#PdfViewer');
-
-{% endhighlight %}
-{% endtabs %}
diff --git a/ej2-javascript/pdfviewer/js/annotations/shape-annotation.md b/ej2-javascript/pdfviewer/js/annotations/shape-annotation.md
deleted file mode 100644
index 4898eaa8b..000000000
--- a/ej2-javascript/pdfviewer/js/annotations/shape-annotation.md
+++ /dev/null
@@ -1,535 +0,0 @@
----
-layout: post
-title: Shape annotation in ##Platform_Name## PDF Viewer control | Syncfusion
-description: Learn here all about Shape annotation in Syncfusion ##Platform_Name## PDF Viewer control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: PDF Viewer
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Shape annotation in ##Platform_Name## PDF Viewer control
-
-The PDF Viewer control provides the options to add, edit, and delete the shape annotations. The shape annotation types supported in the PDF Viewer control are:
-
-* Line
-* Arrow
-* Rectangle
-* Circle
-* Polygon
-
-
-
-## Adding a shape annotation to the PDF document
-
-Shape annotations can be added to the PDF document using the annotation toolbar.
-
-* Click the **Edit Annotation** button in the PDF Viewer toolbar. A toolbar appears below it.
-* Click the **Shape Annotation** drop-down button. A drop-down pop-up will appear and shows the shape annotations to be added.
-* Select the shape types to be added to the page in the drop-down pop-up. It enables the selected shape annotation mode.
-* You can add the shapes over the pages of the PDF document.
-
-N> While you're in the pan mode, for navigating through the document, and you click on the shape annotation button to add the shape annotation , the PDF Viewer control will smoothly transition to text select mode. This seamless transition ensures a fluid experience when switching between different interaction modes within the PDF Viewer interface.
-
-
-
-Refer to the following code sample to switch to the circle annotation mode.
-
-```html
-
-```
-
-{% tabs %}
-{% highlight ts tabtitle="Standalone" %}
-
-var pdfviewer = new ej.pdfviewer.PdfViewer({
- documentPath: "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf",
- resourceUrl : "https://cdn.syncfusion.com/ej2/25.1.35/dist/ej2-pdfviewer-lib"
- });
-ej.pdfviewer.PdfViewer.Inject(ej.pdfviewer.TextSelection, ej.pdfviewer.TextSearch, ej.pdfviewer.Print, ej.pdfviewer.Navigation, ej.pdfviewer.Toolbar,
- ej.pdfviewer.Magnification, ej.pdfviewer.Annotation, ej.pdfviewer.FormDesigner, ej.pdfviewer.FormFields, ej.pdfviewer.PageOrganizer);
-pdfviewer.appendTo('#PdfViewer');
-
-let circleAnnotationButton = document.getElementById('circleAnnotationButton');
-if (circleAnnotationButton) {
- circleAnnotationButton.addEventListener('click', function () {
- if (pdfviewer) {
- pdfviewer.annotationModule.setAnnotationMode("Circle");
- }
- });
-}
-
-{% endhighlight %}
-{% highlight ts tabtitle="Server-Backed" %}
-
-var pdfviewer = new ej.pdfviewer.PdfViewer({
- documentPath: "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf",
- serviceUrl: 'https://services.syncfusion.com/js/production/api/pdfviewer'
- });
-ej.pdfviewer.PdfViewer.Inject(ej.pdfviewer.TextSelection, ej.pdfviewer.TextSearch, ej.pdfviewer.Print, ej.pdfviewer.Navigation, ej.pdfviewer.Toolbar,
- ej.pdfviewer.Magnification, ej.pdfviewer.Annotation, ej.pdfviewer.FormDesigner, ej.pdfviewer.FormFields, ej.pdfviewer.PageOrganizer);
-pdfviewer.appendTo('#PdfViewer');
-
-let circleAnnotationButton = document.getElementById('circleAnnotationButton');
-if (circleAnnotationButton) {
- circleAnnotationButton.addEventListener('click', function () {
- if (pdfviewer) {
- pdfviewer.annotationModule.setAnnotationMode("Circle");
- }
- });
-}
-
-{% endhighlight %}
-{% endtabs %}
-
-## Adding a Shape annotation to the PDF document Programmatically
-
-With the PDF Viewer library, you can add a Shape annotation to the PDF Viewer control programmatically using the [**addAnnotation()**](https://helpej2.syncfusion.com/documentation/api/pdfviewer/annotation/#addannotation) method.
-
-Here's a example of how you can utilize the **addAnnotation()** method to include a Shape annotation programmatically:
-
-```html
-
-
-
-
-
-```
-{% tabs %}
-{% highlight ts tabtitle="Standalone" %}
-
-var pdfviewer = new ej.pdfviewer.PdfViewer({
- documentPath: "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf",
- resourceUrl : "https://cdn.syncfusion.com/ej2/25.1.35/dist/ej2-pdfviewer-lib",
- });
-ej.pdfviewer.PdfViewer.Inject(ej.pdfviewer.TextSelection, ej.pdfviewer.TextSearch, ej.pdfviewer.Print, ej.pdfviewer.Navigation, ej.pdfviewer.Toolbar,
- ej.pdfviewer.Magnification, ej.pdfviewer.Annotation, ej.pdfviewer.FormDesigner, ej.pdfviewer.FormFields, ej.pdfviewer.PageOrganizer);
-pdfviewer.appendTo('#PdfViewer');
-
-let addLineAnnotation = document.getElementById('addLineAnnotation');
-if (addLineAnnotation) {
- addLineAnnotation.addEventListener('click', function () {
- if (pdfviewer) {
- pdfviewer.annotation.addAnnotation("Line", {
- offset: { x: 200, y: 230 },
- pageNumber: 1,
- vertexPoints: [{ x: 200, y: 230 }, { x: 350, y: 230 }]
- });
- }
- });
-}
-
-let addArrowAnnotation = document.getElementById('addArrowAnnotation');
-if (addArrowAnnotation) {
- addArrowAnnotation.addEventListener('click', function () {
- if (pdfviewer) {
- pdfviewer.annotation.addAnnotation("Arrow", {
- offset: { x: 200, y: 370 },
- pageNumber: 1,
- vertexPoints: [{ x: 200, y: 370 }, { x: 350, y: 370 }]
- });
- }
- });
-}
-
-let addRectangleAnnotation = document.getElementById('addRectangleAnnotation');
-if (addRectangleAnnotation) {
- addRectangleAnnotation.addEventListener('click', function () {
- if (pdfviewer) {
- pdfviewer.annotation.addAnnotation("Rectangle", {
- offset: { x: 200, y: 480 },
- pageNumber: 1,
- width: 150,
- height: 75
- });
- }
- });
-}
-
-let addCircleAnnotation = document.getElementById('addCircleAnnotation');
-if (addCircleAnnotation) {
- addCircleAnnotation.addEventListener('click', function () {
- if (pdfviewer) {
- pdfviewer.annotation.addAnnotation("Circle", {
- offset: { x: 200, y: 620 },
- pageNumber: 1,
- width: 90,
- height: 90
- });
- }
- });
-}
-
-let addPolygonAnnotation = document.getElementById('addPolygonAnnotation');
-if (addPolygonAnnotation) {
- addPolygonAnnotation.addEventListener('click', function () {
- if (pdfviewer) {
- pdfviewer.annotation.addAnnotation("Polygon", {
- offset: { x: 200, y: 800 },
- pageNumber: 1,
- vertexPoints: [{ x: 200, y: 800 }, { x: 242, y: 771 }, { x: 289, y: 799 }, { x: 278, y: 842 }, { x: 211, y: 842 }, { x: 200, y: 800 }]
- });
- }
- });
-}
-
-{% endhighlight %}
-{% highlight ts tabtitle="Server-Backed" %}
-
-var pdfviewer = new ej.pdfviewer.PdfViewer({
- documentPath: "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf",
- serviceUrl : "https://services.syncfusion.com/js/production/api/pdfviewer",
- });
-ej.pdfviewer.PdfViewer.Inject(ej.pdfviewer.TextSelection, ej.pdfviewer.TextSearch, ej.pdfviewer.Print, ej.pdfviewer.Navigation, ej.pdfviewer.Toolbar,
- ej.pdfviewer.Magnification, ej.pdfviewer.Annotation, ej.pdfviewer.FormDesigner, ej.pdfviewer.FormFields, ej.pdfviewer.PageOrganizer);
-pdfviewer.appendTo('#PdfViewer');
-
-let addLineAnnotation = document.getElementById('addLineAnnotation');
-if (addLineAnnotation) {
- addLineAnnotation.addEventListener('click', function () {
- if (pdfviewer) {
- pdfviewer.annotation.addAnnotation("Line", {
- offset: { x: 200, y: 230 },
- pageNumber: 1,
- vertexPoints: [{ x: 200, y: 230 }, { x: 350, y: 230 }]
- });
- }
- });
-}
-
-let addArrowAnnotation = document.getElementById('addArrowAnnotation');
-if (addArrowAnnotation) {
- addArrowAnnotation.addEventListener('click', function () {
- if (pdfviewer) {
- pdfviewer.annotation.addAnnotation("Arrow", {
- offset: { x: 200, y: 370 },
- pageNumber: 1,
- vertexPoints: [{ x: 200, y: 370 }, { x: 350, y: 370 }]
- });
- }
- });
-}
-
-let addRectangleAnnotation = document.getElementById('addRectangleAnnotation');
-if (addRectangleAnnotation) {
- addRectangleAnnotation.addEventListener('click', function () {
- if (pdfviewer) {
- pdfviewer.annotation.addAnnotation("Rectangle", {
- offset: { x: 200, y: 480 },
- pageNumber: 1,
- width: 150,
- height: 75
- });
- }
- });
-}
-
-let addCircleAnnotation = document.getElementById('addCircleAnnotation');
-if (addCircleAnnotation) {
- addCircleAnnotation.addEventListener('click', function () {
- if (pdfviewer) {
- pdfviewer.annotation.addAnnotation("Circle", {
- offset: { x: 200, y: 620 },
- pageNumber: 1,
- width: 90,
- height: 90
- });
- }
- });
-}
-
-let addPolygonAnnotation = document.getElementById('addPolygonAnnotation');
-if (addPolygonAnnotation) {
- addPolygonAnnotation.addEventListener('click', function () {
- if (pdfviewer) {
- pdfviewer.annotation.addAnnotation("Polygon", {
- offset: { x: 200, y: 800 },
- pageNumber: 1,
- vertexPoints: [{ x: 200, y: 800 }, { x: 242, y: 771 }, { x: 289, y: 799 }, { x: 278, y: 842 }, { x: 211, y: 842 }, { x: 200, y: 800 }]
- });
- }
- });
-}
-
-{% endhighlight %}
-{% endtabs %}
-
-## Edit the existing shape annotation programmatically
-
-To modify existing shape annotation in the Syncfusion PDF viewer programmatically, you can use the **editAnnotation()** method.
-
-Here is an example of how you can use the **editAnnotation()** method:
-
-```html
-
-
-
-
-
-```
-{% tabs %}
-{% highlight ts tabtitle="Standalone" %}
-
-var pdfviewer = new ej.pdfviewer.PdfViewer({
- documentPath: "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf",
- resourceUrl : "https://cdn.syncfusion.com/ej2/25.1.35/dist/ej2-pdfviewer-lib",
- });
-ej.pdfviewer.PdfViewer.Inject(ej.pdfviewer.TextSelection, ej.pdfviewer.TextSearch, ej.pdfviewer.Print, ej.pdfviewer.Navigation, ej.pdfviewer.Toolbar,
- ej.pdfviewer.Magnification, ej.pdfviewer.Annotation, ej.pdfviewer.FormDesigner, ej.pdfviewer.FormFields, ej.pdfviewer.PageOrganizer);
-pdfviewer.appendTo('#PdfViewer');
-let editLineAnnotation = document.getElementById('editLineAnnotation');
-if (editLineAnnotation) {
- editLineAnnotation.addEventListener('click', function () {
- if (pdfviewer) {
- for (let i = 0; i < pdfviewer.annotationCollection.length; i++) {
- if (pdfviewer.annotationCollection[i].subject === "Line") {
- pdfviewer.annotationCollection[i].strokeColor = "#0000FF";
- pdfviewer.annotationCollection[i].thickness = 2;
- pdfviewer.annotationCollection[i].annotationSelectorSettings.resizerShape = "Circle"
- pdfviewer.annotation.editAnnotation(pdfviewer.annotationCollection[i]);
- }
- }
- }
- });
-}
-
-let editArrowAnnotation = document.getElementById('editArrowAnnotation');
-if (editArrowAnnotation) {
- editArrowAnnotation.addEventListener('click', function () {
- if (pdfviewer) {
- for (let i = 0; i < pdfviewer.annotationCollection.length; i++) {
- if (pdfviewer.annotationCollection[i].subject === "Arrow") {
- pdfviewer.annotationCollection[i].strokeColor = "#0000FF";
- pdfviewer.annotationCollection[i].thickness = 2;
- pdfviewer.annotationCollection[i].fillColor = "#FFFF00";
- pdfviewer.annotationCollection[i].annotationSelectorSettings.resizerShape = "Circle"
- pdfviewer.annotation.editAnnotation(pdfviewer.annotationCollection[i]);
- }
- }
- }
- });
-}
-
-let editRectangleAnnotation = document.getElementById('editRectangleAnnotation');
-if (editRectangleAnnotation) {
- editRectangleAnnotation.addEventListener('click', function () {
- if (pdfviewer) {
- for (let i = 0; i < pdfviewer.annotationCollection.length; i++) {
- if (pdfviewer.annotationCollection[i].subject === "Rectangle") {
- pdfviewer.annotationCollection[i].strokeColor = "#0000FF";
- pdfviewer.annotationCollection[i].thickness = 2;
- pdfviewer.annotationCollection[i].fillColor = "#FFFF00";
- pdfviewer.annotationCollection[i].annotationSelectorSettings.resizerShape = "Circle"
- pdfviewer.annotation.editAnnotation(pdfviewer.annotationCollection[i]);
- }
- }
- }
- });
-}
-
-let editCircleAnnotation = document.getElementById('editCircleAnnotation');
-if (editCircleAnnotation) {
- editCircleAnnotation.addEventListener('click', function () {
- if (pdfviewer) {
- for (let i = 0; i < pdfviewer.annotationCollection.length; i++) {
- if (pdfviewer.annotationCollection[i].subject === "Circle") {
- pdfviewer.annotationCollection[i].strokeColor = "#0000FF";
- pdfviewer.annotationCollection[i].thickness = 2;
- pdfviewer.annotationCollection[i].fillColor = "#FFFF00";
- pdfviewer.annotationCollection[i].annotationSelectorSettings.resizerShape = "Circle"
- pdfviewer.annotation.editAnnotation(pdfviewer.annotationCollection[i]);
- }
- }
- }
- });
-}
-
-let editPolygonAnnotation = document.getElementById('editPolygonAnnotation');
-if (editPolygonAnnotation) {
- editPolygonAnnotation.addEventListener('click', function () {
- if (pdfviewer) {
- for (let i = 0; i < pdfviewer.annotationCollection.length; i++) {
- if (pdfviewer.annotationCollection[i].subject === "Polygon") {
- pdfviewer.annotationCollection[i].strokeColor = "#0000FF";
- pdfviewer.annotationCollection[i].thickness = 2;
- pdfviewer.annotationCollection[i].fillColor = "#FFFF00";
- pdfviewer.annotationCollection[i].annotationSelectorSettings.resizerShape = "Circle"
- pdfviewer.annotation.editAnnotation(pdfviewer.annotationCollection[i]);
- }
- }
- }
- });
-}
-
-{% endhighlight %}
-{% highlight ts tabtitle="Server-Backed" %}
-
-var pdfviewer = new ej.pdfviewer.PdfViewer({
- documentPath: "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf",
- serviceUrl : "https://services.syncfusion.com/js/production/api/pdfviewer",
- });
-ej.pdfviewer.PdfViewer.Inject(ej.pdfviewer.TextSelection, ej.pdfviewer.TextSearch, ej.pdfviewer.Print, ej.pdfviewer.Navigation, ej.pdfviewer.Toolbar,
- ej.pdfviewer.Magnification, ej.pdfviewer.Annotation, ej.pdfviewer.FormDesigner, ej.pdfviewer.FormFields, ej.pdfviewer.PageOrganizer);
-pdfviewer.appendTo('#PdfViewer');
-let editLineAnnotation = document.getElementById('editLineAnnotation');
-if (editLineAnnotation) {
- editLineAnnotation.addEventListener('click', function () {
- if (pdfviewer) {
- for (let i = 0; i < pdfviewer.annotationCollection.length; i++) {
- if (pdfviewer.annotationCollection[i].subject === "Line") {
- pdfviewer.annotationCollection[i].strokeColor = "#0000FF";
- pdfviewer.annotationCollection[i].thickness = 2;
- pdfviewer.annotationCollection[i].annotationSelectorSettings.resizerShape = "Circle"
- pdfviewer.annotation.editAnnotation(pdfviewer.annotationCollection[i]);
- }
- }
- }
- });
-}
-
-let editArrowAnnotation = document.getElementById('editArrowAnnotation');
-if (editArrowAnnotation) {
- editArrowAnnotation.addEventListener('click', function () {
- if (pdfviewer) {
- for (let i = 0; i < pdfviewer.annotationCollection.length; i++) {
- if (pdfviewer.annotationCollection[i].subject === "Arrow") {
- pdfviewer.annotationCollection[i].strokeColor = "#0000FF";
- pdfviewer.annotationCollection[i].thickness = 2;
- pdfviewer.annotationCollection[i].fillColor = "#FFFF00";
- pdfviewer.annotationCollection[i].annotationSelectorSettings.resizerShape = "Circle"
- pdfviewer.annotation.editAnnotation(pdfviewer.annotationCollection[i]);
- }
- }
- }
- });
-}
-
-let editRectangleAnnotation = document.getElementById('editRectangleAnnotation');
-if (editRectangleAnnotation) {
- editRectangleAnnotation.addEventListener('click', function () {
- if (pdfviewer) {
- for (let i = 0; i < pdfviewer.annotationCollection.length; i++) {
- if (pdfviewer.annotationCollection[i].subject === "Rectangle") {
- pdfviewer.annotationCollection[i].strokeColor = "#0000FF";
- pdfviewer.annotationCollection[i].thickness = 2;
- pdfviewer.annotationCollection[i].fillColor = "#FFFF00";
- pdfviewer.annotationCollection[i].annotationSelectorSettings.resizerShape = "Circle"
- pdfviewer.annotation.editAnnotation(pdfviewer.annotationCollection[i]);
- }
- }
- }
- });
-}
-
-let editCircleAnnotation = document.getElementById('editCircleAnnotation');
-if (editCircleAnnotation) {
- editCircleAnnotation.addEventListener('click', function () {
- if (pdfviewer) {
- for (let i = 0; i < pdfviewer.annotationCollection.length; i++) {
- if (pdfviewer.annotationCollection[i].subject === "Circle") {
- pdfviewer.annotationCollection[i].strokeColor = "#0000FF";
- pdfviewer.annotationCollection[i].thickness = 2;
- pdfviewer.annotationCollection[i].fillColor = "#FFFF00";
- pdfviewer.annotationCollection[i].annotationSelectorSettings.resizerShape = "Circle"
- pdfviewer.annotation.editAnnotation(pdfviewer.annotationCollection[i]);
- }
- }
- }
- });
-}
-
-let editPolygonAnnotation = document.getElementById('editPolygonAnnotation');
-if (editPolygonAnnotation) {
- editPolygonAnnotation.addEventListener('click', function () {
- if (pdfviewer) {
- for (let i = 0; i < pdfviewer.annotationCollection.length; i++) {
- if (pdfviewer.annotationCollection[i].subject === "Polygon") {
- pdfviewer.annotationCollection[i].strokeColor = "#0000FF";
- pdfviewer.annotationCollection[i].thickness = 2;
- pdfviewer.annotationCollection[i].fillColor = "#FFFF00";
- pdfviewer.annotationCollection[i].annotationSelectorSettings.resizerShape = "Circle"
- pdfviewer.annotation.editAnnotation(pdfviewer.annotationCollection[i]);
- }
- }
- }
- });
-}
-
-{% endhighlight %}
-{% endtabs %}
-
-## Editing the properties of the shape annotation
-
-The fill color, stroke color, thickness, and opacity of the shape annotation can be edited using the Edit color tool, Edit stroke color tool, Edit thickness tool, and Edit opacity tool in the annotation toolbar.
-
-### Editing fill color
-
-The fill color of the annotation can be edited using the color palette provided in the Edit Color tool.
-
-
-
-### Editing stroke color
-
-The stroke color of the annotation can be edited using the color palette provided in the Edit Stroke Color tool.
-
-
-
-### Editing thickness
-
-The thickness of the border of the annotation can be edited using the range slider provided in the Edit Thickness tool.
-
-
-
-### Editing opacity
-
-The opacity of the annotation can be edited using the range slider provided in the Edit Opacity tool.
-
-
-
-### Editing the line properties
-
-The properties of the line shapes such as line and arrow annotations can be edited using the Line Properties window. It can be opened by selecting the Properties option in the context menu that appears on right-clicking the line and arrow annotations.
-
-Refer to the following code sample to set the default annotation settings.
-
-
-
-## Setting default properties during the control initialization
-
-The properties of the shape annotations can be set before creating the control using LineSettings, ArrowSettings, RectangleSettings, CircleSettings, and PolygonSettings.
-
-{% tabs %}
-{% highlight ts tabtitle="Standalone" %}
-
-var pdfviewer = new ej.pdfviewer.PdfViewer({
- documentPath: "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf",
- resourceUrl : "https://cdn.syncfusion.com/ej2/25.1.35/dist/ej2-pdfviewer-lib",
- lineSettings : {fillColor: 'blue', opacity: 0.6, strokeColor: 'green'},
- arrowSettings : {fillColor: 'green', opacity: 0.6, strokeColor: 'blue'},
- rectangleSettings : {fillColor: 'yellow', opacity: 0.6, strokeColor: 'orange'},
- circleSettings : {fillColor: 'orange', opacity: 0.6, strokeColor: 'pink'},
- polygonSettings : {fillColor: 'pink', opacity: 0.6, strokeColor: 'yellow'}
- });
-ej.pdfviewer.PdfViewer.Inject(ej.pdfviewer.TextSelection, ej.pdfviewer.TextSearch, ej.pdfviewer.Print, ej.pdfviewer.Navigation, ej.pdfviewer.Toolbar,
- ej.pdfviewer.Magnification, ej.pdfviewer.Annotation, ej.pdfviewer.FormDesigner, ej.pdfviewer.FormFields, ej.pdfviewer.PageOrganizer);
-pdfviewer.appendTo('#PdfViewer');
-
-{% endhighlight %}
-{% highlight ts tabtitle="Server-Backed" %}
-
-var pdfviewer = new ej.pdfviewer.PdfViewer({
- documentPath: "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf",
- serviceUrl: 'https://services.syncfusion.com/js/production/api/pdfviewer',
- lineSettings : {fillColor: 'blue', opacity: 0.6, strokeColor: 'green'},
- arrowSettings : {fillColor: 'green', opacity: 0.6, strokeColor: 'blue'},
- rectangleSettings : {fillColor: 'yellow', opacity: 0.6, strokeColor: 'orange'},
- circleSettings : {fillColor: 'orange', opacity: 0.6, strokeColor: 'pink'},
- polygonSettings : {fillColor: 'pink', opacity: 0.6, strokeColor: 'yellow'}
- });
-ej.pdfviewer.PdfViewer.Inject(ej.pdfviewer.TextSelection, ej.pdfviewer.TextSearch, ej.pdfviewer.Print, ej.pdfviewer.Navigation, ej.pdfviewer.Toolbar,
- ej.pdfviewer.Magnification, ej.pdfviewer.Annotation, ej.pdfviewer.FormDesigner, ej.pdfviewer.FormFields, ej.pdfviewer.PageOrganizer);
-pdfviewer.appendTo('#PdfViewer');
-
-{% endhighlight %}
-{% endtabs %}
\ No newline at end of file
diff --git a/ej2-javascript/pdfviewer/js/annotations/signature-annotation.md b/ej2-javascript/pdfviewer/js/annotations/signature-annotation.md
deleted file mode 100644
index f1aead3cb..000000000
--- a/ej2-javascript/pdfviewer/js/annotations/signature-annotation.md
+++ /dev/null
@@ -1,257 +0,0 @@
----
-layout: post
-title: Handwritten signature in ##Platform_Name## PDF Viewer control | Syncfusion
-description: Learn here all about Handwritten signature in Syncfusion ##Platform_Name## PDF Viewer control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: PDF Viewer
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Handwritten signature ##Platform_Name## PDF Viewer control
-
-The PDF Viewer control supports adding handwritten signatures to a PDF document. The handwritten signature reduces the paper work of reviewing the content and verifies it digitally.
-
-## Adding a handwritten signature to the PDF document
-
-The handwritten signature can be added to the PDF document using the annotation toolbar.
-
-* Click the **Edit Annotation** button in the PDF Viewer toolbar. A toolbar appears below it.
-* Select the **HandWritten Signature** button in the annotation toolbar. The signature panel will appear.
-
-
-
-* Draw the signature in the signature panel.
-
-
-
-* Then click **Create** button and move the signature using the mouse and place them in the desired location.
-
-
-
-Refer to the following code sample to switch to the handwritten signature mode programmatically.
-
-```html
-
-```
-{% tabs %}
-{% highlight ts tabtitle="Standalone" %}
-
-var pdfviewer = new ej.pdfviewer.PdfViewer({
- documentPath: "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf",
- resourceUrl : "https://cdn.syncfusion.com/ej2/25.1.35/dist/ej2-pdfviewer-lib",
- });
-ej.pdfviewer.PdfViewer.Inject(ej.pdfviewer.TextSelection, ej.pdfviewer.TextSearch, ej.pdfviewer.Print, ej.pdfviewer.Navigation, ej.pdfviewer.Toolbar,
- ej.pdfviewer.Magnification, ej.pdfviewer.Annotation, ej.pdfviewer.FormDesigner, ej.pdfviewer.FormFields, ej.pdfviewer.PageOrganizer);
-pdfviewer.appendTo('#PdfViewer');
-let handWrittenSignature = document.getElementById('handWrittenSignature');
-if (handWrittenSignature) {
- handWrittenSignature.addEventListener('click', function () {
- if (pdfviewer) {
- pdfviewer.annotation.setAnnotationMode('HandWrittenSignature');
- }
- });
-}
-
-{% endhighlight %}
-{% highlight ts tabtitle="Server-Backed" %}
-
-var pdfviewer = new ej.pdfviewer.PdfViewer({
- documentPath: "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf",
- serviceUrl: 'https://services.syncfusion.com/js/production/api/pdfviewer',
- });
-ej.pdfviewer.PdfViewer.Inject(ej.pdfviewer.TextSelection, ej.pdfviewer.TextSearch, ej.pdfviewer.Print, ej.pdfviewer.Navigation, ej.pdfviewer.Toolbar,
- ej.pdfviewer.Magnification, ej.pdfviewer.Annotation, ej.pdfviewer.FormDesigner, ej.pdfviewer.FormFields, ej.pdfviewer.PageOrganizer);
-pdfviewer.appendTo('#PdfViewer');
-let handWrittenSignature = document.getElementById('handWrittenSignature');
-if (handWrittenSignature) {
- handWrittenSignature.addEventListener('click', function () {
- if (pdfviewer) {
- pdfviewer.annotation.setAnnotationMode('HandWrittenSignature');
- }
- });
-}
-{% endhighlight %}
-{% endtabs %}
-
-
-## How to enable the handwritten signature
-
-The following code snippet describes how to enable the handwritten signature in PDF Viewer. When the value is set to `false` it disables the handwritten signature.
-
-{% tabs %}
-{% highlight ts tabtitle="Standalone" %}
-
-var pdfviewer = new ej.pdfviewer.PdfViewer({
- documentPath: "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf",
- resourceUrl : "https://cdn.syncfusion.com/ej2/25.1.35/dist/ej2-pdfviewer-lib",
- enableHandwrittenSignature : false,
- });
-ej.pdfviewer.PdfViewer.Inject(ej.pdfviewer.TextSelection, ej.pdfviewer.TextSearch, ej.pdfviewer.Print, ej.pdfviewer.Navigation, ej.pdfviewer.Toolbar,
- ej.pdfviewer.Magnification, ej.pdfviewer.Annotation, ej.pdfviewer.FormDesigner, ej.pdfviewer.FormFields, ej.pdfviewer.PageOrganizer);
-pdfviewer.appendTo('#PdfViewer');
-
-{% endhighlight %}
-{% highlight ts tabtitle="Server-Backed" %}
-
-var pdfviewer = new ej.pdfviewer.PdfViewer({
- documentPath: "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf",
- serviceUrl: 'https://services.syncfusion.com/js/production/api/pdfviewer',
- enableHandwrittenSignature : false
- });
-ej.pdfviewer.PdfViewer.Inject(ej.pdfviewer.TextSelection, ej.pdfviewer.TextSearch, ej.pdfviewer.Print, ej.pdfviewer.Navigation, ej.pdfviewer.Toolbar,
- ej.pdfviewer.Magnification, ej.pdfviewer.Annotation, ej.pdfviewer.FormDesigner, ej.pdfviewer.FormFields, ej.pdfviewer.PageOrganizer);
-pdfviewer.appendTo('#PdfViewer');
-
-{% endhighlight %}
-{% endtabs %}
-
-## Adding Handwritten signature programatically to the PDF document
-
-With the PDF Viewer library, you can programmatically add a handwritten signature to the PDF Viewer control using the [**addAnnotation()**](https://helpej2.syncfusion.com/documentation/api/pdfviewer/annotation/#annotation) method.
-
-Here is an example of how you can use the **addAnnotation()** method to add the Handwritten signature programmatically
-
-```html
-
-```
-
-{% tabs %}
-{% highlight ts tabtitle="Standalone" %}
-
-var pdfviewer = new ej.pdfviewer.PdfViewer({
- documentPath: "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf",
- resourceUrl : "https://cdn.syncfusion.com/ej2/27.1.48/dist/ej2-pdfviewer-lib",
- });
-ej.pdfviewer.PdfViewer.Inject(ej.pdfviewer.TextSelection, ej.pdfviewer.TextSearch, ej.pdfviewer.Print, ej.pdfviewer.Navigation, ej.pdfviewer.Toolbar,
- ej.pdfviewer.Magnification, ej.pdfviewer.Annotation, ej.pdfviewer.FormDesigner, ej.pdfviewer.FormFields, ej.pdfviewer.PageOrganizer);
-pdfviewer.appendTo('#PdfViewer');
-
-let addHandwrittenSignature = document.getElementById('addHandwrittenSignature');
-if(addHandwrittenSignature){
- addHandwrittenSignature.addEventListener('click', function () {
- if (pdfviewer) {
- pdfviewer.annotation.addAnnotation("HandWrittenSignature", {
- offset: { x: 220, y: 180 },
- pageNumber: 1,
- width: 150,
- height: 60,
- signatureItem: ['Signature'],
- signatureDialogSettings: {
- displayMode: ej.pdfviewer.DisplayMode.Draw
- },
- canSave: true,
- path: '[{\"command\":\"M\",\"x\":244.83334350585938,\"y\":982.0000305175781},{\"command\":\"L\",\"x\":244.83334350585938,\"y\":982.0000305175781},{\"command\":\"L\",\"x\":250.83334350585938,\"y\":953.3333435058594},{\"command\":\"L\",\"x\":252.83334350585938,\"y\":946.0000305175781},{\"command\":\"L\",\"x\":254.16668701171875,\"y\":940.6667175292969},{\"command\":\"L\",\"x\":256.8333435058594,\"y\":931.3333435058594},{\"command\":\"L\",\"x\":257.5,\"y\":929.3333435058594},{\"command\":\"L\",\"x\":258.8333435058594,\"y\":926.6667175292969},{\"command\":\"L\",\"x\":259.5,\"y\":924.0000305175781},{\"command\":\"L\",\"x\":259.5,\"y\":922.6667175292969},{\"command\":\"L\",\"x\":258.8333435058594,\"y\":922.0000305175781},{\"command\":\"L\",\"x\":258.16668701171875,\"y\":922.0000305175781},{\"command\":\"L\",\"x\":256.8333435058594,\"y\":922.0000305175781},{\"command\":\"L\",\"x\":256.16668701171875,\"y\":922.6667175292969},{\"command\":\"L\",\"x\":254.83334350585938,\"y\":923.3333435058594},{\"command\":\"L\",\"x\":254.16668701171875,\"y\":923.3333435058594},{\"command\":\"L\",\"x\":253.5,\"y\":923.3333435058594},{\"command\":\"L\",\"x\":252.83334350585938,\"y\":925.3333435058594},{\"command\":\"L\",\"x\":252.83334350585938,\"y\":927.3333435058594},{\"command\":\"L\",\"x\":252.83334350585938,\"y\":936.0000305175781},{\"command\":\"L\",\"x\":253.5,\"y\":940.6667175292969},{\"command\":\"L\",\"x\":254.83334350585938,\"y\":944.6667175292969},{\"command\":\"L\",\"x\":260.16668701171875,\"y\":952.0000305175781},{\"command\":\"L\",\"x\":264.16668701171875,\"y\":954.0000305175781},{\"command\":\"L\",\"x\":274.16668701171875,\"y\":958.6667175292969},{\"command\":\"L\",\"x\":278.16668701171875,\"y\":960.0000305175781},{\"command\":\"L\",\"x\":281.5,\"y\":961.3333435058594},{\"command\":\"L\",\"x\":285.5,\"y\":964.6667175292969},{\"command\":\"L\",\"x\":286.8333740234375,\"y\":967.3333435058594},{\"command\":\"L\",\"x\":286.8333740234375,\"y\":970.0000305175781},{\"command\":\"L\",\"x\":282.8333740234375,\"y\":978.6667175292969},{\"command\":\"L\",\"x\":278.16668701171875,\"y\":983.3333435058594},{\"command\":\"L\",\"x\":266.16668701171875,\"y\":991.3333435058594},{\"command\":\"L\",\"x\":259.5,\"y\":993.3333435058594},{\"command\":\"L\",\"x\":252.16668701171875,\"y\":994.0000305175781},{\"command\":\"L\",\"x\":240.83334350585938,\"y\":991.3333435058594},{\"command\":\"L\",\"x\":236.16668701171875,\"y\":988.6667175292969},{\"command\":\"L\",\"x\":230.16668701171875,\"y\":982.6667175292969},{\"command\":\"L\",\"x\":228.83334350585938,\"y\":980.6667175292969},{\"command\":\"L\",\"x\":228.16668701171875,\"y\":978.6667175292969},{\"command\":\"L\",\"x\":228.83334350585938,\"y\":974.6667175292969},{\"command\":\"L\",\"x\":230.16668701171875,\"y\":973.3333435058594},{\"command\":\"L\",\"x\":236.16668701171875,\"y\":971.3333435058594},{\"command\":\"L\",\"x\":240.83334350585938,\"y\":971.3333435058594},{\"command\":\"L\",\"x\":246.16668701171875,\"y\":972.0000305175781},{\"command\":\"L\",\"x\":257.5,\"y\":974.6667175292969},{\"command\":\"L\",\"x\":262.8333435058594,\"y\":976.0000305175781},{\"command\":\"L\",\"x\":269.5,\"y\":977.3333435058594},{\"command\":\"L\",\"x\":276.16668701171875,\"y\":978.6667175292969},{\"command\":\"L\",\"x\":279.5,\"y\":978.0000305175781},{\"command\":\"L\",\"x\":285.5,\"y\":976.6667175292969},{\"command\":\"L\",\"x\":288.16668701171875,\"y\":974.6667175292969},{\"command\":\"L\",\"x\":292.8333740234375,\"y\":969.3333435058594},{\"command\":\"L\",\"x\":293.5,\"y\":966.6667175292969},{\"command\":\"L\",\"x\":294.16668701171875,\"y\":964.0000305175781},{\"command\":\"L\",\"x\":293.5,\"y\":960.0000305175781},{\"command\":\"L\",\"x\":293.5,\"y\":958.0000305175781},{\"command\":\"L\",\"x\":292.8333740234375,\"y\":956.6667175292969},{\"command\":\"L\",\"x\":291.5,\"y\":954.6667175292969},{\"command\":\"L\",\"x\":291.5,\"y\":954.0000305175781},{\"command\":\"L\",\"x\":291.5,\"y\":953.3333435058594},{\"command\":\"L\",\"x\":291.5,\"y\":954.0000305175781},{\"command\":\"L\",\"x\":292.16668701171875,\"y\":954.6667175292969},{\"command\":\"L\",\"x\":292.8333740234375,\"y\":956.0000305175781},{\"command\":\"L\",\"x\":294.16668701171875,\"y\":961.3333435058594},{\"command\":\"L\",\"x\":295.5,\"y\":964.6667175292969},{\"command\":\"L\",\"x\":297.5,\"y\":969.3333435058594},{\"command\":\"L\",\"x\":298.8333740234375,\"y\":970.6667175292969},{\"command\":\"L\",\"x\":301.5,\"y\":970.0000305175781},{\"command\":\"L\",\"x\":304.16668701171875,\"y\":968.6667175292969},{\"command\":\"L\",\"x\":305.5,\"y\":966.0000305175781},{\"command\":\"L\",\"x\":308.8333740234375,\"y\":960.0000305175781},{\"command\":\"L\",\"x\":310.16668701171875,\"y\":957.3333435058594},{\"command\":\"L\",\"x\":310.8333740234375,\"y\":956.0000305175781},{\"command\":\"L\",\"x\":310.8333740234375,\"y\":954.6667175292969},{\"command\":\"L\",\"x\":310.8333740234375,\"y\":954.0000305175781},{\"command\":\"L\",\"x\":311.5,\"y\":956.0000305175781},{\"command\":\"L\",\"x\":312.8333740234375,\"y\":959.3333435058594},{\"command\":\"L\",\"x\":316.16668701171875,\"y\":968.0000305175781},{\"command\":\"L\",\"x\":317.5,\"y\":972.6667175292969},{\"command\":\"L\",\"x\":318.16668701171875,\"y\":977.3333435058594},{\"command\":\"L\",\"x\":319.5,\"y\":983.3333435058594},{\"command\":\"L\",\"x\":319.5,\"y\":986.0000305175781},{\"command\":\"L\",\"x\":319.5,\"y\":988.0000305175781},{\"command\":\"L\",\"x\":318.8333740234375,\"y\":988.0000305175781},{\"command\":\"L\",\"x\":318.16668701171875,\"y\":988.6667175292969},{\"command\":\"L\",\"x\":316.16668701171875,\"y\":987.3333435058594},{\"command\":\"L\",\"x\":314.8333740234375,\"y\":985.3333435058594},{\"command\":\"L\",\"x\":314.16668701171875,\"y\":980.6667175292969},{\"command\":\"L\",\"x\":314.8333740234375,\"y\":974.6667175292969},{\"command\":\"L\",\"x\":316.16668701171875,\"y\":969.3333435058594},{\"command\":\"L\",\"x\":319.5,\"y\":960.6667175292969},{\"command\":\"L\",\"x\":320.16668701171875,\"y\":957.3333435058594},{\"command\":\"L\",\"x\":321.5,\"y\":955.3333435058594},{\"command\":\"L\",\"x\":322.16668701171875,\"y\":953.3333435058594},{\"command\":\"L\",\"x\":322.8333740234375,\"y\":952.6667175292969},{\"command\":\"L\",\"x\":324.16668701171875,\"y\":952.6667175292969},{\"command\":\"L\",\"x\":324.8333740234375,\"y\":953.3333435058594},{\"command\":\"L\",\"x\":326.8333740234375,\"y\":956.0000305175781},{\"command\":\"L\",\"x\":328.16668701171875,\"y\":958.0000305175781},{\"command\":\"L\",\"x\":328.8333740234375,\"y\":960.0000305175781},{\"command\":\"L\",\"x\":329.5,\"y\":962.0000305175781},{\"command\":\"L\",\"x\":330.16668701171875,\"y\":962.0000305175781},{\"command\":\"L\",\"x\":330.16668701171875,\"y\":962.6667175292969},{\"command\":\"L\",\"x\":330.16668701171875,\"y\":962.0000305175781},{\"command\":\"L\",\"x\":330.8333740234375,\"y\":960.0000305175781},{\"command\":\"L\",\"x\":331.5,\"y\":956.0000305175781},{\"command\":\"L\",\"x\":332.8333740234375,\"y\":952.0000305175781},{\"command\":\"L\",\"x\":333.5,\"y\":950.0000305175781},{\"command\":\"L\",\"x\":334.8333740234375,\"y\":948.6667175292969},{\"command\":\"L\",\"x\":335.5,\"y\":948.6667175292969},{\"command\":\"L\",\"x\":336.16668701171875,\"y\":948.6667175292969},{\"command\":\"L\",\"x\":337.5,\"y\":950.6667175292969},{\"command\":\"L\",\"x\":338.8333740234375,\"y\":952.0000305175781},{\"command\":\"L\",\"x\":340.8333740234375,\"y\":954.0000305175781},{\"command\":\"L\",\"x\":341.5,\"y\":954.0000305175781},{\"command\":\"L\",\"x\":342.8333740234375,\"y\":954.6667175292969},{\"command\":\"L\",\"x\":344.8333740234375,\"y\":954.0000305175781},{\"command\":\"L\",\"x\":346.8333740234375,\"y\":952.6667175292969},{\"command\":\"L\",\"x\":349.5,\"y\":949.3333435058594},{\"command\":\"L\",\"x\":350.8333740234375,\"y\":948.0000305175781},{\"command\":\"L\",\"x\":351.5,\"y\":946.6667175292969},{\"command\":\"L\",\"x\":352.8333740234375,\"y\":944.0000305175781},{\"command\":\"L\",\"x\":352.8333740234375,\"y\":943.3333435058594},{\"command\":\"L\",\"x\":354.16668701171875,\"y\":942.0000305175781},{\"command\":\"L\",\"x\":354.8333740234375,\"y\":942.0000305175781},{\"command\":\"L\",\"x\":354.8333740234375,\"y\":942.6667175292969},{\"command\":\"L\",\"x\":354.16668701171875,\"y\":943.3333435058594},{\"command\":\"L\",\"x\":354.16668701171875,\"y\":946.6667175292969},{\"command\":\"L\",\"x\":354.16668701171875,\"y\":950.0000305175781},{\"command\":\"L\",\"x\":355.5,\"y\":956.0000305175781},{\"command\":\"L\",\"x\":356.16668701171875,\"y\":957.3333435058594},{\"command\":\"L\",\"x\":358.16668701171875,\"y\":959.3333435058594},{\"command\":\"L\",\"x\":360.16668701171875,\"y\":958.0000305175781},{\"command\":\"L\",\"x\":364.16668701171875,\"y\":956.0000305175781},{\"command\":\"L\",\"x\":370.8333740234375,\"y\":948.6667175292969},{\"command\":\"L\",\"x\":373.5,\"y\":943.3333435058594},{\"command\":\"L\",\"x\":375.5,\"y\":937.3333435058594},{\"command\":\"L\",\"x\":376.16668701171875,\"y\":933.3333435058594},{\"command\":\"L\",\"x\":376.8333740234375,\"y\":931.3333435058594},{\"command\":\"L\",\"x\":376.8333740234375,\"y\":930.0000305175781},{\"command\":\"L\",\"x\":376.8333740234375,\"y\":929.3333435058594},{\"command\":\"L\",\"x\":376.16668701171875,\"y\":930.0000305175781},{\"command\":\"L\",\"x\":375.5,\"y\":932.0000305175781},{\"command\":\"L\",\"x\":375.5,\"y\":937.3333435058594},{\"command\":\"L\",\"x\":374.8333740234375,\"y\":953.3333435058594},{\"command\":\"L\",\"x\":374.8333740234375,\"y\":960.6667175292969},{\"command\":\"L\",\"x\":375.5,\"y\":966.0000305175781},{\"command\":\"L\",\"x\":377.5,\"y\":974.6667175292969},{\"command\":\"L\",\"x\":378.16668701171875,\"y\":977.3333435058594},{\"command\":\"L\",\"x\":380.8333740234375,\"y\":981.3333435058594},{\"command\":\"L\",\"x\":382.16668701171875,\"y\":982.6667175292969},{\"command\":\"L\",\"x\":383.5,\"y\":982.6667175292969},{\"command\":\"L\",\"x\":387.5,\"y\":982.6667175292969},{\"command\":\"L\",\"x\":389.5,\"y\":980.6667175292969},{\"command\":\"L\",\"x\":392.16668701171875,\"y\":976.6667175292969},{\"command\":\"L\",\"x\":392.8333740234375,\"y\":973.3333435058594},{\"command\":\"L\",\"x\":392.16668701171875,\"y\":970.0000305175781},{\"command\":\"L\",\"x\":388.8333740234375,\"y\":965.3333435058594},{\"command\":\"L\",\"x\":385.5,\"y\":964.0000305175781},{\"command\":\"L\",\"x\":382.8333740234375,\"y\":964.0000305175781},{\"command\":\"L\",\"x\":377.5,\"y\":964.0000305175781},{\"command\":\"L\",\"x\":375.5,\"y\":964.6667175292969},{\"command\":\"L\",\"x\":373.5,\"y\":965.3333435058594},{\"command\":\"L\",\"x\":374.8333740234375,\"y\":963.3333435058594},{\"command\":\"L\",\"x\":376.8333740234375,\"y\":961.3333435058594},{\"command\":\"L\",\"x\":382.16668701171875,\"y\":956.0000305175781},{\"command\":\"L\",\"x\":384.16668701171875,\"y\":953.3333435058594},{\"command\":\"L\",\"x\":387.5,\"y\":950.6667175292969},{\"command\":\"L\",\"x\":388.16668701171875,\"y\":952.0000305175781},{\"command\":\"L\",\"x\":388.16668701171875,\"y\":952.6667175292969},{\"command\":\"L\",\"x\":388.8333740234375,\"y\":954.0000305175781},{\"command\":\"L\",\"x\":388.8333740234375,\"y\":954.6667175292969},{\"command\":\"L\",\"x\":389.5,\"y\":959.3333435058594},{\"command\":\"L\",\"x\":389.5,\"y\":960.6667175292969},{\"command\":\"L\",\"x\":390.16668701171875,\"y\":961.3333435058594},{\"command\":\"L\",\"x\":390.8333740234375,\"y\":960.6667175292969},{\"command\":\"L\",\"x\":393.5,\"y\":958.0000305175781},{\"command\":\"L\",\"x\":396.8333740234375,\"y\":954.0000305175781},{\"command\":\"L\",\"x\":398.16668701171875,\"y\":952.0000305175781},{\"command\":\"L\",\"x\":400.16668701171875,\"y\":949.3333435058594},{\"command\":\"L\",\"x\":400.16668701171875,\"y\":948.6667175292969},{\"command\":\"L\",\"x\":400.8333740234375,\"y\":948.0000305175781},{\"command\":\"L\",\"x\":400.8333740234375,\"y\":947.3333435058594},{\"command\":\"L\",\"x\":401.5,\"y\":948.0000305175781},{\"command\":\"L\",\"x\":402.16668701171875,\"y\":949.3333435058594},{\"command\":\"L\",\"x\":403.5,\"y\":950.6667175292969},{\"command\":\"L\",\"x\":404.8333740234375,\"y\":953.3333435058594},{\"command\":\"L\",\"x\":406.16668701171875,\"y\":954.0000305175781},{\"command\":\"L\",\"x\":407.5,\"y\":954.0000305175781},{\"command\":\"L\",\"x\":410.16668701171875,\"y\":952.0000305175781},{\"command\":\"L\",\"x\":412.16668701171875,\"y\":949.3333435058594},{\"command\":\"L\",\"x\":414.16668701171875,\"y\":944.6667175292969},{\"command\":\"L\",\"x\":414.16668701171875,\"y\":942.0000305175781},{\"command\":\"L\",\"x\":414.16668701171875,\"y\":940.6667175292969},{\"command\":\"L\",\"x\":414.16668701171875,\"y\":938.6667175292969},{\"command\":\"L\",\"x\":414.16668701171875,\"y\":938.0000305175781},{\"command\":\"L\",\"x\":415.5,\"y\":939.3333435058594},{\"command\":\"L\",\"x\":418.8333740234375,\"y\":942.6667175292969},{\"command\":\"L\",\"x\":420.16668701171875,\"y\":945.3333435058594},{\"command\":\"L\",\"x\":421.5,\"y\":946.6667175292969},{\"command\":\"L\",\"x\":422.8333740234375,\"y\":950.0000305175781},{\"command\":\"L\",\"x\":423.5,\"y\":950.6667175292969},{\"command\":\"L\",\"x\":423.5,\"y\":953.3333435058594},{\"command\":\"L\",\"x\":422.8333740234375,\"y\":954.0000305175781},{\"command\":\"L\",\"x\":421.5,\"y\":955.3333435058594},{\"command\":\"L\",\"x\":421.5,\"y\":956.0000305175781},{\"command\":\"L\",\"x\":422.16668701171875,\"y\":954.6667175292969},{\"command\":\"L\",\"x\":422.8333740234375,\"y\":954.0000305175781},{\"command\":\"L\",\"x\":424.8333740234375,\"y\":950.6667175292969},{\"command\":\"L\",\"x\":425.5,\"y\":948.6667175292969},{\"command\":\"L\",\"x\":428.16668701171875,\"y\":945.3333435058594},{\"command\":\"L\",\"x\":428.8333740234375,\"y\":943.3333435058594},{\"command\":\"L\",\"x\":428.8333740234375,\"y\":942.6667175292969},{\"command\":\"L\",\"x\":428.8333740234375,\"y\":943.3333435058594},{\"command\":\"L\",\"x\":428.8333740234375,\"y\":945.3333435058594},{\"command\":\"L\",\"x\":428.8333740234375,\"y\":948.0000305175781},{\"command\":\"L\",\"x\":428.8333740234375,\"y\":950.0000305175781},{\"command\":\"L\",\"x\":429.5,\"y\":953.3333435058594},{\"command\":\"L\",\"x\":430.16668701171875,\"y\":953.3333435058594},{\"command\":\"L\",\"x\":432.8333740234375,\"y\":952.6667175292969},{\"command\":\"L\",\"x\":434.8333740234375,\"y\":950.6667175292969},{\"command\":\"L\",\"x\":437.5,\"y\":948.6667175292969},{\"command\":\"L\",\"x\":440.16668701171875,\"y\":944.6667175292969},{\"command\":\"L\",\"x\":441.5,\"y\":942.6667175292969},{\"command\":\"L\",\"x\":442.16668701171875,\"y\":942.0000305175781},{\"command\":\"L\",\"x\":442.8333740234375,\"y\":941.3333435058594},{\"command\":\"L\",\"x\":442.8333740234375,\"y\":942.0000305175781},{\"command\":\"L\",\"x\":442.8333740234375,\"y\":943.3333435058594},{\"command\":\"L\",\"x\":442.8333740234375,\"y\":944.6667175292969},{\"command\":\"L\",\"x\":442.8333740234375,\"y\":946.0000305175781},{\"command\":\"L\",\"x\":443.5,\"y\":949.3333435058594},{\"command\":\"L\",\"x\":444.16668701171875,\"y\":950.6667175292969},{\"command\":\"L\",\"x\":445.5,\"y\":950.6667175292969},{\"command\":\"L\",\"x\":447.5,\"y\":950.6667175292969},{\"command\":\"L\",\"x\":450.16668701171875,\"y\":948.6667175292969},{\"command\":\"L\",\"x\":452.16668701171875,\"y\":945.3333435058594},{\"command\":\"L\",\"x\":453.5,\"y\":942.6667175292969},{\"command\":\"L\",\"x\":452.8333740234375,\"y\":938.6667175292969},{\"command\":\"L\",\"x\":452.16668701171875,\"y\":937.3333435058594},{\"command\":\"L\",\"x\":450.8333740234375,\"y\":936.6667175292969},{\"command\":\"L\",\"x\":448.8333740234375,\"y\":936.0000305175781},{\"command\":\"L\",\"x\":447.5,\"y\":936.6667175292969},{\"command\":\"L\",\"x\":446.16668701171875,\"y\":937.3333435058594},{\"command\":\"L\",\"x\":445.5,\"y\":938.6667175292969},{\"command\":\"L\",\"x\":445.5,\"y\":939.3333435058594},{\"command\":\"L\",\"x\":446.16668701171875,\"y\":939.3333435058594},{\"command\":\"L\",\"x\":446.8333740234375,\"y\":939.3333435058594},{\"command\":\"L\",\"x\":452.16668701171875,\"y\":937.3333435058594},{\"command\":\"L\",\"x\":454.8333740234375,\"y\":936.6667175292969},{\"command\":\"L\",\"x\":456.8333740234375,\"y\":936.0000305175781},{\"command\":\"L\",\"x\":459.5,\"y\":936.6667175292969},{\"command\":\"L\",\"x\":460.8333740234375,\"y\":937.3333435058594},{\"command\":\"L\",\"x\":461.5,\"y\":938.6667175292969},{\"command\":\"L\",\"x\":462.16668701171875,\"y\":942.0000305175781},{\"command\":\"L\",\"x\":462.16668701171875,\"y\":942.6667175292969},{\"command\":\"L\",\"x\":462.16668701171875,\"y\":944.0000305175781},{\"command\":\"L\",\"x\":462.16668701171875,\"y\":943.3333435058594},{\"command\":\"L\",\"x\":462.16668701171875,\"y\":942.6667175292969},{\"command\":\"L\",\"x\":462.16668701171875,\"y\":941.3333435058594},{\"command\":\"L\",\"x\":462.8333740234375,\"y\":938.6667175292969},{\"command\":\"L\",\"x\":464.16668701171875,\"y\":935.3333435058594},{\"command\":\"L\",\"x\":465.5,\"y\":933.3333435058594},{\"command\":\"L\",\"x\":466.16668701171875,\"y\":932.6667175292969},{\"command\":\"L\",\"x\":467.5,\"y\":933.3333435058594},{\"command\":\"L\",\"x\":469.5,\"y\":935.3333435058594},{\"command\":\"L\",\"x\":470.16668701171875,\"y\":938.6667175292969},{\"command\":\"L\",\"x\":472.8333740234375,\"y\":943.3333435058594},{\"command\":\"L\",\"x\":472.8333740234375,\"y\":944.6667175292969},{\"command\":\"L\",\"x\":474.16668701171875,\"y\":944.6667175292969},{\"command\":\"L\",\"x\":475.5,\"y\":944.0000305175781},{\"command\":\"L\",\"x\":478.16668701171875,\"y\":941.3333435058594},{\"command\":\"L\",\"x\":481.5,\"y\":937.3333435058594},{\"command\":\"L\",\"x\":484.8333740234375,\"y\":934.0000305175781},{\"command\":\"L\",\"x\":488.8333740234375,\"y\":929.3333435058594},{\"command\":\"L\",\"x\":489.5,\"y\":928.0000305175781}]'
- });
- pdfviewer.annotation.addAnnotation("HandWrittenSignature", {
- offset: { x: 200, y: 310 },
- pageNumber: 1,
- width: 200,
- height: 65,
- signatureItem: ['Signature'],
- signatureDialogSettings: {
- displayMode: ej.pdfviewer.DisplayMode.Text, hideSaveSignature: false
- },
- canSave: false,
- path: 'Syncfusion',
- fontFamily: "Helvetica",
- });
- pdfviewer.annotation.addAnnotation("Initial", {
- offset: { x: 200, y: 500 },
- pageNumber: 1,
- width: 200,
- height: 80,
- signatureItem: ['Initial'],
- initialDialogSettings: {
- displayMode: ej.pdfviewer.DisplayMode.Upload, hideSaveSignature: false
- },
- canSave: true,
- path: "data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wCEAAkGBwgHBgkIBwgKCgkLDRYPDQwMDRsUFRAWIB0iIiAdHx8kKDQsJCYxJx8fLT0tMTU3Ojo6Iys/RD84QzQ5OjcBCgoKDQwNGg8PGjclHyU3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3N//AABEIAIIAqwMBIgACEQEDEQH/xAAbAAEAAgMBAQAAAAAAAAAAAAAABQYBAwQHAv/EAEEQAAEDAwIEAwYDBAYLAAAAAAECAwQABREGIRIxQVETYXEHFCIygZEVQmIjUnKCJCUzU6HRFhc1c5KisbKzwvD/xAAVAQEBAAAAAAAAAAAAAAAAAAAAAf/EABQRAQAAAAAAAAAAAAAAAAAAAAD/2gAMAwEAAhEDEQA/APcaUpQKUpQKUpQKUpQKUpQKVzXGdFtsN2ZPfbYjNJ4nHHDgJFfEK5Q5ttbuUaQhcNxvxUPcklPfflQdlYJxURpe/salthuMNpxEYvuNtKc28VKVcPGB2JB577Vyz7pNuUxy26eWlCml8Mu4OI4kR/0oB2Wvp2T17EJK43qDbloakOqL7m6I7TanHVjOMhCQTjzxgVut89i4Mqdj8Y4VlC0OIKFIUOYKTuOn0INRZZtWkrVLuDpIIHHJlPK4nX1dOJR5kk4A5DYDArVoWbHuVgTPjvF5Ul5xx5zhIBc4jkJyBlI+UHqE0FjpSlApSlApSlApSlApSlApSlApSlArClAczgVmqr7QZLptkezxHi1KvD4ihxKsFprBU6v6IB+pFBTdUKf1uUuFa0WpyUIVoYBx706chchXdKEhZSPLNXXVTsOw6NdjNxkvJS0iLEidHnDhLaPME4z5ZzVHk6kTHu1vTpyE1Jf8L3Oww1ZDaGc4XJXjklXDhP6UlWd63ybrL1rq1mNa1hLcAKEeQgcTbbvyuScHnw5KGweZJPIVRYoDT6okfSlnfWhmCwlu43FGAUKxu2j9atyT+UHvirZBixLZBaiQ2kR4zCMIQnZKRWuz2yLZ7czBgo4GWh13KidypR6qJJJPevOvaFqCXqC4HSGmzxlxQbmvJJAPXwwe2M8R9R3FQc1xde9qOqEW+C44jTFuVxPvtnHvCvI+e4HYZPavV4sdmLGajxmktMtJCENpGAkDkBUbpixRNO2dm3Q0/Cj4lrPNazzUf/uWKlkkEZByKDNKUoFKUoFKUoFKUoFKwahZ2p7dFfMZhTs+ZnHu0FHirB/VjZHqogUE3WOIYzUApzUlwBKUxLOwQCFL/bv467DCEn6qr5i6btk5ht+ZOlXlCxlLkiTxtr8whGG8fy0HdK1FZorymHbjH8dPNlC+NY/lTk1XNTe0m12SCXBFnrkOpX7uh6ItkKUBzPGEnhzjcA1bokKLAZS1BjMx20jAQy2EjHoK85i6PuOovaFNv+pWPDt8J/ggMKUCXktq+BX8HNXmT2G9HLF1trSyW2GrUFgbluT3eCIRIS26tS/iSjwgCcDl35Z3qBlSb/edVcN58e4tojKafiW2MfDQpRBXF8X5UnZPGsq5ZAr0TV2j52oL9Anx7wqCxHYWypLbeXAFH4lNqz8KiNs8x0qy2e1QrNbmYFuZDUdkYSkHOT1JPUk7k0HhsG6u3SHPeisLFwnucE95hOPdmc8DUNhR/OrCR5Ak9NvX9F6cRp20IZIR706AX1I5DA2Qn9KRsPvzJqGmXG0N6pfk3KTEhW2ykBsLKUh2Y4nKlY6lKCAOuVmuafry5T5rFs0vaHQ5JSVIm3FBaQhvq7wfNwjurAPnQZ9pms1WtlVmtDqRcnxwrdK+ERknqT0Vj7DftUN7OA1BilywWx65TnU8PjOAtMsJJzlbhBypXMhPFgADbrF6B0sNSagkzrk+5cbTDeUQ5IHwy3T+bHbYE/y9yK9sabQ02lDSAhCRhKUjAAoIaFaZ8gh++zg8vIKYsUFphB+/Ev8AmONuVTYGBgcqzSoFKUoFKUoFKUoFcV4mOW+2yJbEN6Y40gqTHYGVuHsK7awRmg8rd/1gameJn2n8Ptv5YQn+78f+8cSFLI57AJ8/Oy2eyalhxkRo79htEVI2YgQ1uEH+JSgD68NW/FQ2r7yqxWCTNZR4knZqM1/ePLPChP3IoKRc4l91FqJ3TkfUst2Aygfiz7TDTaEA8mkEAnjPXfAH2NohaPehR2Y8bVF9QwygNttJMcJSkDAAAZru0hY02CyMxFK8SWv9rMfPN55W6lE9d9vQCpughmrLNZVxI1Fc19kupYUn/wAYP+NdQVMjD+khEhsfM40nhUPMp3z9D9K76xQRN/uNxjWj3qwW9F0krKfDa8YISUn83F25VVocf2kXdR/EJlrskZQxiM14ryR5ZJA9c/SrHo973m2SFjPhCfKSzn9wPLCceXbyxUpPmRrdDemTHUMx2UFbjizgJAoPGrbpyJBRPvEi53STfhc34MRCVMrckLSvCT8aFEEjBUQdhUlfbHcrcItuYvc+VqbUBDcpf7PgDSfnJPBxBCQcDBGcnlUn7Om4kly+aonhbPBPkeGiRsIqCEqUcHkSMZ9K5bRqqMbjJ1E5FkTrndFe72m2sAF1MVBI4iD8iVKyoqO2w7VRbrJpRdkt7MGDe56GGhgJ8Njn1P8AZ9fPNd5gXNKQEXt0q7uRmz/0AqFja29znGFq2EmxuqaLzDrkhK2XUj5gF7YUNvhqsX+66nvtqlarsrsmDa7aUvQIqQULuCUqHiLdGPk4c8I686g9BMK8/lu7IxyzCB/9q4bpJkWeP7xd9TQojGeHjdipRk9hlW5/yrF21raoEGM/HcM+TMSDEhwyFuv55YA5DfcnYVx2fTD9wm/jeskMS7goYYhY42IKeyQeajtlR68tqCUjtXWVHakQL/FejupC23PcwsLSeoKVgEVsLWomsFMm1yAM5C2HGir6hSsfY1B6ILViuV50utSWkRpHvNvQTgGO6OLCe/CviB7bVMXjVMC2vCG0VTrk4MtQIeHHleZHJCf1KwKDTcNSqskB2XqSCYjTQ3fYcDzSj0SOSgSdhlP1r50FqherbM5cVQVQwmQtkNlfFxBON8/XB8wa4JNsfUzJ1Jq/wXFQWnH4tvbPEzFCUk8RyPjd2+bkOQ7nHs0iSLRY7dBkKUoy4gnYV8yHFEFxPoCtOPU+VBdaUpQKUpQKqF4H4xry027YxrYyq4yB3cPwND/vV9BVvNVTRf8ATrhqC9KIUJU4x2T2aZHAB/xcZ+tBa6UpQKr+r7lIjRWrdaz/AFrcleBF2z4W3xOq8kDf1wOtSV5ukSz216fOc4GGhk4GSo9EpHVROwHU1DaWtst2S9qG+N8Nzlp4WWSc+6R85S0P1dVHqfSgm7Rb2bTbItvjcXhR2g2kqOVKx1J6k8zVbfP+leoSxkGx2h7LxztJlD8h6FCOZ/VjtXdq25ymWY9ptSv61uSi2yr+4Rj43T5JHLzIrRfHIujtCy/dthFiqQyD8zrqhgZ7qUo/40FJsbL2q7W/YYchUdqdMlXC5SEDJQhbq/CbHTKuEEj90edXfRWi4Gk4yvAUqTMdADsp35ikckj91I7Vn2e6bTpnTUaG5hUtweLJcHVw9PQch6VZ6Dhudot12aQ1dIEWa2hXEhEllLgSe4Cga7OBPBwYHDjGMbYr6pQRNp03ZrM669arVChuu/OphkJJ8tunlUt0pSgjLxYLVew2LtAYleEctqcT8SPRXMfevq0WO12VtTdpgRoiVHKy02AVnuo8z9akaUEBr2O9L0beI8dtx1xyMpIQ2kqUodQANycZrk07JVeLyq4R2HmrZCiiJFW62UF9SilS1AHfhHAgA7b8XlVqIzWMb0GaUpQKUpQc9wkCJAkyVcmWlOH6AmoL2bsqZ0LZi4SXHowfcUeZU58ZP3VUpqNlcjT1zYaGVuRHUJA6koIFcuiZDcnR9lea+RcFkgdvgG1BN1omS48GM7JluoZYaSVuOLOEpSOZJrXdLjEtUF2bcJLceM0MrccOAP8AP0qqR4czWk1qfd2HItgZWFxLe6MLlKHJ14dE9kH1NBttDEjVVzYvtxaUza4547ZCdThSz0kLHQ4+UdAc86tcmQzDjOyJLiW2WUFxxxWwSkDJJ+lbQAOVVPU6vx29xdLsqPgBKZdzIG3ghWEtE9CtX/Kk0GzSTDlwekamnNlL08BMNCs5ZijdAweRVniPqB0qsarce1XrezWlghVsiTCp3B/tFtDicPok8CP4lq7VedSzXYFr8OBwpmyVCPEyPhStQPxEfupAKj5JNVz2eW9t2RIvLJWqGlsQbetXN1pCsuPerjmVZ6gCqLyBis0pUClKUClKUClKUClKUClKUClKUGCMjFVNqw36yeOxpmbb/wAPdcU43GntLPuqlHJCFJO6ckkJI2zzq20oKtE0iZE5q46mnKu8to8TLSmwiMwe6G99/wBSiTVoGwrNcV4uUez2yTcJiiGY7ZWrAyT2AHUk7D1oMXq6R7PapNxlk+FHQVkAZKj0SB1JOAPWozRtqfhW5ybcf9qXJz3qZk54FEbNg9kDCfoT1qGi++alvEGJdGwlq2hE+e0FApTKVu0we4Qk8R7nhNXkcqCs6q0zK1DcIWbkqNbW23ESmWk4ceCsZAV+UEAgnngnvViix2okZqPHbS2y0kIbQkYCUjYAVtpQKUpQKUpQKUpQKUpQKUpQKUpQKUpQKUpQKouv7mwi7W2HJBdZiJNxXHSd5DoUER2gOpU4rI/gq9VxO2i3PXRu6OwmFz2m/DbkKQCtKck4B+p+9BxaTtblqtQEvhM+UtUqatO4U8vdW/YbJHkkVNVgDFZoFKUoFKUoFKUoFKUoFKUoFKUoFKUoFKUoFKUoFKUoFKUoFKUoFKUoFKUoFKUoFKUoFKUoFKUoP//Z"
- });
- }
- });
-}
-
-{% endhighlight %}
-
-{% highlight ts tabtitle="Server-Backed" %}
-
-var pdfviewer = new ej.pdfviewer.PdfViewer({
- documentPath: "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf",
- serviceUrl : "https://services.syncfusion.com/js/production/api/pdfviewer",
- });
-ej.pdfviewer.PdfViewer.Inject(ej.pdfviewer.TextSelection, ej.pdfviewer.TextSearch, ej.pdfviewer.Print, ej.pdfviewer.Navigation, ej.pdfviewer.Toolbar,
- ej.pdfviewer.Magnification, ej.pdfviewer.Annotation, ej.pdfviewer.FormDesigner, ej.pdfviewer.FormFields, ej.pdfviewer.PageOrganizer);
-pdfviewer.appendTo('#PdfViewer');
-let addHandwrittenSignature = document.getElementById('addHandwrittenSignature');
-if(addHandwrittenSignature){
- addHandwrittenSignature.addEventListener('click', function () {
- if (pdfviewer) {
- pdfviewer.annotation.addAnnotation("Initial", {
- offset: { x: 220, y: 180 },
- pageNumber: 1,
- width: 150,
- height: 60,
- signatureItem: ['Initial'],
- initialDialogSettings: {
- displayMode: ej.pdfviewer.DisplayMode.Draw
- },
- canSave: true,
- path: '[{\"command\":\"M\",\"x\":244.83334350585938,\"y\":982.0000305175781},{\"command\":\"L\",\"x\":244.83334350585938,\"y\":982.0000305175781},{\"command\":\"L\",\"x\":250.83334350585938,\"y\":953.3333435058594},{\"command\":\"L\",\"x\":252.83334350585938,\"y\":946.0000305175781},{\"command\":\"L\",\"x\":254.16668701171875,\"y\":940.6667175292969},{\"command\":\"L\",\"x\":256.8333435058594,\"y\":931.3333435058594},{\"command\":\"L\",\"x\":257.5,\"y\":929.3333435058594},{\"command\":\"L\",\"x\":258.8333435058594,\"y\":926.6667175292969},{\"command\":\"L\",\"x\":259.5,\"y\":924.0000305175781},{\"command\":\"L\",\"x\":259.5,\"y\":922.6667175292969},{\"command\":\"L\",\"x\":258.8333435058594,\"y\":922.0000305175781},{\"command\":\"L\",\"x\":258.16668701171875,\"y\":922.0000305175781},{\"command\":\"L\",\"x\":256.8333435058594,\"y\":922.0000305175781},{\"command\":\"L\",\"x\":256.16668701171875,\"y\":922.6667175292969},{\"command\":\"L\",\"x\":254.83334350585938,\"y\":923.3333435058594},{\"command\":\"L\",\"x\":254.16668701171875,\"y\":923.3333435058594},{\"command\":\"L\",\"x\":253.5,\"y\":923.3333435058594},{\"command\":\"L\",\"x\":252.83334350585938,\"y\":925.3333435058594},{\"command\":\"L\",\"x\":252.83334350585938,\"y\":927.3333435058594},{\"command\":\"L\",\"x\":252.83334350585938,\"y\":936.0000305175781},{\"command\":\"L\",\"x\":253.5,\"y\":940.6667175292969},{\"command\":\"L\",\"x\":254.83334350585938,\"y\":944.6667175292969},{\"command\":\"L\",\"x\":260.16668701171875,\"y\":952.0000305175781},{\"command\":\"L\",\"x\":264.16668701171875,\"y\":954.0000305175781},{\"command\":\"L\",\"x\":274.16668701171875,\"y\":958.6667175292969},{\"command\":\"L\",\"x\":278.16668701171875,\"y\":960.0000305175781},{\"command\":\"L\",\"x\":281.5,\"y\":961.3333435058594},{\"command\":\"L\",\"x\":285.5,\"y\":964.6667175292969},{\"command\":\"L\",\"x\":286.8333740234375,\"y\":967.3333435058594},{\"command\":\"L\",\"x\":286.8333740234375,\"y\":970.0000305175781},{\"command\":\"L\",\"x\":282.8333740234375,\"y\":978.6667175292969},{\"command\":\"L\",\"x\":278.16668701171875,\"y\":983.3333435058594},{\"command\":\"L\",\"x\":266.16668701171875,\"y\":991.3333435058594},{\"command\":\"L\",\"x\":259.5,\"y\":993.3333435058594},{\"command\":\"L\",\"x\":252.16668701171875,\"y\":994.0000305175781},{\"command\":\"L\",\"x\":240.83334350585938,\"y\":991.3333435058594},{\"command\":\"L\",\"x\":236.16668701171875,\"y\":988.6667175292969},{\"command\":\"L\",\"x\":230.16668701171875,\"y\":982.6667175292969},{\"command\":\"L\",\"x\":228.83334350585938,\"y\":980.6667175292969},{\"command\":\"L\",\"x\":228.16668701171875,\"y\":978.6667175292969},{\"command\":\"L\",\"x\":228.83334350585938,\"y\":974.6667175292969},{\"command\":\"L\",\"x\":230.16668701171875,\"y\":973.3333435058594},{\"command\":\"L\",\"x\":236.16668701171875,\"y\":971.3333435058594},{\"command\":\"L\",\"x\":240.83334350585938,\"y\":971.3333435058594},{\"command\":\"L\",\"x\":246.16668701171875,\"y\":972.0000305175781},{\"command\":\"L\",\"x\":257.5,\"y\":974.6667175292969},{\"command\":\"L\",\"x\":262.8333435058594,\"y\":976.0000305175781},{\"command\":\"L\",\"x\":269.5,\"y\":977.3333435058594},{\"command\":\"L\",\"x\":276.16668701171875,\"y\":978.6667175292969},{\"command\":\"L\",\"x\":279.5,\"y\":978.0000305175781},{\"command\":\"L\",\"x\":285.5,\"y\":976.6667175292969},{\"command\":\"L\",\"x\":288.16668701171875,\"y\":974.6667175292969},{\"command\":\"L\",\"x\":292.8333740234375,\"y\":969.3333435058594},{\"command\":\"L\",\"x\":293.5,\"y\":966.6667175292969},{\"command\":\"L\",\"x\":294.16668701171875,\"y\":964.0000305175781},{\"command\":\"L\",\"x\":293.5,\"y\":960.0000305175781},{\"command\":\"L\",\"x\":293.5,\"y\":958.0000305175781},{\"command\":\"L\",\"x\":292.8333740234375,\"y\":956.6667175292969},{\"command\":\"L\",\"x\":291.5,\"y\":954.6667175292969},{\"command\":\"L\",\"x\":291.5,\"y\":954.0000305175781},{\"command\":\"L\",\"x\":291.5,\"y\":953.3333435058594},{\"command\":\"L\",\"x\":291.5,\"y\":954.0000305175781},{\"command\":\"L\",\"x\":292.16668701171875,\"y\":954.6667175292969},{\"command\":\"L\",\"x\":292.8333740234375,\"y\":956.0000305175781},{\"command\":\"L\",\"x\":294.16668701171875,\"y\":961.3333435058594},{\"command\":\"L\",\"x\":295.5,\"y\":964.6667175292969},{\"command\":\"L\",\"x\":297.5,\"y\":969.3333435058594},{\"command\":\"L\",\"x\":298.8333740234375,\"y\":970.6667175292969},{\"command\":\"L\",\"x\":301.5,\"y\":970.0000305175781},{\"command\":\"L\",\"x\":304.16668701171875,\"y\":968.6667175292969},{\"command\":\"L\",\"x\":305.5,\"y\":966.0000305175781},{\"command\":\"L\",\"x\":308.8333740234375,\"y\":960.0000305175781},{\"command\":\"L\",\"x\":310.16668701171875,\"y\":957.3333435058594},{\"command\":\"L\",\"x\":310.8333740234375,\"y\":956.0000305175781},{\"command\":\"L\",\"x\":310.8333740234375,\"y\":954.6667175292969},{\"command\":\"L\",\"x\":310.8333740234375,\"y\":954.0000305175781},{\"command\":\"L\",\"x\":311.5,\"y\":956.0000305175781},{\"command\":\"L\",\"x\":312.8333740234375,\"y\":959.3333435058594},{\"command\":\"L\",\"x\":316.16668701171875,\"y\":968.0000305175781},{\"command\":\"L\",\"x\":317.5,\"y\":972.6667175292969},{\"command\":\"L\",\"x\":318.16668701171875,\"y\":977.3333435058594},{\"command\":\"L\",\"x\":319.5,\"y\":983.3333435058594},{\"command\":\"L\",\"x\":319.5,\"y\":986.0000305175781},{\"command\":\"L\",\"x\":319.5,\"y\":988.0000305175781},{\"command\":\"L\",\"x\":318.8333740234375,\"y\":988.0000305175781},{\"command\":\"L\",\"x\":318.16668701171875,\"y\":988.6667175292969},{\"command\":\"L\",\"x\":316.16668701171875,\"y\":987.3333435058594},{\"command\":\"L\",\"x\":314.8333740234375,\"y\":985.3333435058594},{\"command\":\"L\",\"x\":314.16668701171875,\"y\":980.6667175292969},{\"command\":\"L\",\"x\":314.8333740234375,\"y\":974.6667175292969},{\"command\":\"L\",\"x\":316.16668701171875,\"y\":969.3333435058594},{\"command\":\"L\",\"x\":319.5,\"y\":960.6667175292969},{\"command\":\"L\",\"x\":320.16668701171875,\"y\":957.3333435058594},{\"command\":\"L\",\"x\":321.5,\"y\":955.3333435058594},{\"command\":\"L\",\"x\":322.16668701171875,\"y\":953.3333435058594},{\"command\":\"L\",\"x\":322.8333740234375,\"y\":952.6667175292969},{\"command\":\"L\",\"x\":324.16668701171875,\"y\":952.6667175292969},{\"command\":\"L\",\"x\":324.8333740234375,\"y\":953.3333435058594},{\"command\":\"L\",\"x\":326.8333740234375,\"y\":956.0000305175781},{\"command\":\"L\",\"x\":328.16668701171875,\"y\":958.0000305175781},{\"command\":\"L\",\"x\":328.8333740234375,\"y\":960.0000305175781},{\"command\":\"L\",\"x\":329.5,\"y\":962.0000305175781},{\"command\":\"L\",\"x\":330.16668701171875,\"y\":962.0000305175781},{\"command\":\"L\",\"x\":330.16668701171875,\"y\":962.6667175292969},{\"command\":\"L\",\"x\":330.16668701171875,\"y\":962.0000305175781},{\"command\":\"L\",\"x\":330.8333740234375,\"y\":960.0000305175781},{\"command\":\"L\",\"x\":331.5,\"y\":956.0000305175781},{\"command\":\"L\",\"x\":332.8333740234375,\"y\":952.0000305175781},{\"command\":\"L\",\"x\":333.5,\"y\":950.0000305175781},{\"command\":\"L\",\"x\":334.8333740234375,\"y\":948.6667175292969},{\"command\":\"L\",\"x\":335.5,\"y\":948.6667175292969},{\"command\":\"L\",\"x\":336.16668701171875,\"y\":948.6667175292969},{\"command\":\"L\",\"x\":337.5,\"y\":950.6667175292969},{\"command\":\"L\",\"x\":338.8333740234375,\"y\":952.0000305175781},{\"command\":\"L\",\"x\":340.8333740234375,\"y\":954.0000305175781},{\"command\":\"L\",\"x\":341.5,\"y\":954.0000305175781},{\"command\":\"L\",\"x\":342.8333740234375,\"y\":954.6667175292969},{\"command\":\"L\",\"x\":344.8333740234375,\"y\":954.0000305175781},{\"command\":\"L\",\"x\":346.8333740234375,\"y\":952.6667175292969},{\"command\":\"L\",\"x\":349.5,\"y\":949.3333435058594},{\"command\":\"L\",\"x\":350.8333740234375,\"y\":948.0000305175781},{\"command\":\"L\",\"x\":351.5,\"y\":946.6667175292969},{\"command\":\"L\",\"x\":352.8333740234375,\"y\":944.0000305175781},{\"command\":\"L\",\"x\":352.8333740234375,\"y\":943.3333435058594},{\"command\":\"L\",\"x\":354.16668701171875,\"y\":942.0000305175781},{\"command\":\"L\",\"x\":354.8333740234375,\"y\":942.0000305175781},{\"command\":\"L\",\"x\":354.8333740234375,\"y\":942.6667175292969},{\"command\":\"L\",\"x\":354.16668701171875,\"y\":943.3333435058594},{\"command\":\"L\",\"x\":354.16668701171875,\"y\":946.6667175292969},{\"command\":\"L\",\"x\":354.16668701171875,\"y\":950.0000305175781},{\"command\":\"L\",\"x\":355.5,\"y\":956.0000305175781},{\"command\":\"L\",\"x\":356.16668701171875,\"y\":957.3333435058594},{\"command\":\"L\",\"x\":358.16668701171875,\"y\":959.3333435058594},{\"command\":\"L\",\"x\":360.16668701171875,\"y\":958.0000305175781},{\"command\":\"L\",\"x\":364.16668701171875,\"y\":956.0000305175781},{\"command\":\"L\",\"x\":370.8333740234375,\"y\":948.6667175292969},{\"command\":\"L\",\"x\":373.5,\"y\":943.3333435058594},{\"command\":\"L\",\"x\":375.5,\"y\":937.3333435058594},{\"command\":\"L\",\"x\":376.16668701171875,\"y\":933.3333435058594},{\"command\":\"L\",\"x\":376.8333740234375,\"y\":931.3333435058594},{\"command\":\"L\",\"x\":376.8333740234375,\"y\":930.0000305175781},{\"command\":\"L\",\"x\":376.8333740234375,\"y\":929.3333435058594},{\"command\":\"L\",\"x\":376.16668701171875,\"y\":930.0000305175781},{\"command\":\"L\",\"x\":375.5,\"y\":932.0000305175781},{\"command\":\"L\",\"x\":375.5,\"y\":937.3333435058594},{\"command\":\"L\",\"x\":374.8333740234375,\"y\":953.3333435058594},{\"command\":\"L\",\"x\":374.8333740234375,\"y\":960.6667175292969},{\"command\":\"L\",\"x\":375.5,\"y\":966.0000305175781},{\"command\":\"L\",\"x\":377.5,\"y\":974.6667175292969},{\"command\":\"L\",\"x\":378.16668701171875,\"y\":977.3333435058594},{\"command\":\"L\",\"x\":380.8333740234375,\"y\":981.3333435058594},{\"command\":\"L\",\"x\":382.16668701171875,\"y\":982.6667175292969},{\"command\":\"L\",\"x\":383.5,\"y\":982.6667175292969},{\"command\":\"L\",\"x\":387.5,\"y\":982.6667175292969},{\"command\":\"L\",\"x\":389.5,\"y\":980.6667175292969},{\"command\":\"L\",\"x\":392.16668701171875,\"y\":976.6667175292969},{\"command\":\"L\",\"x\":392.8333740234375,\"y\":973.3333435058594},{\"command\":\"L\",\"x\":392.16668701171875,\"y\":970.0000305175781},{\"command\":\"L\",\"x\":388.8333740234375,\"y\":965.3333435058594},{\"command\":\"L\",\"x\":385.5,\"y\":964.0000305175781},{\"command\":\"L\",\"x\":382.8333740234375,\"y\":964.0000305175781},{\"command\":\"L\",\"x\":377.5,\"y\":964.0000305175781},{\"command\":\"L\",\"x\":375.5,\"y\":964.6667175292969},{\"command\":\"L\",\"x\":373.5,\"y\":965.3333435058594},{\"command\":\"L\",\"x\":374.8333740234375,\"y\":963.3333435058594},{\"command\":\"L\",\"x\":376.8333740234375,\"y\":961.3333435058594},{\"command\":\"L\",\"x\":382.16668701171875,\"y\":956.0000305175781},{\"command\":\"L\",\"x\":384.16668701171875,\"y\":953.3333435058594},{\"command\":\"L\",\"x\":387.5,\"y\":950.6667175292969},{\"command\":\"L\",\"x\":388.16668701171875,\"y\":952.0000305175781},{\"command\":\"L\",\"x\":388.16668701171875,\"y\":952.6667175292969},{\"command\":\"L\",\"x\":388.8333740234375,\"y\":954.0000305175781},{\"command\":\"L\",\"x\":388.8333740234375,\"y\":954.6667175292969},{\"command\":\"L\",\"x\":389.5,\"y\":959.3333435058594},{\"command\":\"L\",\"x\":389.5,\"y\":960.6667175292969},{\"command\":\"L\",\"x\":390.16668701171875,\"y\":961.3333435058594},{\"command\":\"L\",\"x\":390.8333740234375,\"y\":960.6667175292969},{\"command\":\"L\",\"x\":393.5,\"y\":958.0000305175781},{\"command\":\"L\",\"x\":396.8333740234375,\"y\":954.0000305175781},{\"command\":\"L\",\"x\":398.16668701171875,\"y\":952.0000305175781},{\"command\":\"L\",\"x\":400.16668701171875,\"y\":949.3333435058594},{\"command\":\"L\",\"x\":400.16668701171875,\"y\":948.6667175292969},{\"command\":\"L\",\"x\":400.8333740234375,\"y\":948.0000305175781},{\"command\":\"L\",\"x\":400.8333740234375,\"y\":947.3333435058594},{\"command\":\"L\",\"x\":401.5,\"y\":948.0000305175781},{\"command\":\"L\",\"x\":402.16668701171875,\"y\":949.3333435058594},{\"command\":\"L\",\"x\":403.5,\"y\":950.6667175292969},{\"command\":\"L\",\"x\":404.8333740234375,\"y\":953.3333435058594},{\"command\":\"L\",\"x\":406.16668701171875,\"y\":954.0000305175781},{\"command\":\"L\",\"x\":407.5,\"y\":954.0000305175781},{\"command\":\"L\",\"x\":410.16668701171875,\"y\":952.0000305175781},{\"command\":\"L\",\"x\":412.16668701171875,\"y\":949.3333435058594},{\"command\":\"L\",\"x\":414.16668701171875,\"y\":944.6667175292969},{\"command\":\"L\",\"x\":414.16668701171875,\"y\":942.0000305175781},{\"command\":\"L\",\"x\":414.16668701171875,\"y\":940.6667175292969},{\"command\":\"L\",\"x\":414.16668701171875,\"y\":938.6667175292969},{\"command\":\"L\",\"x\":414.16668701171875,\"y\":938.0000305175781},{\"command\":\"L\",\"x\":415.5,\"y\":939.3333435058594},{\"command\":\"L\",\"x\":418.8333740234375,\"y\":942.6667175292969},{\"command\":\"L\",\"x\":420.16668701171875,\"y\":945.3333435058594},{\"command\":\"L\",\"x\":421.5,\"y\":946.6667175292969},{\"command\":\"L\",\"x\":422.8333740234375,\"y\":950.0000305175781},{\"command\":\"L\",\"x\":423.5,\"y\":950.6667175292969},{\"command\":\"L\",\"x\":423.5,\"y\":953.3333435058594},{\"command\":\"L\",\"x\":422.8333740234375,\"y\":954.0000305175781},{\"command\":\"L\",\"x\":421.5,\"y\":955.3333435058594},{\"command\":\"L\",\"x\":421.5,\"y\":956.0000305175781},{\"command\":\"L\",\"x\":422.16668701171875,\"y\":954.6667175292969},{\"command\":\"L\",\"x\":422.8333740234375,\"y\":954.0000305175781},{\"command\":\"L\",\"x\":424.8333740234375,\"y\":950.6667175292969},{\"command\":\"L\",\"x\":425.5,\"y\":948.6667175292969},{\"command\":\"L\",\"x\":428.16668701171875,\"y\":945.3333435058594},{\"command\":\"L\",\"x\":428.8333740234375,\"y\":943.3333435058594},{\"command\":\"L\",\"x\":428.8333740234375,\"y\":942.6667175292969},{\"command\":\"L\",\"x\":428.8333740234375,\"y\":943.3333435058594},{\"command\":\"L\",\"x\":428.8333740234375,\"y\":945.3333435058594},{\"command\":\"L\",\"x\":428.8333740234375,\"y\":948.0000305175781},{\"command\":\"L\",\"x\":428.8333740234375,\"y\":950.0000305175781},{\"command\":\"L\",\"x\":429.5,\"y\":953.3333435058594},{\"command\":\"L\",\"x\":430.16668701171875,\"y\":953.3333435058594},{\"command\":\"L\",\"x\":432.8333740234375,\"y\":952.6667175292969},{\"command\":\"L\",\"x\":434.8333740234375,\"y\":950.6667175292969},{\"command\":\"L\",\"x\":437.5,\"y\":948.6667175292969},{\"command\":\"L\",\"x\":440.16668701171875,\"y\":944.6667175292969},{\"command\":\"L\",\"x\":441.5,\"y\":942.6667175292969},{\"command\":\"L\",\"x\":442.16668701171875,\"y\":942.0000305175781},{\"command\":\"L\",\"x\":442.8333740234375,\"y\":941.3333435058594},{\"command\":\"L\",\"x\":442.8333740234375,\"y\":942.0000305175781},{\"command\":\"L\",\"x\":442.8333740234375,\"y\":943.3333435058594},{\"command\":\"L\",\"x\":442.8333740234375,\"y\":944.6667175292969},{\"command\":\"L\",\"x\":442.8333740234375,\"y\":946.0000305175781},{\"command\":\"L\",\"x\":443.5,\"y\":949.3333435058594},{\"command\":\"L\",\"x\":444.16668701171875,\"y\":950.6667175292969},{\"command\":\"L\",\"x\":445.5,\"y\":950.6667175292969},{\"command\":\"L\",\"x\":447.5,\"y\":950.6667175292969},{\"command\":\"L\",\"x\":450.16668701171875,\"y\":948.6667175292969},{\"command\":\"L\",\"x\":452.16668701171875,\"y\":945.3333435058594},{\"command\":\"L\",\"x\":453.5,\"y\":942.6667175292969},{\"command\":\"L\",\"x\":452.8333740234375,\"y\":938.6667175292969},{\"command\":\"L\",\"x\":452.16668701171875,\"y\":937.3333435058594},{\"command\":\"L\",\"x\":450.8333740234375,\"y\":936.6667175292969},{\"command\":\"L\",\"x\":448.8333740234375,\"y\":936.0000305175781},{\"command\":\"L\",\"x\":447.5,\"y\":936.6667175292969},{\"command\":\"L\",\"x\":446.16668701171875,\"y\":937.3333435058594},{\"command\":\"L\",\"x\":445.5,\"y\":938.6667175292969},{\"command\":\"L\",\"x\":445.5,\"y\":939.3333435058594},{\"command\":\"L\",\"x\":446.16668701171875,\"y\":939.3333435058594},{\"command\":\"L\",\"x\":446.8333740234375,\"y\":939.3333435058594},{\"command\":\"L\",\"x\":452.16668701171875,\"y\":937.3333435058594},{\"command\":\"L\",\"x\":454.8333740234375,\"y\":936.6667175292969},{\"command\":\"L\",\"x\":456.8333740234375,\"y\":936.0000305175781},{\"command\":\"L\",\"x\":459.5,\"y\":936.6667175292969},{\"command\":\"L\",\"x\":460.8333740234375,\"y\":937.3333435058594},{\"command\":\"L\",\"x\":461.5,\"y\":938.6667175292969},{\"command\":\"L\",\"x\":462.16668701171875,\"y\":942.0000305175781},{\"command\":\"L\",\"x\":462.16668701171875,\"y\":942.6667175292969},{\"command\":\"L\",\"x\":462.16668701171875,\"y\":944.0000305175781},{\"command\":\"L\",\"x\":462.16668701171875,\"y\":943.3333435058594},{\"command\":\"L\",\"x\":462.16668701171875,\"y\":942.6667175292969},{\"command\":\"L\",\"x\":462.16668701171875,\"y\":941.3333435058594},{\"command\":\"L\",\"x\":462.8333740234375,\"y\":938.6667175292969},{\"command\":\"L\",\"x\":464.16668701171875,\"y\":935.3333435058594},{\"command\":\"L\",\"x\":465.5,\"y\":933.3333435058594},{\"command\":\"L\",\"x\":466.16668701171875,\"y\":932.6667175292969},{\"command\":\"L\",\"x\":467.5,\"y\":933.3333435058594},{\"command\":\"L\",\"x\":469.5,\"y\":935.3333435058594},{\"command\":\"L\",\"x\":470.16668701171875,\"y\":938.6667175292969},{\"command\":\"L\",\"x\":472.8333740234375,\"y\":943.3333435058594},{\"command\":\"L\",\"x\":472.8333740234375,\"y\":944.6667175292969},{\"command\":\"L\",\"x\":474.16668701171875,\"y\":944.6667175292969},{\"command\":\"L\",\"x\":475.5,\"y\":944.0000305175781},{\"command\":\"L\",\"x\":478.16668701171875,\"y\":941.3333435058594},{\"command\":\"L\",\"x\":481.5,\"y\":937.3333435058594},{\"command\":\"L\",\"x\":484.8333740234375,\"y\":934.0000305175781},{\"command\":\"L\",\"x\":488.8333740234375,\"y\":929.3333435058594},{\"command\":\"L\",\"x\":489.5,\"y\":928.0000305175781}]'
- });
- pdfviewer.annotation.addAnnotation("Initial", {
- offset: { x: 200, y: 380 },
- pageNumber: 1,
- width: 200,
- height: 65,
- signatureItem: ['Initial'],
- initialDialogSettings: {
- displayMode: ej.pdfviewer.DisplayMode.Text, hideSaveSignature: false
- },
- canSave: false,
- path: 'Syncfusion',
- fontFamily: "Helvetica",
- });
- pdfviewer.annotation.addAnnotation("HandWrittenSignature", {
- offset: { x: 200, y: 500 },
- pageNumber: 1,
- width: 200,
- height: 80,
- signatureItem: ['Signature'],
- signatureDialogSettings: {
- displayMode: ej.pdfviewer.DisplayMode.Upload, hideSaveSignature: false
- },
- canSave: true,
- path: "data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wCEAAkGBwgHBgkIBwgKCgkLDRYPDQwMDRsUFRAWIB0iIiAdHx8kKDQsJCYxJx8fLT0tMTU3Ojo6Iys/RD84QzQ5OjcBCgoKDQwNGg8PGjclHyU3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3N//AABEIAIIAqwMBIgACEQEDEQH/xAAbAAEAAgMBAQAAAAAAAAAAAAAABQYBAwQHAv/EAEEQAAEDAwIEAwYDBAYLAAAAAAECAwQABREGIRIxQVETYXEHFCIygZEVQmIjUnKCJCUzU6HRFhc1c5KisbKzwvD/xAAVAQEBAAAAAAAAAAAAAAAAAAAAAf/EABQRAQAAAAAAAAAAAAAAAAAAAAD/2gAMAwEAAhEDEQA/APcaUpQKUpQKUpQKUpQKUpQKVzXGdFtsN2ZPfbYjNJ4nHHDgJFfEK5Q5ttbuUaQhcNxvxUPcklPfflQdlYJxURpe/salthuMNpxEYvuNtKc28VKVcPGB2JB577Vyz7pNuUxy26eWlCml8Mu4OI4kR/0oB2Wvp2T17EJK43qDbloakOqL7m6I7TanHVjOMhCQTjzxgVut89i4Mqdj8Y4VlC0OIKFIUOYKTuOn0INRZZtWkrVLuDpIIHHJlPK4nX1dOJR5kk4A5DYDArVoWbHuVgTPjvF5Ul5xx5zhIBc4jkJyBlI+UHqE0FjpSlApSlApSlApSlApSlApSlApSlArClAczgVmqr7QZLptkezxHi1KvD4ihxKsFprBU6v6IB+pFBTdUKf1uUuFa0WpyUIVoYBx706chchXdKEhZSPLNXXVTsOw6NdjNxkvJS0iLEidHnDhLaPME4z5ZzVHk6kTHu1vTpyE1Jf8L3Oww1ZDaGc4XJXjklXDhP6UlWd63ybrL1rq1mNa1hLcAKEeQgcTbbvyuScHnw5KGweZJPIVRYoDT6okfSlnfWhmCwlu43FGAUKxu2j9atyT+UHvirZBixLZBaiQ2kR4zCMIQnZKRWuz2yLZ7czBgo4GWh13KidypR6qJJJPevOvaFqCXqC4HSGmzxlxQbmvJJAPXwwe2M8R9R3FQc1xde9qOqEW+C44jTFuVxPvtnHvCvI+e4HYZPavV4sdmLGajxmktMtJCENpGAkDkBUbpixRNO2dm3Q0/Cj4lrPNazzUf/uWKlkkEZByKDNKUoFKUoFKUoFKUoFKwahZ2p7dFfMZhTs+ZnHu0FHirB/VjZHqogUE3WOIYzUApzUlwBKUxLOwQCFL/bv467DCEn6qr5i6btk5ht+ZOlXlCxlLkiTxtr8whGG8fy0HdK1FZorymHbjH8dPNlC+NY/lTk1XNTe0m12SCXBFnrkOpX7uh6ItkKUBzPGEnhzjcA1bokKLAZS1BjMx20jAQy2EjHoK85i6PuOovaFNv+pWPDt8J/ggMKUCXktq+BX8HNXmT2G9HLF1trSyW2GrUFgbluT3eCIRIS26tS/iSjwgCcDl35Z3qBlSb/edVcN58e4tojKafiW2MfDQpRBXF8X5UnZPGsq5ZAr0TV2j52oL9Anx7wqCxHYWypLbeXAFH4lNqz8KiNs8x0qy2e1QrNbmYFuZDUdkYSkHOT1JPUk7k0HhsG6u3SHPeisLFwnucE95hOPdmc8DUNhR/OrCR5Ak9NvX9F6cRp20IZIR706AX1I5DA2Qn9KRsPvzJqGmXG0N6pfk3KTEhW2ykBsLKUh2Y4nKlY6lKCAOuVmuafry5T5rFs0vaHQ5JSVIm3FBaQhvq7wfNwjurAPnQZ9pms1WtlVmtDqRcnxwrdK+ERknqT0Vj7DftUN7OA1BilywWx65TnU8PjOAtMsJJzlbhBypXMhPFgADbrF6B0sNSagkzrk+5cbTDeUQ5IHwy3T+bHbYE/y9yK9sabQ02lDSAhCRhKUjAAoIaFaZ8gh++zg8vIKYsUFphB+/Ev8AmONuVTYGBgcqzSoFKUoFKUoFKUoFcV4mOW+2yJbEN6Y40gqTHYGVuHsK7awRmg8rd/1gameJn2n8Ptv5YQn+78f+8cSFLI57AJ8/Oy2eyalhxkRo79htEVI2YgQ1uEH+JSgD68NW/FQ2r7yqxWCTNZR4knZqM1/ePLPChP3IoKRc4l91FqJ3TkfUst2Aygfiz7TDTaEA8mkEAnjPXfAH2NohaPehR2Y8bVF9QwygNttJMcJSkDAAAZru0hY02CyMxFK8SWv9rMfPN55W6lE9d9vQCpughmrLNZVxI1Fc19kupYUn/wAYP+NdQVMjD+khEhsfM40nhUPMp3z9D9K76xQRN/uNxjWj3qwW9F0krKfDa8YISUn83F25VVocf2kXdR/EJlrskZQxiM14ryR5ZJA9c/SrHo973m2SFjPhCfKSzn9wPLCceXbyxUpPmRrdDemTHUMx2UFbjizgJAoPGrbpyJBRPvEi53STfhc34MRCVMrckLSvCT8aFEEjBUQdhUlfbHcrcItuYvc+VqbUBDcpf7PgDSfnJPBxBCQcDBGcnlUn7Om4kly+aonhbPBPkeGiRsIqCEqUcHkSMZ9K5bRqqMbjJ1E5FkTrndFe72m2sAF1MVBI4iD8iVKyoqO2w7VRbrJpRdkt7MGDe56GGhgJ8Njn1P8AZ9fPNd5gXNKQEXt0q7uRmz/0AqFja29znGFq2EmxuqaLzDrkhK2XUj5gF7YUNvhqsX+66nvtqlarsrsmDa7aUvQIqQULuCUqHiLdGPk4c8I686g9BMK8/lu7IxyzCB/9q4bpJkWeP7xd9TQojGeHjdipRk9hlW5/yrF21raoEGM/HcM+TMSDEhwyFuv55YA5DfcnYVx2fTD9wm/jeskMS7goYYhY42IKeyQeajtlR68tqCUjtXWVHakQL/FejupC23PcwsLSeoKVgEVsLWomsFMm1yAM5C2HGir6hSsfY1B6ILViuV50utSWkRpHvNvQTgGO6OLCe/CviB7bVMXjVMC2vCG0VTrk4MtQIeHHleZHJCf1KwKDTcNSqskB2XqSCYjTQ3fYcDzSj0SOSgSdhlP1r50FqherbM5cVQVQwmQtkNlfFxBON8/XB8wa4JNsfUzJ1Jq/wXFQWnH4tvbPEzFCUk8RyPjd2+bkOQ7nHs0iSLRY7dBkKUoy4gnYV8yHFEFxPoCtOPU+VBdaUpQKUpQKqF4H4xry027YxrYyq4yB3cPwND/vV9BVvNVTRf8ATrhqC9KIUJU4x2T2aZHAB/xcZ+tBa6UpQKr+r7lIjRWrdaz/AFrcleBF2z4W3xOq8kDf1wOtSV5ukSz216fOc4GGhk4GSo9EpHVROwHU1DaWtst2S9qG+N8Nzlp4WWSc+6R85S0P1dVHqfSgm7Rb2bTbItvjcXhR2g2kqOVKx1J6k8zVbfP+leoSxkGx2h7LxztJlD8h6FCOZ/VjtXdq25ymWY9ptSv61uSi2yr+4Rj43T5JHLzIrRfHIujtCy/dthFiqQyD8zrqhgZ7qUo/40FJsbL2q7W/YYchUdqdMlXC5SEDJQhbq/CbHTKuEEj90edXfRWi4Gk4yvAUqTMdADsp35ikckj91I7Vn2e6bTpnTUaG5hUtweLJcHVw9PQch6VZ6Dhudot12aQ1dIEWa2hXEhEllLgSe4Cga7OBPBwYHDjGMbYr6pQRNp03ZrM669arVChuu/OphkJJ8tunlUt0pSgjLxYLVew2LtAYleEctqcT8SPRXMfevq0WO12VtTdpgRoiVHKy02AVnuo8z9akaUEBr2O9L0beI8dtx1xyMpIQ2kqUodQANycZrk07JVeLyq4R2HmrZCiiJFW62UF9SilS1AHfhHAgA7b8XlVqIzWMb0GaUpQKUpQc9wkCJAkyVcmWlOH6AmoL2bsqZ0LZi4SXHowfcUeZU58ZP3VUpqNlcjT1zYaGVuRHUJA6koIFcuiZDcnR9lea+RcFkgdvgG1BN1omS48GM7JluoZYaSVuOLOEpSOZJrXdLjEtUF2bcJLceM0MrccOAP8AP0qqR4czWk1qfd2HItgZWFxLe6MLlKHJ14dE9kH1NBttDEjVVzYvtxaUza4547ZCdThSz0kLHQ4+UdAc86tcmQzDjOyJLiW2WUFxxxWwSkDJJ+lbQAOVVPU6vx29xdLsqPgBKZdzIG3ghWEtE9CtX/Kk0GzSTDlwekamnNlL08BMNCs5ZijdAweRVniPqB0qsarce1XrezWlghVsiTCp3B/tFtDicPok8CP4lq7VedSzXYFr8OBwpmyVCPEyPhStQPxEfupAKj5JNVz2eW9t2RIvLJWqGlsQbetXN1pCsuPerjmVZ6gCqLyBis0pUClKUClKUClKUClKUClKUClKUGCMjFVNqw36yeOxpmbb/wAPdcU43GntLPuqlHJCFJO6ckkJI2zzq20oKtE0iZE5q46mnKu8to8TLSmwiMwe6G99/wBSiTVoGwrNcV4uUez2yTcJiiGY7ZWrAyT2AHUk7D1oMXq6R7PapNxlk+FHQVkAZKj0SB1JOAPWozRtqfhW5ybcf9qXJz3qZk54FEbNg9kDCfoT1qGi++alvEGJdGwlq2hE+e0FApTKVu0we4Qk8R7nhNXkcqCs6q0zK1DcIWbkqNbW23ESmWk4ceCsZAV+UEAgnngnvViix2okZqPHbS2y0kIbQkYCUjYAVtpQKUpQKUpQKUpQKUpQKUpQKUpQKUpQKUpQKouv7mwi7W2HJBdZiJNxXHSd5DoUER2gOpU4rI/gq9VxO2i3PXRu6OwmFz2m/DbkKQCtKck4B+p+9BxaTtblqtQEvhM+UtUqatO4U8vdW/YbJHkkVNVgDFZoFKUoFKUoFKUoFKUoFKUoFKUoFKUoFKUoFKUoFKUoFKUoFKUoFKUoFKUoFKUoFKUoFKUoFKUoP//Z"
- });
- }
- });
-}
-
-{% endhighlight %}
-{% endtabs %}
-
-[View sample in GitHub](https://github.com/SyncfusionExamples/javascript-pdf-viewer-examples/tree/master/How%20to/Add%20Handwritten%20Signature%20Programmatically)
-
-## Editing the properties of handwritten signature
-
-The stroke color, border thickness, and opacity of the handwritten signature can be edited using the edit stroke color tool, edit thickness tool, and edit opacity tool in the annotation toolbar.
-
-### Editing stroke color
-
-The stroke color of the annotation can be edited using the color palette provided in the Edit Stroke Color tool.
-
-
-
-### Editing thickness
-
-The thickness of the border of the annotation can be edited using the range slider provided in the Edit Thickness tool.
-
-
-
-### Editing opacity
-
-The opacity of the annotation can be edited using the range slider provided in the Edit Opacity tool.
-
-
\ No newline at end of file
diff --git a/ej2-javascript/pdfviewer/js/annotations/stamp-annotation.md b/ej2-javascript/pdfviewer/js/annotations/stamp-annotation.md
deleted file mode 100644
index eac9c3d34..000000000
--- a/ej2-javascript/pdfviewer/js/annotations/stamp-annotation.md
+++ /dev/null
@@ -1,383 +0,0 @@
----
-layout: post
-title: Stamp annotation in ##Platform_Name## PDF Viewer control | Syncfusion
-description: Learn here all about Stamp annotation in Syncfusion ##Platform_Name## PDF Viewer control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: PDF Viewer
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Stamp annotation in ##Platform_Name## PDF Viewer control
-
-The PDF Viewer control provides options to add, edit, delete, and rotate the following stamp annotation in the PDF documents:
-
-* Dynamic
-* Sign Here
-* Standard Business
-* Custom Stamp
-
-
-
-## Adding stamp annotations to the PDF document
-
-The stamp annotations can be added to the PDF document using the annotation toolbar.
-
-* Click the **Edit Annotation** button in the PDF Viewer toolbar. A toolbar appears below it.
-* Click the **Stamp Annotation** drop-down button. A drop-down pop-up will appear and shows the stamp annotations to be added.
-
-
-
-* Select the annotation type to be added to the page in the pop-up.
-
-
-
-* You can add the annotation over the pages of the PDF document.
-
-N> While you're in the pan mode, for navigating through the document, and you click on the stamp annotation button to add the stamp annotation , the PDF Viewer control will smoothly transition to text select mode. This seamless transition ensures a fluid experience when switching between different interaction modes within the PDF Viewer interface.
-
-Refer to the following code sample to switch to the stamp annotation mode.
-
-```html
-
-
-
-```
-{% tabs %}
-{% highlight ts tabtitle="Standalone" %}
-
-var pdfviewer = new ej.pdfviewer.PdfViewer({
- documentPath: "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf",
- resourceUrl : "https://cdn.syncfusion.com/ej2/25.1.35/dist/ej2-pdfviewer-lib"
- });
-ej.pdfviewer.PdfViewer.Inject(ej.pdfviewer.TextSelection, ej.pdfviewer.TextSearch, ej.pdfviewer.Print, ej.pdfviewer.Navigation, ej.pdfviewer.Toolbar,
- ej.pdfviewer.Magnification, ej.pdfviewer.Annotation, ej.pdfviewer.FormDesigner, ej.pdfviewer.FormFields, ej.pdfviewer.PageOrganizer);
-pdfviewer.appendTo('#PdfViewer');
-
-let dynamicStamp = document.getElementById('dynamicStamp');
-if (dynamicStamp) {
- dynamicStamp.addEventListener('click', function () {
- if (pdfviewer) {
- pdfviewer.annotationModule.setAnnotationMode('Stamp', 'NotApproved');
- }
- });
-}
-let signStamp = document.getElementById('signStamp');
-if (signStamp) {
- signStamp.addEventListener('click', function () {
- if (pdfviewer) {
- pdfviewer.annotationModule.setAnnotationMode('Stamp', undefined, 'Witness');
- }
- });
-}
-let standardBusinessStamp = document.getElementById('standardBusinessStamp');
-if (standardBusinessStamp) {
- standardBusinessStamp.addEventListener('click', function () {
- if (pdfviewer) {
- pdfviewer.annotationModule.setAnnotationMode('Stamp', undefined, undefined, 'Approved');
- }
- });
-}
-
-{% endhighlight %}
-{% highlight ts tabtitle="Server-Backed" %}
-
-import { PdfViewer, Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, TextSearch, FormFields, FormDesigner, PageOrganizer, SignStampItem, StandardBusinessStampItem, DynamicStampItem,} from '@syncfusion/ej2-pdfviewer';
-
-PdfViewer.Inject(Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, TextSearch, FormFields, FormDesigner, PageOrganizer);
-
-let pdfviewer: PdfViewer = new PdfViewer();
-pdfviewer.documentPath = "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf";
-pdfviewer.serviceUrl = 'https://services.syncfusion.com/js/production/api/pdfviewer';
-pdfviewer.appendTo('#PdfViewer');
-
-let dynamicStamp = document.getElementById('dynamicStamp');
-if (dynamicStamp) {
- dynamicStamp.addEventListener('click', function () {
- if (pdfviewer) {
- pdfviewer.annotationModule.setAnnotationMode('Stamp', 'NotApproved');
- }
- });
-}
-let signStamp = document.getElementById('signStamp');
-if (signStamp) {
- signStamp.addEventListener('click', function () {
- if (pdfviewer) {
- pdfviewer.annotationModule.setAnnotationMode('Stamp', undefined, 'Witness');
- }
- });
-}
-let standardBusinessStamp = document.getElementById('standardBusinessStamp');
-if (standardBusinessStamp) {
- standardBusinessStamp.addEventListener('click', function () {
- if (pdfviewer) {
- pdfviewer.annotationModule.setAnnotationMode('Stamp', undefined, undefined, 'Approved');
- }
- });
-}
-
-{% endhighlight %}
-{% endtabs %}
-
-## Adding custom stamp to the PDF document
-
-* Click the **Edit Annotation** button in the PDF Viewer toolbar. A toolbar appears below it.
-* Click the **Stamp Annotation** drop-down button. A drop-down pop-up will appear and shows the stamp annotations to be added.
-* Click the Custom Stamp button.
-
-
-
-* The file explorer dialog will appear, choose the image and then add the image to the PDF page.
-
->The JPG and JPEG image format is only supported in the custom stamp annotations.
-
-## Adding a Stamp annotation to the PDF document Programmatically
-
-With the PDF Viewer library, you can add a Stamp annotation to the PDF Viewer control programmatically using the [**addAnnotation()**](https://helpej2.syncfusion.com/javascript/documentation/api/pdfviewer/annotation/#addannotation) method.
-
-Here's a example of how you can utilize the **addAnnotation()** method to include a Stamp annotation programmatically:
-
-```html
-
-
-
-
-```
-
-{% tabs %}
-{% highlight ts tabtitle="Standalone" %}
-
-var pdfviewer = new ej.pdfviewer.PdfViewer({
- documentPath: "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf",
- resourceUrl : "https://cdn.syncfusion.com/ej2/25.1.35/dist/ej2-pdfviewer-lib",
- });
-ej.pdfviewer.PdfViewer.Inject(ej.pdfviewer.TextSelection, ej.pdfviewer.TextSearch, ej.pdfviewer.Print, ej.pdfviewer.Navigation, ej.pdfviewer.Toolbar,
- ej.pdfviewer.Magnification, ej.pdfviewer.Annotation, ej.pdfviewer.FormDesigner, ej.pdfviewer.FormFields, ej.pdfviewer.PageOrganizer);
-pdfviewer.appendTo('#PdfViewer');
-
-let dynamicStamp = document.getElementById('dynamicStamp');
-if (dynamicStamp) {
- dynamicStamp.addEventListener('click', function () {
- if (pdfviewer) {
- pdfviewer.annotation.addAnnotation("Stamp", {
- offset: { x: 200, y: 140 },
- pageNumber: 1
- }, 'Approved');
- }
- });
-}
-let signStamp = document.getElementById('signStamp');
-if (signStamp) {
- signStamp.addEventListener('click', function () {
- if (pdfviewer) {
- pdfviewer.annotation.addAnnotation("Stamp", {
- offset: { x: 200, y: 240 },
- pageNumber: 1
- }, undefined,'Witness');
- }
- });
-}
-let standardBusinessStamp = document.getElementById('standardBusinessStamp');
-if (standardBusinessStamp) {
- standardBusinessStamp.addEventListener('click', function () {
- if (pdfviewer) {
- pdfviewer.annotation.addAnnotation("Stamp", {
- offset: { x: 200, y: 340 },
- pageNumber: 1
- }, undefined, undefined, 'Approved');
- }
- });
-}
-
-let customStamp = document.getElementById('customStamp');
-if (customStamp) {
- customStamp.addEventListener('click', function () {
- if (pdfviewer) {
- pdfviewer.annotation.addAnnotation('Stamp',
- {
- offset: { x: 100, y: 440 },
- width: 46,
- author: 'Guest',
- height: 100,
- isLock: true,
- pageNumber: 1,
- customStamps: [
- {
- customStampName: "Image",
- customStampImageSource:
- "data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wCEAAkGBwgHBgkIBwgKCgkLDRYPDQwMDRsUFRAWIB0iIiAdHx8kKDQsJCYxJx8fLT0tMTU3Ojo6Iys/RD84QzQ5OjcBCgoKDQwNGg8PGjclHyU3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3N//AABEIAIIAqwMBIgACEQEDEQH/xAAbAAEAAgMBAQAAAAAAAAAAAAAABQYBAwQHAv/EAEEQAAEDAwIEAwYDBAYLAAAAAAECAwQABREGIRIxQVETYXEHFCIygZEVQmIjUnKCJCUzU6HRFhc1c5KisbKzwvD/xAAVAQEBAAAAAAAAAAAAAAAAAAAAAf/EABQRAQAAAAAAAAAAAAAAAAAAAAD/2gAMAwEAAhEDEQA/APcaUpQKUpQKUpQKUpQKUpQKVzXGdFtsN2ZPfbYjNJ4nHHDgJFfEK5Q5ttbuUaQhcNxvxUPcklPfflQdlYJxURpe/salthuMNpxEYvuNtKc28VKVcPGB2JB577Vyz7pNuUxy26eWlCml8Mu4OI4kR/0oB2Wvp2T17EJK43qDbloakOqL7m6I7TanHVjOMhCQTjzxgVut89i4Mqdj8Y4VlC0OIKFIUOYKTuOn0INRZZtWkrVLuDpIIHHJlPK4nX1dOJR5kk4A5DYDArVoWbHuVgTPjvF5Ul5xx5zhIBc4jkJyBlI+UHqE0FjpSlApSlApSlApSlApSlApSlApSlArClAczgVmqr7QZLptkezxHi1KvD4ihxKsFprBU6v6IB+pFBTdUKf1uUuFa0WpyUIVoYBx706chchXdKEhZSPLNXXVTsOw6NdjNxkvJS0iLEidHnDhLaPME4z5ZzVHk6kTHu1vTpyE1Jf8L3Oww1ZDaGc4XJXjklXDhP6UlWd63ybrL1rq1mNa1hLcAKEeQgcTbbvyuScHnw5KGweZJPIVRYoDT6okfSlnfWhmCwlu43FGAUKxu2j9atyT+UHvirZBixLZBaiQ2kR4zCMIQnZKRWuz2yLZ7czBgo4GWh13KidypR6qJJJPevOvaFqCXqC4HSGmzxlxQbmvJJAPXwwe2M8R9R3FQc1xde9qOqEW+C44jTFuVxPvtnHvCvI+e4HYZPavV4sdmLGajxmktMtJCENpGAkDkBUbpixRNO2dm3Q0/Cj4lrPNazzUf/uWKlkkEZByKDNKUoFKUoFKUoFKUoFKwahZ2p7dFfMZhTs+ZnHu0FHirB/VjZHqogUE3WOIYzUApzUlwBKUxLOwQCFL/bv467DCEn6qr5i6btk5ht+ZOlXlCxlLkiTxtr8whGG8fy0HdK1FZorymHbjH8dPNlC+NY/lTk1XNTe0m12SCXBFnrkOpX7uh6ItkKUBzPGEnhzjcA1bokKLAZS1BjMx20jAQy2EjHoK85i6PuOovaFNv+pWPDt8J/ggMKUCXktq+BX8HNXmT2G9HLF1trSyW2GrUFgbluT3eCIRIS26tS/iSjwgCcDl35Z3qBlSb/edVcN58e4tojKafiW2MfDQpRBXF8X5UnZPGsq5ZAr0TV2j52oL9Anx7wqCxHYWypLbeXAFH4lNqz8KiNs8x0qy2e1QrNbmYFuZDUdkYSkHOT1JPUk7k0HhsG6u3SHPeisLFwnucE95hOPdmc8DUNhR/OrCR5Ak9NvX9F6cRp20IZIR706AX1I5DA2Qn9KRsPvzJqGmXG0N6pfk3KTEhW2ykBsLKUh2Y4nKlY6lKCAOuVmuafry5T5rFs0vaHQ5JSVIm3FBaQhvq7wfNwjurAPnQZ9pms1WtlVmtDqRcnxwrdK+ERknqT0Vj7DftUN7OA1BilywWx65TnU8PjOAtMsJJzlbhBypXMhPFgADbrF6B0sNSagkzrk+5cbTDeUQ5IHwy3T+bHbYE/y9yK9sabQ02lDSAhCRhKUjAAoIaFaZ8gh++zg8vIKYsUFphB+/Ev8AmONuVTYGBgcqzSoFKUoFKUoFKUoFcV4mOW+2yJbEN6Y40gqTHYGVuHsK7awRmg8rd/1gameJn2n8Ptv5YQn+78f+8cSFLI57AJ8/Oy2eyalhxkRo79htEVI2YgQ1uEH+JSgD68NW/FQ2r7yqxWCTNZR4knZqM1/ePLPChP3IoKRc4l91FqJ3TkfUst2Aygfiz7TDTaEA8mkEAnjPXfAH2NohaPehR2Y8bVF9QwygNttJMcJSkDAAAZru0hY02CyMxFK8SWv9rMfPN55W6lE9d9vQCpughmrLNZVxI1Fc19kupYUn/wAYP+NdQVMjD+khEhsfM40nhUPMp3z9D9K76xQRN/uNxjWj3qwW9F0krKfDa8YISUn83F25VVocf2kXdR/EJlrskZQxiM14ryR5ZJA9c/SrHo973m2SFjPhCfKSzn9wPLCceXbyxUpPmRrdDemTHUMx2UFbjizgJAoPGrbpyJBRPvEi53STfhc34MRCVMrckLSvCT8aFEEjBUQdhUlfbHcrcItuYvc+VqbUBDcpf7PgDSfnJPBxBCQcDBGcnlUn7Om4kly+aonhbPBPkeGiRsIqCEqUcHkSMZ9K5bRqqMbjJ1E5FkTrndFe72m2sAF1MVBI4iD8iVKyoqO2w7VRbrJpRdkt7MGDe56GGhgJ8Njn1P8AZ9fPNd5gXNKQEXt0q7uRmz/0AqFja29znGFq2EmxuqaLzDrkhK2XUj5gF7YUNvhqsX+66nvtqlarsrsmDa7aUvQIqQULuCUqHiLdGPk4c8I686g9BMK8/lu7IxyzCB/9q4bpJkWeP7xd9TQojGeHjdipRk9hlW5/yrF21raoEGM/HcM+TMSDEhwyFuv55YA5DfcnYVx2fTD9wm/jeskMS7goYYhY42IKeyQeajtlR68tqCUjtXWVHakQL/FejupC23PcwsLSeoKVgEVsLWomsFMm1yAM5C2HGir6hSsfY1B6ILViuV50utSWkRpHvNvQTgGO6OLCe/CviB7bVMXjVMC2vCG0VTrk4MtQIeHHleZHJCf1KwKDTcNSqskB2XqSCYjTQ3fYcDzSj0SOSgSdhlP1r50FqherbM5cVQVQwmQtkNlfFxBON8/XB8wa4JNsfUzJ1Jq/wXFQWnH4tvbPEzFCUk8RyPjd2+bkOQ7nHs0iSLRY7dBkKUoy4gnYV8yHFEFxPoCtOPU+VBdaUpQKUpQKqF4H4xry027YxrYyq4yB3cPwND/vV9BVvNVTRf8ATrhqC9KIUJU4x2T2aZHAB/xcZ+tBa6UpQKr+r7lIjRWrdaz/AFrcleBF2z4W3xOq8kDf1wOtSV5ukSz216fOc4GGhk4GSo9EpHVROwHU1DaWtst2S9qG+N8Nzlp4WWSc+6R85S0P1dVHqfSgm7Rb2bTbItvjcXhR2g2kqOVKx1J6k8zVbfP+leoSxkGx2h7LxztJlD8h6FCOZ/VjtXdq25ymWY9ptSv61uSi2yr+4Rj43T5JHLzIrRfHIujtCy/dthFiqQyD8zrqhgZ7qUo/40FJsbL2q7W/YYchUdqdMlXC5SEDJQhbq/CbHTKuEEj90edXfRWi4Gk4yvAUqTMdADsp35ikckj91I7Vn2e6bTpnTUaG5hUtweLJcHVw9PQch6VZ6Dhudot12aQ1dIEWa2hXEhEllLgSe4Cga7OBPBwYHDjGMbYr6pQRNp03ZrM669arVChuu/OphkJJ8tunlUt0pSgjLxYLVew2LtAYleEctqcT8SPRXMfevq0WO12VtTdpgRoiVHKy02AVnuo8z9akaUEBr2O9L0beI8dtx1xyMpIQ2kqUodQANycZrk07JVeLyq4R2HmrZCiiJFW62UF9SilS1AHfhHAgA7b8XlVqIzWMb0GaUpQKUpQc9wkCJAkyVcmWlOH6AmoL2bsqZ0LZi4SXHowfcUeZU58ZP3VUpqNlcjT1zYaGVuRHUJA6koIFcuiZDcnR9lea+RcFkgdvgG1BN1omS48GM7JluoZYaSVuOLOEpSOZJrXdLjEtUF2bcJLceM0MrccOAP8AP0qqR4czWk1qfd2HItgZWFxLe6MLlKHJ14dE9kH1NBttDEjVVzYvtxaUza4547ZCdThSz0kLHQ4+UdAc86tcmQzDjOyJLiW2WUFxxxWwSkDJJ+lbQAOVVPU6vx29xdLsqPgBKZdzIG3ghWEtE9CtX/Kk0GzSTDlwekamnNlL08BMNCs5ZijdAweRVniPqB0qsarce1XrezWlghVsiTCp3B/tFtDicPok8CP4lq7VedSzXYFr8OBwpmyVCPEyPhStQPxEfupAKj5JNVz2eW9t2RIvLJWqGlsQbetXN1pCsuPerjmVZ6gCqLyBis0pUClKUClKUClKUClKUClKUClKUGCMjFVNqw36yeOxpmbb/wAPdcU43GntLPuqlHJCFJO6ckkJI2zzq20oKtE0iZE5q46mnKu8to8TLSmwiMwe6G99/wBSiTVoGwrNcV4uUez2yTcJiiGY7ZWrAyT2AHUk7D1oMXq6R7PapNxlk+FHQVkAZKj0SB1JOAPWozRtqfhW5ybcf9qXJz3qZk54FEbNg9kDCfoT1qGi++alvEGJdGwlq2hE+e0FApTKVu0we4Qk8R7nhNXkcqCs6q0zK1DcIWbkqNbW23ESmWk4ceCsZAV+UEAgnngnvViix2okZqPHbS2y0kIbQkYCUjYAVtpQKUpQKUpQKUpQKUpQKUpQKUpQKUpQKUpQKouv7mwi7W2HJBdZiJNxXHSd5DoUER2gOpU4rI/gq9VxO2i3PXRu6OwmFz2m/DbkKQCtKck4B+p+9BxaTtblqtQEvhM+UtUqatO4U8vdW/YbJHkkVNVgDFZoFKUoFKUoFKUoFKUoFKUoFKUoFKUoFKUoFKUoFKUoFKUoFKUoFKUoFKUoFKUoFKUoFKUoFKUoP//Z"
- }
- ]
- });
- }
- });
-}
-{% endhighlight %}
-{% highlight ts tabtitle="Server-Backed" %}
-
-var pdfviewer = new ej.pdfviewer.PdfViewer({
- documentPath: "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf",
- serviceUrl : "https://services.syncfusion.com/js/production/api/pdfviewer",
- });
-ej.pdfviewer.PdfViewer.Inject(ej.pdfviewer.TextSelection, ej.pdfviewer.TextSearch, ej.pdfviewer.Print, ej.pdfviewer.Navigation, ej.pdfviewer.Toolbar,
- ej.pdfviewer.Magnification, ej.pdfviewer.Annotation, ej.pdfviewer.FormDesigner, ej.pdfviewer.FormFields, ej.pdfviewer.PageOrganizer);
-pdfviewer.appendTo('#PdfViewer');
-let dynamicStamp = document.getElementById('dynamicStamp');
-if (dynamicStamp) {
- dynamicStamp.addEventListener('click', function () {
- if (pdfviewer) {
- pdfviewer.annotation.addAnnotation("Stamp", {
- offset: { x: 200, y: 140 },
- pageNumber: 1
- }, 'Approved');
- }
- });
-}
-let signStamp = document.getElementById('signStamp');
-if (signStamp) {
- signStamp.addEventListener('click', function () {
- if (pdfviewer) {
- pdfviewer.annotation.addAnnotation("Stamp", {
- offset: { x: 200, y: 240 },
- pageNumber: 1
- }, undefined,'Witness');
- }
- });
-}
-let standardBusinessStamp = document.getElementById('standardBusinessStamp');
-if (standardBusinessStamp) {
- standardBusinessStamp.addEventListener('click', function () {
- if (pdfviewer) {
- pdfviewer.annotation.addAnnotation("Stamp", {
- offset: { x: 200, y: 340 },
- pageNumber: 1
- }, undefined, undefined, 'Approved');
- }
- });
-}
-
-let customStamp = document.getElementById('customStamp');
-if (customStamp) {
- customStamp.addEventListener('click', function () {
- if (pdfviewer) {
- pdfviewer.annotation.addAnnotation('Stamp',
- {
- offset: { x: 100, y: 440 },
- width: 46,
- author: 'Guest',
- height: 100,
- isLock: true,
- pageNumber: 1,
- customStamps: [
- {
- customStampName: "Image",
- customStampImageSource:
- "data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wCEAAkGBwgHBgkIBwgKCgkLDRYPDQwMDRsUFRAWIB0iIiAdHx8kKDQsJCYxJx8fLT0tMTU3Ojo6Iys/RD84QzQ5OjcBCgoKDQwNGg8PGjclHyU3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3N//AABEIAIIAqwMBIgACEQEDEQH/xAAbAAEAAgMBAQAAAAAAAAAAAAAABQYBAwQHAv/EAEEQAAEDAwIEAwYDBAYLAAAAAAECAwQABREGIRIxQVETYXEHFCIygZEVQmIjUnKCJCUzU6HRFhc1c5KisbKzwvD/xAAVAQEBAAAAAAAAAAAAAAAAAAAAAf/EABQRAQAAAAAAAAAAAAAAAAAAAAD/2gAMAwEAAhEDEQA/APcaUpQKUpQKUpQKUpQKUpQKVzXGdFtsN2ZPfbYjNJ4nHHDgJFfEK5Q5ttbuUaQhcNxvxUPcklPfflQdlYJxURpe/salthuMNpxEYvuNtKc28VKVcPGB2JB577Vyz7pNuUxy26eWlCml8Mu4OI4kR/0oB2Wvp2T17EJK43qDbloakOqL7m6I7TanHVjOMhCQTjzxgVut89i4Mqdj8Y4VlC0OIKFIUOYKTuOn0INRZZtWkrVLuDpIIHHJlPK4nX1dOJR5kk4A5DYDArVoWbHuVgTPjvF5Ul5xx5zhIBc4jkJyBlI+UHqE0FjpSlApSlApSlApSlApSlApSlApSlArClAczgVmqr7QZLptkezxHi1KvD4ihxKsFprBU6v6IB+pFBTdUKf1uUuFa0WpyUIVoYBx706chchXdKEhZSPLNXXVTsOw6NdjNxkvJS0iLEidHnDhLaPME4z5ZzVHk6kTHu1vTpyE1Jf8L3Oww1ZDaGc4XJXjklXDhP6UlWd63ybrL1rq1mNa1hLcAKEeQgcTbbvyuScHnw5KGweZJPIVRYoDT6okfSlnfWhmCwlu43FGAUKxu2j9atyT+UHvirZBixLZBaiQ2kR4zCMIQnZKRWuz2yLZ7czBgo4GWh13KidypR6qJJJPevOvaFqCXqC4HSGmzxlxQbmvJJAPXwwe2M8R9R3FQc1xde9qOqEW+C44jTFuVxPvtnHvCvI+e4HYZPavV4sdmLGajxmktMtJCENpGAkDkBUbpixRNO2dm3Q0/Cj4lrPNazzUf/uWKlkkEZByKDNKUoFKUoFKUoFKUoFKwahZ2p7dFfMZhTs+ZnHu0FHirB/VjZHqogUE3WOIYzUApzUlwBKUxLOwQCFL/bv467DCEn6qr5i6btk5ht+ZOlXlCxlLkiTxtr8whGG8fy0HdK1FZorymHbjH8dPNlC+NY/lTk1XNTe0m12SCXBFnrkOpX7uh6ItkKUBzPGEnhzjcA1bokKLAZS1BjMx20jAQy2EjHoK85i6PuOovaFNv+pWPDt8J/ggMKUCXktq+BX8HNXmT2G9HLF1trSyW2GrUFgbluT3eCIRIS26tS/iSjwgCcDl35Z3qBlSb/edVcN58e4tojKafiW2MfDQpRBXF8X5UnZPGsq5ZAr0TV2j52oL9Anx7wqCxHYWypLbeXAFH4lNqz8KiNs8x0qy2e1QrNbmYFuZDUdkYSkHOT1JPUk7k0HhsG6u3SHPeisLFwnucE95hOPdmc8DUNhR/OrCR5Ak9NvX9F6cRp20IZIR706AX1I5DA2Qn9KRsPvzJqGmXG0N6pfk3KTEhW2ykBsLKUh2Y4nKlY6lKCAOuVmuafry5T5rFs0vaHQ5JSVIm3FBaQhvq7wfNwjurAPnQZ9pms1WtlVmtDqRcnxwrdK+ERknqT0Vj7DftUN7OA1BilywWx65TnU8PjOAtMsJJzlbhBypXMhPFgADbrF6B0sNSagkzrk+5cbTDeUQ5IHwy3T+bHbYE/y9yK9sabQ02lDSAhCRhKUjAAoIaFaZ8gh++zg8vIKYsUFphB+/Ev8AmONuVTYGBgcqzSoFKUoFKUoFKUoFcV4mOW+2yJbEN6Y40gqTHYGVuHsK7awRmg8rd/1gameJn2n8Ptv5YQn+78f+8cSFLI57AJ8/Oy2eyalhxkRo79htEVI2YgQ1uEH+JSgD68NW/FQ2r7yqxWCTNZR4knZqM1/ePLPChP3IoKRc4l91FqJ3TkfUst2Aygfiz7TDTaEA8mkEAnjPXfAH2NohaPehR2Y8bVF9QwygNttJMcJSkDAAAZru0hY02CyMxFK8SWv9rMfPN55W6lE9d9vQCpughmrLNZVxI1Fc19kupYUn/wAYP+NdQVMjD+khEhsfM40nhUPMp3z9D9K76xQRN/uNxjWj3qwW9F0krKfDa8YISUn83F25VVocf2kXdR/EJlrskZQxiM14ryR5ZJA9c/SrHo973m2SFjPhCfKSzn9wPLCceXbyxUpPmRrdDemTHUMx2UFbjizgJAoPGrbpyJBRPvEi53STfhc34MRCVMrckLSvCT8aFEEjBUQdhUlfbHcrcItuYvc+VqbUBDcpf7PgDSfnJPBxBCQcDBGcnlUn7Om4kly+aonhbPBPkeGiRsIqCEqUcHkSMZ9K5bRqqMbjJ1E5FkTrndFe72m2sAF1MVBI4iD8iVKyoqO2w7VRbrJpRdkt7MGDe56GGhgJ8Njn1P8AZ9fPNd5gXNKQEXt0q7uRmz/0AqFja29znGFq2EmxuqaLzDrkhK2XUj5gF7YUNvhqsX+66nvtqlarsrsmDa7aUvQIqQULuCUqHiLdGPk4c8I686g9BMK8/lu7IxyzCB/9q4bpJkWeP7xd9TQojGeHjdipRk9hlW5/yrF21raoEGM/HcM+TMSDEhwyFuv55YA5DfcnYVx2fTD9wm/jeskMS7goYYhY42IKeyQeajtlR68tqCUjtXWVHakQL/FejupC23PcwsLSeoKVgEVsLWomsFMm1yAM5C2HGir6hSsfY1B6ILViuV50utSWkRpHvNvQTgGO6OLCe/CviB7bVMXjVMC2vCG0VTrk4MtQIeHHleZHJCf1KwKDTcNSqskB2XqSCYjTQ3fYcDzSj0SOSgSdhlP1r50FqherbM5cVQVQwmQtkNlfFxBON8/XB8wa4JNsfUzJ1Jq/wXFQWnH4tvbPEzFCUk8RyPjd2+bkOQ7nHs0iSLRY7dBkKUoy4gnYV8yHFEFxPoCtOPU+VBdaUpQKUpQKqF4H4xry027YxrYyq4yB3cPwND/vV9BVvNVTRf8ATrhqC9KIUJU4x2T2aZHAB/xcZ+tBa6UpQKr+r7lIjRWrdaz/AFrcleBF2z4W3xOq8kDf1wOtSV5ukSz216fOc4GGhk4GSo9EpHVROwHU1DaWtst2S9qG+N8Nzlp4WWSc+6R85S0P1dVHqfSgm7Rb2bTbItvjcXhR2g2kqOVKx1J6k8zVbfP+leoSxkGx2h7LxztJlD8h6FCOZ/VjtXdq25ymWY9ptSv61uSi2yr+4Rj43T5JHLzIrRfHIujtCy/dthFiqQyD8zrqhgZ7qUo/40FJsbL2q7W/YYchUdqdMlXC5SEDJQhbq/CbHTKuEEj90edXfRWi4Gk4yvAUqTMdADsp35ikckj91I7Vn2e6bTpnTUaG5hUtweLJcHVw9PQch6VZ6Dhudot12aQ1dIEWa2hXEhEllLgSe4Cga7OBPBwYHDjGMbYr6pQRNp03ZrM669arVChuu/OphkJJ8tunlUt0pSgjLxYLVew2LtAYleEctqcT8SPRXMfevq0WO12VtTdpgRoiVHKy02AVnuo8z9akaUEBr2O9L0beI8dtx1xyMpIQ2kqUodQANycZrk07JVeLyq4R2HmrZCiiJFW62UF9SilS1AHfhHAgA7b8XlVqIzWMb0GaUpQKUpQc9wkCJAkyVcmWlOH6AmoL2bsqZ0LZi4SXHowfcUeZU58ZP3VUpqNlcjT1zYaGVuRHUJA6koIFcuiZDcnR9lea+RcFkgdvgG1BN1omS48GM7JluoZYaSVuOLOEpSOZJrXdLjEtUF2bcJLceM0MrccOAP8AP0qqR4czWk1qfd2HItgZWFxLe6MLlKHJ14dE9kH1NBttDEjVVzYvtxaUza4547ZCdThSz0kLHQ4+UdAc86tcmQzDjOyJLiW2WUFxxxWwSkDJJ+lbQAOVVPU6vx29xdLsqPgBKZdzIG3ghWEtE9CtX/Kk0GzSTDlwekamnNlL08BMNCs5ZijdAweRVniPqB0qsarce1XrezWlghVsiTCp3B/tFtDicPok8CP4lq7VedSzXYFr8OBwpmyVCPEyPhStQPxEfupAKj5JNVz2eW9t2RIvLJWqGlsQbetXN1pCsuPerjmVZ6gCqLyBis0pUClKUClKUClKUClKUClKUClKUGCMjFVNqw36yeOxpmbb/wAPdcU43GntLPuqlHJCFJO6ckkJI2zzq20oKtE0iZE5q46mnKu8to8TLSmwiMwe6G99/wBSiTVoGwrNcV4uUez2yTcJiiGY7ZWrAyT2AHUk7D1oMXq6R7PapNxlk+FHQVkAZKj0SB1JOAPWozRtqfhW5ybcf9qXJz3qZk54FEbNg9kDCfoT1qGi++alvEGJdGwlq2hE+e0FApTKVu0we4Qk8R7nhNXkcqCs6q0zK1DcIWbkqNbW23ESmWk4ceCsZAV+UEAgnngnvViix2okZqPHbS2y0kIbQkYCUjYAVtpQKUpQKUpQKUpQKUpQKUpQKUpQKUpQKUpQKouv7mwi7W2HJBdZiJNxXHSd5DoUER2gOpU4rI/gq9VxO2i3PXRu6OwmFz2m/DbkKQCtKck4B+p+9BxaTtblqtQEvhM+UtUqatO4U8vdW/YbJHkkVNVgDFZoFKUoFKUoFKUoFKUoFKUoFKUoFKUoFKUoFKUoFKUoFKUoFKUoFKUoFKUoFKUoFKUoFKUoFKUoP//Z"
- }
- ]
- });
- }
- });
-}
-{% endhighlight %}
-{% endtabs %}
-
-## Edit the existing sticky note annotation programmatically
-
-To modify existing sticky note annotation in the Syncfusion PDF viewer programmatically, you can use the **editAnnotation()** method.
-
-Here is an example of how you can use the **editAnnotation()** method:
-
-```html
-
-```
-
-{% tabs %}
-{% highlight ts tabtitle="Standalone" %}
-
-var pdfviewer = new ej.pdfviewer.PdfViewer({
- documentPath: "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf",
- resourceUrl : "https://cdn.syncfusion.com/ej2/25.1.35/dist/ej2-pdfviewer-lib",
- });
-ej.pdfviewer.PdfViewer.Inject(ej.pdfviewer.TextSelection, ej.pdfviewer.TextSearch, ej.pdfviewer.Print, ej.pdfviewer.Navigation, ej.pdfviewer.Toolbar,
- ej.pdfviewer.Magnification, ej.pdfviewer.Annotation, ej.pdfviewer.FormDesigner, ej.pdfviewer.FormFields, ej.pdfviewer.PageOrganizer);
-pdfviewer.appendTo('#PdfViewer');
-if (editAnnotation) {
- editAnnotation.addEventListener('click', function () {
- if (pdfviewer) {
- for (let i = 0; i < pdfviewer.annotationCollection.length; i++) {
- if (pdfviewer.annotationCollection[i].shapeAnnotationType === "stamp") {
- var width = pdfviewer.annotationCollection[i].bounds.width;
- var height = pdfviewer.annotationCollection[i].bounds.height;
- pdfviewer.annotationCollection[i].bounds = { x: 100, y: 100, width: width, height: height };
- pdfviewer.annotationCollection[i].annotationSettings.isLock = true;
- pdfviewer.annotation.editAnnotation(pdfviewer.annotationCollection[i]);
- }
- }
- }
- });
-}
-
-{% endhighlight %}
-{% highlight ts tabtitle="Server-Backed" %}
-
-var pdfviewer = new ej.pdfviewer.PdfViewer({
- documentPath: "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf",
- serviceUrl : "https://services.syncfusion.com/js/production/api/pdfviewer",
- });
-ej.pdfviewer.PdfViewer.Inject(ej.pdfviewer.TextSelection, ej.pdfviewer.TextSearch, ej.pdfviewer.Print, ej.pdfviewer.Navigation, ej.pdfviewer.Toolbar,
- ej.pdfviewer.Magnification, ej.pdfviewer.Annotation, ej.pdfviewer.FormDesigner, ej.pdfviewer.FormFields, ej.pdfviewer.PageOrganizer);
-pdfviewer.appendTo('#PdfViewer');
-
-if (editAnnotation) {
- editAnnotation.addEventListener('click', function () {
- if (pdfviewer) {
- for (let i = 0; i < pdfviewer.annotationCollection.length; i++) {
- if (pdfviewer.annotationCollection[i].shapeAnnotationType === "stamp") {
- var width = pdfviewer.annotationCollection[i].bounds.width;
- var height = pdfviewer.annotationCollection[i].bounds.height;
- pdfviewer.annotationCollection[i].bounds = { x: 100, y: 100, width: width, height: height };
- pdfviewer.annotationCollection[i].annotationSettings.isLock = true;
- pdfviewer.annotation.editAnnotation(pdfviewer.annotationCollection[i]);
- }
- }
- }
- });
-}
-{% endhighlight %}
-{% endtabs %}
-
-## Setting default properties during control initialization
-
-The properties of the stamp annotation can be set before creating the control using the StampSettings.
-
-After editing the default opacity using the Edit Opacity tool, they will be changed to the selected values.
-Refer to the following code sample to set the default sticky note annotation settings.
-
-{% tabs %}
-{% highlight ts tabtitle="Standalone" %}
-
-var pdfviewer = new ej.pdfviewer.PdfViewer({
- documentPath: "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf",
- resourceUrl : "https://cdn.syncfusion.com/ej2/25.1.35/dist/ej2-pdfviewer-lib",
- stampSettings : {opacity: 0.3, author: 'Guest User'}
- });
-ej.pdfviewer.PdfViewer.Inject(ej.pdfviewer.TextSelection, ej.pdfviewer.TextSearch, ej.pdfviewer.Print, ej.pdfviewer.Navigation, ej.pdfviewer.Toolbar,
- ej.pdfviewer.Magnification, ej.pdfviewer.Annotation, ej.pdfviewer.FormDesigner, ej.pdfviewer.FormFields, ej.pdfviewer.PageOrganizer);
-pdfviewer.appendTo('#PdfViewer');
-
-{% endhighlight %}
-{% highlight ts tabtitle="Server-Backed" %}
-
-var pdfviewer = new ej.pdfviewer.PdfViewer({
- documentPath: "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf",
- serviceUrl: 'https://services.syncfusion.com/js/production/api/pdfviewer',
- stampSettings : {opacity: 0.3, author: 'Guest User'}
- });
-ej.pdfviewer.PdfViewer.Inject(ej.pdfviewer.TextSelection, ej.pdfviewer.TextSearch, ej.pdfviewer.Print, ej.pdfviewer.Navigation, ej.pdfviewer.Toolbar,
- ej.pdfviewer.Magnification, ej.pdfviewer.Annotation, ej.pdfviewer.FormDesigner, ej.pdfviewer.FormFields, ej.pdfviewer.PageOrganizer);
-pdfviewer.appendTo('#PdfViewer');
-
-{% endhighlight %}
-{% endtabs %}
\ No newline at end of file
diff --git a/ej2-javascript/pdfviewer/js/annotations/sticky-notes-annotation.md b/ej2-javascript/pdfviewer/js/annotations/sticky-notes-annotation.md
deleted file mode 100644
index 13a78a281..000000000
--- a/ej2-javascript/pdfviewer/js/annotations/sticky-notes-annotation.md
+++ /dev/null
@@ -1,247 +0,0 @@
----
-layout: post
-title: Sticky notes in ##Platform_Name## PDF Viewer control | Syncfusion
-description: Learn here all about Sticky notes in Syncfusion ##Platform_Name## PDF Viewer control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: PDF Viewer
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Sticky notes in ##Platform_Name## PDF Viewer control
-
-The PDF Viewer control provides the options to add, edit, and delete the sticky note annotations in the PDF document.
-
-
-
-## Adding a sticky note annotation to the PDF document
-
-Sticky note annotations can be added to the PDF document using the annotation toolbar.
-
-* Click the **Comments** button in the PDF Viewer toolbar. A toolbar appears below it.
-* Click the position where you want to add sticky note annotation in the PDF document.
-* Sticky note annotation will be added in the clicked positions.
-
- 
-
- Annotation comments can be added to the PDF document using the comment panel.
-
-* Select a Sticky note annotation in the PDF document and right-click it.
-* Select the Comment option in the context menu that appears.
-* Now, you can add Comments, Reply, and Status using the Comment Panel.
-* Now, you can add Comments, Reply, and Status using the Comment Panel.
-
-
-
-## Adding a sticky note annotation to the PDF document Programmatically
-
-With the PDF Viewer library, you can add a sticky note annotation to the PDF Viewer control programmatically using the [**addAnnotation()**](https://helpej2.syncfusion.com/javascript/documentation/api/pdfviewer/annotation/#addannotation) method.
-
-Here's a example of how you can utilize the **addAnnotation()** method to include a sticky note annotation programmatically:
-
-```html
-
-```
-
-{% tabs %}
-{% highlight ts tabtitle="Standalone" %}
-
-var pdfviewer = new ej.pdfviewer.PdfViewer({
- documentPath: "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf",
- resourceUrl : "https://cdn.syncfusion.com/ej2/25.1.35/dist/ej2-pdfviewer-lib",
- });
-ej.pdfviewer.PdfViewer.Inject(ej.pdfviewer.TextSelection, ej.pdfviewer.TextSearch, ej.pdfviewer.Print, ej.pdfviewer.Navigation, ej.pdfviewer.Toolbar,
- ej.pdfviewer.Magnification, ej.pdfviewer.Annotation, ej.pdfviewer.FormDesigner, ej.pdfviewer.FormFields, ej.pdfviewer.PageOrganizer);
-pdfviewer.appendTo('#PdfViewer');
-
-let stickyNote = document.getElementById('stickyNote');
-if (stickyNote) {
- stickyNote.addEventListener('click', function () {
- if (pdfviewer) {
- pdfviewer.annotation.addAnnotation("StickyNotes", {
- offset: { x: 100, y: 200 },
- pageNumber: 1,
- isLock: false
- });
- }
- });
-}
-
-{% endhighlight %}
-{% highlight ts tabtitle="Server-Backed" %}
-
-var pdfviewer = new ej.pdfviewer.PdfViewer({
- documentPath: "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf",
- serviceUrl : "https://services.syncfusion.com/js/production/api/pdfviewer",
- });
-ej.pdfviewer.PdfViewer.Inject(ej.pdfviewer.TextSelection, ej.pdfviewer.TextSearch, ej.pdfviewer.Print, ej.pdfviewer.Navigation, ej.pdfviewer.Toolbar,
- ej.pdfviewer.Magnification, ej.pdfviewer.Annotation, ej.pdfviewer.FormDesigner, ej.pdfviewer.FormFields, ej.pdfviewer.PageOrganizer);
-pdfviewer.appendTo('#PdfViewer');
-
-let stickyNote = document.getElementById('stickyNote');
-if (stickyNote) {
- stickyNote.addEventListener('click', function () {
- if (pdfviewer) {
- pdfviewer.annotation.addAnnotation("StickyNotes", {
- offset: { x: 100, y: 200 },
- pageNumber: 1,
- isLock: false
- });
- }
- });
-}
-
-{% endhighlight %}
-{% endtabs %}
-
-## Edit the existing sticky note annotation programmatically
-
-To modify existing sticky note annotation in the Syncfusion PDF viewer programmatically, you can use the **editAnnotation()** method.
-
-Here is an example of how you can use the **editAnnotation()** method:
-
-```html
-
-```
-
-{% tabs %}
-{% highlight ts tabtitle="Standalone" %}
-
-var pdfviewer = new ej.pdfviewer.PdfViewer({
- documentPath: "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf",
- resourceUrl : "https://cdn.syncfusion.com/ej2/25.1.35/dist/ej2-pdfviewer-lib",
- });
-ej.pdfviewer.PdfViewer.Inject(ej.pdfviewer.TextSelection, ej.pdfviewer.TextSearch, ej.pdfviewer.Print, ej.pdfviewer.Navigation, ej.pdfviewer.Toolbar,
- ej.pdfviewer.Magnification, ej.pdfviewer.Annotation, ej.pdfviewer.FormDesigner, ej.pdfviewer.FormFields, ej.pdfviewer.PageOrganizer);
-pdfviewer.appendTo('#PdfViewer');
-
-let stickyNote = document.getElementById('stickyNote');
-if (stickyNote) {
- stickyNote.addEventListener('click', function () {
- if (pdfviewer) {
- for (let i = 0; i < pdfviewer.annotationCollection.length; i++) {
- if (pdfviewer.annotationCollection[i].shapeAnnotationType === "sticky") {
- var width = pdfviewer.annotationCollection[i].bounds.width;
- var height = pdfviewer.annotationCollection[i].bounds.height;
- pdfviewer.annotationCollection[i].bounds = { x: 100, y: 100, width: width, height: height };
- pdfviewer.annotation.editAnnotation(pdfviewer.annotationCollection[i]);
- }
- }
- }
- });
-}
-
-{% endhighlight %}
-{% highlight ts tabtitle="Server-Backed" %}
-
-var pdfviewer = new ej.pdfviewer.PdfViewer({
- documentPath: "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf",
- serviceUrl : "https://services.syncfusion.com/js/production/api/pdfviewer",
- });
-ej.pdfviewer.PdfViewer.Inject(ej.pdfviewer.TextSelection, ej.pdfviewer.TextSearch, ej.pdfviewer.Print, ej.pdfviewer.Navigation, ej.pdfviewer.Toolbar,
- ej.pdfviewer.Magnification, ej.pdfviewer.Annotation, ej.pdfviewer.FormDesigner, ej.pdfviewer.FormFields, ej.pdfviewer.PageOrganizer);
-pdfviewer.appendTo('#PdfViewer');
-
-let stickyNote = document.getElementById('stickyNote');
-if (stickyNote) {
- stickyNote.addEventListener('click', function () {
- if (pdfviewer) {
- for (let i = 0; i < pdfviewer.annotationCollection.length; i++) {
- if (pdfviewer.annotationCollection[i].shapeAnnotationType === "sticky") {
- var width = pdfviewer.annotationCollection[i].bounds.width;
- var height = pdfviewer.annotationCollection[i].bounds.height;
- pdfviewer.annotationCollection[i].bounds = { x: 100, y: 100, width: width, height: height };
- pdfviewer.annotation.editAnnotation(pdfviewer.annotationCollection[i]);
- }
- }
- }
- });
-}
-
-{% endhighlight %}
-{% endtabs %}
-
-## Editing the properties of the sticky note annotation
-
-### Editing opacity
-
-The opacity of the annotation can be edited using the range slider provided in the Edit Opacity tool.
-
-
-
-### Editing comments
-
-The comment, comment reply, and comment status of the annotation can be edited using the Comment Panel.
-
-* Open the comment panel using the Comment Panel button showing in the annotation toolbar.
-
- 
-
-You can modify or delete the comments or comments replay and it’s status using the menu option provided in the comment panel.
-
- 
-
-## Setting default properties during the control initialization
-
-The properties of the sticky note annotation can be set before creating the control using the StickyNoteSettings.
-
-After editing the default opacity using the Edit Opacity tool, they will be changed to the selected values. Refer to the following code sample to set the default sticky note annotation settings.
-
-{% tabs %}
-{% highlight ts tabtitle="Standalone" %}
-
-var pdfviewer = new ej.pdfviewer.PdfViewer({
- documentPath: "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf",
- resourceUrl : "https://cdn.syncfusion.com/ej2/25.1.35/dist/ej2-pdfviewer-lib",
- stickyNotesSettings : {author: 'Syncfusion'}
- });
-ej.pdfviewer.PdfViewer.Inject(ej.pdfviewer.TextSelection, ej.pdfviewer.TextSearch, ej.pdfviewer.Print, ej.pdfviewer.Navigation, ej.pdfviewer.Toolbar,
- ej.pdfviewer.Magnification, ej.pdfviewer.Annotation, ej.pdfviewer.FormDesigner, ej.pdfviewer.FormFields, ej.pdfviewer.PageOrganizer);
-pdfviewer.appendTo('#PdfViewer');
-
-{% endhighlight %}
-{% highlight ts tabtitle="Server-Backed" %}
-
-var pdfviewer = new ej.pdfviewer.PdfViewer({
- documentPath: "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf",
- serviceUrl: 'https://services.syncfusion.com/js/production/api/pdfviewer',
- stickyNotesSettings : {author: 'Syncfusion'}
- });
-ej.pdfviewer.PdfViewer.Inject(ej.pdfviewer.TextSelection, ej.pdfviewer.TextSearch, ej.pdfviewer.Print, ej.pdfviewer.Navigation, ej.pdfviewer.Toolbar,
- ej.pdfviewer.Magnification, ej.pdfviewer.Annotation, ej.pdfviewer.FormDesigner, ej.pdfviewer.FormFields, ej.pdfviewer.PageOrganizer);
-pdfviewer.appendTo('#PdfViewer');
-
-{% endhighlight %}
-{% endtabs %}
-
-## Disabling sticky note annotations
-
-The PDF Viewer control provides an option to disable the sticky note annotations feature. The code sample for disabling the feature is as follows.
-
-{% tabs %}
-{% highlight ts tabtitle="Standalone" %}
-
-var pdfviewer = new ej.pdfviewer.PdfViewer({
- documentPath: "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf",
- resourceUrl : "https://cdn.syncfusion.com/ej2/25.1.35/dist/ej2-pdfviewer-lib",
- enableStickyNotesAnnotation : false
- });
-ej.pdfviewer.PdfViewer.Inject(ej.pdfviewer.TextSelection, ej.pdfviewer.TextSearch, ej.pdfviewer.Print, ej.pdfviewer.Navigation, ej.pdfviewer.Toolbar,
- ej.pdfviewer.Magnification, ej.pdfviewer.Annotation, ej.pdfviewer.FormDesigner, ej.pdfviewer.FormFields, ej.pdfviewer.PageOrganizer);
-pdfviewer.appendTo('#PdfViewer');
-
-{% endhighlight %}
-{% highlight ts tabtitle="Server-Backed" %}
-
-var pdfviewer = new ej.pdfviewer.PdfViewer({
- documentPath: "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf",
- serviceUrl: 'https://services.syncfusion.com/js/production/api/pdfviewer',
- enableStickyNotesAnnotation : false
- });
-ej.pdfviewer.PdfViewer.Inject(ej.pdfviewer.TextSelection, ej.pdfviewer.TextSearch, ej.pdfviewer.Print, ej.pdfviewer.Navigation, ej.pdfviewer.Toolbar,
- ej.pdfviewer.Magnification, ej.pdfviewer.Annotation, ej.pdfviewer.FormDesigner, ej.pdfviewer.FormFields, ej.pdfviewer.PageOrganizer);
-pdfviewer.appendTo('#PdfViewer');
-
-{% endhighlight %}
-{% endtabs %}
\ No newline at end of file
diff --git a/ej2-javascript/pdfviewer/js/annotations/text-markup-annotation.md b/ej2-javascript/pdfviewer/js/annotations/text-markup-annotation.md
deleted file mode 100644
index 5152d76d9..000000000
--- a/ej2-javascript/pdfviewer/js/annotations/text-markup-annotation.md
+++ /dev/null
@@ -1,570 +0,0 @@
----
-layout: post
-title: Text markup annotation in ##Platform_Name## Pdfviewer control | Syncfusion
-description: Learn here all about Text markup annotation in Syncfusion ##Platform_Name## Pdfviewer control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: Text markup annotation
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Text markup annotation in ##Platform_Name## Pdfviewer control
-
-The PDF Viewer control provides the options to add, edit, and delete text markup annotations such as highlight, underline, strikethrough and squiggly annotations in the PDF document.
-
-
-
-## Highlight a text
-
-There are two ways to highlight a text in the PDF document:
-
-1. Using the context menu
- * Select a text in the PDF document and right-click it.
- * Select **Highlight** option in the context menu that appears.
-
-
-
-
-2. Using the annotation toolbar
- * Click the **Edit Annotation** button in the PDF Viewer toolbar. A toolbar appears below it.
- * Select the **Highlight** button in the annotation toolbar. It enables the highlight mode.
- * Select the text and the highlight annotation will be added.
- * You can also select the text and apply the highlight annotation using the **Highlight** button.
-
-
-
-In the pan mode, if the highlight mode is entered, the PDF Viewer control will switch to text select mode to enable the text selection for highlighting the text.
-
-Refer to the following code snippet to switch to highlight mode.
-
-{% tabs %}
-{% highlight html tabtitle="index.html" %}
-{% include code-snippet/pdfviewer/es5-text-markup-annotation/highlight-mode-cs1/index.html %}
-{% endhighlight %}
-{% endtabs %}
-
-N> To set up the **server-backed PDF Viewer**,
-Add the below [serviceUrl](https://helpej2.syncfusion.com/documentation/api/pdfviewer/#serviceurl) in the `index.html` file
-`serviceUrl: 'https://services.syncfusion.com/js/production/api/pdfviewer'`
-
-{% previewsample "page.domainurl/code-snippet/pdfviewer/es5-text-markup-annotation/highlight-mode-cs1" %}
-
-Refer to the following code snippet to switch back to normal mode from highlight mode.
-
-{% tabs %}
-{% highlight html tabtitle="index.html" %}
-{% include code-snippet/pdfviewer/es5-text-markup-annotation/highlight-normal-mode-cs1/index.html %}
-{% endhighlight %}
-{% endtabs %}
-
-N> To set up the **server-backed PDF Viewer**,
-Add the below `serviceUrl` in the `index.html` file
-`serviceUrl: 'https://services.syncfusion.com/js/production/api/pdfviewer'`
-
-{% previewsample "page.domainurl/code-snippet/pdfviewer/es5-text-markup-annotation/highlight-normal-mode-cs1" %}
-
-## Highlight a text programmatically
-
-The PDF Viewer library enables you to programmatically highlight text within the PDF Viewer control using the [**addAnnotation()**](https://helpej2.syncfusion.com/javascript/documentation/api/pdfviewer/annotation/#addannotation) method.
-
-Here's an example of how you can use the **addAnnotation()** method to apply highlighting programmatically:
-
-```html
-
-```
-{% tabs %}
-{% highlight ts tabtitle="Standalone" %}
-
-var pdfviewer = new ej.pdfviewer.PdfViewer({
- documentPath: "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf",
- resourceUrl : "https://cdn.syncfusion.com/ej2/25.1.35/dist/ej2-pdfviewer-lib",
- });
-ej.pdfviewer.PdfViewer.Inject(ej.pdfviewer.TextSelection, ej.pdfviewer.TextSearch, ej.pdfviewer.Print, ej.pdfviewer.Navigation, ej.pdfviewer.Toolbar,
- ej.pdfviewer.Magnification, ej.pdfviewer.Annotation, ej.pdfviewer.FormDesigner, ej.pdfviewer.FormFields, ej.pdfviewer.PageOrganizer);
-pdfviewer.appendTo('#PdfViewer');
-
-let highlight = document.getElementById('highlight');
-if (highlight) {
- highlight.addEventListener('click', function () {
- if (pdfviewer) {
- pdfviewer.annotation.addAnnotation("Highlight", {
- bounds: [{ x: 97, y: 110, width: 350, height: 14 }],
- pageNumber: 1
- });
- }
- });
-}
-
-{% endhighlight %}
-{% highlight ts tabtitle="Server-Backed" %}
-
-var pdfviewer = new ej.pdfviewer.PdfViewer({
- documentPath: "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf",
- serviceUrl : "https://services.syncfusion.com/js/production/api/pdfviewer",
- });
-ej.pdfviewer.PdfViewer.Inject(ej.pdfviewer.TextSelection, ej.pdfviewer.TextSearch, ej.pdfviewer.Print, ej.pdfviewer.Navigation, ej.pdfviewer.Toolbar,
- ej.pdfviewer.Magnification, ej.pdfviewer.Annotation, ej.pdfviewer.FormDesigner, ej.pdfviewer.FormFields, ej.pdfviewer.PageOrganizer);
-pdfviewer.appendTo('#PdfViewer');
-let highlight = document.getElementById('highlight');
-if (highlight) {
- highlight.addEventListener('click', function () {
- if (pdfviewer) {
- pdfviewer.annotation.addAnnotation("Highlight", {
- bounds: [{ x: 97, y: 110, width: 350, height: 14 }],
- pageNumber: 1
- });
- }
- });
-}
-{% endhighlight %}
-{% endtabs %}
-
-## Underline a text
-
-There are two ways to underline a text in the PDF document:
-
-1. Using the context menu
- * Select a text in the PDF document and right-click it.
- * Select **Underline** option in the context menu that appears.
-
-
-
-2. Using the annotation toolbar
- * Click the **Edit Annotation** button in the PDF Viewer toolbar. A toolbar appears below it.
- * Select the **Underline** button in the annotation toolbar. It enables the underline mode.
- * Select the text and the underline annotation will be added.
- * You can also select the text and apply the underline annotation using the **Underline** button.
-
-
-
-In the pan mode, if the underline mode is entered, the PDF Viewer control will switch to text select mode to enable the text selection for underlining the text.
-
-Refer to the following code snippet to switch to underline mode.
-
-{% tabs %}
-{% highlight html tabtitle="index.html" %}
-{% include code-snippet/pdfviewer/es5-text-markup-annotation/underline-mode-cs1/index.html %}
-{% endhighlight %}
-{% endtabs %}
-
-N> To set up the **server-backed PDF Viewer**,
-Add the below `serviceUrl` in the `index.html` file
-`serviceUrl: 'https://services.syncfusion.com/js/production/api/pdfviewer'`
-
-{% previewsample "page.domainurl/code-snippet/pdfviewer/es5-text-markup-annotation/underline-mode-cs1" %}
-
-
-Refer to the following code snippet to switch back to normal mode from underline mode.
-
-{% tabs %}
-{% highlight html tabtitle="index.html" %}
-{% include code-snippet/pdfviewer/es5-text-markup-annotation/underline-normal-mode-cs1/index.html %}
-{% endhighlight %}
-{% endtabs %}
-
-N> To set up the **server-backed PDF Viewer**,
-Add the below `serviceUrl` in the `index.html` file
-`serviceUrl: 'https://services.syncfusion.com/js/production/api/pdfviewer'`
-
-{% previewsample "page.domainurl/code-snippet/pdfviewer/es5-text-markup-annotation/underline-normal-mode-cs1" %}
-
-## Underline a text programmatically
-
-The PDF Viewer library enables you to programmatically Underline text within the PDF Viewer control using the [**addAnnotation()**](https://helpej2.syncfusion.com/javascript/documentation/api/pdfviewer/annotation/#addannotation) method.
-
-Here's an example of how you can use the **addAnnotation()** method to apply Underline programmatically:
-
-```html
-
-```
-{% tabs %}
-{% highlight ts tabtitle="Standalone" %}
-
-var pdfviewer = new ej.pdfviewer.PdfViewer({
- documentPath: "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf",
- resourceUrl : "https://cdn.syncfusion.com/ej2/25.1.35/dist/ej2-pdfviewer-lib",
- });
-ej.pdfviewer.PdfViewer.Inject(ej.pdfviewer.TextSelection, ej.pdfviewer.TextSearch, ej.pdfviewer.Print, ej.pdfviewer.Navigation, ej.pdfviewer.Toolbar,
- ej.pdfviewer.Magnification, ej.pdfviewer.Annotation, ej.pdfviewer.FormDesigner, ej.pdfviewer.FormFields, ej.pdfviewer.PageOrganizer);
-pdfviewer.appendTo('#PdfViewer');
-
-let underline = document.getElementById('underline');
-if (underline) {
- underline.addEventListener('click', function () {
- if (pdfviewer) {
- pdfviewer.annotation.addAnnotation("Underline", {
- bounds: [{ x: 97, y: 110, width: 350, height: 14 }],
- pageNumber: 1
- });
- }
- });
-}
-
-{% endhighlight %}
-{% highlight ts tabtitle="Server-Backed" %}
-
-var pdfviewer = new ej.pdfviewer.PdfViewer({
- documentPath: "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf",
- serviceUrl : "https://services.syncfusion.com/js/production/api/pdfviewer",
- });
-ej.pdfviewer.PdfViewer.Inject(ej.pdfviewer.TextSelection, ej.pdfviewer.TextSearch, ej.pdfviewer.Print, ej.pdfviewer.Navigation, ej.pdfviewer.Toolbar,
- ej.pdfviewer.Magnification, ej.pdfviewer.Annotation, ej.pdfviewer.FormDesigner, ej.pdfviewer.FormFields, ej.pdfviewer.PageOrganizer);
-pdfviewer.appendTo('#PdfViewer');
-let underline = document.getElementById('underline');
-if (underline) {
- underline.addEventListener('click', function () {
- if (pdfviewer) {
- pdfviewer.annotation.addAnnotation("Underline", {
- bounds: [{ x: 97, y: 110, width: 350, height: 14 }],
- pageNumber: 1
- });
- }
- });
-}
-
-{% endhighlight %}
-{% endtabs %}
-
-## Strikethrough a text
-
-There are two ways to strikethrough a text in the PDF document:
-
-1. Using the context menu
- * Select a text in the PDF document and right-click it.
- * Select **Strikethrough** option in the context menu that appears.
-
-
-
-2. Using the annotation toolbar
- * Click the **Edit Annotation** button in the PDF Viewer toolbar. A toolbar appears below it.
- * Select the **Strikethrough** button in the annotation toolbar. It enables the strikethrough mode.
- * Select the text and the strikethrough annotation will be added.
- * You can also select the text and apply the strikethrough annotation using the **Strikethrough** button.
-
-
-
-In the pan mode, if the strikethrough mode is entered, the PDF Viewer control will switch to text select mode to enable the text selection for striking through the text.
-
-Refer to the following code snippet to switch to strikethrough mode.
-
-{% tabs %}
-{% highlight html tabtitle="index.html" %}
-{% include code-snippet/pdfviewer/es5-text-markup-annotation/strikethrough-mode-cs1/index.html %}
-{% endhighlight %}
-{% endtabs %}
-
-N> To set up the **server-backed PDF Viewer**,
-Add the below `serviceUrl` in the `index.html` file
-`serviceUrl: 'https://services.syncfusion.com/js/production/api/pdfviewer'`
-
-{% previewsample "page.domainurl/code-snippet/pdfviewer/es5-text-markup-annotation/strikethrough-mode-cs1" %}
-
-Refer to the following code snippet to switch back to normal mode from underline mode.
-
-{% tabs %}
-{% highlight html tabtitle="index.html" %}
-{% include code-snippet/pdfviewer/es5-text-markup-annotation/strikethrough-normal-mode-cs1/index.html %}
-{% endhighlight %}
-{% endtabs %}
-
-N> To set up the **server-backed PDF Viewer**,
-Add the below `serviceUrl` in the `index.html` file
-`serviceUrl: 'https://services.syncfusion.com/js/production/api/pdfviewer'`
-
-{% previewsample "page.domainurl/code-snippet/pdfviewer/es5-text-markup-annotation/strikethrough-normal-mode-cs1" %}
-
-## Strikethrough a text programmatically
-
-The PDF Viewer library enables you to programmatically Strikethrough text within the PDF Viewer control using the [**addAnnotation()**](https://helpej2.syncfusion.com/javascript/documentation/api/pdfviewer/annotation/#addannotation) method.
-
-Here's an example of how you can use the **addAnnotation()** method to apply Strikethrough programmatically:
-
-```html
-
-```
-{% tabs %}
-{% highlight ts tabtitle="Standalone" %}
-
-var pdfviewer = new ej.pdfviewer.PdfViewer({
- documentPath: "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf",
- resourceUrl : "https://cdn.syncfusion.com/ej2/25.1.35/dist/ej2-pdfviewer-lib",
- });
-ej.pdfviewer.PdfViewer.Inject(ej.pdfviewer.TextSelection, ej.pdfviewer.TextSearch, ej.pdfviewer.Print, ej.pdfviewer.Navigation, ej.pdfviewer.Toolbar,
- ej.pdfviewer.Magnification, ej.pdfviewer.Annotation, ej.pdfviewer.FormDesigner, ej.pdfviewer.FormFields, ej.pdfviewer.PageOrganizer);
-pdfviewer.appendTo('#PdfViewer');
-
-let strikethrough = document.getElementById('strikethrough');
-if (strikethrough) {
- strikethrough.addEventListener('click', function () {
- if (pdfviewer) {
- pdfviewer.annotation.addAnnotation("Strikethrough", {
- bounds: [{ x: 97, y: 110, width: 350, height: 14 }],
- pageNumber: 1
- });
- }
- });
-}
-
-{% endhighlight %}
-{% highlight ts tabtitle="Server-Backed" %}
-
-var pdfviewer = new ej.pdfviewer.PdfViewer({
- documentPath: "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf",
- serviceUrl : "https://services.syncfusion.com/js/production/api/pdfviewer",
- });
-ej.pdfviewer.PdfViewer.Inject(ej.pdfviewer.TextSelection, ej.pdfviewer.TextSearch, ej.pdfviewer.Print, ej.pdfviewer.Navigation, ej.pdfviewer.Toolbar,
- ej.pdfviewer.Magnification, ej.pdfviewer.Annotation, ej.pdfviewer.FormDesigner, ej.pdfviewer.FormFields, ej.pdfviewer.PageOrganizer);
-pdfviewer.appendTo('#PdfViewer');
-let strikethrough = document.getElementById('strikethrough');
-if (strikethrough) {
- strikethrough.addEventListener('click', function () {
- if (pdfviewer) {
- pdfviewer.annotation.addAnnotation("Strikethrough", {
- bounds: [{ x: 97, y: 110, width: 350, height: 14 }],
- pageNumber: 1
- });
- }
- });
-}
-{% endhighlight %}
-{% endtabs %}
-
-## Squiggly a text
-
-There are two ways to add squiggly to a text in the PDF document:
-
-1. Using the context menu
- * Select a text in the PDF document and right-click it.
- * Select **Squiggly** option in the context menu that appears.
-
-
-
-2. Using the annotation toolbar
- * Click the **Edit Annotation** button in the PDF Viewer toolbar. A toolbar appears below it.
- * Select the **Squiggly** button in the annotation toolbar. It enables the squiggly mode.
- * Select the text and the squiggly annotation will be added.
- * You can also select the text and apply the squiggly annotation using the **Squiggly** button.
-
-
-
-In the pan mode, if the squiggly mode is entered, the PDF Viewer control will switch to text select mode to enable the text selection for adding squiggly to the text.
-
-Refer to the following code snippet to switch to squiggly mode.
-
-{% tabs %}
-{% highlight html tabtitle="index.html" %}
-{% include code-snippet/pdfviewer/es5-text-markup-annotation/squiggly-mode-cs1/index.html %}
-{% endhighlight %}
-{% endtabs %}
-
-N> To set up the **server-backed PDF Viewer**,
-Add the below `serviceUrl` in the `index.html` file
-`serviceUrl: 'https://services.syncfusion.com/js/production/api/pdfviewer'`
-
-{% previewsample "page.domainurl/code-snippet/pdfviewer/es5-text-markup-annotation/squiggly-mode-cs1" %}
-
-Refer to the following code snippet to switch back to normal mode from squiggly mode.
-
-{% tabs %}
-{% highlight html tabtitle="index.html" %}
-{% include code-snippet/pdfviewer/es5-text-markup-annotation/squiggly-normal-mode-cs1/index.html %}
-{% endhighlight %}
-{% endtabs %}
-
-N> To set up the **server-backed PDF Viewer**,
-Add the below `serviceUrl` in the `index.html` file
-`serviceUrl: 'https://services.syncfusion.com/js/production/api/pdfviewer'`
-
-{% previewsample "page.domainurl/code-snippet/pdfviewer/es5-text-markup-annotation/squiggly-normal-mode-cs1" %}
-
-## Squiggly a text programmatically
-
-The PDF Viewer library enables you to programmatically add squiggly to text within the PDF Viewer control using the [**addAnnotation()**](https://helpej2.syncfusion.com/javascript/documentation/api/pdfviewer/annotation/#addannotation) method.
-
-Here's an example of how you can use the **addAnnotation()** method to apply squiggly programmatically:
-
-```html
-
-```
-
-{% tabs %}
-{% highlight ts tabtitle="Standalone" %}
-
-var pdfviewer = new ej.pdfviewer.PdfViewer({
- documentPath: "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf",
- resourceUrl : "https://cdn.syncfusion.com/ej2/30.1.37/dist/ej2-pdfviewer-lib",
- });
-ej.pdfviewer.PdfViewer.Inject(ej.pdfviewer.TextSelection, ej.pdfviewer.TextSearch, ej.pdfviewer.Print, ej.pdfviewer.Navigation, ej.pdfviewer.Toolbar,
- ej.pdfviewer.Magnification, ej.pdfviewer.Annotation, ej.pdfviewer.FormDesigner, ej.pdfviewer.FormFields, ej.pdfviewer.PageOrganizer);
-pdfviewer.appendTo('#PdfViewer');
-
-let squiggly = document.getElementById('squiggly');
-if (squiggly) {
- squiggly.addEventListener('click', function () {
- if (pdfviewer) {
- pdfviewer.annotation.addAnnotation("Squiggly", {
- bounds: [{ x: 97, y: 110, width: 350, height: 14 }],
- pageNumber: 1
- });
- }
- });
-}
-
-{% endhighlight %}
-{% highlight ts tabtitle="Server-Backed" %}
-
-var pdfviewer = new ej.pdfviewer.PdfViewer({
- documentPath: "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf",
- serviceUrl : "https://services.syncfusion.com/js/production/api/pdfviewer",
- });
-ej.pdfviewer.PdfViewer.Inject(ej.pdfviewer.TextSelection, ej.pdfviewer.TextSearch, ej.pdfviewer.Print, ej.pdfviewer.Navigation, ej.pdfviewer.Toolbar,
- ej.pdfviewer.Magnification, ej.pdfviewer.Annotation, ej.pdfviewer.FormDesigner, ej.pdfviewer.FormFields, ej.pdfviewer.PageOrganizer);
-pdfviewer.appendTo('#PdfViewer');
-let squiggly = document.getElementById('squiggly');
-if (squiggly) {
- squiggly.addEventListener('click', function () {
- if (pdfviewer) {
- pdfviewer.annotation.addAnnotation("Squiggly", {
- bounds: [{ x: 97, y: 110, width: 350, height: 14 }],
- pageNumber: 1
- });
- }
- });
-}
-{% endhighlight %}
-{% endtabs %}
-
-## Deleting a text markup annotation
-
-The selected annotation can be deleted by the following ways:
-
-1. Using Delete key
- * Select the annotation to be deleted.
- * Click the Delete key in the keyboard. The selected annotation will be deleted.
-
-2. Using the annotation toolbar
- * Select the annotation to be deleted.
- * Click the **Delete Annotation** button in the annotation toolbar. The selected annotation will be deleted.
-
-
-
-## Editing the properties of the text markup annotation
-
-The color and the opacity of the text markup annotation can be edited using the Edit Color tool and the Edit Opacity tool in the annotation toolbar.
-
-### Editing color
-
-The color of the annotation can be edited using the color palette provided in the Edit Color tool.
-
-
-
-### Editing opacity
-
-The opacity of the annotation can be edited using the range slider provided in the Edit Opacity tool.
-
-
-
-## Setting default properties during control initialization
-
-The properties of the text markup annotation can be set before creating the control using highlightSettings, underlineSettings, strikethroughSettings and squigglySettings.
-
->After editing the default color and opacity using the Edit Color tool and Edit Opacity tool, they will be changed to the selected values.
-
-Refer to the following code snippet to set the default annotation settings.
-
-{% tabs %}
-{% highlight js tabtitle="Standalone" %}
-
-var pdfviewer = new ej.pdfviewer.PdfViewer({
- documentPath: "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf"",
- highlightSettings: {author: 'Guest User', subject: 'Important', color: '#ffff00', opacity: 0.9, modifiedDate: ''},
- underlineSettings: {author: 'Guest User', subject: 'Points to be remembered', color: '#00ffff', opacity: 0.9, modifiedDate: ''},
- strikethroughSettings: {author: 'Guest User', subject: 'Not Important', color: '#ff00ff', opacity: 0.9, modifiedDate: ''},
- squigglySettings: {author: 'Guest User', subject: 'Spelling Error', color: '#ff0000', opacity: 0.9, modifiedDate: ''}
-});
-ej.pdfviewer.PdfViewer.Inject(ej.pdfviewer.Toolbar, ej.pdfviewer.Magnification, ej.pdfviewer.LinkAnnotation,ej.pdfviewer.ThumbnailView, ej.pdfviewer.BookmarkView, ej.pdfviewer.TextSelection, ej.pdfviewer.TextSearch, ej.pdfviewer.Navigation, ej.pdfviewer.Print);
-pdfviewer.appendTo('#PdfViewer');
-
-{% endhighlight %}
-{% highlight js tabtitle="Server-Backed" %}
-
-var pdfviewer = new ej.pdfviewer.PdfViewer({
- documentPath: "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf"",
- serviceUrl: 'https://services.syncfusion.com/js/production/api/pdfviewer',
- highlightSettings: {author: 'Guest User', subject: 'Important', color: '#ffff00', opacity: 0.9, modifiedDate: ''},
- underlineSettings: {author: 'Guest User', subject: 'Points to be remembered', color: '#00ffff', opacity: 0.9, modifiedDate: ''},
- strikethroughSettings: {author: 'Guest User', subject: 'Not Important', color: '#ff00ff', opacity: 0.9, modifiedDate: ''},
- squigglySettings: {author: 'Guest User', subject: 'Spelling Error', color: '#ff0000', opacity: 0.9, modifiedDate: ''}
-});
-ej.pdfviewer.PdfViewer.Inject(ej.pdfviewer.Toolbar, ej.pdfviewer.Magnification, ej.pdfviewer.LinkAnnotation,ej.pdfviewer.ThumbnailView, ej.pdfviewer.BookmarkView, ej.pdfviewer.TextSelection, ej.pdfviewer.TextSearch, ej.pdfviewer.Navigation, ej.pdfviewer.Print);
-pdfviewer.appendTo('#PdfViewer');
-
-{% endhighlight %}
-{% endtabs %}
-
-## Performing undo and redo
-
-The PDF Viewer performs undo and redo for the changes made in the PDF document. In text markup annotation, undo and redo actions are provided for:
-
-* Inclusion of the text markup annotations.
-* Deletion of the text markup annotations.
-* Change of either color or opacity of the text markup annotations.
-
-Undo and redo actions can be done by the following ways:
-
-1. Using keyboard shortcuts:
- After performing a text markup annotation action, you can undo it by using Ctrl + Z shortcut and redo by using Ctrl + Y shortcut.
-2. Using toolbar:
- Undo and redo can be done using the **Undo** tool and **Redo** tool provided in the toolbar.
-
-Refer to the following code snippet for calling undo and redo actions from the client-side.
-
-{% tabs %}
-{% highlight html tabtitle="index.html" %}
-{% include code-snippet/pdfviewer/es5-text-markup-annotation/undo-redo-cs1/index.html %}
-{% endhighlight %}
-{% endtabs %}
-
-{% previewsample "page.domainurl/code-snippet/pdfviewer/es5-text-markup-annotation/undo-redo-cs1" %}
-
-## Saving the text markup annotation
-
-When you click the download tool in the toolbar, the text markup annotations will be saved in the PDF document. This action will not affect the original document.
-
-## Printing the text markup annotation
-
-When the print tool is selected in the toolbar, the PDF document will be printed along with the text markup annotations added to the pages. This action will not affect the original document.
-
-## Disabling text markup annotation
-
-The PDF Viewer control provides an option to disable the text markup annotation feature. The code snippet for disabling the feature is as follows.
-
-{% tabs %}
-{% highlight js tabtitle="Standalone" %}
-
-var pdfviewer = new ej.pdfviewer.PdfViewer({
- enableTextMarkupAnnotation: false,
- documentPath: "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf",
- });
-ej.pdfviewer.PdfViewer.Inject(ej.pdfviewer.Toolbar, ej.pdfviewer.Magnification, ej.pdfviewer.LinkAnnotation,ej.pdfviewer.ThumbnailView, ej.pdfviewer.BookmarkView, ej.pdfviewer.TextSelection, ej.pdfviewer.TextSearch, ej.pdfviewer.Navigation, ej.pdfviewer.Print);
-pdfviewer.appendTo('#PdfViewer');
-
-{% endhighlight %}
-{% highlight js tabtitle="Server-Backed" %}
-
-var pdfviewer = new ej.pdfviewer.PdfViewer({
- enableTextMarkupAnnotation: false,
- documentPath: "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf",
- serviceUrl: 'https://services.syncfusion.com/js/production/api/pdfviewer'
- });
-ej.pdfviewer.PdfViewer.Inject(ej.pdfviewer.Toolbar, ej.pdfviewer.Magnification, ej.pdfviewer.LinkAnnotation,ej.pdfviewer.ThumbnailView, ej.pdfviewer.BookmarkView, ej.pdfviewer.TextSelection, ej.pdfviewer.TextSearch, ej.pdfviewer.Navigation, ej.pdfviewer.Print);
-pdfviewer.appendTo('#PdfViewer');
-
-{% endhighlight %}
-{% endtabs %}
-
-## See also
-
-* [Toolbar items](../toolbar)
-* [Feature Modules](../feature-module)
diff --git a/ej2-javascript/pdfviewer/js/download.md b/ej2-javascript/pdfviewer/js/download.md
deleted file mode 100644
index ba4bceb10..000000000
--- a/ej2-javascript/pdfviewer/js/download.md
+++ /dev/null
@@ -1,141 +0,0 @@
----
-layout: post
-title: Download in ##Platform_Name## Pdfviewer control | Syncfusion
-description: Learn here all about Download in Syncfusion ##Platform_Name## Pdfviewer control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: Download
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-# Download in ##Platform_Name## Pdfviewer control
-
-The PDF Viewer supports downloading the loaded PDF file. You can enable/disable the download using the following code snippet.
-
-```html
-{% raw %}
-
-
-
-Essential JS 2
-
-
-
-
-
-
-
-
-
-
-
-
-
-{% endraw %}
-```
-
-{% tabs %}
-{% highlight js tabtitle="Standalone" %}
-
-var pdfviewer = new ej.pdfviewer.PdfViewer({
- enableDownload: true,
- documentPath: "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf",
-});
-
-ej.pdfviewer.PdfViewer.Inject(ej.pdfviewer.Toolbar, ej.pdfviewer.Magnification, ej.pdfviewer.LinkAnnotation,ej.pdfviewer.ThumbnailView, ej.pdfviewer.BookmarkView, ej.pdfviewer.TextSelection, ej.pdfviewer.TextSearch, ej.pdfviewer.Navigation, ej.pdfviewer.Print);
-pdfviewer.appendTo('#PdfViewer');
-
-{% endhighlight %}
-{% highlight js tabtitle="Server-Backed" %}
-
-var pdfviewer = new ej.pdfviewer.PdfViewer({
- enableDownload: true,
- documentPath: "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf",
- serviceUrl: 'https://services.syncfusion.com/js/production/api/pdfviewer'
-});
-
-ej.pdfviewer.PdfViewer.Inject(ej.pdfviewer.Toolbar, ej.pdfviewer.Magnification, ej.pdfviewer.LinkAnnotation,ej.pdfviewer.ThumbnailView, ej.pdfviewer.BookmarkView, ej.pdfviewer.TextSelection, ej.pdfviewer.TextSearch, ej.pdfviewer.Navigation, ej.pdfviewer.Print);
-pdfviewer.appendTo('#PdfViewer');
-
-{% endhighlight %}
-{% endtabs %}
-
-
-
-You can invoke download action using following code snippet.,
-
-```
-
-
-```
-{% tabs %}
-{% highlight ts tabtitle="Standalone" %}
-
-var pdfviewer = new ej.pdfviewer.PdfViewer({
- enableDownload: true,
- documentPath: "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf",
- });
-ej.pdfviewer.PdfViewer.Inject(ej.pdfviewer.Toolbar, ej.pdfviewer.Magnification, ej.pdfviewer.LinkAnnotation,ej.pdfviewer.ThumbnailView, ej.pdfviewer.BookmarkView, ej.pdfviewer.TextSelection, ej.pdfviewer.TextSearch, ej.pdfviewer.Navigation, ej.pdfviewer.Print);
-pdfviewer.appendTo('#PdfViewer');
-
-document.getElementById('download').addEventListener('click', function () {
- pdfviewer.download()
-});
-
-{% endhighlight %}
-{% highlight html tabtitle="Server-Backed" %}
-
-var pdfviewer = new ej.pdfviewer.PdfViewer({
- enableDownload: true,
- documentPath: "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf",
- serviceUrl: 'https://services.syncfusion.com/js/production/api/pdfviewer'
- });
-ej.pdfviewer.PdfViewer.Inject(ej.pdfviewer.Toolbar, ej.pdfviewer.Magnification, ej.pdfviewer.LinkAnnotation,ej.pdfviewer.ThumbnailView, ej.pdfviewer.BookmarkView, ej.pdfviewer.TextSelection, ej.pdfviewer.TextSearch, ej.pdfviewer.Navigation, ej.pdfviewer.Print);
-pdfviewer.appendTo('#PdfViewer');
-
-document.getElementById('download').addEventListener('click', function () {
- pdfviewer.download()
-});
-
-{% endhighlight %}
-{% endtabs %}
-
-## How to get the base64 string while downloading the PDF document
-
-The [downloadEnd](https://helpej2.syncfusion.com/documentation/api/pdfviewer/#downloadend) event of the PDF viewer allows you to get the downloaded document as a base64 string.
-
-The following code illustrates how to get the invoke the download action in a button click to get the downloaded document as a base64 string. And load the document from base64 string in another button click.
-
-```
-
-
-
-
-```
-
-```ts
-
-var pdfstream;
-document.getElementById('download').addEventListener('click', function () {
- //API to perform download action.
- viewer.download();
- viewer.downloadEnd = function (args) {
- pdfstream = args.downloadDocument;
- //Print the document as a base64 string in the console window.
- console.log(pdfstream);
- };
-});
-
-document.getElementById('load').addEventListener('click', function () {
- //Load the base64 string in the viewer.
- viewer.load(pdfstream, null);
-});
-
-```
-
-[View sample in GitHub](https://github.com/SyncfusionExamples/javascript-pdf-viewer-examples/tree/master/Download/Get%20the%20base64%20string%20while%20downloading).
-
-## See also
-
-* [Toolbar items](./toolbar)
-* [Feature Modules](./feature-module)
\ No newline at end of file
diff --git a/ej2-javascript/pdfviewer/js/ej1-api-migration.md b/ej2-javascript/pdfviewer/js/ej1-api-migration.md
deleted file mode 100644
index 9089193be..000000000
--- a/ej2-javascript/pdfviewer/js/ej1-api-migration.md
+++ /dev/null
@@ -1,80 +0,0 @@
----
-layout: post
-title: Ej1 api migration in ##Platform_Name## Pdfviewer control | Syncfusion
-description: Learn here all about Ej1 api migration in Syncfusion ##Platform_Name## Pdfviewer control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: Ej1 api migration
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Ej1 api migration in ##Platform_Name## Pdfviewer control
-
-This article describes API migration process of PDF Viewer component from Essential JS 1 to Essential JS 2.
-
-## Properties
-
-
-
-| Behavior | API in Essential JS 1 | API in Essential JS 2 |
-|---|---|---|
-| Localization | **Property**: *locale* `$("#viewer").ejPdfViewer({ serviceUrl: '../api/PdfViewer', locale:"es-ES" });` | **Property**: *locale* `var pdfviewer = new ej.pdfviewer.PdfViewer({locale: 'es-ES', serviceUrl:https://services.syncfusion.com/js/production/api/pdfviewer'}); ej.pdfviewer.PdfViewer.Inject(ej.pdfviewer.TextSelection, ej.pdfviewer.TextSearch,ej.pdfviewer.Navigation,ej.pdfviewer.Print); pdfviewer.appendTo('#PdfViewer');`|
-|To set the PDF document path for initial loading | **Property**: *documentPath* `$("#viewer").ejPdfViewer({ serviceUrl: '../api/PdfViewer', documentPath: "HTTP Succinctly.pdf" });` | **Property**: *documentPath* `var pdfviewer = new ej.pdfviewer.PdfViewer({ documentPath: "PDF_Succinctly.pdf", serviceUrl:'https://services.syncfusion.com/js/production/api/pdfviewer'}); ej.pdfviewer.PdfViewer.Inject(ej.pdfviewer.TextSelection, ej.pdfviewer.TextSearch,ej.pdfviewer.Navigation,ej.pdfviewer.Print);pdfviewer.appendTo('#PdfViewer');`|
-| To get the number of the page being displayed in the PDF Viewer | **Property**: *currentPageNumber* `$var pdfviewerObj = $("#viewer").data("ejPdfViewer");var currentPage = pdfviewerObj.currentPageNumber;` | **Property**: *currentPageNumber* `var pdfviewerObj = document.getElementById("PdfViewer").ej2_instances[0];var currentPage = pdfviewerObj.currentPageNumber;`|
-| Enables or disables the hyperlinks in PDF document | **Property**: *enableHyperlink* `var pdfviewerObj =$("#viewer").ejPdfViewer({ serviceUrl: '../api/PdfViewer', enableHyperlink: false });` | **Property**: *enableHyperlink* `var pdfviewer = new ej.pdfviewer.PdfViewer({serviceUrl:'https://services.syncfusion.com/js/production/api/pdfviewer',enableHyperlink: false});ej.pdfviewer.PdfViewer.Inject(ej.pdfviewer.TextSelection, ej.pdfviewer.TextSearch,ej.pdfviewer.Navigation,ej.pdfviewer.Print);pdfviewer.appendTo('#PdfViewer');`|
-| Enables or disables the text selection in PDF document | **Property**: *enableTextSelection* `$var pdfviewerObj = $("#viewer").ejPdfViewer({ serviceUrl: '../api/PdfViewer', enableTextSelection: false });` | **Property**: *enableTextSelection* `var pdfviewer = new ej.pdfviewer.PdfViewer({serviceUrl:'https://services.syncfusion.com/js/production/api/pdfviewer',enableTextSelection: false});ej.pdfviewer.PdfViewer.Inject(ej.pdfviewer.TextSelection, ej.pdfviewer.TextSearch,ej.pdfviewer.Navigation,ej.pdfviewer.Print);pdfviewer.appendTo('#PdfViewer');`|
-| To get the name of the PDF document loaded in PDF Viewer | **Property**: *fileName* `var pdfviewerObj = $("#viewer").data("ejPdfViewer"); var fileName = pdfviewerObj.fileName;` | **Property**: *fileName* `var pdfviewerObj = document.getElementById("PdfViewer").ej2_instances[0]; var currentPage = pdfviewerObj.fileName;`|
-| Specifies the open state of hyperlink in the PDF document | **Property**: *hyperlinkOpenState* `$("#viewer").ejPdfViewer({ serviceUrl: '../api/PdfViewer', hyperlinkOpenState : ej.PdfViewer.LinkTarget.NewTab});` | **Property**: *hyperlinkOpenState* `var pdfviewer = new ej.pdfviewer.PdfViewer({serviceUrl:'https://services.syncfusion.com/js/production/api/pdfviewer',hyperlinkOpenState :"NewTab",});ej.pdfviewer.PdfViewer.Inject(ej.pdfviewer.TextSelection, ej.pdfviewer.TextSearch,ej.pdfviewer.Navigation,ej.pdfviewer.Print);pdfviewer.appendTo('#PdfViewer');`|
-| Checks whether the PDF document is edited | **Property**: *isDocumentEdited* `var pdfviewerObj = $("#viewer").data("ejPdfViewer");var isEdited = pdfviewerObj.isDocumentEdited;` | **Property**: *isDocumentEdited* `var pdfviewerObj = document.getElementById("PdfViewer").ej2_instances[0]; var isDocumentEdited = pdfviewerObj.isDocumentEdited;`|
-| Gets the total number of pages in PDF document | **Property**: *pageCount* `var pdfviewerObj = $("#viewer").data("ejPdfViewer");var pageCount = pdfviewerObj.pageCount;` | **Property**: *pageCount* `var pdfviewerObj = document.getElementById("PdfViewer").ej2_instances[0]; var pageCount = pdfviewerObj.pageCount;`|
-| Sets the PDF Web API service URL | **Property**: *serviceUrl* `$("#viewer").ejPdfViewer({ serviceUrl: '../api/PdfViewer', documentPath: "HTTP Succinctly.pdf" });` | **Property**: *serviceUrl* `var pdfviewer = new ej.pdfviewer.PdfViewer({serviceUrl:'https://services.syncfusion.com/js/production/api/pdfviewer',});ej.pdfviewer.PdfViewer.Inject(ej.pdfviewer.TextSelection, ej.pdfviewer.TextSearch,ej.pdfviewer.Navigation,ej.pdfviewer.Print);pdfviewer.appendTo('#PdfViewer');`|
-| Specifies the viewer interaction mode | **Property**: *interactionMode* `$("#viewer").ejPdfViewer({ serviceUrl: '../api/PdfViewer', interactionMode: ej.PdfViewer.InteractionMode.Pan})` | **Property**: *interactionMode* `var pdfviewer = new ej.pdfviewer.PdfViewer({serviceUrl:'https://services.syncfusion.com/js/production/api/pdfviewer',interactionMode:"Pan"});ej.pdfviewer.PdfViewer.Inject(ej.pdfviewer.TextSelection, ej.pdfviewer.TextSearch,ej.pdfviewer.Navigation,ej.pdfviewer.Print);pdfviewer.appendTo('#PdfViewer');`|
-| Gets the current zoom percentage of the PDF document in viewer | **Property**: *zoomPercentage* `var pdfviewerObj = $("#viewer").data("ejPdfViewer");var zoomPercentage = pdfviewerObj.zoomPercentage;` | **Property**: *zoomPercentage* `var pdfviewerObj = document.getElementById("PdfViewer").ej2_instances[0]; var zoomPercentage = pdfviewerObj.zoomPercentage;`|
-| Specifies the name of the action method in the server | **Property**: *serverActionSettings* `$("#viewer").ejPdfViewer ({ServiceUrl:'../api/PdfViewer', serverActionSettings: { load: "Load", fileUpload: "FileUpload", print: "Print", download: "Download" } });});` | **Property**: *serverActionSettings* `var pdfviewer = new ej.pdfviewer.PdfViewer({serviceUrl:'https://services.syncfusion.com/js/production/api/pdfviewer',serverActionSettings: {load:'Upload', renderPages:'RenderPdfPages', renderComments:'RenderAnnotationComments', renderThumbnail:'RenderThumbnailImages' , unload:'Unload', print:'PrintImages', download:'Donwload' },});ej.pdfviewer.PdfViewer.Inject(ej.pdfviewer.TextSelection, ej.pdfviewer.TextSearch,ej.pdfviewer.Navigation,ej.pdfviewer.Print);pdfviewer.appendTo('#PdfViewer');`|
-| Defines the settings of the PdfViewer toolbar | **Property**: *toolbarSettings* `$("#viewer").ejPdfViewer({ serviceUrl: '../api/PdfViewer', toolbarSettings: { showTooltip: false } });` | **Property**: *toolbarSettings* `var pdfviewer = new ej.pdfviewer.PdfViewer({serviceUrl:'https://services.syncfusion.com/js/production/api/pdfviewer', toolbarSettings: { showTooltip : true, toolbarItem: ['OpenOption']}});ej.pdfviewer.PdfViewer.Inject(ej.pdfviewer.TextSelection, ej.pdfviewer.TextSearch,ej.pdfviewer.Navigation,ej.pdfviewer.Print);pdfviewer.appendTo('#PdfViewer');`|
-| Gets/sets the settings of the highlight annotation | **Property**: *highlightSettings* `$("#viewer").ejPdfViewer({ serviceUrl: '../api/PdfViewer', highlightSettings: {color: "#ffff00", author: "Guest", opacity: 0.5, subject: "highlight", modifiedDate: "2017-03-27 12:00:51", isLocked: true} });` | **Property**: *highlightSettings* `var pdfviewer = new ej.pdfviewer.PdfViewer({serviceUrl:'https://services.syncfusion.com/js/production/api/pdfviewer', highlightSettings: {author: 'Guest User', subject: 'Important', color: '#ffff00', opacity: 0.9, modifiedDate: ''},});ej.pdfviewer.PdfViewer.Inject(ej.pdfviewer.TextSelection, ej.pdfviewer.TextSearch,ej.pdfviewer.Navigation,ej.pdfviewer.Print);pdfviewer.appendTo('#PdfViewer');`|
-| Gets/sets the settings of the underline annotation | **Property**: *underlineSettings* `$("#viewer").ejPdfViewer({ serviceUrl: '../api/PdfViewer', underlineSettings: {color: "#ffff00", author: "Guest", opacity: 0.5, subject: "highlight", modifiedDate: "2017-03-27 12:00:51", isLocked: true} });` | **Property**: *underlineSettings* `var pdfviewer = new ej.pdfviewer.PdfViewer({serviceUrl:'https://services.syncfusion.com/js/production/api/pdfviewer', underlineSettings: {author: 'Guest User', subject: 'Important', color: '#ffff00', opacity: 0.9, modifiedDate: ''},});ej.pdfviewer.PdfViewer.Inject(ej.pdfviewer.TextSelection, ej.pdfviewer.TextSearch,ej.pdfviewer.Navigation,ej.pdfviewer.Print);pdfviewer.appendTo('#PdfViewer');`|
-| Gets/sets the settings of the strikethrough annotation | **Property**: *strikethroughSettings* `$("#viewer").ejPdfViewer({ serviceUrl: '../api/PdfViewer', strikethroughSettings: {color: "#ffff00", author: "Guest", opacity: 0.5, subject: "highlight", modifiedDate: "2017-03-27 12:00:51", isLocked: true} });` | **Property**: *strikethroughSettings* `var pdfviewer = new ej.pdfviewer.PdfViewer({serviceUrl:'https://services.syncfusion.com/js/production/api/pdfviewer', strikethroughSettings: {author: 'Guest User', subject: 'Important', color: '#ffff00', opacity: 0.9, modifiedDate: ''},});ej.pdfviewer.PdfViewer.Inject(ej.pdfviewer.TextSelection, ej.pdfviewer.TextSearch,ej.pdfviewer.Navigation,ej.pdfviewer.Print);pdfviewer.appendTo('#PdfViewer');`|
-
-## Methods
-
-
-
-| Behavior | API in Essential JS 1 | API in Essential JS 2 |
-| --- | --- | --- |
-| Downloads the PDF document being loaded in the ejPdfViewer control | **Property**: *download()* `var pdfviewerObj = $("#viewer").data("ejPdfViewer");pdfviewerObj.download();` | **Property**: *download()* `var pdfviewer = new ej.pdfviewer.PdfViewer({locale: 'es-ES', serviceUrl:https://services.syncfusion.com/js/production/api/pdfviewer'}); ej.pdfviewer.PdfViewer.Inject(ej.pdfviewer.TextSelection, ej.pdfviewer.TextSearch,ej.pdfviewer.Navigation,ej.pdfviewer.Print);pdfviewer.appendTo('#PdfViewer');pdfviewer.download();`|
-| Scales the page to fit the page in the container in the control | **Property**: *fitToPage()* `var pdfviewerObj = $("#viewer").data("ejPdfViewer");pdfviewerObj.fitToPage();` | **Property**: *fitToPage()* `var pdfviewer = new ej.pdfviewer.PdfViewer({locale: 'es-ES', serviceUrl:https://services.syncfusion.com/js/production/api/pdfviewer'}); ej.pdfviewer.PdfViewer.Inject(ej.pdfviewer.TextSelection, ej.pdfviewer.TextSearch,ej.pdfviewer.Navigation,ej.pdfviewer.Print);pdfviewer.appendTo('#PdfViewer');pdfviewer.magnification.fitToPage();`|
-| Scales the page to fit the page width to the width of the container in the control | **Property**: *fitToWidth()* `var pdfviewerObj = $("#viewer").data("ejPdfViewer");pdfviewerObj.fitToWidth();` | **Property**: *fitToWidth()* `var pdfviewer = new ej.pdfviewer.PdfViewer({locale: 'es-ES', serviceUrl:https://services.syncfusion.com/js/production/api/pdfviewer'}); ej.pdfviewer.PdfViewer.Inject(ej.pdfviewer.TextSelection, ej.pdfviewer.TextSearch,ej.pdfviewer.Navigation,ej.pdfviewer.Print);pdfviewer.appendTo('#PdfViewer');pdfviewer.magnification.fitToWidth();`|
-| Magnifies the page to the next value in the zoom drop down list | **Property**: *zoomIn()* `var pdfviewerObj = $("#viewer").data("ejPdfViewer");pdfviewerObj.zoomIn();` | **Property**: *zoomIn()* `var pdfviewer = new ej.pdfviewer.PdfViewer({locale: 'es-ES', serviceUrl:https://services.syncfusion.com/js/production/api/pdfviewer'}); ej.pdfviewer.PdfViewer.Inject(ej.pdfviewer.TextSelection, ej.pdfviewer.TextSearch,ej.pdfviewer.Navigation,ej.pdfviewer.Print);pdfviewer.appendTo('#PdfViewer');pdfviewer.magnification.zoomIn();`|
-|Shrinks the page to the previous value in the magnification in the drop down list | **Property**: *zoomOut()* `var pdfviewerObj = $("#viewer").data("ejPdfViewer");pdfviewerObj.zoomOut();` | **Property**: *zoomOut()* `var pdfviewer = new ej.pdfviewer.PdfViewer({locale: 'es-ES', serviceUrl:https://services.syncfusion.com/js/production/api/pdfviewer'}); ej.pdfviewer.PdfViewer.Inject(ej.pdfviewer.TextSelection, ej.pdfviewer.TextSearch,ej.pdfviewer.Navigation,ej.pdfviewer.Print);pdfviewer.appendTo('#PdfViewer');pdfviewer.magnification.zoomOut();`|
-|Shrinks the page to the previous value in the magnification in the drop down list | **Property**: *zoomTo(zoomValue)* `var pdfviewerObj = $("#viewer").data("ejPdfViewer");pdfviewerObj.zoomTo(130);` | **Property**: *zoomTo(zoomValue)* `var pdfviewer = new ej.pdfviewer.PdfViewer({locale: 'es-ES', serviceUrl:https://services.syncfusion.com/js/production/api/pdfviewer'}); ej.pdfviewer.PdfViewer.Inject(ej.pdfviewer.TextSelection, ej.pdfviewer.TextSearch,ej.pdfviewer.Navigation,ej.pdfviewer.Print);pdfviewer.appendTo('#PdfViewer');pdfviewer.magnification.zoomTo("130");`|
-|Navigates to the first page of PDF document | **Property**: *goToFirstPage()* `var pdfviewerObj = $("#viewer").data("ejPdfViewer");pdfviewerObj.goToFirstPage();` | **Property**: *goToFirstPage()* `var pdfviewer = new ej.pdfviewer.PdfViewer({locale: 'es-ES', serviceUrl:https://services.syncfusion.com/js/production/api/pdfviewer'}); ej.pdfviewer.PdfViewer.Inject(ej.pdfviewer.TextSelection, ej.pdfviewer.TextSearch,ej.pdfviewer.Navigation,ej.pdfviewer.Print);pdfviewer.appendTo('#PdfViewer');pdfviewer.navigation.goToFirstPage();`|
-|Navigates to the next page of PDF document | **Property**: *goToNextPage()* `var pdfviewerObj = $("#viewer").data("ejPdfViewer");pdfviewerObj.goToNextPage();` | **Property**: *goToNextPage()* `var pdfviewer = new ej.pdfviewer.PdfViewer({locale: 'es-ES', serviceUrl:https://services.syncfusion.com/js/production/api/pdfviewer'}); ej.pdfviewer.PdfViewer.Inject(ej.pdfviewer.TextSelection, ej.pdfviewer.TextSearch,ej.pdfviewer.Navigation,ej.pdfviewer.Print);pdfviewer.appendTo('#PdfViewer');pdfviewer.navigation.goToNextPage();`|
-|Navigates to the previous page of PDF document | **Property**: *goToPreviousPage()* `var pdfviewerObj = $("#viewer").data("ejPdfViewer");pdfviewerObj.goToPreviousPage();` | **Property**: *goToPreviousPage()* `var pdfviewer = new ej.pdfviewer.PdfViewer({locale: 'es-ES', serviceUrl:https://services.syncfusion.com/js/production/api/pdfviewer'}); ej.pdfviewer.PdfViewer.Inject(ej.pdfviewer.TextSelection, ej.pdfviewer.TextSearch,ej.pdfviewer.Navigation,ej.pdfviewer.Print);pdfviewer.appendTo('#PdfViewer');pdfviewer.navigation.goToPreviousPage();`|
-|Navigates to the last page of PDF document | **Property**: *goToLastPage()* `var pdfviewerObj = $("#viewer").data("ejPdfViewer");pdfviewerObj.goToLastPage();` | **Property**: *goToLastPage()* `var pdfviewer = new ej.pdfviewer.PdfViewer({locale: 'es-ES', serviceUrl:https://services.syncfusion.com/js/production/api/pdfviewer'}); ej.pdfviewer.PdfViewer.Inject(ej.pdfviewer.TextSelection, ej.pdfviewer.TextSearch,ej.pdfviewer.Navigation,ej.pdfviewer.Print);pdfviewer.appendTo('#PdfViewer');pdfviewer.navigation.goToLastPage();`|
-|Navigates to the specific page in the PDF document | **Property**: *goToPage(pageNumber)* `var pdfviewerObj = $("#viewer").data("ejPdfViewer");pdfviewerObj.goToPage(3);` | **Property**: *goToPage(pageNumber)* `var pdfviewer = new ej.pdfviewer.PdfViewer({locale: 'es-ES', serviceUrl:https://services.syncfusion.com/js/production/api/pdfviewer'}); ej.pdfviewer.PdfViewer.Inject(ej.pdfviewer.TextSelection, ej.pdfviewer.TextSearch,ej.pdfviewer.Navigation,ej.pdfviewer.Print);pdfviewer.appendTo('#PdfViewer');pdfviewer.navigation.goToPage(3);`|
-|Loads the document and displays it in PDF Viewer | **Property**: *load(fileName)* `var pdfviewerObj = $("#viewer").data("ejPdfViewer");pdfviewerObj.load("Manual");` | **Property**: *load(fileName, password)* `var pdfviewer = new ej.pdfviewer.PdfViewer({locale: 'es-ES', serviceUrl:https://services.syncfusion.com/js/production/api/pdfviewer'}); ej.pdfviewer.PdfViewer.Inject(ej.pdfviewer.TextSelection, ej.pdfviewer.TextSearch,ej.pdfviewer.Navigation,ej.pdfviewer.Print);pdfviewer.appendTo('#PdfViewer');pdfviewer.load("Manual",null);`|
-|Searches the target text in the PDF document and highlights the occurrences in the pages | **Property**: *searchText(targetText)* `var pdfviewerObj = $("#viewer").data("ejPdfViewer");pdfviewerObj.searchText("name");` | **Property**: *searchText(searchText,isMatchCase)* `var pdfviewer = new ej.pdfviewer.PdfViewer({locale: 'es-ES', serviceUrl:https://services.syncfusion.com/js/production/api/pdfviewer'}); ej.pdfviewer.PdfViewer.Inject(ej.pdfviewer.TextSelection, ej.pdfviewer.TextSearch,ej.pdfviewer.Navigation,ej.pdfviewer.Print);pdfviewer.appendTo('#PdfViewer');pdfviewer.textSearch.searchText("name", true);`|
-|Searches the next occurrence of the searched text from the current occurrence in the PDF Viewer control | **Property**: *searchNext()* `var pdfviewerObj = $("#viewer").data("ejPdfViewer");pdfviewerObj.searchNext();` | **Property**: *searchNext()* `var pdfviewer = new ej.pdfviewer.PdfViewer({locale: 'es-ES', serviceUrl:https://services.syncfusion.com/js/production/api/pdfviewer'}); ej.pdfviewer.PdfViewer.Inject(ej.pdfviewer.TextSelection, ej.pdfviewer.TextSearch,ej.pdfviewer.Navigation,ej.pdfviewer.Print);pdfviewer.appendTo('#PdfViewer');pdfviewer.textSearch.searchNext();`|
-|Searches the previous occurrence of the searched text from the current occurrence in the PDF viewer control | **Property**: *searchPrevious()* `var pdfviewerObj = $("#viewer").data("ejPdfViewer");pdfviewerObj.searchPrevious();` | **Property**: *searchPrevious()* `var pdfviewer = new ej.pdfviewer.PdfViewer({locale: 'es-ES', serviceUrl:https://services.syncfusion.com/js/production/api/pdfviewer'}); ej.pdfviewer.PdfViewer.Inject(ej.pdfviewer.TextSelection, ej.pdfviewer.TextSearch,ej.pdfviewer.Navigation,ej.pdfviewer.Print);pdfviewer.appendTo('#PdfViewer');pdfviewer.textSearch.searchPrevious();`|
-|Cancels the text search and removes the highlighted occurrences from the PDF Viewer | **Property**: *cancelSearchText()* `var pdfviewerObj = $("#viewer").data("ejPdfViewer");pdfviewerObj.cancelSearchText();` | **Property**: *cancelSearchText()* `var pdfviewer = new ej.pdfviewer.PdfViewer({locale: 'es-ES', serviceUrl:https://services.syncfusion.com/js/production/api/pdfviewer'}); ej.pdfviewer.PdfViewer.Inject(ej.pdfviewer.TextSelection, ej.pdfviewer.TextSearch,ej.pdfviewer.Navigation,ej.pdfviewer.Print);pdfviewer.appendTo('#PdfViewer');pdfviewer.textSearch.cancelSearchText();`|
-|Prints the PDF document| **Property**: *print()* `var pdfviewerObj = $("#viewer").data("ejPdfViewer");pdfviewerObj.print();` | **Property**: *print()* `var pdfviewer = new ej.pdfviewer.PdfViewer({locale: 'es-ES', serviceUrl:https://services.syncfusion.com/js/production/api/pdfviewer'}); ej.pdfviewer.PdfViewer.Inject(ej.pdfviewer.TextSelection, ej.pdfviewer.TextSearch,ej.pdfviewer.Navigation,ej.pdfviewer.Print);pdfviewer.appendTo('#PdfViewer');pdfviewer.print.print();`|
-|Performs redo function for the included annotations in the PDF document| **Property**: *redo()* `var pdfviewerObj = $("#viewer").data("ejPdfViewer");pdfviewerObj.redo();` | **Property**: *redo()* `var pdfviewerObj = document.getElementById("PdfViewer").ej2_instances[0]; pdfviewerObj.annotation.redo();`|
-|Performs undo function for the included annotations in the PDF document| **Property**: *undo()* `var pdfviewerObj = $("#viewer").data("ejPdfViewer");pdfviewerObj.undo();` | **Property**: *undo()* `var pdfviewerObj = document.getElementById("PdfViewer").ej2_instances[0]; pdfviewerObj.annotation.undo();`|
-|Unloads the PDF document being displayed in the PDF viewer| **Property**: *unload()* `var pdfviewerObj = $("#viewer").data("ejPdfViewer");pdfviewerObj.unload();` | **Property**: *unload()* `var pdfviewerObj = document.getElementById("PdfViewer").ej2_instances[0]; pdfviewerObj.unload();`|
-
-## Events
-
-
-
-| Behavior | API in Essential JS 1 | API in Essential JS 2 |
-| --- | --- | --- |
-|Triggers when the PDF document gets loaded and is ready to view in the Control| **Property**: *documentLoad* `$(function () {var obj = $("#viewer").ejPdfViewer({ serviceUrl: '../api/PdfViewer', documentLoad:"documentLoaded" });});function documentLoaded(args) {alert("The document" +args.fileName + "is ready to view");}` | **Property**: *documentLoad* `var pdfviewer = new ej.pdfviewer.PdfViewer({ serviceUrl:https://services.syncfusion.com/js/production/api/pdfviewer',documentLoad: function () {alert("The PDF document is Loaded")}}); ej.pdfviewer.PdfViewer.Inject(ej.pdfviewer.TextSelection, ej.pdfviewer.TextSearch,ej.pdfviewer.Navigation,ej.pdfviewer.Print);pdfviewer.appendTo('#PdfViewer');`|
-|Triggers when hyperlink in the PDF document is clicked| **Property**: *hyperlinkClick* `$(function () {var obj = $("#viewer").ejPdfViewer({ serviceUrl: '../api/PdfViewer', hyperlinkClick:"onHyperlinkClicked" });});function onHyperlinkClicked(args) {alert(""The hyperlink is " + args.hyperlink");}` | **Property**: *hyperlinkClick* `var pdfviewer = new ej.pdfviewer.PdfViewer({ serviceUrl:https://services.syncfusion.com/js/production/api/pdfviewer',hyperlinkClick: function () {alert("The hyperlink is clicked")}}); ej.pdfviewer.PdfViewer.Inject(ej.pdfviewer.TextSelection, ej.pdfviewer.TextSearch,ej.pdfviewer.Navigation,ej.pdfviewer.Print);pdfviewer.appendTo('#PdfViewer');`|
-|Triggers when there is a change in current page number| **Property**: *pageChange* `$(function () {var obj = $("#viewer").ejPdfViewer({ serviceUrl: '../api/PdfViewer',pageChange:"currentPageChanged" });});function currentPageChanged(args) {alert("The current page number is " + args.currentPageNumber);}` | **Property**: *pageChange* `var pdfviewer = new ej.pdfviewer.PdfViewer({ serviceUrl:https://services.syncfusion.com/js/production/api/pdfviewer',pageChange: function () {alert("Current page is changed")}}); ej.pdfviewer.PdfViewer.Inject(ej.pdfviewer.TextSelection, ej.pdfviewer.TextSearch,ej.pdfviewer.Navigation,ej.pdfviewer.Print);pdfviewer.appendTo('#PdfViewer');`|
-|Triggers when the mouse click is performed over the page of the PDF document| **Property**: *pageClick* `$(function () {var obj = $("#viewer").ejPdfViewer({ serviceUrl: '../api/PdfViewer', pageClick: "onPageClicked" });});function onPageClicked(args) { alert("X-coordinate :" + args.XCoordinate + " Y-coordinate :" + args.YCoordinate);}` | **Property**: *pageClick* `var pdfviewer = new ej.pdfviewer.PdfViewer({ serviceUrl:https://services.syncfusion.com/js/production/api/pdfviewer',pageClick: function () {alert("Page is clicked")}}); ej.pdfviewer.PdfViewer.Inject(ej.pdfviewer.TextSelection, ej.pdfviewer.TextSearch,ej.pdfviewer.Navigation,ej.pdfviewer.Print);pdfviewer.appendTo('#PdfViewer');`|
-|Triggers when there is a change in the magnification value| **Property**: *zoomChange* `$(function () {var obj = $("#viewer").ejPdfViewer({ serviceUrl: '../api/PdfViewer', zoomChange: "zoomChanged" });});function onPageClicked(args) { alert("The magnification changes from " + args.previousZoomPercentage + " to" + args.currentZoomPercentage);}` | **Property**: *zoomChange* `var pdfviewer = new ej.pdfviewer.PdfViewer({ serviceUrl:https://services.syncfusion.com/js/production/api/pdfviewer',zoomChange: function () {alert("Zoom Value is changed")}}); ej.pdfviewer.PdfViewer.Inject(ej.pdfviewer.TextSelection, ej.pdfviewer.TextSearch,ej.pdfviewer.Navigation,ej.pdfviewer.Print);pdfviewer.appendTo('#PdfViewer');`|
-|Triggers when an annotation is added over the page of the PDF document| **Property**: *annotationAdd* `$(function () {var obj = $("#viewer").ejPdfViewer({ serviceUrl: '../api/PdfViewer', annotationAdd: "annotationAdd" });});function annotationAdd(args) { alert("The annotation is added to the PDF document successfully");}` | **Property**: *annotationAdd* `var pdfviewer = new ej.pdfviewer.PdfViewer({ serviceUrl:https://services.syncfusion.com/js/production/api/pdfviewer',annotationAdd: function () { alert("The annotation is added to the PDF document successfully")}}); ej.pdfviewer.PdfViewer.Inject(ej.pdfviewer.TextSelection, ej.pdfviewer.TextSearch,ej.pdfviewer.Navigation,ej.pdfviewer.Print);pdfviewer.appendTo('#PdfViewer');`|
-|Triggers when an annotation is removed from the page of the PDF document| **Property**: *annotationRemove* `$(function () {var obj = $("#viewer").ejPdfViewer({ serviceUrl: '../api/PdfViewer', annotationRemove: "annotationRemove" });});function annotationRemove(args) {alert("The annotation is removed from the PDF document successfully");}` | **Property**: *annotationRemove* `var pdfviewer = new ej.pdfviewer.PdfViewer({ serviceUrl:https://services.syncfusion.com/js/production/api/pdfviewer',annotationRemove: function () {alert("The annotation is removed from the PDF document successfully")}}); ej.pdfviewer.PdfViewer.Inject(ej.pdfviewer.TextSelection, ej.pdfviewer.TextSearch,ej.pdfviewer.Navigation,ej.pdfviewer.Print);pdfviewer.appendTo('#PdfViewer');`|
-|Triggers when the property of the annotation is changed in the page of the PDF document| **Property**: *annotationPropertiesChange* `$(function () {var obj = $("#viewer").ejPdfViewer({ serviceUrl: '../api/PdfViewer', annotationPropertiesChange: "annotationPropertiesChange" });});function annotationPropertiesChange(args) {alert("The annotation property is changed successfully");}` | **Property**: *annotationPropertiesChange* `var pdfviewer = new ej.pdfviewer.PdfViewer({ serviceUrl:https://services.syncfusion.com/js/production/api/pdfviewer',annotationPropertiesChange: function () {alert("The annotation property is changed successfully")}}); ej.pdfviewer.PdfViewer.Inject(ej.pdfviewer.TextSelection, ej.pdfviewer.TextSearch,ej.pdfviewer.Navigation,ej.pdfviewer.Print);pdfviewer.appendTo('#PdfViewer');`|
diff --git a/ej2-javascript/pdfviewer/js/feature-module.md b/ej2-javascript/pdfviewer/js/feature-module.md
deleted file mode 100644
index be585ca63..000000000
--- a/ej2-javascript/pdfviewer/js/feature-module.md
+++ /dev/null
@@ -1,52 +0,0 @@
----
-layout: post
-title: Feature module in ##Platform_Name## Pdfviewer control | Syncfusion
-description: Learn here all about Feature module in Syncfusion ##Platform_Name## Pdfviewer 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## Pdfviewer control
-
-The PDF Viewer features are segregated into individual feature-wise modules to enable selectively referencing in the application. The required modules should be injected to extend its functionality. The following are the selective modules of PDF Viewer that can be included as required:
-
-The available PdfViewer modules are:
-
-* **Toolbar**:- Built-in toolbar for better user interaction.
-* **Magnification**:- Perform zooming operation for better viewing experience.
-* **Navigation**:- Easy navigation across the PDF pages.
-* **LinkAnnotation**:- Easy navigation within and outside of the PDF document.
-* **ThumbnailView**:- Easy navigation with in the PDF document.
-* **BookmarkView**:- Easy navigation based on the bookmark content of the PDF document.
-* **TextSelection**:- Select and copy text from a PDF file.
-* **TextSearch**:- Search a text easily across the PDF document.
-* **Print**:- Print the entire document or a specific page directly from the browser.
-* **Annotation**:- Annotations can be added or edited in the PDF document.
-* **FormFields**:- Preserve the form fields in the PDF document.
-* **FormDesigner**:- Form fields can be added or edited in the PDF document.
-
->In addition to injecting the required modules in your application, enable corresponding properties to extend the functionality for a PDF Viewer instance.
-Refer to the following table.
-
-| Module | Dependent modules to be injected for extending the functionality of PDF Viewer in your application | Property to enable the functionality for a PDF Viewer instance |
-|---|---|---|
-|Toolbar|`PdfViewer.Inject(Toolbar)`|`let pdfViewer: PdfViewer = new PdfViewer({ enableToolbar: true });`|
-|Magnification|`PdfViewer.Inject(Magnification)`|`let pdfViewer: PdfViewer = new PdfViewer({ enableMagnification: true });`|
-|Navigation|`PdfViewer.Inject(Navigation)`|`let pdfViewer: PdfViewer = new PdfViewer({ enableNavigation: true });`|
-|LinkAnnotation|`PdfViewer.Inject(LinkAnnotation)`|`let pdfViewer: PdfViewer = new PdfViewer({ enableHyperlink: true });`|
-|ThumbnailView|`PdfViewer.Inject(ThumbnailView)`|`let pdfViewer: PdfViewer = new PdfViewer({ enableThumbnail: true });`|
-|BookmarkView|`PdfViewer.Inject(BookmarkView)`|`let pdfViewer: PdfViewer = new PdfViewer({ enableBookmark: true });`|
-|TextSelection|`PdfViewer.Inject(TextSelection)`|`let pdfViewer: PdfViewer = new PdfViewer({ enableTextSelection: true });`|
-|TextSearch|`PdfViewer.Inject(TextSearch)`|`let pdfViewer: PdfViewer = new PdfViewer({ enableTextSearch: true });`|
-|Print|`PdfViewer.Inject(Print)`|`let pdfViewer: PdfViewer = new PdfViewer({ enablePrint: true });`|
-|Annotation|`PdfViewer.Inject(Annotation)`|`let pdfViewer: PdfViewer = new PdfViewer({ enableAnnotation: true });`|
-|FormFields|`PdfViewer.Inject(FormFields)`|`let pdfViewer: PdfViewer = new PdfViewer({ enableFormFields: true });`|
-|FormDesigner|`PdfViewer.Inject(FormDesigner)`|`let pdfViewer: PdfViewer = new PdfViewer({ enableFormDesigner: true });`|
-
-## See also
-
-* [Toolbar items](./toolbar)
-* [Toolbar customization](./how-to/customization)
\ No newline at end of file
diff --git a/ej2-javascript/pdfviewer/js/form-designer/create-programmatically.md b/ej2-javascript/pdfviewer/js/form-designer/create-programmatically.md
deleted file mode 100644
index 0a117ca75..000000000
--- a/ej2-javascript/pdfviewer/js/form-designer/create-programmatically.md
+++ /dev/null
@@ -1,1381 +0,0 @@
----
-layout: post
-title: Create programmatically in ##Platform_Name## Pdfviewer control | Syncfusion
-description: Learn here all about Create programmatically in Syncfusion ##Platform_Name## Pdfviewer control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: Create programmatically
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Create programmatically in ##Platform_Name## Pdfviewer control
-
-The PDF Viewer control provides the option to add, edit and delete the Form Fields. The Form Fields type supported by the PDF Viewer Control are:
-
- * Textbox
- * Password
- * CheckBox
- * RadioButton
- * ListBox
- * DropDown
- * SignatureField
- * InitialField
-
-## Add a form field to PDF document programmatically
-
-Using addFormField method, the form fields can be added to the PDF document programmatically. We need to pass two parameters in this method. They are Form Field Type and Properties of Form Field Type. To add form field programmatically, Use the following code.
-
-{% tabs %}
-{% highlight js tabtitle="index.js" %}
-{% include code-snippet/pdfviewer/addformfield-cs1/index.js %}
-{% endhighlight %}
-{% highlight html tabtitle="index.html" %}
-{% include code-snippet/pdfviewer/addformfield-cs1/index.html %}
-{% endhighlight %}
-{% endtabs %}
-
-N> To set up the **server-backed PDF Viewer**,
-Add the below `serviceUrl` in the `index.html` file
-`serviceUrl: 'https://services.syncfusion.com/js/production/api/pdfviewer'`
-
-{% previewsample "page.domainurl/code-snippet/pdfviewer/addformfield-cs1" %}
-
-## Edit/Update form field programmatically
-
-Using updateFormField method, Form Field can be updated programmatically. We should get the Form Field object/Id from FormFieldCollections property that you would like to edit and pass it as a parameter to updateFormField method. The second parameter should be the properties that you would like to update for Form Field programmatically. We have updated the value and background Color properties of Textbox Form Field.
-
-{% tabs %}
-{% highlight js tabtitle="index.js" %}
-{% include code-snippet/pdfviewer/updateformfield-cs1/index.js %}
-{% endhighlight %}
-{% highlight html tabtitle="index.html" %}
-{% include code-snippet/pdfviewer/updateformfield-cs1/index.html %}
-{% endhighlight %}
-{% endtabs %}
-
-N> To set up the **server-backed PDF Viewer**,
-Add the below `serviceUrl` in the `index.html` file
-`serviceUrl: 'https://services.syncfusion.com/js/production/api/pdfviewer'`
-
-{% previewsample "page.domainurl/code-snippet/pdfviewer/updateformfield-cs1" %}
-
-## Delete form field programmatically
-
-Using deleteFormField method, the form field can be deleted programmatically. We should retrieve the Form Field object/Id from FormFieldCollections property that you would like to delete and pass it as a parameter to deleteFormField method. To delete a Form Field programmatically, use the following code.
-
-{% tabs %}
-{% highlight js tabtitle="index.js" %}
-{% include code-snippet/pdfviewer/deleteformfield-cs1/index.js %}
-{% endhighlight %}
-{% highlight html tabtitle="index.html" %}
-{% include code-snippet/pdfviewer/deleteformfield-cs1/index.html %}
-{% endhighlight %}
-{% endtabs %}
-
-N> To set up the **server-backed PDF Viewer**,
-Add the below `serviceUrl` in the `index.html` file
-`serviceUrl: 'https://services.syncfusion.com/js/production/api/pdfviewer'`
-
-{% previewsample "page.domainurl/code-snippet/pdfviewer/deleteformfield-cs1" %}
-
-## Saving the form fields
-
-When the download icon is selected on the toolbar, the Form Fields will be saved in the PDF document and this action will not affect the original document. Refer the below GIF for further reference.
-
-
-
-You can invoke download action using following code snippet.
-
-
-```
-
-
-```
-{% tabs %}
-{% highlight ts tabtitle="Standalone" %}
-
-var pdfviewer = new ej.pdfviewer.PdfViewer({
- enableDownload: true,
- documentPath: "https://cdn.syncfusion.com/content/pdf/form-designer.pdf",
- });
-ej.pdfviewer.PdfViewer.Inject(ej.pdfviewer.TextSelection, ej.pdfviewer.TextSearch, ej.pdfviewer.Print, ej.pdfviewer.Navigation, ej.pdfviewer.Toolbar, ej.pdfviewer.Magnification, ej.pdfviewer.Annotation, ej.pdfviewer.FormDesigner, ej.pdfviewer.FormFields);
-pdfviewer.appendTo('#PdfViewer');
-
-document.getElementById('download').addEventListener('click', function () {
- pdfviewer.download()
-});
-
-{% endhighlight %}
-{% highlight html tabtitle="Server-Backed" %}
-
-var pdfviewer = new ej.pdfviewer.PdfViewer({
- enableDownload: true,
- documentPath: "https://cdn.syncfusion.com/content/pdf/form-designer.pdf",
- serviceUrl: 'https://services.syncfusion.com/js/production/api/pdfviewer'
- });
-ej.pdfviewer.PdfViewer.Inject(ej.pdfviewer.TextSelection, ej.pdfviewer.TextSearch, ej.pdfviewer.Print, ej.pdfviewer.Navigation, ej.pdfviewer.Toolbar, ej.pdfviewer.Magnification, ej.pdfviewer.Annotation, ej.pdfviewer.FormDesigner, ej.pdfviewer.FormFields);
-pdfviewer.appendTo('#PdfViewer');
-
-document.getElementById('download').addEventListener('click', function () {
- pdfviewer.download()
-});
-
-{% endhighlight %}
-{% endtabs %}
-
-
-## Printing the form fields
-
-When the print icon is selected on the toolbar, the PDF document will be printed along with the Form Fields added to the pages and this action will not affect the original document. Refer the below GIF for further reference.
-
-
-
-You can invoke print action using the following code snippet.,
-
-```
-
-
-```
-
-{% tabs %}
-{% highlight js tabtitle="Standalone" %}
-
-var pdfviewer = new ej.pdfviewer.PdfViewer({
- enablePrint: true,
- documentPath: "https://cdn.syncfusion.com/content/pdf/form-designer.pdf",
- });
-ej.pdfviewer.PdfViewer.Inject(ej.pdfviewer.TextSelection, ej.pdfviewer.TextSearch, ej.pdfviewer.Print, ej.pdfviewer.Navigation, ej.pdfviewer.Toolbar, ej.pdfviewer.Magnification, ej.pdfviewer.Annotation, ej.pdfviewer.FormDesigner, ej.pdfviewer.FormFields);
-pdfviewer.appendTo('#PdfViewer');
-
-document.getElementById('print').addEventListener('click', function () {
- pdfviewer.print.print();
-});
-
-
-{% endhighlight %}
-{% highlight js tabtitle="Server-Backed" %}
-
-var pdfviewer = new ej.pdfviewer.PdfViewer({
- enablePrint: true,
- documentPath: "https://cdn.syncfusion.com/content/pdf/form-designer.pdf",
- serviceUrl: 'https://services.syncfusion.com/js/production/api/pdfviewer'
- });
-ej.pdfviewer.PdfViewer.Inject(ej.pdfviewer.TextSelection, ej.pdfviewer.TextSearch, ej.pdfviewer.Print, ej.pdfviewer.Navigation, ej.pdfviewer.Toolbar, ej.pdfviewer.Magnification, ej.pdfviewer.Annotation, ej.pdfviewer.FormDesigner, ej.pdfviewer.FormFields);
-pdfviewer.appendTo('#PdfViewer');
-
-document.getElementById('print').addEventListener('click', function () {
- pdfviewer.print.print();
-});
-
-{% endhighlight %}
-{% endtabs %}
-
-## setFormFieldMode programmatically
-
-The **setFormFieldMode** method is a function in the Syncfusion PDF Viewer library that allows you to add a form field dynamically by passing the type of the form field. You can pass the form fields as a parameter like below.
-
-```
-
-
-```
-
-{% tabs %}
-{% highlight js tabtitle="Standalone" %}
-
-var pdfviewer = new ej.pdfviewer.PdfViewer({
- documentPath: "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf",
- });
-ej.pdfviewer.PdfViewer.Inject(ej.pdfviewer.TextSelection, ej.pdfviewer.TextSearch, ej.pdfviewer.Print, ej.pdfviewer.Navigation, ej.pdfviewer.Toolbar, ej.pdfviewer.Magnification, ej.pdfviewer.Annotation, ej.pdfviewer.FormDesigner, ej.pdfviewer.FormFields);
-pdfviewer.appendTo('#PdfViewer');
-
-document.getElementById('addPasswordField').addEventListener('click', function () {
- pdfviewer.formDesignerModule.setFormFieldMode("Password");
-});
-
-{% endhighlight %}
-{% highlight js tabtitle="Server-Backed" %}
-
-var pdfviewer = new ej.pdfviewer.PdfViewer({
- documentPath: "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf",
- serviceUrl: 'https://services.syncfusion.com/js/production/api/pdfviewer'
- });
-ej.pdfviewer.PdfViewer.Inject(ej.pdfviewer.TextSelection, ej.pdfviewer.TextSearch, ej.pdfviewer.Print, ej.pdfviewer.Navigation, ej.pdfviewer.Toolbar, ej.pdfviewer.Magnification, ej.pdfviewer.Annotation, ej.pdfviewer.FormDesigner, ej.pdfviewer.FormFields);
-pdfviewer.appendTo('#PdfViewer');
-
-document.getElementById('addPasswordField').addEventListener('click', function () {
- pdfviewer.formDesignerModule.setFormFieldMode("Password");
-});
-{% endhighlight %}
-{% endtabs %}
-
-## Open the existing PDF document
-
-We can open the already saved PDF document contains Form Fields in it by clicking the open icon in the toolbar. Refer the below GIF for further reference.
-
-
-
-## Validate form fields
-
-The form fields in the PDF Document will be validated when the `enableFormFieldsValidation` is set to true and hook the validateFormFields. The validateFormFields will be triggered when the PDF document is downloaded or printed with the non-filled form fields. The non-filled fields will be obtained in the `nonFillableFields` property of the event arguments of validateFormFields.
-
-Add the following code snippet to validate the form fields,
-
-
-{% tabs %}
-{% highlight js tabtitle="Standalone" %}
-
-var pdfviewer = new ej.pdfviewer.PdfViewer({
- documentPath: "https://cdn.syncfusion.com/content/pdf/form-designer.pdf",
- });
-ej.pdfviewer.PdfViewer.Inject(ej.pdfviewer.TextSelection, ej.pdfviewer.TextSearch, ej.pdfviewer.Print, ej.pdfviewer.Navigation, ej.pdfviewer.Toolbar, ej.pdfviewer.Magnification, ej.pdfviewer.Annotation, ej.pdfviewer.FormDesigner, ej.pdfviewer.FormFields);
-pdfviewer.appendTo('#PdfViewer');
-viewer.enableFormFieldsValidation = true;
-viewer.validateFormFields = function (args) {
- var nonfilledFormFields = args.nonFillableFields;
-};
-
-{% endhighlight %}
-{% highlight js tabtitle="Server-Backed" %}
-
-var pdfviewer = new ej.pdfviewer.PdfViewer({
- documentPath: "https://cdn.syncfusion.com/content/pdf/form-designer.pdf",
- serviceUrl: 'https://services.syncfusion.com/js/production/api/pdfviewer'
- });
-ej.pdfviewer.PdfViewer.Inject(ej.pdfviewer.TextSelection, ej.pdfviewer.TextSearch, ej.pdfviewer.Print, ej.pdfviewer.Navigation, ej.pdfviewer.Toolbar, ej.pdfviewer.Magnification, ej.pdfviewer.Annotation, ej.pdfviewer.FormDesigner, ej.pdfviewer.FormFields);
-pdfviewer.appendTo('#PdfViewer');
-viewer.enableFormFieldsValidation = true;
-viewer.validateFormFields = function (args) {
- var nonfilledFormFields = args.nonFillableFields;
-};
-
-{% endhighlight %}
-{% endtabs %}
-
-
-## Export and import form fields
-
-The PDF Viewer control provides the support to export and import the form field data in the following formats using the `importFormFields`, `exportFormFields`, and `exportFormFieldsAsObject` methods.
-
-* FDF
-* XFDF
-* JSON
-
-### Export and import as FDF
-
-Using the `exportFormFields` method, the form field data can be exported in the specified data format. This method accepts two parameters:
-
-* The first one must be the destination path for the exported data. If the path is not specified, it will ask for the location while exporting.
-* The second parameter should be the format type of the form data.
-
-The following code explains how to export the form field data as FDF.
-
-```javascript
-
-
-
-
-
-
-// Event triggers on Export FDF button click.
-document.getElementById('exportFdf').addEventListener('click', ()=> {
- // Data must be the desired path for the exported document.
- viewer.exportFormFields('Data', FormFieldDataFormat.Fdf);
-});
-
-// Event triggers on Import FDF button click.
-document.getElementById('importFdf').addEventListener('click', ()=> {
- // The file for importing the form fields should be placed in the desired location, and the path should be provided correctly.
- viewer.importFormFields('File', FormFieldDataFormat.Fdf);
-});
-
-```
-
-### Export and import as XFDF
-
-The following code explains how to export the form field data as XFDF.
-
-```javascript
-
-
-
-
-
-// Event triggers on Export XFDF button click.
-document.getElementById('exportXfdf').addEventListener('click', ()=> {
- // Data must be the desired path for the exported document.
- viewer.exportFormFields('Data', FormFieldDataFormat.Xfdf);
-});
-
-// Event triggers on Import XFDF button click.
-document.getElementById('importXfdf').addEventListener('click', ()=> {
- // The file for importing the form fields should be placed in the desired location, and the path should be provided correctly.
- viewer.importFormFields('File', FormFieldDataFormat.Xfdf);
-});
-```
-
-### Export and import as JSON
-
-The following code explains how to export the form field data as JSON.
-
-```javascript
-
-
-
-
-
-
-// Event triggers on Export JSON button click.
-document.getElementById('exportJson').addEventListener('click', ()=> {
- // Data must be the desired path for the exported document.
- viewer.exportFormFields('Data', FormFieldDataFormat.Json);
-});
-
-// Event triggers on Import JSON button click.
-document.getElementById('importJson').addEventListener('click', ()=> {
- // The file for importing the form fields should be placed in the desired location, and the path should be provided correctly
- viewer.importFormFields('File', FormFieldDataFormat.Json);
-});
-```
-
-### Export and import as Object
-
-The PDF Viewer control supports exporting the form field data as an object, and the exported data will be imported into the current PDF document from the object.
-
-The following code shows how to export the form field data as an object and import the form field data from that object into the current PDF document via a button click.
-
-```javascript
-
-
-
-
-
-
-var exportedData;
-
-// Event triggers on Export Object button click.
-document.getElementById('exportDataAsObject').addEventListener('click', ()=> {
- // Export the form field data to an FDF object.
- viewer.exportFormFieldsAsObject(FormFieldDataFormat.Fdf).then(value => {
- exportedData = value;
- });
-
- // // Export the form field data to an XFDF object.
- // viewer.exportFormFieldsAsObject(FormFieldDataFormat.Xfdf).then(value =>{
- // exportedData = value;
- // })
-
- // // Export the form field data to an JSON object.
- // viewer.exportFormFieldsAsObject(FormFieldDataFormat.Json).then(value =>{
- // exportedData = value;
- // })
-});
-
-// Event triggers on Import Data button click.
-document.getElementById('importData').addEventListener('click', ()=> {
- // Import the form field data from the FDF object into the current PDF document.
- viewer.importFormFields(exportedData, FormFieldDataFormat.Fdf);
-
- //// Import the form field data from the XFDF object into the current PDF document.
- //viewer.importFormFields (exportedData, FormFieldDataFormat.Xfdf);
-
- //// Import the form field data from the FDF object into the current PDF document.
- //viewer.importFormFields (exportedData, FormFieldDataFormat.Json);
-});
-```
-## Form field properties
-
-Form field properties in Syncfusion PDF Viewer allow you to customize and interact with form fields embedded within PDF documents. This documentation provides an overview of the form field properties supported by the Syncfusion PDF Viewer and explains how to use them effectively.
-
- * Textbox
- * Password
- * CheckBox
- * RadioButton
- * ListBox
- * DropDown
- * SignatureField
- * InitialField
-
-### Signature and initial fields settings
-
-Using the `updateFormField` method, the form fields can be updated programmatically.
-
-The following code example explains how to update the signature field properties on a button click.
-
-```html
-
-
-```
-
-```javascript
-
-document.getElementById('updateProperties').addEventListener('click',function() {
- var formField = viewer.retrieveFormFields();
- viewer.formDesignerModule.updateFormField(formField[0], {
- name: 'Initial',
- isReadOnly: true,
- visibility: 'visible',
- isRequired: false,
- isPrint: true,
- tooltip: 'Initial',
- thickness: 4
- });
-});
-
-```
-
-The following code example explains how to update the properties of the signature field added to the document from the form designer toolbar.
-
-{% tabs %}
-{% highlight js tabtitle="Standalone" %}
-
-var pdfviewer = new ej.pdfviewer.PdfViewer({
- documentPath: "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf",
- });
-ej.pdfviewer.PdfViewer.Inject(ej.pdfviewer.TextSelection, ej.pdfviewer.TextSearch, ej.pdfviewer.Print, ej.pdfviewer.Navigation, ej.pdfviewer.Toolbar, ej.pdfviewer.Magnification, ej.pdfviewer.Annotation, ej.pdfviewer.FormDesigner, ej.pdfviewer.FormFields);
-pdfviewer.appendTo('#PdfViewer');
-// Properties to customize the signature field settings
-pdfviewer.signatureFieldSettings = {
- // Set the name of the form field element.
- name: 'Signature',
- // Specify whether the signature field is in read-only or read-write mode.
- isReadOnly: false,
- // Set the visibility of the form field.
- visibility: 'visible',
- // Specify whether the field is mandatory or not.
- isRequired: false,
- // Specify whether to print the signature field.
- isPrint: true,
- // Set the text to be displayed as a tooltip.
- tooltip: 'Signature',
- // Set the thickness of the Signature field. To hide the borders, set the value to 0 (zero).
- thickness: 4,
- // Specify the properties of the signature Dialog Settings in the signature field.
- signatureDialogSettings: {
- displayMode: ej.pdfviewer.DisplayMode.Draw | ej.pdfviewer.DisplayMode.Upload
- | ej.pdfviewer.DisplayMode.Text,
- hideSaveSignature: false,
- },
- // Specify the properties of the signature indicator in the signature field.
- signatureIndicatorSettings: {
- opacity: 1,
- backgroundColor: '#237ba2',
- height: 50,
- fontSize: 15,
- text: 'Signature Field',
- color: 'white'
- },
-};
-
-{% endhighlight %}
-{% highlight js tabtitle="Server-Backed" %}
-
-var pdfviewer = new ej.pdfviewer.PdfViewer({
- documentPath: "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf",
- serviceUrl: 'https://services.syncfusion.com/js/production/api/pdfviewer'
- });
-ej.pdfviewer.PdfViewer.Inject(ej.pdfviewer.TextSelection, ej.pdfviewer.TextSearch, ej.pdfviewer.Print, ej.pdfviewer.Navigation, ej.pdfviewer.Toolbar, ej.pdfviewer.Magnification, ej.pdfviewer.Annotation, ej.pdfviewer.FormDesigner, ej.pdfviewer.FormFields);
-pdfviewer.appendTo('#PdfViewer');
-// Properties to customize the signature field settings
-pdfviewer.signatureFieldSettings = {
- // Set the name of the form field element.
- name: 'Signature',
- // Specify whether the signature field is in read-only or read-write mode.
- isReadOnly: false,
- // Set the visibility of the form field.
- visibility: 'visible',
- // Specify whether the field is mandatory or not.
- isRequired: false,
- // Specify whether to print the signature field.
- isPrint: true,
- // Set the text to be displayed as a tooltip.
- tooltip: 'Signature',
- // Set the thickness of the Signature field. To hide the borders, set the value to 0 (zero).
- thickness: 4,
- // Specify the properties of the signature Dialog Settings in the signature field.
- signatureDialogSettings: {
- displayMode: ej.pdfviewer.DisplayMode.Draw | ej.pdfviewer.DisplayMode.Upload
- | ej.pdfviewer.DisplayMode.Text,
- hideSaveSignature: false,
- },
- // Specify the properties of the signature indicator in the signature field.
- signatureIndicatorSettings: {
- opacity: 1,
- backgroundColor: '#237ba2',
- height: 50,
- fontSize: 15,
- text: 'Signature Field',
- color: 'white'
- },
-};
-
-{% endhighlight %}
-{% endtabs %}
-
-
-
-The following code example explains how to update the properties of the initial field added to the document from the form designer toolbar.
-
-{% tabs %}
-{% highlight js tabtitle="Standalone" %}
-
-var pdfviewer = new ej.pdfviewer.PdfViewer({
- documentPath: "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf",
- });
-ej.pdfviewer.PdfViewer.Inject(ej.pdfviewer.TextSelection, ej.pdfviewer.TextSearch, ej.pdfviewer.Print, ej.pdfviewer.Navigation, ej.pdfviewer.Toolbar, ej.pdfviewer.Magnification, ej.pdfviewer.Annotation, ej.pdfviewer.FormDesigner, ej.pdfviewer.FormFields);
-pdfviewer.appendTo('#PdfViewer');
-// Properties to customize the signature field settings
-pdfviewer.initialFieldSettings = {
- // Set the name of the form field element.
- name: 'Initial',
- // Specify whether the initial field is in read-only or read-write mode.
- isReadOnly: false,
- // Set the visibility of the form field.
- visibility: 'visible',
- // Specify whether the field is mandatory or not.
- isRequired: false,
- // Specify whether to print the initial field.
- isPrint: true,
- // Set the text to be displayed as a tooltip.
- tooltip: 'Initial',
- // Set the thickness of the initial field. To hide the borders, set the value to 0 (zero).
- thickness: 4,
- // Specifies the properties of the initial indicator in the initial field.
- initialIndicatorSettings: {
- opacity: 1,
- backgroundColor: '#237ba2',
- height: 50,
- fontSize: 15,
- text: 'Initial Field',
- color: 'white'
- },
- // Specify the properties of the initial Dialog Settings in the intial field.
- initialDialogSettings: {
- displayMode: ej.pdfviewer.DisplayMode.Draw | ej.pdfviewer.DisplayMode.Upload
- | ej.pdfviewer.DisplayMode.Text,
- hideSaveSignature: false
- }
-};
-{% endhighlight %}
-{% highlight js tabtitle="Server-Backed" %}
-
-var pdfviewer = new ej.pdfviewer.PdfViewer({
- documentPath: "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf",
- serviceUrl: 'https://services.syncfusion.com/js/production/api/pdfviewer'
- });
-ej.pdfviewer.PdfViewer.Inject(ej.pdfviewer.TextSelection, ej.pdfviewer.TextSearch, ej.pdfviewer.Print, ej.pdfviewer.Navigation, ej.pdfviewer.Toolbar, ej.pdfviewer.Magnification, ej.pdfviewer.Annotation, ej.pdfviewer.FormDesigner, ej.pdfviewer.FormFields);
-pdfviewer.appendTo('#PdfViewer');
-// Properties to customize the signature field settings
-pdfviewer.initialFieldSettings = {
- // Set the name of the form field element.
- name: 'Initial',
- // Specify whether the initial field is in read-only or read-write mode.
- isReadOnly: false,
- // Set the visibility of the form field.
- visibility: 'visible',
- // Specify whether the field is mandatory or not.
- isRequired: false,
- // Specify whether to print the initial field.
- isPrint: true,
- // Set the text to be displayed as a tooltip.
- tooltip: 'Initial',
- // Set the thickness of the initial field. To hide the borders, set the value to 0 (zero).
- thickness: 4,
- // Specifies the properties of the initial indicator in the initial field.
- initialIndicatorSettings: {
- opacity: 1,
- backgroundColor: '#237ba2',
- height: 50,
- fontSize: 15,
- text: 'Initial Field',
- color: 'white'
- },
- // Specify the properties of the initial Dialog Settings in the intial field.
- initialDialogSettings: {
- displayMode: ej.pdfviewer.DisplayMode.Draw | ej.pdfviewer.DisplayMode.Upload
- | ej.pdfviewer.DisplayMode.Text,
- hideSaveSignature: false
- }
-};
-
-{% endhighlight %}
-{% endtabs %}
-
-
-
-### Textbox field settings
-
-Using the `updateFormField` method, the form fields can be updated programmatically.
-
-The following code example explains how to update the Textbox field properties on a button click.
-
-```html
-
-
-```
-
-```javascript
-
-document.getElementById('updateProperties').addEventListener('click',function() {
- var formField = viewer.retrieveFormFields();
- viewer.formDesignerModule.updateFormField(formField[0], {
- name: 'Textbox',
- isReadOnly: true,
- visibility: 'visible',
- isRequired: false,
- isPrint: true,
- tooltip: 'Textbox',
- thickness: 4,
- value:'Textbox',
- fontFamily: 'Courier',
- fontSize: 10,
- fontStyle: 'None',
- color: 'black',
- borderColor: 'black',
- backgroundColor: 'white',
- alignment: 'Left',
- maxLength: 0,
- isMultiline: false,
- bounds: { X: 146, Y: 229, Width: 150, Height: 24 }
- });
-});
-
-
-```
-
-The following code example explains how to update the properties of the Textbox field added to the document from the form designer toolbar.
-
-
-{% tabs %}
-{% highlight js tabtitle="Standalone" %}
-
-var pdfviewer = new ej.pdfviewer.PdfViewer({
- documentPath: "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf",
- });
- ej.pdfviewer.PdfViewer.Inject(ej.pdfviewer.TextSelection, ej.pdfviewer.TextSearch, ej.pdfviewer.Print, ej.pdfviewer.Navigation, ej.pdfviewer.Toolbar, ej.pdfviewer.Magnification, ej.pdfviewer.Annotation, ej.pdfviewer.FormDesigner, ej.pdfviewer.FormFields);
-
-pdfviewer.appendTo('#PdfViewer');
-// Properties to customize the Textbox field settings
-pdfviewer.textFieldSettings = {
- // Set the name of the form field element.
- name: 'Textbox',
- // Specify whether the Textbox field is in read-only or read-write mode.
- isReadOnly: false,
- // Set the visibility of the form field.
- visibility: 'visible',
- // Specify whether the field is mandatory or not.
- isRequired: false,
- // Specify whether to print the Textbox field.
- isPrint: true,
- // Set the text to be displayed as a tooltip.
- tooltip: 'Textbox',
- // Set the thickness of the Textbox field. To hide the borders, set the value to 0 (zero).
- thickness: 4,
- // Set the value of the form field element.
- value:'Textbox',
- // Set the font family of the textbox field.
- fontFamily: 'Courier',
- // Set the font size of the textbox field.
- fontSize: 10,
- // Specify the font style
- fontStyle: 'None',
- // Set the font color of the textbox field.
- color: 'black',
- // Set the border color of the textbox field.
- borderColor: 'black',
- // Set the background color of the textbox field.
- backgroundColor: 'White',
- // Set the alignment of the text.
- alignment: 'Left',
- // Set the maximum character length.
- maxLength: 0,
- // Allows multiline input in the text field. FALSE, by default.
- isMultiline: false
-};
-{% endhighlight %}
-{% highlight js tabtitle="Server-Backed" %}
-
-var pdfviewer = new ej.pdfviewer.PdfViewer({
- documentPath: "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf",
- serviceUrl: 'https://services.syncfusion.com/js/production/api/pdfviewer'
- });
- ej.pdfviewer.PdfViewer.Inject(ej.pdfviewer.TextSelection, ej.pdfviewer.TextSearch, ej.pdfviewer.Print, ej.pdfviewer.Navigation, ej.pdfviewer.Toolbar, ej.pdfviewer.Magnification, ej.pdfviewer.Annotation, ej.pdfviewer.FormDesigner, ej.pdfviewer.FormFields);
-
-pdfviewer.appendTo('#PdfViewer');
-// Properties to customize the Textbox field settings
-pdfviewer.textFieldSettings = {
- // Set the name of the form field element.
- name: 'Textbox',
- // Specify whether the Textbox field is in read-only or read-write mode.
- isReadOnly: false,
- // Set the visibility of the form field.
- visibility: 'visible',
- // Specify whether the field is mandatory or not.
- isRequired: false,
- // Specify whether to print the Textbox field.
- isPrint: true,
- // Set the text to be displayed as a tooltip.
- tooltip: 'Textbox',
- // Set the thickness of the Textbox field. To hide the borders, set the value to 0 (zero).
- thickness: 4,
- // Set the value of the form field element.
- value:'Textbox',
- // Set the font family of the textbox field.
- fontFamily: 'Courier',
- // Set the font size of the textbox field.
- fontSize: 10,
- // Specify the font style
- fontStyle: 'None',
- // Set the font color of the textbox field.
- color: 'black',
- // Set the border color of the textbox field.
- borderColor: 'black',
- // Set the background color of the textbox field.
- backgroundColor: 'White',
- // Set the alignment of the text.
- alignment: 'Left',
- // Set the maximum character length.
- maxLength: 0,
- // Allows multiline input in the text field. FALSE, by default.
- isMultiline: false
-};
-
-{% endhighlight %}
-{% endtabs %}
-
-
-
-### Password field settings
-
-Using the `updateFormField` method, the form fields can be updated programmatically.
-
-The following code example explains how to update the Password field properties on a button click.
-
-```html
-
-
-```
-
-```javascript
-
-document.getElementById('updateProperties').addEventListener('click',function() {
- var formField = viewer.retrieveFormFields();
- viewer.formDesignerModule.updateFormField(formField[0], {
- name: 'Password',
- isReadOnly: true,
- visibility: 'visible',
- isRequired: false,
- isPrint: true,
- tooltip: 'Password',
- thickness: 4,
- value:'Password',
- fontFamily: 'Courier',
- fontSize: 10,
- fontStyle: 'None',
- color: 'black',
- borderColor: 'black',
- backgroundColor: 'white',
- alignment: 'Left',
- maxLength: 0,
- bounds: { X: 148, Y: 229, Width: 150, Height: 24 }
- });
-});
-
-
-```
-
-The following code example explains how to update the properties of the Password field added to the document from the form designer toolbar.
-
-{% tabs %}
-{% highlight js tabtitle="Standalone" %}
-
-var pdfviewer = new ej.pdfviewer.PdfViewer({
- documentPath: "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf",
- });
- ej.pdfviewer.PdfViewer.Inject(ej.pdfviewer.TextSelection, ej.pdfviewer.TextSearch, ej.pdfviewer.Print, ej.pdfviewer.Navigation, ej.pdfviewer.Toolbar, ej.pdfviewer.Magnification, ej.pdfviewer.Annotation, ej.pdfviewer.FormDesigner, ej.pdfviewer.FormFields);
-
-pdfviewer.appendTo('#PdfViewer');
-// Properties to customize the Password field settings
-pdfviewer.passwordFieldSettings = {
- // Set the name of the form field element.
- name: 'Password',
- // Specify whether the Password field is in read-only or read-write mode.
- isReadOnly: false,
- // Set the visibility of the form field.
- visibility: 'visible',
- // Specify whether the field is mandatory or not.
- isRequired: false,
- // Specify whether to print the Password field.
- isPrint: true,
- // Set the text to be displayed as a tooltip.
- tooltip: 'Password',
- // Set the thickness of the Password field. To hide the borders, set the value to 0 (zero).
- thickness: 4,
- // Set the value of the form field element.
- value:'Password',
- // Set the font family of the Password field.
- fontFamily: 'Courier',
- // Set the font size of the Password field.
- fontSize: 10,
- // Specify the font style
- fontStyle: 'None',
- // Set the font color of the Password field.
- color: 'black',
- // Set the border color of the Password field.
- borderColor: 'black',
- // Set the background color of the Password field.
- backgroundColor: 'white',
- // Set the alignment of the text.
- alignment: 'Left',
- // Set the maximum character length.
- maxLength: 0,
-};
-
-{% endhighlight %}
-{% highlight js tabtitle="Server-Backed" %}
-
-var pdfviewer = new ej.pdfviewer.PdfViewer({
- documentPath: "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf",
- serviceUrl: 'https://services.syncfusion.com/js/production/api/pdfviewer'
- });
- ej.pdfviewer.PdfViewer.Inject(ej.pdfviewer.TextSelection, ej.pdfviewer.TextSearch, ej.pdfviewer.Print, ej.pdfviewer.Navigation, ej.pdfviewer.Toolbar, ej.pdfviewer.Magnification, ej.pdfviewer.Annotation, ej.pdfviewer.FormDesigner, ej.pdfviewer.FormFields);
-
-pdfviewer.appendTo('#PdfViewer');
-// Properties to customize the Password field settings
-pdfviewer.passwordFieldSettings = {
- // Set the name of the form field element.
- name: 'Password',
- // Specify whether the Password field is in read-only or read-write mode.
- isReadOnly: false,
- // Set the visibility of the form field.
- visibility: 'visible',
- // Specify whether the field is mandatory or not.
- isRequired: false,
- // Specify whether to print the Password field.
- isPrint: true,
- // Set the text to be displayed as a tooltip.
- tooltip: 'Password',
- // Set the thickness of the Password field. To hide the borders, set the value to 0 (zero).
- thickness: 4,
- // Set the value of the form field element.
- value:'Password',
- // Set the font family of the Password field.
- fontFamily: 'Courier',
- // Set the font size of the Password field.
- fontSize: 10,
- // Specify the font style
- fontStyle: 'None',
- // Set the font color of the Password field.
- color: 'black',
- // Set the border color of the Password field.
- borderColor: 'black',
- // Set the background color of the Password field.
- backgroundColor: 'white',
- // Set the alignment of the text.
- alignment: 'Left',
- // Set the maximum character length.
- maxLength: 0,
-};
-
-
-{% endhighlight %}
-{% endtabs %}
-
-
-
-### CheckBox field settings
-
-Using the `updateFormField` method, the form fields can be updated programmatically.
-
-The following code example explains how to update the CheckBox field properties on a button click.
-
-```html
-
-
-```
-
-```javascript
-
-document.getElementById('updateProperties').addEventListener('click',function() {
- var formField = viewer.retrieveFormFields();
- viewer.formDesignerModule.updateFormField(formField[0], {
- name: 'CheckBox',
- isReadOnly: true,
- visibility: 'visible',
- isRequired: false,
- isPrint: true,
- tooltip: 'CheckBox',
- thickness: 4,
- isChecked: true,
- backgroundColor: 'white',
- borderColor: 'black',
- value: 'CheckBox',
- });
-});
-
-
-```
-
-The following code example explains how to update the properties of the CheckBox field added to the document from the form designer toolbar.
-
-{% tabs %}
-{% highlight js tabtitle="Standalone" %}
-
-var pdfviewer = new ej.pdfviewer.PdfViewer({
- documentPath: "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf",
- });
- ej.pdfviewer.PdfViewer.Inject(ej.pdfviewer.TextSelection, ej.pdfviewer.TextSearch, ej.pdfviewer.Print, ej.pdfviewer.Navigation, ej.pdfviewer.Toolbar, ej.pdfviewer.Magnification, ej.pdfviewer.Annotation, ej.pdfviewer.FormDesigner, ej.pdfviewer.FormFields);
-
-pdfviewer.appendTo('#PdfViewer');
-// Properties to customize the CheckBox field settings
-pdfviewer.checkBoxFieldSettings = {
- // Set the name of the form field element.
- name: 'CheckBox',
- // Specify whether the CheckBox field is in read-only or read-write mode.
- isReadOnly: false,
- // Set the visibility of the form field.
- visibility: 'visible',
- // Specify whether the field is mandatory or not.
- isRequired: false,
- // Specify whether to print the CheckBox field.
- isPrint: true,
- // Set the text to be displayed as a tooltip.
- tooltip: 'CheckBox',
- // Set the thickness of the CheckBox field. To hide the borders, set the value to 0 (zero).
- thickness: 4,
- // Specifies whether the check box is in checked state or not.
- isChecked: true,
- // Set the background color of the check box in hexadecimal string format.
- backgroundColor: 'white',
- // Set the border color of the check box field.
- borderColor: 'black',
- // Set the value of
-};
-
-{% endhighlight %}
-{% highlight js tabtitle="Server-Backed" %}
-
-var pdfviewer = new ej.pdfviewer.PdfViewer({
- documentPath: "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf",
- serviceUrl: 'https://services.syncfusion.com/js/production/api/pdfviewer'
- });
- ej.pdfviewer.PdfViewer.Inject(ej.pdfviewer.TextSelection, ej.pdfviewer.TextSearch, ej.pdfviewer.Print, ej.pdfviewer.Navigation, ej.pdfviewer.Toolbar, ej.pdfviewer.Magnification, ej.pdfviewer.Annotation, ej.pdfviewer.FormDesigner, ej.pdfviewer.FormFields);
-
-pdfviewer.appendTo('#PdfViewer');
-// Properties to customize the CheckBox field settings
-pdfviewer.checkBoxFieldSettings = {
- // Set the name of the form field element.
- name: 'CheckBox',
- // Specify whether the CheckBox field is in read-only or read-write mode.
- isReadOnly: false,
- // Set the visibility of the form field.
- visibility: 'visible',
- // Specify whether the field is mandatory or not.
- isRequired: false,
- // Specify whether to print the CheckBox field.
- isPrint: true,
- // Set the text to be displayed as a tooltip.
- tooltip: 'CheckBox',
- // Set the thickness of the CheckBox field. To hide the borders, set the value to 0 (zero).
- thickness: 4,
- // Specifies whether the check box is in checked state or not.
- isChecked: true,
- // Set the background color of the check box in hexadecimal string format.
- backgroundColor: 'white',
- // Set the border color of the check box field.
- borderColor: 'black',
- // Set the value of
-};
-
-{% endhighlight %}
-{% endtabs %}
-
-
-
-### RadioButton field settings
-
-Using the `updateFormField` method, the form fields can be updated programmatically.
-
-The following code example explains how to update the RadioButton field properties on a button click.
-
-```html
-
-
-```
-
-```javascript
-
-document.getElementById('updateProperties').addEventListener('click',function() {
- var formField = viewer.retrieveFormFields();
- viewer.formDesignerModule.updateFormField(formField[0], {
- name: 'RadioButton',
- isReadOnly: true,
- visibility: 'visible',
- isRequired: false,
- isPrint: true,
- tooltip: 'RadioButton',
- thickness: 4,
- isSelected: true,
- backgroundColor: 'white',
- borderColor: 'black',
- value: 'RadioButton'
- });
-});
-
-
-```
-
-The following code example explains how to update the properties of the RadioButton field added to the document from the form designer toolbar.
-
-{% tabs %}
-{% highlight js tabtitle="Standalone" %}
-
-var pdfviewer = new ej.pdfviewer.PdfViewer({
- documentPath: "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf",
- });
- ej.pdfviewer.PdfViewer.Inject(ej.pdfviewer.TextSelection, ej.pdfviewer.TextSearch, ej.pdfviewer.Print, ej.pdfviewer.Navigation, ej.pdfviewer.Toolbar, ej.pdfviewer.Magnification, ej.pdfviewer.Annotation, ej.pdfviewer.FormDesigner, ej.pdfviewer.FormFields);
-
-pdfviewer.appendTo('#PdfViewer');
-// Properties to customize the RadioButton field settings
-pdfviewer.radioButtonFieldSettings = {
- // Set the name of the form field element.
- name: 'RadioButton',
- // Specify whether the RadioButton field is in read-only or read-write mode.
- isReadOnly: false,
- // Set the visibility of the form field.
- visibility: 'visible',
- // Specify whether the field is mandatory or not.
- isRequired: false,
- // Specify whether to print the RadioButton field.
- isPrint: true,
- // Set the text to be displayed as a tooltip.
- tooltip: 'RadioButton',
- // Set the thickness of the RadioButton field. To hide the borders, set the value to 0 (zero).
- thickness: 4,
- // Specifies whether the radio button is in checked state or not.
- isSelected: true,
- // Set the background color of the radio button in hexadecimal string format.
- backgroundColor: 'white',
- // Set the border color of the radio button field.
- borderColor: 'black',
- // Set the value of the form field element.
- value: 'RadioButton'
-};
-
-{% endhighlight %}
-{% highlight js tabtitle="Server-Backed" %}
-
-var pdfviewer = new ej.pdfviewer.PdfViewer({
- documentPath: "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf",
- serviceUrl: 'https://services.syncfusion.com/js/production/api/pdfviewer'
- });
- ej.pdfviewer.PdfViewer.Inject(ej.pdfviewer.TextSelection, ej.pdfviewer.TextSearch, ej.pdfviewer.Print, ej.pdfviewer.Navigation, ej.pdfviewer.Toolbar, ej.pdfviewer.Magnification, ej.pdfviewer.Annotation, ej.pdfviewer.FormDesigner, ej.pdfviewer.FormFields);
-
-pdfviewer.appendTo('#PdfViewer');
-// Properties to customize the RadioButton field settings
-pdfviewer.radioButtonFieldSettings = {
- // Set the name of the form field element.
- name: 'RadioButton',
- // Specify whether the RadioButton field is in read-only or read-write mode.
- isReadOnly: false,
- // Set the visibility of the form field.
- visibility: 'visible',
- // Specify whether the field is mandatory or not.
- isRequired: false,
- // Specify whether to print the RadioButton field.
- isPrint: true,
- // Set the text to be displayed as a tooltip.
- tooltip: 'RadioButton',
- // Set the thickness of the RadioButton field. To hide the borders, set the value to 0 (zero).
- thickness: 4,
- // Specifies whether the radio button is in checked state or not.
- isSelected: true,
- // Set the background color of the radio button in hexadecimal string format.
- backgroundColor: 'white',
- // Set the border color of the radio button field.
- borderColor: 'black',
- // Set the value of the form field element.
- value: 'RadioButton'
-};
-
-{% endhighlight %}
-{% endtabs %}
-
-
-
-### ListBox field settings
-
-Using the `updateFormField` method, the form fields can be updated programmatically.
-
-The following code example explains how to update the ListBox field properties on a button click.
-
-```html
-
-
-```
-
-```javascript
-
-document.getElementById('updateProperties').addEventListener('click',function() {
- var formField = viewer.retrieveFormFields();
- var customOptions = [{itemName:'item1',itemValue:'item1'}, {itemName:'item2',itemValue:'item2'}, {itemName:'item3',itemValue:'item3'}]
- viewer.formDesignerModule.updateFormField(formField[0], {
- name: 'ListBox',
- isReadOnly: false,
- visibility: 'visible',
- isRequired: false,
- isPrint: true,
- tooltip: 'ListBox',
- thickness: 4,
- fontFamily: 'Courier',
- fontSize: 10,
- fontStyle: 'None',
- color: 'black',
- borderColor: 'black',
- backgroundColor: 'white',
- alignment: 'Left',
- options: customOptions,
- });
-});
-
-```
-
-The following code example explains how to update the properties of the Listbox field added to the document from the form designer toolbar.
-
-{% tabs %}
-{% highlight js tabtitle="Standalone" %}
-
-var pdfviewer = new ej.pdfviewer.PdfViewer({
- documentPath: "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf",
- });
- ej.pdfviewer.PdfViewer.Inject(ej.pdfviewer.TextSelection, ej.pdfviewer.TextSearch, ej.pdfviewer.Print, ej.pdfviewer.Navigation, ej.pdfviewer.Toolbar, ej.pdfviewer.Magnification, ej.pdfviewer.Annotation, ej.pdfviewer.FormDesigner, ej.pdfviewer.FormFields);
-
-pdfviewer.appendTo('#PdfViewer');
- var customOptions = [{itemName:'item1',itemValue:'item1'}, {itemName:'item2',itemValue:'item2'}, {itemName:'item3',itemValue:'item3'}]
-// Properties to customize the Listbox field settings
-pdfviewer.listBoxFieldSettings = {
- // Set the name of the form field element.
- name: 'ListBox',
- // Specify whether the ListBox field is in read-only or read-write mode.
- isReadOnly: false,
- // Set the visibility of the form field.
- visibility: 'visible',
- // Specify whether the field is mandatory or not.
- isRequired: false,
- // Specify whether to print the ListBox field.
- isPrint: true,
- // Set the text to be displayed as a tooltip.
- tooltip: 'ListBox',
- // Set the thickness of the ListBox field. To hide the borders, set the value to 0 (zero).
- thickness: 4,
- // Set the value of the form field element.
- value:'ListBox',
- // Set the font family of the ListBox field.
- fontFamily: 'Courier',
- // Set the font size of the ListBox field.
- fontSize: 10,
- // Specify the font style
- fontStyle: 'None',
- // Set the font color of the ListBox field.
- color: 'black',
- // Set the border color of the ListBox field.
- borderColor: 'black',
- // Set the background color of the ListBox field.
- backgroundColor: 'White',
- // Set the alignment of the text.
- alignment: 'Left',
- // Set the listbox items.
- options: customOptions
-};
-
-{% endhighlight %}
-{% highlight js tabtitle="Server-Backed" %}
-
-var pdfviewer = new ej.pdfviewer.PdfViewer({
- documentPath: "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf",
- serviceUrl: 'https://services.syncfusion.com/js/production/api/pdfviewer'
- });
- ej.pdfviewer.PdfViewer.Inject(ej.pdfviewer.TextSelection, ej.pdfviewer.TextSearch, ej.pdfviewer.Print, ej.pdfviewer.Navigation, ej.pdfviewer.Toolbar, ej.pdfviewer.Magnification, ej.pdfviewer.Annotation, ej.pdfviewer.FormDesigner, ej.pdfviewer.FormFields);
-
-pdfviewer.appendTo('#PdfViewer');
-var customOptions = [{itemName:'item1',itemValue:'item1'}, {itemName:'item2',itemValue:'item2'}, {itemName:'item3',itemValue:'item3'}]
-// Properties to customize the Listbox field settings
-pdfviewer.listBoxFieldSettings = {
- // Set the name of the form field element.
- name: 'ListBox',
- // Specify whether the ListBox field is in read-only or read-write mode.
- isReadOnly: false,
- // Set the visibility of the form field.
- visibility: 'visible',
- // Specify whether the field is mandatory or not.
- isRequired: false,
- // Specify whether to print the ListBox field.
- isPrint: true,
- // Set the text to be displayed as a tooltip.
- tooltip: 'ListBox',
- // Set the thickness of the ListBox field. To hide the borders, set the value to 0 (zero).
- thickness: 4,
- // Set the value of the form field element.
- value:'ListBox',
- // Set the font family of the ListBox field.
- fontFamily: 'Courier',
- // Set the font size of the ListBox field.
- fontSize: 10,
- // Specify the font style
- fontStyle: 'None',
- // Set the font color of the ListBox field.
- color: 'black',
- // Set the border color of the ListBox field.
- borderColor: 'black',
- // Set the background color of the ListBox field.
- backgroundColor: 'White',
- // Set the alignment of the text.
- alignment: 'Left',
- // Set the listbox items.
- options: customOptions
-};
-
-
-{% endhighlight %}
-{% endtabs %}
-
-
-
-### DropDown field settings
-
-Using the [updateFormField](https://helpej2.syncfusion.com/documentation/api/pdfviewer/#updateformfields) method, the form fields can be updated programmatically.
-
-The following code example explains how to update the DropDown field properties on a button click.
-
-```html
-
-
-```
-
-```javascript
-
-document.getElementById('updateProperties').addEventListener('click',function() {
- var formField = viewer.retrieveFormFields();
- var customOptions = [{itemName:'item1',itemValue:'item1'}, {itemName:'item2',itemValue:'item2'}, {itemName:'item3',itemValue:'item3'}]
- viewer.formDesignerModule.updateFormField(formField[0], {
- name: 'DropDown',
- isReadOnly: false,
- visibility: 'visible',
- isRequired: false,
- isPrint: true,
- tooltip: 'DropDown',
- thickness: 4,
- fontFamily: 'Courier',
- fontSize: 10,
- fontStyle: 'None',
- color: 'black',
- borderColor: 'black',
- backgroundColor: 'white',
- alignment: 'Left',
- options: customOptions,
- });
-});
-
-
-```
-
-The following code example explains how to update the properties of the Dropdown field added to the document from the form designer toolbar.
-
-
-{% tabs %}
-{% highlight js tabtitle="Standalone" %}
-
-var pdfviewer = new ej.pdfviewer.PdfViewer({
- documentPath: "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf",
- });
- ej.pdfviewer.PdfViewer.Inject(ej.pdfviewer.TextSelection, ej.pdfviewer.TextSearch, ej.pdfviewer.Print, ej.pdfviewer.Navigation, ej.pdfviewer.Toolbar, ej.pdfviewer.Magnification, ej.pdfviewer.Annotation, ej.pdfviewer.FormDesigner, ej.pdfviewer.FormFields);
-
-pdfviewer.appendTo('#PdfViewer');
- var customOptions = [{itemName:'item1',itemValue:'item1'}, {itemName:'item2',itemValue:'item2'}, {itemName:'item3',itemValue:'item3'}]
-// Properties to customize the DropDown field settings
-pdfviewer.DropdownFieldSettings = {
- // Set the name of the form field element.
- name: 'DropDown',
- // Specify whether the DropDown field is in read-only or read-write mode.
- isReadOnly: false,
- // Set the visibility of the form field.
- visibility: 'visible',
- // Specify whether the field is mandatory or not.
- isRequired: false,
- // Specify whether to print the DropDown field.
- isPrint: true,
- // Set the text to be displayed as a tooltip.
- tooltip: 'DropDown',
- // Set the thickness of the DropDown field. To hide the borders, set the value to 0 (zero).
- thickness: 4,
- // Set the value of the form field element.
- value:'DropDown',
- // Set the font family of the DropDown field.
- fontFamily: 'Courier',
- // Set the font size of the DropDown field.
- fontSize: 10,
- // Specify the font style
- fontStyle: 'None',
- // Set the font color of the DropDown field.
- color: 'black',
- // Set the border color of the DropDown field.
- borderColor: 'black',
- // Set the background color of the DropDown field.
- backgroundColor: 'White',
- // Set the alignment of the text.
- alignment: 'Left',
- // Set the DropDown items.
- options: customOptions
-};
-
-{% endhighlight %}
-{% highlight js tabtitle="Server-Backed" %}
-
-var pdfviewer = new ej.pdfviewer.PdfViewer({
- documentPath: "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf",
- serviceUrl: 'https://services.syncfusion.com/js/production/api/pdfviewer'
- });
- ej.pdfviewer.PdfViewer.Inject(ej.pdfviewer.TextSelection, ej.pdfviewer.TextSearch, ej.pdfviewer.Print, ej.pdfviewer.Navigation, ej.pdfviewer.Toolbar, ej.pdfviewer.Magnification, ej.pdfviewer.Annotation, ej.pdfviewer.FormDesigner, ej.pdfviewer.FormFields);
-
-pdfviewer.appendTo('#PdfViewer');
-var customOptions = [{itemName:'item1',itemValue:'item1'}, {itemName:'item2',itemValue:'item2'}, {itemName:'item3',itemValue:'item3'}]
-// Properties to customize the DropDown field settings
-pdfviewer.DropdownFieldSettings = {
- // Set the name of the form field element.
- name: 'DropDown',
- // Specify whether the DropDown field is in read-only or read-write mode.
- isReadOnly: false,
- // Set the visibility of the form field.
- visibility: 'visible',
- // Specify whether the field is mandatory or not.
- isRequired: false,
- // Specify whether to print the DropDown field.
- isPrint: true,
- // Set the text to be displayed as a tooltip.
- tooltip: 'DropDown',
- // Set the thickness of the DropDown field. To hide the borders, set the value to 0 (zero).
- thickness: 4,
- // Set the value of the form field element.
- value:'DropDown',
- // Set the font family of the DropDown field.
- fontFamily: 'Courier',
- // Set the font size of the DropDown field.
- fontSize: 10,
- // Specify the font style
- fontStyle: 'None',
- // Set the font color of the DropDown field.
- color: 'black',
- // Set the border color of the DropDown field.
- borderColor: 'black',
- // Set the background color of the DropDown field.
- backgroundColor: 'White',
- // Set the alignment of the text.
- alignment: 'Left',
- // Set the DropDown items.
- options: customOptions
-};
-
-{% endhighlight %}
-{% endtabs %}
-
-
\ No newline at end of file
diff --git a/ej2-javascript/pdfviewer/js/form-designer/create-with-user-interface-interaction.md b/ej2-javascript/pdfviewer/js/form-designer/create-with-user-interface-interaction.md
deleted file mode 100644
index 7a7e5f807..000000000
--- a/ej2-javascript/pdfviewer/js/form-designer/create-with-user-interface-interaction.md
+++ /dev/null
@@ -1,134 +0,0 @@
----
-layout: post
-title: User interaction in ##Platform_Name## Pdfviewer control | Syncfusion
-description: Learn here all about Create with user interface interaction in Syncfusion ##Platform_Name## Pdfviewer control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: Create with user interface interaction
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Create with user interface interaction
-
-The PDF viewer control provides the option for interaction with Form Fields such as Drag and resize. you can draw a Form Field dynamically by clicking the Form Field icon on the toolbar and draw it in the PDF document. The Form Fields type supported by the PDF Viewer Control are:
-
- * Textbox
- * Password
- * CheckBox
- * RadioButton
- * ListBox
- * DropDown
- * SignatureField
- * InitialField
-
-## Enable or Disable form designer toolbar
-
-We should inject FormDesigner module and set enableFormDesignerToolbar as true to enable the Form designer icon on the toolbar. By default, enableFormDesignerToolbar is set as true. Use the following code to inject FormDesigner module and to enable the enableFormDesignerToolbar property.
-
-
-
-{% tabs %}
-{% highlight js tabtitle="Standalone" %}
-
-
-var pdfviewer = new ej.pdfviewer.PdfViewer({
- documentPath: "https://cdn.syncfusion.com/content/pdf/form-designer.pdf",
- enableFormDesignerToolbar: true
-});
-ej.pdfviewer.PdfViewer.Inject(ej.pdfviewer.TextSelection, ej.pdfviewer.TextSearch, ej.pdfviewer.Print, ej.pdfviewer.Navigation, ej.pdfviewer.Toolbar, ej.pdfviewer.Magnification, ej.pdfviewer.Annotation, ej.pdfviewer.FormDesigner, ej.pdfviewer.FormFields);
-pdfviewer.appendTo('#PdfViewer');
-
-{% endhighlight %}
-{% highlight js tabtitle="Server-Backed" %}
-
-var pdfviewer = new ej.pdfviewer.PdfViewer({
- documentPath: "https://cdn.syncfusion.com/content/pdf/form-designer.pdf",
- serviceUrl: 'https://services.syncfusion.com/js/production/api/pdfviewer',
- enableFormDesignerToolbar: true
-});
-ej.pdfviewer.PdfViewer.Inject(ej.pdfviewer.TextSelection, ej.pdfviewer.TextSearch, ej.pdfviewer.Print, ej.pdfviewer.Navigation, ej.pdfviewer.Toolbar, ej.pdfviewer.Magnification, ej.pdfviewer.Annotation, ej.pdfviewer.FormDesigner, ej.pdfviewer.FormFields);
-pdfviewer.appendTo('#PdfViewer');
-
-{% endhighlight %}
-{% endtabs %}
-
-## Add the form field dynamically
-
-Click the Form Field icon on the toolbar and then click on to the PDF document to draw a Form Field. Refer the below GIF for further reference.
-
-
-
-## Drag the form field
-
-We provide options to drag the Form Field which is currently selected in the PDF document. Refer the below GIF for further reference.
-
-
-
-## Resize the form field
-
-We provide options to resize the Form Field which is currently selected in the PDF document. Refer the below GIF for further reference.
-
-
-
-## Edit or Update the form field dynamically
-
-The properties of the Form Fields can be edited using the Form Field Properties window. It can be opened by selecting the Properties option in the context menu that appears on the right by clicking the Form Field object. Refer the below image for the properties available to customize the appearance of the Form Field.
-
-
-
-
-
-
-
-## Clipboard operation with form field
-
-The PDF Viewer control supports the clipboard operations such as cut, copy and paste for Form Fields. You can right click on the Form Field object to view the context menu and select to the clipboard options that you would like to perform. Refer the below image for the options in the context menu.
-
-
-
-## Undo and Redo
-
-We provided support to undo/redo the Form Field actions that are performed at runtime. Use the following code example to perform undo/redo actions.
-
-```
-
-
-```
-
-
-{% tabs %}
-{% highlight js tabtitle="Standalone" %}
-
-var pdfviewer = new ej.pdfviewer.PdfViewer({
- documentPath: "https://cdn.syncfusion.com/content/pdf/form-designer.pdf",
-});
-ej.pdfviewer.PdfViewer.Inject(ej.pdfviewer.TextSelection, ej.pdfviewer.TextSearch, ej.pdfviewer.Print, ej.pdfviewer.Navigation, ej.pdfviewer.Toolbar, ej.pdfviewer.Magnification, ej.pdfviewer.Annotation, ej.pdfviewer.FormDesigner, ej.pdfviewer.FormFields);
-pdfviewer.appendTo('#PdfViewer');
-document.getElementById('undo').addEventListener('click', function () {
- pdfviewer.undo();
-});
-
-document.getElementById('redo').addEventListener('click', function () {
- pdfviewer.redo();
-});
-
-{% endhighlight %}
-{% highlight js tabtitle="Server-Backed" %}
-
-
-var pdfviewer = new ej.pdfviewer.PdfViewer({
- documentPath: "https://cdn.syncfusion.com/content/pdf/form-designer.pdf",
- serviceUrl: 'https://services.syncfusion.com/js/production/api/pdfviewer',
-});
-ej.pdfviewer.PdfViewer.Inject(ej.pdfviewer.TextSelection, ej.pdfviewer.TextSearch, ej.pdfviewer.Print, ej.pdfviewer.Navigation, ej.pdfviewer.Toolbar, ej.pdfviewer.Magnification, ej.pdfviewer.Annotation, ej.pdfviewer.FormDesigner, ej.pdfviewer.FormFields);
-pdfviewer.appendTo('#PdfViewer');
-document.getElementById('undo').addEventListener('click', function () {
- pdfviewer.undo();
-});
-
-document.getElementById('redo').addEventListener('click', function () {
- pdfviewer.redo();
-});
-{% endhighlight %}
-{% endtabs %}
\ No newline at end of file
diff --git a/ej2-javascript/pdfviewer/js/form-designer/form-field-events.md b/ej2-javascript/pdfviewer/js/form-designer/form-field-events.md
deleted file mode 100644
index 7a58e338b..000000000
--- a/ej2-javascript/pdfviewer/js/form-designer/form-field-events.md
+++ /dev/null
@@ -1,199 +0,0 @@
----
-layout: post
-title: Form Field Events in ##Platform_Name## Pdfviewer control | Syncfusion
-description: Learn here all about different form field in Syncfusion ##Platform_Name## Pdfviewer component of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: Form Field Events
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# PDF Viewer Form Field events
-
-The PDF Viewer control provides the support to different Form Field events. The Form Field events supported by the PDF Viewer Control are:
-
-| Form Field events | Description |
-|---|---|
-| [formFieldAdd](https://helpej2.syncfusion.com/javascript/documentation/api/pdfviewer/formFieldAddArgs/) | Event trigger when a form field is added.|
-| [formFieldClick](https://helpej2.syncfusion.com/javascript/documentation/api/pdfviewer/formFieldClickArgs/) | Events trigger when the form field is selected.|
-| [formFieldDoubleClick](https://helpej2.syncfusion.com/javascript/documentation/api/pdfviewer/formFieldDoubleClickArgs/) | Events trigger when the form field is double-clicked.|
-| [formFieldFocusOut](https://helpej2.syncfusion.com/javascript/documentation/api/pdfviewer/formFieldFocusOutEventArgs/) | Events trigger when focus out from the form fields.|
-| [formFieldMouseLeave](https://helpej2.syncfusion.com/javascript/documentation/api/pdfviewer/formFieldMouseLeaveArgs/) | Events trigger when the mouse cursor leaves the form field.|
-| [formFieldMouseOver](https://helpej2.syncfusion.com/javascript/documentation/api/pdfviewer/formFieldMouseoverArgs/) | Events trigger when the mouse cursor is over a form field.|
-| [formFieldMove](https://helpej2.syncfusion.com/javascript/documentation/api/pdfviewer/formFieldMoveArgs/) | Events trigger when a form field is moved.|
-| [formFieldPropertiesChange](https://helpej2.syncfusion.com/javascript/documentation/api/pdfviewer/formFieldPropertiesChangeArgs/) | Events trigger when a property of form field is changed.|
-| [formFieldRemove](https://helpej2.syncfusion.com/javascript/documentation/api/pdfviewer/formFieldRemoveArgs/) | Events trigger when a form field is removed.|
-| [formFieldResize](https://helpej2.syncfusion.com/javascript/documentation/api/pdfviewer/formFieldResizeArgs/) | Events trigger when a form field is resized.|
-| [formFieldSelect](https://helpej2.syncfusion.com/javascript/documentation/api/pdfviewer/formFieldSelectArgs/) | Events trigger when a form field is selected.|
-| [formFieldUnselect](https://helpej2.syncfusion.com/javascript/documentation/api/pdfviewer/formFieldUnselectArgs/) | Events trigger when a form field is unselected.|
-| [validateFormFields](https://helpej2.syncfusion.com/javascript/documentation/api/pdfviewer/validateFormFieldsArgs/) | Events trigger when validation is failed.|
-
-## formFieldAdd event
-
-The [formFieldAdd](https://helpej2.syncfusion.com/javascript/documentation/api/pdfviewer/formFieldAddArgs/) event is triggered when a new form field is added, either programmatically or through user interaction. The event arguments provide the necessary information about the form field addition.
-
-{% tabs %}
-{% highlight js tabtitle="index.js" %}
-{% include code-snippet/pdfviewer/formfieldaddevent-cs2/index.js %}
-{% endhighlight %}
-{% highlight html tabtitle="index.html" %}
-{% include code-snippet/pdfviewer/formfieldaddevent-cs2/index.html %}
-{% endhighlight %}
-{% endtabs %}
-
-## formFieldClick event
-
-The [formFieldClick](https://helpej2.syncfusion.com/javascript/documentation/api/pdfviewer/formFieldClickArgs/) event is triggered when a form field is clicked. The event arguments provide the necessary information about the form field click event.
-
-{% tabs %}
-{% highlight js tabtitle="index.js" %}
-{% include code-snippet/pdfviewer/formfieldclickevent-cs2/index.js %}
-{% endhighlight %}
-{% highlight html tabtitle="index.html" %}
-{% include code-snippet/pdfviewer/formfieldclickevent-cs2/index.html %}
-{% endhighlight %}
-{% endtabs %}
-
-## formFieldDoubleClick event
-
-The [formFieldDoubleClick](https://helpej2.syncfusion.com/javascript/documentation/api/pdfviewer/formFieldDoubleClickArgs/) event is triggered when a form field is double-clicked. The event arguments provide the necessary information about the form field double-click event.
-
-{% tabs %}
-{% highlight js tabtitle="index.js" %}
-{% include code-snippet/pdfviewer/formfielddoubleclickevent-cs2/index.js %}
-{% endhighlight %}
-{% highlight html tabtitle="index.html" %}
-{% include code-snippet/pdfviewer/formfielddoubleclickevent-cs2/index.html %}
-{% endhighlight %}
-{% endtabs %}
-
-## formFieldFocusOut event
-
-The [formFieldFocusOut](https://helpej2.syncfusion.com/javascript/documentation/api/pdfviewer/formFieldFocusOutEventArgs/) event is triggered when a form field loses focus. The event arguments provide the necessary information about the form field focus out event.
-
-{% tabs %}
-{% highlight js tabtitle="index.js" %}
-{% include code-snippet/pdfviewer/formfieldfocusoutevent-cs2/index.js %}
-{% endhighlight %}
-{% highlight html tabtitle="index.html" %}
-{% include code-snippet/pdfviewer/formfieldfocusoutevent-cs2/index.html %}
-{% endhighlight %}
-{% endtabs %}
-
-## formFieldMouseLeave event
-
-The [formFieldMouseLeave](https://helpej2.syncfusion.com/javascript/documentation/api/pdfviewer/formFieldMouseLeaveArgs/) event is triggered when the mouse leaves a form field. The event arguments provide the necessary information about the form field mouse leave event.
-
-{% tabs %}
-{% highlight js tabtitle="index.js" %}
-{% include code-snippet/pdfviewer/formfieldmouseleaveevent-cs2/index.js %}
-{% endhighlight %}
-{% highlight html tabtitle="index.html" %}
-{% include code-snippet/pdfviewer/formfieldmouseleaveevent-cs2/index.html %}
-{% endhighlight %}
-{% endtabs %}
-
-## formFieldMouseOver event
-
-The [formFieldMouseOver](https://helpej2.syncfusion.com/javascript/documentation/api/pdfviewer/formFieldMouseoverArgs/) event is triggered when the mouse hovers over a form field. The event arguments provide the necessary information about the form field mouse over event.
-
-{% tabs %}
-{% highlight js tabtitle="index.js" %}
-{% include code-snippet/pdfviewer/formfieldmouseoverevent-cs2/index.js %}
-{% endhighlight %}
-{% highlight html tabtitle="index.html" %}
-{% include code-snippet/pdfviewer/formfieldmouseoverevent-cs2/index.html %}
-{% endhighlight %}
-{% endtabs %}
-
-## formFieldMove event
-
-The [formFieldMove](https://helpej2.syncfusion.com/javascript/documentation/api/pdfviewer/formFieldMoveArgs/) event is triggered when the mouse moves inside a form field. The event arguments provide the necessary information about the form field mouse move event.
-
-{% tabs %}
-{% highlight js tabtitle="index.js" %}
-{% include code-snippet/pdfviewer/formfieldmoveevent-cs2/index.js %}
-{% endhighlight %}
-{% highlight html tabtitle="index.html" %}
-{% include code-snippet/pdfviewer/formfieldmoveevent-cs2/index.html %}
-{% endhighlight %}
-{% endtabs %}
-
-## formFieldPropertiesChange event
-
-The [formFieldPropertiesChange](https://helpej2.syncfusion.com/javascript/documentation/api/pdfviewer/formFieldPropertiesChangeArgs/) event is triggered when the properties of a form field are changed. The event arguments provide the necessary information about which property of the form field has been changed.
-
-{% tabs %}
-{% highlight js tabtitle="index.js" %}
-{% include code-snippet/pdfviewer/formfieldpropertieschangeevent-cs2/index.js %}
-{% endhighlight %}
-{% highlight html tabtitle="index.html" %}
-{% include code-snippet/pdfviewer/formfieldpropertieschangeevent-cs2/index.html %}
-{% endhighlight %}
-{% endtabs %}
-
-## formFieldRemove event
-
-The [formFieldRemove](https://helpej2.syncfusion.com/javascript/documentation/api/pdfviewer/formFieldRemoveArgs/) event is triggered when a form field is removed from the PDF. The event arguments provide the necessary information about which form field has been removed.
-
-{% tabs %}
-{% highlight js tabtitle="index.js" %}
-{% include code-snippet/pdfviewer/formfieldremoveevent-cs2/index.js %}
-{% endhighlight %}
-{% highlight html tabtitle="index.html" %}
-{% include code-snippet/pdfviewer/formfieldremoveevent-cs2/index.html %}
-{% endhighlight %}
-{% endtabs %}
-
-## formFieldResize event
-
-The [formFieldResize](https://helpej2.syncfusion.com/javascript/documentation/api/pdfviewer/formFieldResizeArgs/) events are triggered when a form field in a PDF is resized. These events provide the relevant details about the specific form field that has been resized.
-
-{% tabs %}
-{% highlight js tabtitle="index.js" %}
-{% include code-snippet/pdfviewer/formfieldresizeevent-cs2/index.js %}
-{% endhighlight %}
-{% highlight html tabtitle="index.html" %}
-{% include code-snippet/pdfviewer/formfieldresizeevent-cs2/index.html %}
-{% endhighlight %}
-{% endtabs %}
-
-## formFieldSelect event
-
-The [formFieldSelect](https://helpej2.syncfusion.com/javascript/documentation/api/pdfviewer/formFieldSelectArgs/) events are triggered when a form field in a PDF is selected. These events provide the necessary details about the specific form field that has been selected.
-
-{% tabs %}
-{% highlight js tabtitle="index.js" %}
-{% include code-snippet/pdfviewer/formfieldselectevent-cs2/index.js %}
-{% endhighlight %}
-{% highlight html tabtitle="index.html" %}
-{% include code-snippet/pdfviewer/formfieldselectevent-cs2/index.html %}
-{% endhighlight %}
-{% endtabs %}
-
-## formFieldUnselect event
-
-The [formFieldUnselect](https://helpej2.syncfusion.com/javascript/documentation/api/pdfviewer/formFieldUnselectArgs/) events are triggered when a form field in a PDF is unselected. These events provide the necessary details about the specific form field that has been unselected.
-
-{% tabs %}
-{% highlight js tabtitle="index.js" %}
-{% include code-snippet/pdfviewer/formfieldunselectevent-cs2/index.js %}
-{% endhighlight %}
-{% highlight html tabtitle="index.html" %}
-{% include code-snippet/pdfviewer/formfieldunselectevent-cs2/index.html %}
-{% endhighlight %}
-{% endtabs %}
-
-## validateFormFields event
-
-The [validateFormFields](https://helpej2.syncfusion.com/javascript/documentation/api/pdfviewer/validateFormFieldsArgs/) events are triggered when a required form field is left unfilled before downloading the PDF. These events provide the necessary information for validating which form fields are incomplete.
-
-{% tabs %}
-{% highlight js tabtitle="index.js" %}
-{% include code-snippet/pdfviewer/formfieldvalidationevent-cs2/index.js %}
-{% endhighlight %}
-{% highlight html tabtitle="index.html" %}
-{% include code-snippet/pdfviewer/formfieldvalidationevent-cs2/index.html %}
-{% endhighlight %}
-{% endtabs %}
\ No newline at end of file
diff --git a/ej2-javascript/pdfviewer/js/formdesigner/programmatically-work-with-form-field.md b/ej2-javascript/pdfviewer/js/formdesigner/programmatically-work-with-form-field.md
deleted file mode 100644
index 6c18c28e4..000000000
--- a/ej2-javascript/pdfviewer/js/formdesigner/programmatically-work-with-form-field.md
+++ /dev/null
@@ -1,115 +0,0 @@
----
-layout: post
-title: Programmatically work with form field in ##Platform_Name## Pdfviewer control | Syncfusion
-description: Learn here all about Programmatically work with form field in Syncfusion ##Platform_Name## Pdfviewer control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: Programmatically work with form field
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Programmatically work with form field in ##Platform_Name## Pdfviewer control
-
-The PDF Viewer control provides the option to add, edit and delete the Form Fields. The Form Fields type supported by the PDF Viewer Control are:
-
- * Textbox
- * Password
- * CheckBox
- * RadioButton
- * ListBox
- * DropDown
- * SignatureField
- * InitialField
-
-## Add a form field to PDF document programmatically
-
-Using addFormField method, the form fields can be added to the PDF document programmatically. We need to pass two parameters in this method. They are Form Field Type and Properties of Form Field Type. To add form field programmatically, Use the following code.
-
-{% tabs %}
-{% highlight js tabtitle="index.js" %}
-{% include code-snippet/pdfviewer/addformfield-cs2/index.js %}
-{% endhighlight %}
-{% highlight html tabtitle="index.html" %}
-{% include code-snippet/pdfviewer/addformfield-cs2/index.html %}
-{% endhighlight %}
-{% endtabs %}
-
-{% previewsample "page.domainurl/code-snippet/pdfviewer/addformfield-cs2" %}
-
-## Edit/Update form field programmatically
-
-Using updateFormField method, Form Field can be updated programmatically. We should get the Form Field object/Id from FormFieldCollections property that you would like to edit and pass it as a parameter to updateFormField method. The second parameter should be the properties that you would like to update for Form Field programmatically. We have updated the value and background Color properties of Textbox Form Field.
-
-{% tabs %}
-{% highlight js tabtitle="index.js" %}
-{% include code-snippet/pdfviewer/updateformfield-cs2/index.js %}
-{% endhighlight %}
-{% highlight html tabtitle="index.html" %}
-{% include code-snippet/pdfviewer/updateformfield-cs2/index.html %}
-{% endhighlight %}
-{% endtabs %}
-
-{% previewsample "page.domainurl/code-snippet/pdfviewer/updateformfield-cs2" %}
-
-## Delete form field programmatically
-
-Using deleteFormField method, the form field can be deleted programmatically. We should retrieve the Form Field object/Id from FormFieldCollections property that you would like to delete and pass it as a parameter to deleteFormField method. To delete a Form Field programmatically, use the following code.
-
-{% tabs %}
-{% highlight js tabtitle="index.js" %}
-{% include code-snippet/pdfviewer/deleteformfield-cs2/index.js %}
-{% endhighlight %}
-{% highlight html tabtitle="index.html" %}
-{% include code-snippet/pdfviewer/deleteformfield-cs2/index.html %}
-{% endhighlight %}
-{% endtabs %}
-
-{% previewsample "page.domainurl/code-snippet/pdfviewer/deleteformfield-cs2" %}
-
-## Saving the form fields
-
-When the download icon is selected on the toolbar, the Form Fields will be saved in the PDF document and this action will not affect the original document. Refer the below GIF for further reference.
-
-
-
-You can invoke download action using following code snippet.
-
-```javascript
-var pdfviewer = new ej.pdfviewer.PdfViewer({
- enableDownload: true,
- documentPath: "PDF_Succinctly.pdf",
- serviceUrl: 'https://services.syncfusion.com/js/production/api/pdfviewer'
- });
-ej.pdfviewer.PdfViewer.Inject(ej.pdfviewer.TextSelection, ej.pdfviewer.Annotation, ej.pdfviewer.TextSearch, ej.pdfviewer.Navigation,ej.pdfviewer.Print);
-pdfviewer.appendTo('#PdfViewer');
-pdfviewer.download();
-
-```
-
-## Printing the form fields
-
-When the print icon is selected on the toolbar, the PDF document will be printed along with the Form Fields added to the pages and this action will not affect the original document. Refer the below GIF for further reference.
-
-
-
-You can invoke print action using the following code snippet.,
-
-```javascript
-
-var pdfviewer = new ej.pdfviewer.PdfViewer({
- enablePrint: true,
- documentPath: "PDF_Succinctly.pdf",
- serviceUrl: 'https://services.syncfusion.com/js/production/api/pdfviewer'
- });
-ej.pdfviewer.PdfViewer.Inject(ej.pdfviewer.TextSelection, ej.pdfviewer.TextSearch, ej.pdfviewer.Navigation,ej.pdfviewer.Print);
-pdfviewer.appendTo('#PdfViewer');
-pdfviewer.print.print();
-
-```
-
-## Open the existing PDF document
-
-We can open the already saved PDF document contains Form Fields in it by clicking the open icon in the toolbar. Refer the below GIF for further reference.
-
-
\ No newline at end of file
diff --git a/ej2-javascript/pdfviewer/js/formdesigner/user-interaction-with-form-fields.md b/ej2-javascript/pdfviewer/js/formdesigner/user-interaction-with-form-fields.md
deleted file mode 100644
index 0a62ef663..000000000
--- a/ej2-javascript/pdfviewer/js/formdesigner/user-interaction-with-form-fields.md
+++ /dev/null
@@ -1,86 +0,0 @@
----
-layout: post
-title: User interaction with form fields in ##Platform_Name## Pdfviewer control | Syncfusion
-description: Learn here all about User interaction with form fields in Syncfusion ##Platform_Name## Pdfviewer control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: User interaction with form fields
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# User interaction with form fields in ##Platform_Name## Pdfviewer control
-
-The PDF viewer control provides the option for interaction with Form Fields such as Drag and resize. you can draw a Form Field dynamically by clicking the Form Field icon on the toolbar and draw it in the PDF document. The Form Fields type supported by the PDF Viewer Control are:
-
- * Textbox
- * Password
- * CheckBox
- * RadioButton
- * ListBox
- * DropDown
- * SignatureField
- * InitialField
-
-## Enable or Disable form designer toolbar
-
-We should inject FormDesigner module and set enableFormDesignerToolbar as true to enable the Form designer icon on the toolbar. By default, enableFormDesignerToolbar is set as true. Use the following code to inject FormDesigner module and to enable the enableFormDesignerToolbar property.
-
-```javascript
-var pdfviewer = new ej.pdfviewer.PdfViewer({
- documentPath: "FormDesigner.pdf",
- serviceUrl: 'https://services.syncfusion.com/js/production/api/pdfviewer',
- enableFormDesignerToolbar: true
-});
-ej.pdfviewer.PdfViewer.Inject(ej.pdfviewer.FormDesigner);
-pdfviewer.appendTo('#PdfViewer');
-```
-
-## Add the form field dynamically
-
-Click the Form Field icon on the toolbar and then click on to the PDF document to draw a Form Field. Refer the below GIF for further reference.
-
-
-
-## Drag the form field
-
-We provide options to drag the Form Field which is currently selected in the PDF document. Refer the below GIF for further reference.
-
-
-
-## Resize the form field
-
-We provide options to resize the Form Field which is currently selected in the PDF document. Refer the below GIF for further reference.
-
-
-
-## Edit or Update the form field dynamically
-
-The properties of the Form Fields can be edited using the Form Field Properties window. It can be opened by selecting the Properties option in the context menu that appears on the right by clicking the Form Field object. Refer the below image for the properties available to customize the appearance of the Form Field.
-
-
-
-
-
-
-
-## Clipboard operation with form field
-
-The PDF Viewer control supports the clipboard operations such as cut, copy and paste for Form Fields. You can right click on the Form Field object to view the context menu and select to the clipboard options that you would like to perform. Refer the below image for the options in the context menu.
-
-
-
-## Undo and Redo
-
-We provided support to undo/redo the Form Field actions that are performed at runtime. Use the following code example to perform undo/redo actions.
-
-```javascript
-var pdfviewer = new ej.pdfviewer.PdfViewer({
- documentPath: "FormDesigner.pdf",
- serviceUrl: 'https://services.syncfusion.com/js/production/api/pdfviewer',
-});
-ej.pdfviewer.PdfViewer.Inject(ej.pdfviewer.FormDesigner);
-pdfviewer.appendTo('#PdfViewer');
-pdfviewer.undo();
-pdfviewer.redo();
-```
\ No newline at end of file
diff --git a/ej2-javascript/pdfviewer/js/getting-started-with-server-backed.md b/ej2-javascript/pdfviewer/js/getting-started-with-server-backed.md
deleted file mode 100644
index f66e46f78..000000000
--- a/ej2-javascript/pdfviewer/js/getting-started-with-server-backed.md
+++ /dev/null
@@ -1,95 +0,0 @@
----
-layout: post
-title: Getting started with ##Platform_Name## PDF Viewer control | Syncfusion
-description: Checkout and learn about Getting started with ##Platform_Name## PDF Viewer control of Syncfusion Essential JS 2 and more details.
-platform: ej2-javascript
-control: PDF Viewer
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Getting started in ##Platform_Name## PDF Viewer 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 with CDN link for script and style reference
-
-**Step 1:** Create an app folder `my_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/{Version}/dist/{PACKAGE_NAME}.min.js`
->
-> Styles: `https://cdn.syncfusion.com/ej2/{Version}/{PACKAGE_NAME}/styles/material.css`
-
-**Example:**
-> Script: [`https://cdn.syncfusion.com/ej2/26.2.11/dist/ej2.min.js`](https://cdn.syncfusion.com/ej2/26.2.11/dist/ej2.min.js)
->
-> Styles: [`https://cdn.syncfusion.com/ej2/26.2.11/ej2-base/styles/material.css`](https://cdn.syncfusion.com/ej2/26.2.11/ej2-base/styles/material.css)
-
-**Step 3:** Create a HTML page (index.html) in `my_app` location and add the CDN link references. Now, add the `Div` element and initiate the `Essential JS 2 PDF Viewer` component in the index.html by using following code.
-
-{% tabs %}
-{% highlight html tabtitle="index.html" %}
-{% include code-snippet/pdfviewer/es5-getting-started-cs1/index.html %}
-{% endhighlight %}
-{% endtabs %}
-
-N> We have provided the support to dynamically change the [serviceURL](https://helpej2.syncfusion.com/documentation/api/pdfviewer/#serviceurl). So, after changing the `serviceURL` dynamically, you need invoke the `pdfViewer.dataBind()` method to update the `serviceURL` quickly. This will effectively change the `serviceURL` dynamically. Ensure that this step is performed after version 23.1.36.
-document.getElementById('load').addEventListener('click', function () {
- pdfViewer.serviceUrl = "https://services.syncfusion.com/angular/production/api/pdfviewer";
- pdfViewer.documentPath = "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf";
- pdfViewer.dataBind();
- pdfViewer.load(pdfViewer.documentPath, null);
-});
-
-N> The Web API hosted link https://services.syncfusion.com/js/production/api/pdfviewer utilized in the PDF viewer'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-PDFViewer-WebServices) or [Docker image](https://hub.docker.com/r/syncfusion/pdfviewer-server) for hosting your own web service and use for the serviceUrl property. **We strongly recommend using the standalone mode.**
-
-{% previewsample "page.domainurl/code-snippet/pdfviewer/es5-getting-started-cs1" %}
-
-**Step 4:** Now, run the `index.html` in web browser, it will render the `Essential JS 2 PDF Viewer` component.
-
-> For PDF Viewer serviceUrl creation, follow the steps provided in the [link](https://ej2.syncfusion.com/documentation/pdfviewer/how-to/create-pdfviewer-service)
-
-## How to run the PDF Viewer web service
-
-1. Download the sample from the [Web service sample in GitHub](https://github.com/SyncfusionExamples/EJ2-PDFViewer-WebServices) link.
-
-2. Navigate to the `ASP.NET Core` folder and open it in the command prompt.
-
-3. Navigate to the appropriate subfolder based on your .NET version:
-
- - .NET 6.0 → `PdfViewerWebService_6.0`
- - .NET 8.0 → `PdfViewerWebService_8.0`
-
-4. Use the below command to restore the required packages.
-
- ```
- dotnet restore
- ```
-
-5. Use the below command to run the web service.
-
- ```
- dotnet run
- ```
-
-6. You can see that the PDF Viewer server instance runs in the local host with the port number `localhost:5001` and navigate to the PDF Viewer Web control `localhost:5001/pdfviewer` which returns the default get response method. We can bind the link to the `serviceUrl` property of PDF Viewer as below.
-
-```javascript
-var pdfviewer = new ej.pdfviewer.PdfViewer({
- documentPath: "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf",
- serviceUrl: 'https://localhost:5001/pdfviewer'
-});
-```
-
-N> When configuring the server-backed PDF viewer, it's essential to understand that there is no need to include the pdfium.js and pdfium.wasm files. Unlike the standalone PDF viewer, which relies on these files for local rendering, the server-backed PDF viewer fetches and renders PDFs directly from the server. Consequently, you can exclude the copy command for deployment process, as they are not required to load and display PDFs in this context.
-
-N> For hosting the web service on the Linux platform, ensure to include the [SkiaSharp.NativeAssets.Linux](https://nuget.org/packages/SkiaSharp.NativeAssets.Linux/3.116.1). Additionally, for AWS environments, utilize the following packages:
-
-| **Amazon Web Services (AWS)** |**NuGet package name** |
-| --- | --- |
-| AWS Lambda|[SkiaSharp.NativeAssets.Linux](https://nuget.org/packages/SkiaSharp.NativeAssets.Linux/3.116.1)|
-| AWS Elastic Beanstalk |[SkiaSharp.NativeAssets.Linux.NoDependencies v3.116.1](https://www.nuget.org/packages/SkiaSharp.NativeAssets.Linux.NoDependencies/3.116.1)|
diff --git a/ej2-javascript/pdfviewer/js/getting-started.md b/ej2-javascript/pdfviewer/js/getting-started.md
deleted file mode 100644
index 789a4d892..000000000
--- a/ej2-javascript/pdfviewer/js/getting-started.md
+++ /dev/null
@@ -1,71 +0,0 @@
----
-layout: post
-title: Getting started with ##Platform_Name## PDF Viewer control | Syncfusion
-description: Checkout and learn about Getting started with ##Platform_Name## PDF Viewer control of Syncfusion Essential JS 2 and more details.
-platform: ej2-javascript
-control: PDF Viewer
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Getting started in Standalone PDF Viewer 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 with CDN link for script and style reference
-
-**Step 1:** Create an app folder `my-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/{Version}/dist/{PACKAGE_NAME}.min.js`
->
-> Styles: `https://cdn.syncfusion.com/ej2/{Version}/{PACKAGE_NAME}/styles/material.css`
-
-**Example:**
-> Script: [`https://cdn.syncfusion.com/ej2/26.2.11/dist/ej2.min.js`](https://cdn.syncfusion.com/ej2/26.2.11/dist/ej2.min.js)
->
-> Styles: [`https://cdn.syncfusion.com/ej2/26.2.11/ej2-base/styles/material.css`](https://cdn.syncfusion.com/ej2/26.2.11/ej2-base/styles/material.css)
-
-
-**Step 3:** Create a HTML page (index.html) in `my-app` location and add the CDN link references. Now, add the `Div` element and initiate the `Essential JS 2 PDF Viewer` component in the index.html by using following code.
-
-{% tabs %}
-{% highlight html tabtitle="index.html" %}
-{% include code-snippet/pdfviewer/es5-getting-started-cs2/index.html %}
-{% endhighlight %}
-{% endtabs %}
-
-{% previewsample "page.domainurl/code-snippet/pdfviewer/es5-getting-started-cs2" %}
-
-
-### Steps to Load PDF Viewer with Local Resources
-
-To use local resources with your PDF Viewer, follow these steps:
-
-**Step 1:** Ensure that your application includes the `ej2-pdfviewer-lib` folder. This folder must contain the `pdfium.js`, `pdfium.wasm` files, and the PDF file that you intend to display. These should reside in the same location as the `ej2.min.js` script and its related styles.
-
-**Step 2:** Assign local file paths to the `documentPath` and `resourceUrl` properties within the PDF Viewer setup. The `documentPath` should refer to your PDF file, while the `resourceUrl` should point to the directory containing the supporting resources.
-
-**Step 3:** Insert the necessary script and style references within the `` section of your HTML file. Make sure these point to your local copies of the files instead of CDN links.
-
-By following these steps, you will configure your PDF Viewer to load the required resources locally. See the code snippet below for reference.
-
-{% tabs %}
-{% highlight html tabtitle="index.html" %}
-
-{% endhighlight %}
-{% endtabs %}
-
-View the sample in GitHub to [load PDF Viewer with local resources](https://github.com/SyncfusionExamples/javascript-pdf-viewer-examples/tree/master/How%20to/Refer%20resource%20url%20locally)
-
-**Step 4:** Now, run the `index.html` in web browser, it will render the `Essential JS 2 PDF Viewer` component.
diff --git a/ej2-javascript/pdfviewer/js/globalization.md b/ej2-javascript/pdfviewer/js/globalization.md
deleted file mode 100644
index ee9411666..000000000
--- a/ej2-javascript/pdfviewer/js/globalization.md
+++ /dev/null
@@ -1,579 +0,0 @@
----
-layout: post
-title: Globalization in ##Platform_Name## Pdfviewer control | Syncfusion
-description: Learn here all about Globalization in Syncfusion ##Platform_Name## Pdfviewer control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: Globalization
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Globalization in ##Platform_Name## Pdfviewer control
-
-The text contents provided in the PDF Viewer can be localized using the collection of localized strings for different cultures. By default, the PDF Viewer is localized in “__en-US__”.
-
-The following table shows the default text values used in PDF Viewer in 'en-US' culture:
-
-|Keywords|Values|
-|---|---|
-|PdfViewer|PDF Viewer|
-|Cancel|Cancel|
-|Download file|Download file|
-|Download|Download|
-|Enter Password|This document is password protected. Please enter a password.|
-|File Corrupted|File corrupted|
-|File Corrupted Content|The file is corrupted and cannot be opened.|
-|Fit Page|Fit page|
-|Fit Width|Fit width|
-|Automatic|Automatic|
-|Go To First Page|Show first page|
-|Invalid Password|Incorrect password. Please try again.|
-|Next Page|Show next page|
-|OK|OK|
-|Open|Open file|
-|Page Number|Current page number|
-|Previous Page|Show previous page|
-|Go To Last Page|Show last page|
-|Zoom|Zoom|
-|Zoom In|Zoom in|
-|Zoom Out|Zoom out|
-|Page Thumbnails|Page thumbnails|
-|Bookmarks|Bookmarks|
-|Print|Print file|
-|Password Protected|Password required|
-|Copy|Copy|
-|Text Selection|Text selection tool|
-|Panning|Pan mode|
-|Text Search|Find text|
-|Find in document|Find in document|
-|Match case|Match case|
-|Apply|Apply|
-|GoToPage|Go to page|
-|No Matches|Viewer has finished searching the document. No more matches were found|
-|No Text Found|No Text Found|
-|Undo|Undo|
-|Redo|Redo|
-|Annotation|Add or Edit annotations|
-|Highlight|Highlight Text|
-|Underline|Underline Text|
-|Strikethrough|Strikethrough Text|
-|Delete|Delete annotation|
-|Opacity|Opacity|
-|Color edit|Change Color|
-|Opacity edit|Change Opacity|
-|Highlight context|Highlight|
-|Underline context|Underline|
-|Strikethrough context|Strike through|
-|Server error|Web-service is not listening. PDF Viewer depends on web-service for all it's features. Please start the web service to continue.|
-|Open text|Open|
-|First text|First Page|
-|Previous text|Previous Page|
-|Next text|Next Page|
-|Last text|Last Page|
-|Zoom in text|Zoom In|
-|Zoom out text|Zoom Out|
-|Selection text|Selection|
-|Pan text|Pan|
-|Print text|Print|
-|Search text|Search|
-|Annotation Edit text|Edit Annotation|
-|Line Thickness|Line Thickness|
-|Line Properties|Line Properties|
-|Start Arrow|Start Arrow |
-|End Arrow|End Arrow|
-|Line Style|Line Style|
-|Fill Color|Fill Color|
-|Line Color|Line Color|
-|None|None|
-|Open Arrow|Open Arrow|
-|Closed Arrow|Closed Arrow|
-|Round Arrow|Round Arrow|
-|Square Arrow|Square Arrow|
-|Diamond Arrow|Diamond Arrow|
-|Cut|Cut|
-|Paste|Paste|
-|Delete Context|Delete Context|
-|Properties|Properties|
-|Add Stamp|Add Stamp|
-|Add Shapes|Add Shapes|
-|Stroke edit|Stroke Edit|
-|Change thickness|Change Thickness|
-|Add line|Add Line|
-|Add arrow|Add Arrow|
-|Add rectangle|Add Rectangle|
-|Add circle|Add Circle|
-|Add polygon|Add Polygon|
-|Add Comments|Add Comments|
-|Comments| Comments|
-|No Comments Yet|No Comments Yet|
-|Accepted| Accepted|
-|Completed| Completed|
-|Cancelled| Cancelled|
-|Rejected| Rejected|
-|Leader Length|Leader Length|
-|Scale Ratio|Scale Ratio|
-|Calibrate| Calibrate|
-|Calibrate Distance|Calibrate Distance|
-|Calibrate Perimeter|Calibrate Perimeter|
-|Calibrate Area|Calibrate Area|
-|Calibrate Radius|Calibrate Radius|
-|Calibrate Volume|Calibrate Volume|
-|Depth|Depth|
-|Closed|Closed|
-|Round|Round|
-|Square|Square|
-|Diamond|Diamond|
-|Edit|Edit|
-|Comment|Comment|
-|Comment Panel|Comment Panel|
-|Set Status|Set Status|
-|Post|Post|
-|Page|Page|
-|Add a comment|Add a comment|
-|Add a reply|Add a reply|
-|Import Annotations|Import Annotations|
-|Export Annotations|Export Annotations|
-|Add|Add|
-|Clear|Clear|
-|Bold|Bold|
-|Italic|Italic|
-|Strikethroughs|Strikethroughs|
-|Underlines|Underlines|
-|Superscript|Superscript|
-|Subscript|Subscript|
-|Align left|Align Left|
-|Align right|Align Right|
-|Center|Center|
-|Justify|Justify|
-|Font color|Font Color|
-|Text Align|Text Align|
-|Text Properties|Text Properties|
-|Draw Signature|Draw Signature|
-|Create| Create|
-|Font family|Font Family|
-|Font size|Font Size|
-|Free Text|Free Text|
-|Import Failed|Import Failed|
-|File not found|File Not Found|
-|Export Failed|Export Failed|
-|Dynamic|Dynamic|
-|Standard Business|Standard Business|
-|Sign Here|Sign Here|
-|Custom Stamp|Custom Stamp|
-|InitialFieldDialogHeaderText|Initial Field Dialog Header Text|
-|HandwrittenInitialDialogHeaderText|Handwritten Initial Dialog Header Text|
-|SignatureFieldDialogHeaderText|Signature Field Dialog Header Text|
-|HandwrittenSignatureDialogHeaderText|Handwritten Signature Dialog Header Text|
-|Draw-hand Signature|Draw-hand Signature|
-|Type Signature|Type Signature|
-|Upload Signature|Upload Signature|
-|Browse Signature Image|Browse Signature Image|
-|Save Signature|Save Signature|
-|Save Initial|Save Initial|
-|highlight|highlight|
-|underline|underline|
-|strikethrough|strikethrough|
-|FormDesigner|Form Designer|
-|SubmitForm|Submit Form|
-|Search text|Search Text|
-|Draw Ink|Draw Ink|
-|Revised|Revised|
-|Reviewed|Reviewed|
-|Received|Received|
-|Confidential|Confidential|
-|Approved|Approved|
-|Not Approved|Not Approved|
-|Witness|Witness|
-|Initial Here|Initial Here|
-|Draft|Draft|
-|Final|Final|
-|For Public Release|For Public Release|
-|Not For Public Release|Not For Public Release|
-|For Comment|For Comment|
-|Void|Void|
-|Preliminary Results|Preliminary Results|
-|Information Only|Information Only|
-|Enter Signature as Name|Enter Signature as Name|
-|Textbox|Textbox|
-|Password|Password|
-|Check Box|Check Box|
-|Radio Button|Radio Button|
-|Dropdown|Dropdown|
-|List Box|List Box|
-|Signature|Signature|
-|Delete FormField|Delete FormField|
-|FormDesigner Edit text|Form Designer Edit Text|
-|in|in|
-|m|m|
-|ft_in|ft_in|
-|ft|ft|
-|p|p|
-|cm|cm|
-|mm|mm|
-|pt|pt|
-|cu|cu|
-|sq|sq|
-|General|General|
-|Appearance|Appearance|
-|Options|Options|
-|Textbox Properties|Textbox Properties|
-|Name|Name|
-|Tooltip|Tooltip|
-|Value|Value|
-|Form Field Visibility|Form Field Visibility|
-|Read Only|Read Only|
-|Required|Required|
-|Checked|Checked|
-|Show Printing|Show Printing|
-|Formatting|Formatting|
-|Fill|Fill|
-|Border|Border|
-|Border Color|Border Color|
-|Thickness|Thickness|
-|Max Length|Max Length|
-|List Item|List Item|
-|Export Value|Export Value|
-|Dropdown Item List|Dropdown Item List|
-|List Box Item List|List Box Item List|
-|Delete Item|Delete Item|
-|Up|Up|
-|Down|Down|
-|Multiline|Multiline|
-|Initial|Initial|
-|Export XFDF|Export XFDF|
-|Import XFDF|Import XFDF|
-|Organize Pages|Organize Pages|
-|Insert Right|Insert Right|
-|Insert Left|Insert Left|
-|Total|Total|
-|Pages|Pages|
-|Rotate Right|Rotate Right|
-|Rotate Left|Rotate Left|
-|Delete Page|Delete Page|
-|Delete Pages|Delete Pages|
-|Copy Page|Copy Page|
-|Copy Pages|Copy Pages|
-|Save|Save|
-|Save As|Save As|
-|Select All|Select All|
-|Import Document|Import Document|
-|Match any word|Match any word|
-|Client error|Client-side error is found. Please check the custom headers provided in the AjaxRequestSettings property and web action methods in the ServerActionSettings property|
-|Cors policy error|Unable to retrieve the document due to an invalid URL or access restrictions. Please check the document URL and try again|
-|No More Matches|Viewer has finished searching the document. No more matches were found|
-|No Search Matches|No matches found|
-|No More Search Matches|No more matches found|
-|Exact Matches|EXACT MATCHES|
-|Total Matches|TOTAL MATCHES|
-
-The different locale value for the PDF Viewer can be specified using the locale property.
-
-```html
-{% raw %}
-
-
-
-Essential JS 2
-
-
-
-
-
-
-
-
-
-
-
-
-
-{% endraw %}
-```
-
-{% tabs %}
-{% highlight js tabtitle="Standalone" %}
-
-var pdfviewer = new ej.pdfviewer.PdfViewer({
- locale: 'ar-AE',
- documentPath: "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf",
- });
-ej.pdfviewer.PdfViewer.Inject(ej.pdfviewer.Toolbar, ej.pdfviewer.Magnification, ej.pdfviewer.LinkAnnotation,ej.pdfviewer.ThumbnailView, ej.pdfviewer.BookmarkView, ej.pdfviewer.TextSelection, ej.pdfviewer.TextSearch, ej.pdfviewer.Navigation, ej.pdfviewer.Print);
-pdfviewer.appendTo('#PdfViewer');
-
-{% endhighlight %}
-{% highlight js tabtitle="Server-Backed" %}
-
-var pdfviewer = new ej.pdfviewer.PdfViewer({
- locale: 'ar-AE',
- documentPath: "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf",
- serviceUrl: 'https://services.syncfusion.com/js/production/api/pdfviewer'
- });
-ej.pdfviewer.PdfViewer.Inject(ej.pdfviewer.Toolbar, ej.pdfviewer.Magnification, ej.pdfviewer.LinkAnnotation,ej.pdfviewer.ThumbnailView, ej.pdfviewer.BookmarkView, ej.pdfviewer.TextSelection, ej.pdfviewer.TextSearch, ej.pdfviewer.Navigation, ej.pdfviewer.Print);
-pdfviewer.appendTo('#PdfViewer');
-
-{% endhighlight %}
-{% endtabs %}
-
-You have to map the text content based on locale like following script in sample level.,
-
-```
-
-```
diff --git a/ej2-javascript/pdfviewer/js/interaction-mode.md b/ej2-javascript/pdfviewer/js/interaction-mode.md
deleted file mode 100644
index 194e947d0..000000000
--- a/ej2-javascript/pdfviewer/js/interaction-mode.md
+++ /dev/null
@@ -1,109 +0,0 @@
----
-layout: post
-title: Interaction mode in ##Platform_Name## Pdfviewer control | Syncfusion
-description: Learn here all about Interaction mode in Syncfusion ##Platform_Name## Pdfviewer control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: Interaction mode
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Interaction mode in ##Platform_Name## Pdfviewer control
-
-The PDF Viewer provides interaction mode for easy interaction with the loaded PDF document. Selection mode and panning mode are the two interactions modes.
-
-## Selection mode
-
-In this mode, the text selection can be performed in the PDF document loaded in PDF Viewer. The panning and scrolling of the pages by touch cannot be performed in this mode. It allows users to select and copy text from the PDF files. This is helpful for copying and sharing text content. You can enable/disable the text selection using the following code snippet.
-
-```html
-{% raw %}
-
-
-
-Essential JS 2
-
-
-
-
-
-
-
-
-
-
-
-
-
-{% endraw %}
-```
-
-{% tabs %}
-{% highlight js tabtitle="Standalone" %}
-
-import { PdfViewer, Toolbar, Magnification, Navigation, Annotation, LinkAnnotation,ThumbnailView,BookmarkView, TextSelection} from '@syncfusion/ej2-pdfviewer';
-
-ej.pdfviewer.PdfViewer.Inject(ej.pdfviewer.Toolbar, ej.pdfviewer.Magnification, ej.pdfviewer.LinkAnnotation,ej.pdfviewer.ThumbnailView, ej.pdfviewer.BookmarkView, ej.pdfviewer.TextSelection, ej.pdfviewer.TextSearch, ej.pdfviewer.Navigation, ej.pdfviewer.Print);
-
-let pdfviewer: PdfViewer = new PdfViewer({
- enableTextSelection: true,
- documentPath:'https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf'
- });
-pdfviewer.appendTo('#PdfViewer');
-
-{% endhighlight %}
-{% highlight js tabtitle="Server-Backed" %}
-
-import { PdfViewer, Toolbar, Magnification, Navigation, Annotation, LinkAnnotation,ThumbnailView,BookmarkView, TextSelection} from '@syncfusion/ej2-pdfviewer';
-
-ej.pdfviewer.PdfViewer.Inject(ej.pdfviewer.Toolbar, ej.pdfviewer.Magnification, ej.pdfviewer.LinkAnnotation,ej.pdfviewer.ThumbnailView, ej.pdfviewer.BookmarkView, ej.pdfviewer.TextSelection, ej.pdfviewer.TextSearch, ej.pdfviewer.Navigation, ej.pdfviewer.Print);
-
-let pdfviewer: PdfViewer = new PdfViewer({
- enableTextSelection: true,
- documentPath:'https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf',
- serviceUrl : 'https://services.syncfusion.com/js/production/api/pdfviewer'
- });
-pdfviewer.appendTo('#PdfViewer');
-
-{% endhighlight %}
-{% endtabs %}
-
-
-
-## Panning Mode
-
-In this mode, the panning and scrolling of the pages by touch can be performed in the PDF document loaded in the PDF Viewer, but the text selection cannot be performed.
-
-
-
-You can switch the interaction mode of PDF Viewer by using the following code snippet.,
-
-{% tabs %}
-{% highlight js tabtitle="Standalone" %}
-
-var pdfviewer = new ej.pdfviewer.PdfViewer({
- interactionMode: 'Pan'
- documentPath: "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf",
- });
-ej.pdfviewer.PdfViewer.Inject(ej.pdfviewer.Toolbar, ej.pdfviewer.Magnification, ej.pdfviewer.LinkAnnotation,ej.pdfviewer.ThumbnailView, ej.pdfviewer.BookmarkView, ej.pdfviewer.TextSelection, ej.pdfviewer.TextSearch, ej.pdfviewer.Navigation, ej.pdfviewer.Print);
-pdfviewer.appendTo('#PdfViewer');
-
-{% endhighlight %}
-{% highlight js tabtitle="Server-Backed" %}
-
-var pdfviewer = new ej.pdfviewer.PdfViewer({
- interactionMode: 'Pan'
- documentPath: "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf",
- serviceUrl: 'https://services.syncfusion.com/js/production/api/pdfviewer'
- });
-ej.pdfviewer.PdfViewer.Inject(ej.pdfviewer.Toolbar, ej.pdfviewer.Magnification, ej.pdfviewer.LinkAnnotation,ej.pdfviewer.ThumbnailView, ej.pdfviewer.BookmarkView, ej.pdfviewer.TextSelection, ej.pdfviewer.TextSearch, ej.pdfviewer.Navigation, ej.pdfviewer.Print);
-pdfviewer.appendTo('#PdfViewer');
-
-{% endhighlight %}
-{% endtabs %}
-
-## See also
-
-* [Toolbar items](./toolbar)
-* [Feature Modules](./feature-module)
\ No newline at end of file
diff --git a/ej2-javascript/pdfviewer/js/magnification.md b/ej2-javascript/pdfviewer/js/magnification.md
deleted file mode 100644
index 9937736df..000000000
--- a/ej2-javascript/pdfviewer/js/magnification.md
+++ /dev/null
@@ -1,79 +0,0 @@
----
-layout: post
-title: Magnification in ##Platform_Name## Pdfviewer control | Syncfusion
-description: Learn here all about Magnification in Syncfusion ##Platform_Name## Pdfviewer control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: Magnification
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Magnification in ##Platform_Name## Pdfviewer control
-
-The magnification tools of the PDF Viewer contains ZoomIn, ZoomOut, Zoom, FitPage, and FitWidth tools in the default toolbar. The PDF Viewer also has an option to show or hide the magnification tools in the default toolbar.
-
-The following code snippet describes how to enable the magnification in PDF Viewer.
-
-```html
-{% raw %}
-
-
-
-Essential JS 2
-
-
-
-
-
-
-
-
-
-
-
-
-
-{% endraw %}
-```
-
-{% tabs %}
-{% highlight js tabtitle="Standalone" %}
-
-var pdfviewer = new ej.pdfviewer.PdfViewer({
- enableMagnification: true,
- documentPath: "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf",
- });
-ej.pdfviewer.PdfViewer.Inject(ej.pdfviewer.Toolbar, ej.pdfviewer.Magnification, ej.pdfviewer.LinkAnnotation,ej.pdfviewer.ThumbnailView, ej.pdfviewer.BookmarkView, ej.pdfviewer.TextSelection, ej.pdfviewer.TextSearch, ej.pdfviewer.Navigation, ej.pdfviewer.Print);
-pdfviewer.appendTo('#PdfViewer');
-
-{% endhighlight %}
-{% highlight js tabtitle="Server-Backed" %}
-
-var pdfviewer = new ej.pdfviewer.PdfViewer({
- enableMagnification: true,
- documentPath: "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf",
- serviceUrl: 'https://services.syncfusion.com/js/production/api/pdfviewer'
- });
-ej.pdfviewer.PdfViewer.Inject(ej.pdfviewer.Toolbar, ej.pdfviewer.Magnification, ej.pdfviewer.LinkAnnotation,ej.pdfviewer.ThumbnailView, ej.pdfviewer.BookmarkView, ej.pdfviewer.TextSelection, ej.pdfviewer.TextSearch, ej.pdfviewer.Navigation, ej.pdfviewer.Print);
-pdfviewer.appendTo('#PdfViewer');
-
-{% endhighlight %}
-{% endtabs %}
-
-The following magnification options are available in the default toolbar of PDF Viewer,
-
-* [**ZoomIn**](https://ej2.syncfusion.com/documentation/api/pdfviewer/magnification/#zoomin):- Zoom in from the current zoom value of PDF pages.
-* [**ZoomOut**](https://ej2.syncfusion.com/documentation/api/pdfviewer/magnification/#zoomout):- Zoom out from the current zoom value of PDF pages.
-* [**Zoom**](https://ej2.syncfusion.com/documentation/api/pdfviewer/magnification/#zoomto):- Zoom to specific zoom value of PDF pages.
-* [**FitPage**](https://ej2.syncfusion.com/documentation/api/pdfviewer/magnification/#fittopage):- Fits the page width with in the available view port size.
-* [**FitWidth**](https://ej2.syncfusion.com/documentation/api/pdfviewer/magnification/#fittowidth):- Fits the view port width based on the page content size.
-
-
-
->PDF Viewer can support the zoom value ranges from 10 to 400.
-
-## See also
-
-* [Toolbar items](./toolbar)
-* [Feature Modules](./feature-module)
diff --git a/ej2-javascript/pdfviewer/js/mobile-toolbar.md b/ej2-javascript/pdfviewer/js/mobile-toolbar.md
deleted file mode 100644
index 4ac911a83..000000000
--- a/ej2-javascript/pdfviewer/js/mobile-toolbar.md
+++ /dev/null
@@ -1,130 +0,0 @@
----
-layout: post
-title: Mobile Toolbar Interface in ##Platform_Name## Pdfviewer control | Syncfusion
-description: Learn All About the Mobile Toolbar Interface in Syncfusion ##Platform_Name## Pdfviewer control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: Mobile Toolbar Interface
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-# Mobile Toolbar Interface in ##Platform_Name## Pdfviewer control
-
-The Mobile PDF Viewer offers a variety of features for viewing, searching, annotating, and managing PDF documents on mobile devices. It includes essential tools like search, download, bookmarking, annotation, and page organization. Users also have the option to enable desktop toolbar features in mobile mode, providing a more extensive set of actions.
-
-## Mobile Mode Toolbar Configuration
-In mobile mode, the toolbar is optimized for ease of use on small screens, presenting users with the most common actions for interacting with a PDF document. Below are the key features available in mobile mode:
-
-
-
-### Main Toolbar Options:
-
-**OpenOption:** Tap to load a PDF document.
-
-**SearchOption:** Access the search bar to find text within the document.
-
-
-
-**UndoRedoTool:** Quickly undo or redo any annotations made.
-
-**OrganizePagesTool:** Enable or disable page organization features to modify document pages.
-
-
-
-**AnnotationEditTool:** Activate or deactivate annotation editing to add or modify annotations.
-
-
-
-
-N> In mobile mode, the annotation toolbar is conveniently displayed at the bottom of the viewer.
-
-### More Options Menu:
-When you open the "more options" menu, you will see additional actions such as:
-
-**DownloadOption:** Tap to download the currently opened PDF document.
-
-**BookmarkOption:** Allows you to view bookmarks within the document.
-
-
-
-## Enabling Desktop Mode in Mobile
-
-The desktop version of the toolbar can be enabled on mobile devices by using the `enableDesktopMode` API. This API allows you to bring desktop-like features to the mobile PDF viewer, providing access to additional toolbar actions that are typically available on desktop platforms.
-
-### Steps to Enable Desktop Mode:
-
-**Step 1:** Set `enableDesktopMode` to true in the API configuration.
-
-**Step 2:** This will replace the mobile toolbar with the desktop toolbar layout, allowing access to more actions and controls.
-
-{% tabs %}
-{% highlight ts tabtitle="Standalone" %}
-
-var pdfviewer = new ej.pdfviewer.PdfViewer({
- documentPath: "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf",
- resourceUrl : "https://cdn.syncfusion.com/ej2/25.1.35/dist/ej2-pdfviewer-lib",
- enableDesktopMode : true
- });
-ej.pdfviewer.PdfViewer.Inject(ej.pdfviewer.TextSelection, ej.pdfviewer.TextSearch, ej.pdfviewer.Print, ej.pdfviewer.Navigation, ej.pdfviewer.Toolbar,
- ej.pdfviewer.Magnification, ej.pdfviewer.Annotation, ej.pdfviewer.FormDesigner, ej.pdfviewer.FormFields, ej.pdfviewer.PageOrganizer);
-pdfviewer.appendTo('#PdfViewer');
-
-{% endhighlight %}
-{% highlight ts tabtitle="Server-Backed" %}
-
-var pdfviewer = new ej.pdfviewer.PdfViewer({
- documentPath: "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf",
- serviceUrl: 'https://services.syncfusion.com/js/production/api/pdfviewer',
- enableDesktopMode : true
- });
-ej.pdfviewer.PdfViewer.Inject(ej.pdfviewer.TextSelection, ej.pdfviewer.TextSearch, ej.pdfviewer.Print, ej.pdfviewer.Navigation, ej.pdfviewer.Toolbar,
- ej.pdfviewer.Magnification, ej.pdfviewer.Annotation, ej.pdfviewer.FormDesigner, ej.pdfviewer.FormFields, ej.pdfviewer.PageOrganizer);
-pdfviewer.appendTo('#PdfViewer');
-
-{% endhighlight %}
-{% endtabs %}
-
-## Enable Scrolling in Desktop Mode with Touch Gestures
-
-To ensure smooth scrolling of PDF documents on a mobile device in desktop mode, it is important to enable touch gesture scrolling. You can achieve this by setting the `enableTextSelection` option to **false**.
-
-{% tabs %}
-{% highlight ts tabtitle="Standalone" %}
-
-var pdfviewer = new ej.pdfviewer.PdfViewer({
- documentPath: "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf",
- resourceUrl : "https://cdn.syncfusion.com/ej2/25.1.35/dist/ej2-pdfviewer-lib",
- enableDesktopMode : true,
- enableTextSelection : false
- });
-ej.pdfviewer.PdfViewer.Inject(ej.pdfviewer.TextSelection, ej.pdfviewer.TextSearch, ej.pdfviewer.Print, ej.pdfviewer.Navigation, ej.pdfviewer.Toolbar,
- ej.pdfviewer.Magnification, ej.pdfviewer.Annotation, ej.pdfviewer.FormDesigner, ej.pdfviewer.FormFields, ej.pdfviewer.PageOrganizer);
-pdfviewer.appendTo('#PdfViewer');
-
-{% endhighlight %}
-{% highlight ts tabtitle="Server-Backed" %}
-
-var pdfviewer = new ej.pdfviewer.PdfViewer({
- documentPath: "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf",
- serviceUrl: 'https://services.syncfusion.com/js/production/api/pdfviewer',
- enableDesktopMode : true,
- enableTextSelection : false
- });
-ej.pdfviewer.PdfViewer.Inject(ej.pdfviewer.TextSelection, ej.pdfviewer.TextSearch, ej.pdfviewer.Print, ej.pdfviewer.Navigation, ej.pdfviewer.Toolbar,
- ej.pdfviewer.Magnification, ej.pdfviewer.Annotation, ej.pdfviewer.FormDesigner, ej.pdfviewer.FormFields, ej.pdfviewer.PageOrganizer);
-pdfviewer.appendTo('#PdfViewer');
-
-{% endhighlight %}
-{% endtabs %}
-
-## Print Option Not Available
-
-The Print option is not available in mobile mode by default. However, if you need to use the print functionality on mobile devices, we recommend enabling the desktop toolbar on mobile using the `enableDesktopMode` API.
-
-### How to Use Print on Mobile:
-
-**Enable Desktop Mode:** Set `enableDesktopMode` to true to load the desktop version of the toolbar on your mobile device.
-
-**Print Option:** Once desktop mode is enabled, the print option will be available, allowing you to print the document directly from your mobile device.
-
-N> In mobile mode, the print functionality will not be available unless desktop mode is enabled.
\ No newline at end of file
diff --git a/ej2-javascript/pdfviewer/js/navigation.md b/ej2-javascript/pdfviewer/js/navigation.md
deleted file mode 100644
index 8f7d6ecaf..000000000
--- a/ej2-javascript/pdfviewer/js/navigation.md
+++ /dev/null
@@ -1,355 +0,0 @@
----
-layout: post
-title: Navigation in ##Platform_Name## Pdfviewer control | Syncfusion
-description: Learn here all about Navigation in Syncfusion ##Platform_Name## Pdfviewer control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: Navigation
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Navigation in ##Platform_Name## Pdfviewer control
-
-The ASP.NET Core PDF Viewer supports different internal and external navigations.
-
-## Toolbar page navigation option
-
-The default toolbar of PDF Viewer contains the following navigation options
-
-* [**Go to page**](https://ej2.syncfusion.com/documentation/api/pdfviewer/navigation/#gotopage):- Navigates to the specific page of a PDF document.
-* [**Show next page**](https://ej2.syncfusion.com/documentation/api/pdfviewer/navigation/#gotonextpage):- Navigates to the next page of PDF a document.
-* [**Show previous page**](https://ej2.syncfusion.com/documentation/api/pdfviewer/navigation/#gotopreviouspage):- Navigates to the previous page of a PDF document.
-* [**Show first page**](https://ej2.syncfusion.com/documentation/api/pdfviewer/navigation/#gotofirstpage):- Navigates to the first page of a PDF document.
-* [**Show last page**](https://ej2.syncfusion.com/documentation/api/pdfviewer/navigation/#gotolastpage):- Navigates to the last page of a PDF document.
-
-```html
-{% raw %}
-
-
-
-Essential JS 2
-
-
-
-
-
-
-
-
-
-
-{% endraw %}
-```
-
-{% tabs %}
-{% highlight js tabtitle="Standalone" %}
-
-var viewer = new ej.pdfviewer.PdfViewer({
- documentPath: 'https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf',
-});
-ej.pdfviewer.PdfViewer.Inject(
- ej.pdfviewer.Toolbar,
- ej.pdfviewer.Magnification,
- ej.pdfviewer.BookmarkView,
- ej.pdfviewer.ThumbnailView,
- ej.pdfviewer.TextSelection,
- ej.pdfviewer.TextSearch,
- ej.pdfviewer.Print,
- ej.pdfviewer.Navigation,
- ej.pdfviewer.LinkAnnotation,
- ej.pdfviewer.Annotation,
- ej.pdfviewer.FormFields
-);
-viewer.appendTo('#pdfViewer');
-// Go To First Page
-document.getElementById('goToFirstPage').addEventListener('click', () => {
- viewer.navigation.goToFirstPage();
-});
-// Go To Last Page
-document.getElementById('goToLastPage').addEventListener('click', () => {
- viewer.navigation.goToLastPage();
-});
-// Go To Next Page
-document.getElementById('goToNextPage').addEventListener('click', () => {
- viewer.navigation.goToNextPage();
-});
-// Go To Page
-document.getElementById('goToPage').addEventListener('click', () => {
- viewer.navigation.goToPage(4);
-});
-// Go To Previous Page
-document.getElementById('goToPreviousPage').addEventListener('click', () => {
- viewer.navigation.goToPreviousPage();
-});
-
-{% endhighlight %}
-{% highlight js tabtitle="Server-Backed" %}
-
-var viewer = new ej.pdfviewer.PdfViewer({
- documentPath: 'https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf',
- serviceUrl:'https://services.syncfusion.com/js/production/api/pdfviewer'
-});
-ej.pdfviewer.PdfViewer.Inject(
- ej.pdfviewer.Toolbar,
- ej.pdfviewer.Magnification,
- ej.pdfviewer.BookmarkView,
- ej.pdfviewer.ThumbnailView,
- ej.pdfviewer.TextSelection,
- ej.pdfviewer.TextSearch,
- ej.pdfviewer.Print,
- ej.pdfviewer.Navigation,
- ej.pdfviewer.LinkAnnotation,
- ej.pdfviewer.Annotation,
- ej.pdfviewer.FormFields
-);
-viewer.appendTo('#pdfViewer');
-// Go To First Page
-document.getElementById('goToFirstPage').addEventListener('click', () => {
- viewer.navigation.goToFirstPage();
-});
-// Go To Last Page
-document.getElementById('goToLastPage').addEventListener('click', () => {
- viewer.navigation.goToLastPage();
-});
-// Go To Next Page
-document.getElementById('goToNextPage').addEventListener('click', () => {
- viewer.navigation.goToNextPage();
-});
-// Go To Page
-document.getElementById('goToPage').addEventListener('click', () => {
- viewer.navigation.goToPage(4);
-});
-// Go To Previous Page
-document.getElementById('goToPreviousPage').addEventListener('click', () => {
- viewer.navigation.goToPreviousPage();
-});
-
-{% endhighlight %}
-{% endtabs %}
-
-Find the [here](https://stackblitz.com/edit/39kfnj?file=index.js) to perform the page navigation options programmatically.
-
-## Bookmark navigation
-
-The Bookmarks saved in PDF files are loaded and made ready for easy navigation. You can enable/disable bookmark navigation by using the following code snippet.,
-
-{% tabs %}
-{% highlight js tabtitle="Standalone" %}
-
-var pdfviewer = new ej.pdfviewer.PdfViewer({
- enableBookmark: true,
- documentPath: "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf",
- });
-ej.pdfviewer.PdfViewer.Inject(ej.pdfviewer.Toolbar, ej.pdfviewer.Magnification, ej.pdfviewer.LinkAnnotation,ej.pdfviewer.ThumbnailView, ej.pdfviewer.BookmarkView, ej.pdfviewer.TextSelection, ej.pdfviewer.TextSearch, ej.pdfviewer.Navigation, ej.pdfviewer.Print);
-pdfviewer.appendTo('#PdfViewer');
-
-{% endhighlight %}
-{% highlight js tabtitle="Server-Backed" %}
-
-var pdfviewer = new ej.pdfviewer.PdfViewer({
- enableBookmark: true,
- documentPath: "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf",
- serviceUrl: 'https://services.syncfusion.com/js/production/api/pdfviewer'
- });
-ej.pdfviewer.PdfViewer.Inject(ej.pdfviewer.Toolbar, ej.pdfviewer.Magnification, ej.pdfviewer.LinkAnnotation,ej.pdfviewer.ThumbnailView, ej.pdfviewer.BookmarkView, ej.pdfviewer.TextSelection, ej.pdfviewer.TextSearch, ej.pdfviewer.Navigation, ej.pdfviewer.Print);
-pdfviewer.appendTo('#PdfViewer');
-
-{% endhighlight %}
-{% endtabs %}
-
-
-
-To perform bookmark navigation, you can use the **goToBookmark** method. It's important to note that the **goToBookmark** method will throw an error if the specified bookmark does not exist in the PDF document.
-
-Here is an example of how to use the **goToBookmark** method:
-
-```
-
-```
-
-```javascript
-document.getElementById('gotobookmark').addEventListener('click', () => {
- viewer.bookmark.goToBookmark(x, y);
-});
-```
-
-x - Specifies the pageIndex for Navigate.
-
-y - Specifies the Y coordinates value of the Page.
-
-Also, you can use the **getBookmarks** method to retrieve a list of all the bookmarks in a PDF document. This method returns a List of Bookmark objects, which contain information about each bookmark.
-
-Here is an example of how to use the getBookmarks method:
-
-```
-
-```
-
-```javascript
-document.getElementById('getBookmarks').addEventListener('click', () => {
- var getBookmarks = viewer.bookmark.getBookmarks();
- console.log(getBookmarks)
-});
-```
-
-## Thumbnail navigation
-
-Thumbnails is the miniature representation of actual pages in PDF files. This feature displays thumbnails of the pages and allows navigation.
-You can enable/disable thumbnail navigation by using the following code snippet.,
-
-{% tabs %}
-{% highlight js tabtitle="Standalone" %}
-
-var pdfviewer = new ej.pdfviewer.PdfViewer({
- enableThumbnail: true,
- documentPath: "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf",
- });
-ej.pdfviewer.PdfViewer.Inject(ej.pdfviewer.Toolbar, ej.pdfviewer.Magnification, ej.pdfviewer.LinkAnnotation,ej.pdfviewer.ThumbnailView, ej.pdfviewer.BookmarkView, ej.pdfviewer.TextSelection, ej.pdfviewer.TextSearch, ej.pdfviewer.Navigation, ej.pdfviewer.Print);
-pdfviewer.appendTo('#PdfViewer');
-
-{% endhighlight %}
-{% highlight js tabtitle="Server-Backed" %}
-
-var pdfviewer = new ej.pdfviewer.PdfViewer({
- enableThumbnail: true,
- documentPath: "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf",
- serviceUrl: 'https://services.syncfusion.com/js/production/api/pdfviewer'
- });
-ej.pdfviewer.PdfViewer.Inject(ej.pdfviewer.Toolbar, ej.pdfviewer.Magnification, ej.pdfviewer.LinkAnnotation,ej.pdfviewer.ThumbnailView, ej.pdfviewer.BookmarkView, ej.pdfviewer.TextSelection, ej.pdfviewer.TextSearch, ej.pdfviewer.Navigation, ej.pdfviewer.Print);
-pdfviewer.appendTo('#PdfViewer');
-
-{% endhighlight %}
-{% endtabs %}
-
-
-
-## Hyperlink navigation
-
-Hyperlink navigation features enables navigation to the URLs (website links) in a PDF file.
-
-
-
-## Table of content navigation
-
-Table of contents navigation allows users to navigate to different parts of a PDF file that are listed in the table of contents section.
-
-You can enable/disable link navigation by using the following code snippet.,
-
-{% tabs %}
-{% highlight js tabtitle="Standalone" %}
-
-var pdfviewer = new ej.pdfviewer.PdfViewer({
- enableHyperlink: true,
- documentPath: "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf",
- });
-ej.pdfviewer.PdfViewer.Inject(ej.pdfviewer.Toolbar, ej.pdfviewer.Magnification, ej.pdfviewer.LinkAnnotation,ej.pdfviewer.ThumbnailView, ej.pdfviewer.BookmarkView, ej.pdfviewer.TextSelection, ej.pdfviewer.TextSearch, ej.pdfviewer.Navigation, ej.pdfviewer.Print);
-pdfviewer.appendTo('#PdfViewer');
-
-{% endhighlight %}
-{% highlight js tabtitle="Server-Backed" %}
-
-var pdfviewer = new ej.pdfviewer.PdfViewer({
- enableHyperlink: true,
- documentPath: "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf",
- serviceUrl: 'https://services.syncfusion.com/js/production/api/pdfviewer'
- });
-ej.pdfviewer.PdfViewer.Inject(ej.pdfviewer.Toolbar, ej.pdfviewer.Magnification, ej.pdfviewer.LinkAnnotation,ej.pdfviewer.ThumbnailView, ej.pdfviewer.BookmarkView, ej.pdfviewer.TextSelection, ej.pdfviewer.TextSearch, ej.pdfviewer.Navigation, ej.pdfviewer.Print);
-pdfviewer.appendTo('#PdfViewer');
-
-{% endhighlight %}
-{% endtabs %}
-
-You can change the open state of the hyperlink in the PDF Viewer by using the following code snippet,
-
-{% tabs %}
-{% highlight js tabtitle="Standalone" %}
-
-var pdfviewer = new ej.pdfviewer.PdfViewer({
- enableHyperlink: true,
- documentPath: "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf",
- hyperlinkOpenState:'NewTab',
- });
-ej.pdfviewer.PdfViewer.Inject(ej.pdfviewer.Toolbar, ej.pdfviewer.Magnification, ej.pdfviewer.LinkAnnotation,ej.pdfviewer.ThumbnailView, ej.pdfviewer.BookmarkView, ej.pdfviewer.TextSelection, ej.pdfviewer.TextSearch, ej.pdfviewer.Navigation, ej.pdfviewer.Print);
-pdfviewer.appendTo('#PdfViewer');
-
-{% endhighlight %}
-{% highlight js tabtitle="Server-Backed" %}
-
-var pdfviewer = new ej.pdfviewer.PdfViewer({
- enableHyperlink: true,
- documentPath: "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf",
- hyperlinkOpenState:'NewTab',
- serviceUrl: 'https://services.syncfusion.com/js/production/api/pdfviewer'
- });
-ej.pdfviewer.PdfViewer.Inject(ej.pdfviewer.Toolbar, ej.pdfviewer.Magnification, ej.pdfviewer.LinkAnnotation,ej.pdfviewer.ThumbnailView, ej.pdfviewer.BookmarkView, ej.pdfviewer.TextSelection, ej.pdfviewer.TextSearch, ej.pdfviewer.Navigation, ej.pdfviewer.Print);
-pdfviewer.appendTo('#PdfViewer');
-
-{% endhighlight %}
-{% endtabs %}
-```
-
-
-
-## See also
-
-* [Toolbar items](https://ej2.syncfusion.com/javascript/documentation/pdfviewer/toolbar/)
-* [Feature Modules](https://ej2.syncfusion.com/javascript/documentation/pdfviewer/feature-module/)
\ No newline at end of file
diff --git a/ej2-javascript/pdfviewer/js/open-pdf-file/from-amazon-s3.md b/ej2-javascript/pdfviewer/js/open-pdf-file/from-amazon-s3.md
deleted file mode 100644
index 68b99aaad..000000000
--- a/ej2-javascript/pdfviewer/js/open-pdf-file/from-amazon-s3.md
+++ /dev/null
@@ -1,206 +0,0 @@
----
-layout: post
-title: Open PDF files from AWS S3 in ##Platform_Name## Pdfviewer control | Syncfusion
-description: Learn about how to Open PDF files from AWS S3 in ##Platform_Name## Pdfviewer control of Syncfusion Essential JS 2 and more details.
-platform: ej2-javascript
-control: Open PDF files from AWS S3
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Open PDF file from AWS S3
-
-PDF Viewer allows to load PDF file from AWS S3 using either the Standalone or Server-backed PDF Viewer. Below are the steps and a sample to demonstrate how to open a PDF from AWS S3.
-
-## Using Standalone PDF Viewer
-
-To load a PDF file from AWS S3 in a PDF Viewer, you can follow the steps below
-
-**Step 1:** Create a Simple PDF Viewer Sample in JavaScript
-
-Start by following the steps provided in this [link](https://ej2.syncfusion.com/javascript/documentation/pdfviewer/getting-started) to create a simple PDF viewer sample in JavaScript. This will give you a basic setup of the PDF viewer component.
-
-**Step 2:** Modify the `index.html` File in the JavaScript Project
-
-1. AWS SDK for JavaScript, used for interacting with AWS services like S3:
-
-```javascript
-
-```
-
-2. Configures AWS SDK with the region, access key, and secret access key. This configuration allows the application to interact with AWS services like S3.
-
-N> Replace **Your Region** with the actual Region of your AWS S3 account and **Your Access Key** with the actual Access Key of your AWS S3 account and **Your Security Access Key** with the actual Security Access Key of your AWS S3 account.
-
-```javascript
-AWS.config.update({
- region: '**Your Region**', // Update this your region
- accessKeyId: '*Your Access Key*', // Update this with your access key id
- secretAccessKey: '*Your Security Access Key*', // Update this with your secret access key
-});
-```
-
-3. Sets the parameters for fetching the PDF document from S3, including the bucket name and file key. Then Uses the getObject method of the S3 instance to retrieve the document. Converts the document data to a Base64 string and loads it into the Syncfusion PDF Viewer then load Base64 string generated into the viewer.load method.
-
-N> Replace **Your Bucket Name** with the actual Bucket name of your AWS S3 account and **Your Key** with the actual File Key of your AWS S3 account.
-
-```javascript
-private s3 = new AWS.S3();
-
-pdfviewer.created = function () {
- const getObjectParams = {
- Bucket: '**Your Bucket Name**',
- Key: '**Your Key**',
- };
- s3.getObject(getObjectParams, (err, data) => {
- if (err) {
- console.error('Error fetching document:', err);
- } else {
- if (data && data.Body) {
- const bytes = new Uint8Array(data.Body);
- let binary = '';
- bytes.forEach((byte) => (binary += String.fromCharCode(byte)));
- const base64String = window.btoa(binary);
- setTimeout(() => {
- pdfviewer.load("data:application/pdf;base64,"+base64String);
- }, 2000);
- }
- }
- });
-};
-```
-
-[View sample in GitHub](https://github.com/SyncfusionExamples/open-save-pdf-documents-in-aws-s3/tree/master/Open%20and%20Save%20PDF%20in%20AWS%20S3%20using%20Standalone).
-
-## Using Server-Backed PDF Viewer
-
-To load a PDF file from AWS S3 in a PDF Viewer, you can follow the steps below
-
-**Step 1:** Create a Simple PDF Viewer Sample in JavaScript
-
-Start by following the steps provided in this [link](https://ej2.syncfusion.com/javascript/documentation/pdfviewer/getting-started) to create a simple PDF viewer sample in JavaScript. This will give you a basic setup of the PDF viewer component.
-
-**Step 2:** Modify the `PdfViewerController.cs` File in the Web Service Project
-
-1. Create a web service project in .NET Core 3.0 or above. You can refer to this [link](https://www.syncfusion.com/kb/11063/how-to-create-pdf-viewer-web-service-in-net-core-3-0-and-above) for instructions on how to create a web service project.
-
-2. Open the `PdfViewerController.cs` file in your web service project.
-
-3. Import the required namespaces at the top of the file:
-
-```csharp
-using System.IO;
-using Amazon;
-using Amazon.S3;
-using Amazon.S3.Model;
-```
-
-4. Add the following private fields and constructor parameters to the `PdfViewerController` 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 PdfViewerController(IWebHostEnvironment hostingEnvironment, IMemoryCache cache, IConfiguration configuration)
-{
- _hostingEnvironment = hostingEnvironment;
- _cache = cache;
- _configuration = configuration;
- _accessKey = _configuration.GetValue("AccessKey");
- _secretKey = _configuration.GetValue("SecretKey");
- _bucketName = _configuration.GetValue("BucketName");
-}
-```
-
-5. Modify the [Load()](https://helpej2.syncfusion.com/documentation/api/pdfviewer/#load) method to load the PDF files from AWS S3.
-
-```csharp
-
-[HttpPost("Load")]
-[Microsoft.AspNetCore.Cors.EnableCors("MyPolicy")]
-[Route("[controller]/Load")]
-//Post action for Loading the PDF documents
-
-public async Task Load([FromBody] Dictionary jsonObject)
-{
- // Initialize the PDF viewer object with memory cache object
- PdfRenderer pdfviewer = new PdfRenderer(_cache);
- MemoryStream stream = new MemoryStream();
- object jsonResult = new object();
-
- if (jsonObject != null && jsonObject.ContainsKey("document"))
- {
- if (bool.Parse(jsonObject["isFileName"]))
- {
- RegionEndpoint bucketRegion = RegionEndpoint.USEast1;
-
- // Configure the AWS SDK with your access credentials and other settings
- var s3Client = new AmazonS3Client(_accessKey, _secretKey, bucketRegion);
-
- string document = jsonObject["document"];
-
- // Specify the document name or retrieve it from a different source
- var response = await s3Client.GetObjectAsync(_bucketName, document);
-
- Stream responseStream = response.ResponseStream;
- responseStream.CopyTo(stream);
- stream.Seek(0, SeekOrigin.Begin);
- }
- else
- {
- byte[] bytes = Convert.FromBase64String(jsonObject["document"]);
- stream = new MemoryStream(bytes);
- }
- }
-
- jsonResult = pdfviewer.Load(stream, jsonObject);
-
- return Content(JsonConvert.SerializeObject(jsonResult));
-}
-```
-
-6. 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:** Set the PDF Viewer Properties in JavaScript PDF viewer component
-
-Modify the [serviceUrl](https://helpej2.syncfusion.com/documentation/api/pdfviewer/#serviceurl) property of the PDF viewer component with the accurate URL of your web service project, replacing `https://localhost:44396/pdfviewer` with the actual URL of your server. Set the `documentPath` property of the PDF viewer component to the desired name of the PDF file you wish to load from AWS S3. Ensure that you correctly pass the document name from the files available in your AWS S3 bucket to the documentPath property.
-
-```javascript
-
-import { PdfViewer, Toolbar, Magnification, Navigation, LinkAnnotation,ThumbnailView,
- BookmarkView, TextSelection, Annotation, FormFields, FormDesigner} from '@syncfusion/ej2-pdfviewer';
-
-PdfViewer.Inject( Toolbar,Magnification,Navigation, LinkAnnotation,ThumbnailView,
- BookmarkView, TextSelection, Annotation, FormFields, FormDesigner);
-
-let viewer: PdfViewer = new PdfViewer();
-// Replace the "localhost:44396" with the actual URL of your server
-viewer.serviceUrl = 'https://localhost:44396/pdfviewer';
-viewer.appendTo('#pdfViewer');
-viewer.load('PDF_Succinctly.pdf', null);
-
-```
-
-N> The **AWSSDK.S3** NuGet package must be installed in your application to use the previous code example.
-
-[View sample in GitHub](https://github.com/SyncfusionExamples/open-save-pdf-documents-in-aws-s3/tree/master/Open%20and%20Save%20PDF%20in%20AWS%20S3%20using%20Server-Backend)
\ No newline at end of file
diff --git a/ej2-javascript/pdfviewer/js/open-pdf-file/from-azure-active-directory.md b/ej2-javascript/pdfviewer/js/open-pdf-file/from-azure-active-directory.md
deleted file mode 100644
index 3b1610c4b..000000000
--- a/ej2-javascript/pdfviewer/js/open-pdf-file/from-azure-active-directory.md
+++ /dev/null
@@ -1,260 +0,0 @@
----
-layout: post
-title: Open PDF From AAD in ##Platform_Name## Pdfviewer | Syncfusion
-description: Learn how to Open PDF From AAD in Syncfusion ##Platform_Name## Pdfviewer control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: PDF Viewer
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Open PDF From Azure Active Directory in Viewer
-
-### **Overview**
-
-The Syncfusion PDF Viewer allows you to load and save PDF files directly from Azure Active Directory (AAD). Below are the steps to securely load and store PDF documents from and to AAD using the PDF Viewer.
-
-### **Steps to Open the PDF File from Azure Active Directory**
-
----
-
-### **Step 1: Register an Application in Azure Active Directory (AAD)**
-
-1. **Go to the Azure Portal**:
- - Navigate to [Azure Portal](https://portal.azure.com).
-
-2. **Register your Application**:
- - In the Azure portal, go to **Azure Active Directory** > **App registrations** > **New registration**.
- - Register your application and note down the **Application (client) ID** and **Directory (tenant) ID**.
-
- 
-
-3. **Create a Client Secret**:
- - In the registered application, go to **Certificates & secrets**.
- - Click **New client secret**.
- - Provide a description and set an expiration period.
- - Click **Add**.
- - Copy the client secret value immediately, as it will be hidden later. Store it securely.
-
- 
-
----
-
-### **Step 2: Create the Azure Storage Account**
-
-1. **Create a Storage Account**:
- - In the Azure portal, use the search bar to search for **Storage accounts**.
- - Create a new storage account by filling in the required details (e.g., name, location, resource group, etc.).
-
- 
-
----
-
-### **Step 3: Assign Role to the Application**
-
-1. **Go to your Storage Account**:
- - Navigate to **Access control (IAM)** > **Add role assignment** in your Azure Storage Account.
-
-2. **Assign Role**:
- - Assign the **Storage Blob Data Contributor** role to your registered application.
- - In the **Assign access to** dropdown, select **User, group, or service principal**.
- - Click on **Select members** and search for your registered application by name or client ID.
- - Select your application and click **Select**.
- - Click **Review + assign** to finalize the role assignment.
-
- 
----
-
-### **Step 4: Upload the PDF Document to the Azure Storage Account**
-
-1. **Navigate to Data Storage**:
- - In the Azure portal, go to **Data storage** > **Containers**.
-
-2. **Upload the PDF File**:
- - Create a new container and upload the PDF document you want to access in the PDF Viewer.
-
- 
----
-
-### **Step 5: Server-Side Configuration**
-
-1. **Configure Server-Side Code**:
- - Open the server-side application (e.g., ASP.NET Core) and configure the following details in the `PdfViewerController` file:
- - `tenantId` (your Azure AD tenant ID),
- - `clientId` (your registered application client ID),
- - `clientSecret` (your registered application client secret),
- - `blobServiceEndpoint` (your storage account blob service URL),
- - `containerName` (your container name in Azure Blob Storage).
-
-2. **Run the Web Service**:
- - After configuring the necessary details, run the web service to make it accessible.
-
----
-
-### **Step 6: Client-Side Configuration**
-
-1. **Run the JS Sample**:
- - Start the JS sample that includes the Syncfusion PDF Viewer.
-
-2. **Load PDF from AAD**:
- - When the user clicks the **Load from AAD** button, the JS client will make an HTTP request to the server-side API to fetch the PDF from Azure Blob Storage.
- - The server will retrieve the PDF from Azure, convert it to a base64 string, and return it to the client.
-
-3. **Display PDF in the PDF Viewer**:
- - Once the base64 string is received, the PDF Viewer will load the PDF using the `viewer.load()` method.
-
----
-
-### **Step 7: Save the PDF Document to Azure**
-
-1. **Save PDF to AAD**:
- - The user can click the **Save to AAD** button to upload any modifications to the PDF back to Azure Blob Storage.
- - This action sends the modified PDF to the server, where it is converted into a byte array and saved to the specified Azure Blob container.
-
----
-
-### **Server-Side Code Snippets**
-```cs
-string tenantId = "Provide the tenant id here";
-string clientId = "Provide the clientid here";
-string clientSecret = "Provide the client secret here";
-string blobServiceEndpoint = "https://your-storage-account.blob.core.windows.net";
-string containerName = "Provide the container name here";
-
-
-
-[HttpPost("LoadFromAAD")]
-[Route("[controller]/LoadFromAAD")]
-public async Task LoadFromAAD(string fileName)
-{
- var clientSecretCredential = new ClientSecretCredential(tenantId, clientId, clientSecret);
- var blobServiceClient = new BlobServiceClient(new Uri(blobServiceEndpoint), clientSecretCredential);
- var containerClient = blobServiceClient.GetBlobContainerClient(containerName);
- var blobClient = containerClient.GetBlobClient(fileName);
-
- // Download the PDF file to a local stream
- using MemoryStream pdfStream = new MemoryStream();
- await blobClient.DownloadToAsync(pdfStream);
- var base64 = Convert.ToBase64String(pdfStream.ToArray());
- return Content("data:application/pdf;base64," + base64);
-}
-
-[AcceptVerbs("SaveToAAD")]
-[HttpPost("SaveToAAD")]
-[Route("[controller]/SaveToAAD")]
-public async Task SaveToAAD([FromBody] Dictionary jsonObject)
-{
- PdfRenderer pdfviewer = new PdfRenderer(_cache);
- var fileName = jsonObject.ContainsKey("documentId") ? jsonObject["documentId"] : "Test.pdf";
- string documentBase = pdfviewer.GetDocumentAsBase64(jsonObject);
- string convertedBase = documentBase.Substring(documentBase.LastIndexOf(',') + 1);
- // Decode the Base64 string to a byte array
- byte[] byteArray = Convert.FromBase64String(convertedBase);
- // Create a MemoryStream from the byte array
- MemoryStream stream = new MemoryStream(byteArray);
- // Create a new BlobServiceClient using the DefaultAzureCredential
- var clientSecretCredential = new ClientSecretCredential(tenantId, clientId, clientSecret);
- var blobServiceClient = new BlobServiceClient(new Uri(blobServiceEndpoint), clientSecretCredential);
- // Get a reference to the container
- var containerClient = blobServiceClient.GetBlobContainerClient(containerName);
- // Get a reference to the blob
- var blobClient = containerClient.GetBlobClient(fileName);
- //FileStream uploadFileStream = new FileStream();
- await blobClient.UploadAsync(stream, true);
- stream.Close();
- return Content(string.Empty);
-}
-
-```
-
-
-
-### **Client-side Code Snippets**
-
-```js
-import { PdfViewer, Toolbar, TextSelection, TextSearch, Print, Navigation, Magnification, Annotation, FormDesigner, FormFields, CustomToolbarItemModel } from '@syncfusion/ej2-pdfviewer';
-import { ComboBox } from "@syncfusion/ej2-dropdowns";
-
-// Inject required modules for PDF Viewer functionality
-PdfViewer.Inject(
- TextSelection,
- TextSearch,
- Print,
- Navigation,
- Toolbar,
- Magnification,
- Annotation,
- FormDesigner,
- FormFields
-);
-
-// Define custom toolbar items
-let toolItem1: CustomToolbarItemModel = {
- id: 'loadFromAAD',
- text: 'Load From AAD',
- tooltipText: 'Custom toolbar item',
- align: 'left'
-};
-
-let toolItem2: CustomToolbarItemModel = {
- id: 'saveToAAD',
- text: 'Save To AAD',
- tooltipText: 'Custom toolbar item',
- align: 'left'
-};
-
-// Initialize the PDF Viewer with custom toolbar items
-let pdfviewer: PdfViewer = new PdfViewer({
- serviceUrl: 'https://localhost:44308/pdfviewer', //provide the service url here
- toolbarSettings: {
- toolbarItems: [
- toolItem1,
- toolItem2,
- 'OpenOption',
- 'PageNavigationTool',
- 'MagnificationTool',
- 'PanTool',
- 'SelectionTool',
- 'SearchOption',
- 'PrintOption',
- 'DownloadOption',
- 'UndoRedoTool',
- 'AnnotationEditTool',
- 'FormDesignerEditTool',
- 'CommentTool',
- 'SubmitForm',
- ]
- }
-});
-
-// Render the PDF Viewer in the DOM
-pdfviewer.appendTo('#PdfViewer');
-
-// Handle toolbar clicks
-pdfviewer.toolbarClick = (args: { item?: { id: string } }) => {
- if (args.item) {
- if (args.item.id === 'loadFromAAD') {
- // Handle 'Load From AAD' logic
- const xhr = new XMLHttpRequest();
- //modify the url based on the file name
- xhr.open('POST', `https://localhost:44308/pdfviewer/LoadFromAAD?fileName=pdf-succinctly.pdf`, true);
- xhr.onreadystatechange = () => {
- if (xhr.readyState === 4 && xhr.status === 200) {
- const data = xhr.responseText;
- console.log(data); // Handle the response
- pdfviewer.load(data,''); // Load the document
- }
- };
- xhr.send();
- } else if (args.item.id === 'saveToAAD') {
- // Handle 'Save To AAD' logic
- pdfviewer.serverActionSettings.download = "SaveToAAD";
- pdfviewer.download(); // Trigger download
- }
- }
-};
-
-```
-
-[View sample in GitHub](https://github.com/SyncfusionExamples/open-save-pdf-documents-in-aad).
\ No newline at end of file
diff --git a/ej2-javascript/pdfviewer/js/open-pdf-file/from-azure-blob-storage.md b/ej2-javascript/pdfviewer/js/open-pdf-file/from-azure-blob-storage.md
deleted file mode 100644
index 20f6a7fc7..000000000
--- a/ej2-javascript/pdfviewer/js/open-pdf-file/from-azure-blob-storage.md
+++ /dev/null
@@ -1,208 +0,0 @@
----
-layout: post
-title: Open PDF from Azure Blob Storage in ##Platform_Name## Pdfviewer | Syncfusion
-description: Learn about how to Open PDF files from Azure Blob Storage in ##Platform_Name## Pdfviewer control of Syncfusion Essential JS 2 and more details.
-platform: ej2-javascript
-control: Open PDF files from Azure Blob Storage
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Open PDF file from Azure Blob Storage
-
-PDF Viewer allows to load PDF file from Azure Blob Storage using either the Standalone or Server-backed PDF Viewer. Below are the steps and a sample to demonstrate how to open a PDF from Azure Blob Storage.
-
-## Using Standalone PDF Viewer
-
-To load a PDF file from Azure Blob Storage in a PDF Viewer, you can follow the steps below
-
-**Step 1:** Create a Simple PDF Viewer Sample in JavaScript
-
-Start by following the steps provided in this [link](https://ej2.syncfusion.com/javascript/documentation/pdfviewer/getting-started) to create a simple PDF viewer sample in JavaScript. This will give you a basic setup of the PDF viewer component.
-
-**Step 2:** Modify the `src/app/app.ts` File in the Angular Project
-
-1. Add the following private properties to the `app.ts`, and assign the values from the configuration to the corresponding properties
-
-N> Replace **Your account name in Azure** with the actual account name for your Azure Blob Storage account and **Your container name in Azure** with the actual container name and **Your Blob name in Azure** with the actual container name.
-
-```typescript
-private accountName: string = "*Your account name in Azure*";
-private containerName: string = "*Your container name in Azure*";
-private blobName: string = "*Your Blob name in Azure*";
-```
-
-2. Constructs the URL to the PDF in Azure Blob Storage. Calls fetchAndConvertToBase64 to fetch the PDF and convert it to a base64 string. Then Loads the base64 string into the PDF Viewer.
-
-```typescript
-pdfviewer.created = function () {
- const url = 'https://'+accountName+'.blob.core.windows.net/'+containerName+'/'+blobName;
- fetchAndConvertToBase64(url).then(base64String => {
- if (base64String) {
- setTimeout(() => {
- pdfviewer.load("data:application/pdf;base64,"+base64String, "");
- }, 2000);
- } else {
- console.error('Failed to fetch and convert file to base64.');
- }
- }).catch(error => console.error('Error:', error));
-}
-```
-
-3. Then it retrieves the PDF file from the given URL and converts the fetched Blob to a base64 string using blobToBase64.
-
-```typescript
-function fetchAndConvertToBase64(url : any) {
- return new Promise(function(resolve, reject) {
- fetch(url).then(function(response) {
- if (!response.ok) {
- throw new Error('HTTP error! Status: ' + response.status);
- }
- return response.blob();
- }).then(function(blob) {
- blobToBase64(blob).then(function(base64String) {
- resolve(base64String);
- });
- }).catch(function(error) {
- console.error('Error fetching file:', error);
- reject(null);
- });
- });
-}
-```
-
-4. Uses FileReader to convert a Blob to a base64 string. Resolves the promise with the base64 string or rejects it in case of an error.
-
-```typescript
-function blobToBase64(blob : any) {
- return new Promise(function(resolve, reject) {
- var reader = new FileReader();
- reader.onload = function() {
- var base64String = reader.result ? reader.result.toString().split(',')[1] : '';
- resolve(base64String);
- };
- reader.onerror = function(error) {
- reject(error);
- };
- reader.readAsDataURL(blob);
- });
-}
-```
-
-[View sample in GitHub](https://github.com/SyncfusionExamples/open-save-pdf-documents-in-azure-blob-storage/tree/master/Open%20and%20Save%20PDF%20in%20Azure%20Blob%20Storage%20using%20Standalone).
-
-## Using Server-Backed PDF Viewer
-
-To load a PDF file from Azure Blob Storage in a PDF Viewer, you can follow the steps below
-
-**Step 1:** Create a Simple PDF Viewer Sample in JavaScript
-
-Start by following the steps provided in this [link](https://ej2.syncfusion.com/javascript/documentation/pdfviewer/getting-started) to create a simple PDF viewer sample in JavaScript. This will give you a basic setup of the PDF viewer component.
-
-**Step 2:** Modify the `PdfViewerController.cs` File in the Web Service Project
-
-1. Create a web service project in .NET Core 3.0 or above. You can refer to this [link](https://www.syncfusion.com/kb/11063/how-to-create-pdf-viewer-web-service-in-net-core-3-0-and-above) for instructions on how to create a web service project.
-
-2. Open the `PdfViewerController.cs` file in your web service project.
-
-3. Import the required namespaces at the top of the file:
-
-```csharp
-using System.IO;
-using Azure.Storage.Blobs;
-using Azure.Storage.Blobs.Specialized;
-```
-
-4. Add the following private fields and constructor parameters to the `PdfViewerController` 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 PdfViewerController(IConfiguration configuration, ILogger logger)
-{
- _storageConnectionString = configuration.GetValue("connectionString");
- _storageContainerName = configuration.GetValue("containerName");
- _logger = logger;
-}
-```
-
-5. Modify the [Load()](https://helpej2.syncfusion.com/documentation/api/pdfviewer/#load) method to load the PDF files from Azure Blob Storage
-
-```csharp
-
-[HttpPost("Load")]
-[Microsoft.AspNetCore.Cors.EnableCors("MyPolicy")]
-[Route("[controller]/Load")]
-//Post action for Loading the PDF documents
-
-public IActionResult Load([FromBody] Dictionary jsonObject)
-{
- PdfRenderer pdfviewer = new PdfRenderer(_cache);
- MemoryStream stream = new MemoryStream();
- object jsonResult = new object();
-
- if (jsonObject != null && jsonObject.ContainsKey("document"))
- {
- if (bool.TryParse(jsonObject["isFileName"], out bool isFileName) && isFileName)
- {
- BlobServiceClient blobServiceClient = new BlobServiceClient(_storageConnectionString);
- string fileName = jsonObject["document"];
- BlobContainerClient containerClient = blobServiceClient.GetBlobContainerClient(_storageContainerName);
- BlockBlobClient blockBlobClient = containerClient.GetBlockBlobClient(fileName);
- blockBlobClient.DownloadTo(stream);
- }
- else
- {
- byte[] bytes = Convert.FromBase64String(jsonObject["document"]);
- stream = new MemoryStream(bytes);
- }
- }
- jsonResult = pdfviewer.Load(stream, jsonObject);
- return Content(JsonConvert.SerializeObject(jsonResult));
-}
-```
-
-6. 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:** Set the PDF Viewer Properties in JavaScript PDF viewer component
-
-Modify the [serviceUrl](https://helpej2.syncfusion.com/documentation/api/pdfviewer/#serviceurl) property of the PDF viewer component with the accurate URL of your web service project, replacing `https://localhost:44396/pdfviewer` with the actual URL of your server. Set the `documentPath` property of the PDF viewer component to the desired name of the PDF file you wish to load from Azure Blob Storage. Ensure that you correctly pass the document name from the files available in your azure contanier to the documentPath property.
-
-```javascript
-
-import { PdfViewer, Toolbar, Magnification, Navigation, LinkAnnotation,ThumbnailView,
- BookmarkView, TextSelection, Annotation, FormFields, FormDesigner} from '@syncfusion/ej2-pdfviewer';
-
-PdfViewer.Inject( Toolbar,Magnification,Navigation, LinkAnnotation,ThumbnailView,
- BookmarkView, TextSelection, Annotation, FormFields, FormDesigner);
-
-let viewer: PdfViewer = new PdfViewer();
-// Replace the "localhost:44396" with the actual URL of your server
-viewer.serviceUrl = 'https://localhost:44396/pdfviewer';
-viewer.appendTo('#pdfViewer');
-viewer.load('PDF_Succinctly.pdf', null);
-
-```
-
-N> The **Azure.Storage.Blobs** NuGet package must be installed in your application to use the previous code example.
-
-[View sample in GitHub](https://github.com/SyncfusionExamples/open-save-pdf-documents-in-azure-blob-storage/tree/master/Open%20and%20Save%20PDF%20in%20Azure%20Blob%20Storage%20using%20Server-Backend).
\ No newline at end of file
diff --git a/ej2-javascript/pdfviewer/js/open-pdf-file/from-box-cloud-file-storage.md b/ej2-javascript/pdfviewer/js/open-pdf-file/from-box-cloud-file-storage.md
deleted file mode 100644
index 81ce17e9b..000000000
--- a/ej2-javascript/pdfviewer/js/open-pdf-file/from-box-cloud-file-storage.md
+++ /dev/null
@@ -1,156 +0,0 @@
----
-layout: post
-title: Open PDF files from Box cloud file storage in ##Platform_Name## Pdfviewer control | Syncfusion
-description: Learn about how to Open PDF files from Box cloud file storage in ##Platform_Name## Pdfviewer control of Syncfusion Essential JS 2 and more details.
-platform: ej2-javascript
-control: Open PDF files from Box cloud file storage
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Open PDF file from Box cloud file storage
-
-To load a PDF file from Box cloud file storage in a PDF Viewer, 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.
-
-**Step 2:** Create a Simple PDF Viewer Sample in JavaScript
-
-Start by following the steps provided in this [link](https://ej2.syncfusion.com/javascript/documentation/pdfviewer/getting-started) to create a simple PDF viewer sample in JavaScript. This will give you a basic setup of the PDF viewer component.
-
-**Step 3:** Modify the `PdfViewerController.cs` File in the Web Service Project
-
-1. Create a web service project in .NET Core 3.0 or above. You can refer to this [link](https://www.syncfusion.com/kb/11063/how-to-create-pdf-viewer-web-service-in-net-core-3-0-and-above) for instructions on how to create a web service project.
-
-2. Open the `PdfViewerController.cs` file in your web service project.
-
-3. 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;
-```
-
-4. Add the following private fields and constructor parameters to the `PdfViewerController` 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 PdfViewerController(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");
-}
-```
-
-5. Modify the [Load()](https://helpej2.syncfusion.com/documentation/api/pdfviewer/#load) method to load the PDF file from Box cloud file storage.
-
-```csharp
-[HttpPost("Load")]
-[Microsoft.AspNetCore.Cors.EnableCors("MyPolicy")]
-[Route("[controller]/Load")]
-//Post action for Loading the PDF documents
-
-public async Task Load([FromBody] Dictionary jsonObject)
-{
- //Initialize the PDF viewer object with memory cache object
- PdfRenderer pdfviewer = new PdfRenderer(_cache);
-
- MemoryStream stream = new MemoryStream();
- object jsonResult = new object();
- if (jsonObject != null && jsonObject.ContainsKey("document"))
- {
- if (bool.Parse(jsonObject["isFileName"]))
- {
- string objectName = jsonObject["document"];
-
- // 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;
- }
- else
- {
- byte[] bytes = Convert.FromBase64String(jsonObject["document"]);
- stream = new MemoryStream(bytes);
- }
- }
- jsonResult = pdfviewer.Load(stream, jsonObject);
- return Content(JsonConvert.SerializeObject(jsonResult));
-}
-```
-
-6. 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:** Set the PDF Viewer Properties in JavaScript PDF viewer component
-
-Modify the [serviceUrl](https://helpej2.syncfusion.com/documentation/api/pdfviewer/#serviceurl) property of the PDF viewer component with the accurate URL of your web service project, replacing `https://localhost:44396/pdfviewer` with the actual URL of your server. Set the `documentPath` property of the PDF viewer component to the desired name of the PDF file you wish to load from Box cloud file storage. Ensure that you correctly pass the document name from the files available in your box folder to the documentPath property.
-
-```javascript
-
-import { PdfViewer, Toolbar, Magnification, Navigation, LinkAnnotation,ThumbnailView,
- BookmarkView, TextSelection, Annotation, FormFields, FormDesigner} from '@syncfusion/ej2-pdfviewer';
-
-PdfViewer.Inject( Toolbar,Magnification,Navigation, LinkAnnotation,ThumbnailView,
- BookmarkView, TextSelection, Annotation, FormFields, FormDesigner);
-
-let viewer: PdfViewer = new PdfViewer();
-// Replace the "localhost:44396" with the actual URL of your server
-viewer.serviceUrl = 'https://localhost:44396/pdfviewer';
-viewer.appendTo('#pdfViewer');
-viewer.load('PDF_Succinctly.pdf', null);
-
-```
-
-N> The **Box.V2.Core** NuGet package must be installed in your application to use the previous code example.
-
-N> Replace `PDF_Succinctly.pdf` with the actual document name that you want to load from Box cloud file storage. Make sure to pass the document name from the box folder to the `documentPath` property of the PDF viewer component
-
-[View sample in GitHub](https://github.com/SyncfusionExamples/open-save-pdf-documents-in-box-cloud-file-storage)
\ No newline at end of file
diff --git a/ej2-javascript/pdfviewer/js/open-pdf-file/from-dropbox-cloud-file-storage.md b/ej2-javascript/pdfviewer/js/open-pdf-file/from-dropbox-cloud-file-storage.md
deleted file mode 100644
index 3aa50d618..000000000
--- a/ej2-javascript/pdfviewer/js/open-pdf-file/from-dropbox-cloud-file-storage.md
+++ /dev/null
@@ -1,194 +0,0 @@
----
-layout: post
-title: Open PDF from Dropbox cloud storage in ##Platform_Name## Pdfviewer | Syncfusion
-description: Learn about how to Open PDF files from Dropbox cloud file storage in ##Platform_Name## Pdfviewer control of Syncfusion Essential JS 2 and more details.
-platform: ej2-javascript
-control: Open PDF files from Dropbox cloud file storage
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Open PDF file from Dropbox cloud file storage
-
-PDF Viewer allows to load PDF file from Drop Box using either the Standalone or Server-backed PDF Viewer. Below are the steps and a sample to demonstrate how to open a PDF from Drop Box.
-
-## Using Standalone PDF Viewer
-
-To load a PDF file from Dropbox cloud file storage in a PDF Viewer, 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.
-
-**Step 2:** Create a Simple PDF Viewer Sample in JavaScript
-
-Start by following the steps provided in this [link](https://ej2.syncfusion.com/javascript/documentation/pdfviewer/getting-started) to create a simple PDF viewer sample in JavaScript. This will give you a basic setup of the PDF viewer component.
-
-**Step 3:** Modify the `src/app/app.ts` File in the Angular Project
-
-1. Import the required namespaces at the top of the file:
-
-```typescript
-import { Dropbox } from 'dropbox';
-```
-
-2. Create an instance of the Dropbox class using an access token for authentication. Next, call the filesDownload method of this Dropbox instance to download the file located at /PDF_Succinctly.pdf. Upon successfully downloading the file, extract the file blob from the response. Convert this file blob to a Base64 string using the blobToBase64 method. Finally, load the Base64 string into a PDF viewer control.
-
-N> Replace **Your Access Token** with the actual Access Token of your Drop Box account.
-
-```typescript
-pdfviewer.created = function () {
- let dbx = new Dropbox({ accessToken: 'Your Access Token' });
- dbx.filesDownload({ path: '/PDF_Succinctly.pdf' }).then(async (response) => {
- const blob = await (response.result as any).fileBlob;
- const base64String = await blobToBase64(blob);
- setTimeout(() => {
- pdfviewer.load(base64String, "");
- }, 2000);
- });
-}
-
-function blobToBase64(blob: Blob): Promise {
- return new Promise((resolve, reject) => {
- const reader = new FileReader();
- reader.readAsDataURL(blob);
- reader.onloadend = () => {
- resolve(reader.result as string);
- };
- });
-}
-```
-
-N> The **npm install dropbox** package must be installed in your application to use the previous code example.
-
-[View sample in GitHub](https://github.com/SyncfusionExamples/open-save-pdf-documents-in-dropbox-cloud-file-storage/tree/master/Open%20and%20Save%20PDF%20in%20Drop%20Box%20using%20Standalone)
-
-## Using Server-Backed PDF Viewer
-
-To load a PDF file from Dropbox cloud file storage in a PDF Viewer, 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.
-
-**Step 2:** Create a Simple PDF Viewer Sample in JavaScript
-
-Start by following the steps provided in this [link](https://ej2.syncfusion.com/javascript/documentation/pdfviewer/getting-started) to create a simple PDF viewer sample in JavaScript. This will give you a basic setup of the PDF viewer component.
-
-**Step 3:** Modify the `PdfViewerController.cs` File in the Web Service Project
-
-1. Create a web service project in .NET Core 3.0 or above. You can refer to this [link](https://www.syncfusion.com/kb/11063/how-to-create-pdf-viewer-web-service-in-net-core-3-0-and-above) for instructions on how to create a web service project.
-
-2. Open the `PdfViewerController.cs` file in your web service project.
-
-3. Import the required namespaces at the top of the file:
-
-```csharp
-using System.IO;
-using Dropbox.Api;
-using Dropbox.Api.Files;
-```
-
-4. Add the following private fields and constructor parameters to the `PdfViewerController` 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 PdfViewerController(IWebHostEnvironment hostingEnvironment, IMemoryCache cache, IConfiguration configuration)
-{
- _hostingEnvironment = hostingEnvironment;
- _cache = cache;
- _configuration = configuration;
- _accessToken = _configuration.GetValue("AccessToken");
- _folderName = _configuration.GetValue("FolderName");
-}
-```
-
-5. Modify the [Load()](https://helpej2.syncfusion.com/documentation/api/pdfviewer/#load) method to load the PDF files from Dropbox cloud file storage.
-
-```csharp
-
-[HttpPost("Load")]
-[Microsoft.AspNetCore.Cors.EnableCors("MyPolicy")]
-[Route("[controller]/Load")]
-//Post action for Loading the PDF documents
-
-public async Task Load([FromBody] Dictionary jsonObject)
-{
- //Initialize the PDF viewer object with memory cache object
- PdfRenderer pdfviewer = new PdfRenderer(_cache);
- MemoryStream stream = new MemoryStream();
- object jsonResult = new object();
- if (jsonObject != null && jsonObject.ContainsKey("document"))
- {
- if (bool.Parse(jsonObject["isFileName"]))
- {
- // Get the file name from the jsonObject, which should contain the Dropbox file name
- string fileName = jsonObject["document"];
-
- using (var dropBox = new DropboxClient(_accessToken))
- {
- using (var response = await dropBox.Files.DownloadAsync(_folderName + "/" + fileName))
- {
- var byteArray = await response.GetContentAsByteArrayAsync();
-
- // Load the PDF file into the PDF viewer
- stream = new MemoryStream(byteArray);
- }
- }
- }
- else
- {
- byte[] bytes = Convert.FromBase64String(jsonObject["document"]);
- stream = new MemoryStream(bytes);
- }
- }
- jsonResult = pdfviewer.Load(stream, jsonObject);
- return Content(JsonConvert.SerializeObject(jsonResult));
-}
-```
-
-6. 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:** Set the PDF Viewer Properties in JavaScript PDF viewer component
-
-Modify the [serviceUrl](https://helpej2.syncfusion.com/documentation/api/pdfviewer/#serviceurl) property of the PDF viewer component with the accurate URL of your web service project, replacing `https://localhost:44396/pdfviewer` with the actual URL of your server. Set the `documentPath` property of the PDF viewer component to the desired name of the PDF file you wish to load from Dropbox cloud file storage. Ensure that you correctly pass the document name from the files available in your dropbox folder to the documentPath property.
-
-```javascript
-
-import { PdfViewer, Toolbar, Magnification, Navigation, LinkAnnotation,ThumbnailView,
- BookmarkView, TextSelection, Annotation, FormFields, FormDesigner} from '@syncfusion/ej2-pdfviewer';
-
-PdfViewer.Inject( Toolbar,Magnification,Navigation, LinkAnnotation,ThumbnailView,
- BookmarkView, TextSelection, Annotation, FormFields, FormDesigner);
-
-let viewer: PdfViewer = new PdfViewer();
-// Replace the "localhost:44396" with the actual URL of your server
-viewer.serviceUrl = 'https://localhost:44396/pdfviewer';
-viewer.appendTo('#pdfViewer');
-viewer.load('PDF_Succinctly.pdf', null);
-
-```
-
-N> The **Dropbox.Api** NuGet package must be installed in your application to use the previous code example.
-
-[View sample in GitHub](https://github.com/SyncfusionExamples/open-save-pdf-documents-in-dropbox-cloud-file-storage/tree/master/Open%20and%20Save%20PDF%20in%20Drop%20Box%20using%20Server-Backed)
diff --git a/ej2-javascript/pdfviewer/js/open-pdf-file/from-google-cloud-storage.md b/ej2-javascript/pdfviewer/js/open-pdf-file/from-google-cloud-storage.md
deleted file mode 100644
index 3e2a51353..000000000
--- a/ej2-javascript/pdfviewer/js/open-pdf-file/from-google-cloud-storage.md
+++ /dev/null
@@ -1,139 +0,0 @@
----
-layout: post
-title: Open PDF files from Google Cloud Storage in ##Platform_Name## Pdfviewer control | Syncfusion
-description: Learn about how to Open PDF files from Google Cloud Storage in ##Platform_Name## Pdfviewer control of Syncfusion Essential JS 2 and more details.
-platform: ej2-javascript
-control: Open PDF files from Google Cloud Storage
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Open PDF file from Google Cloud Storage
-
-To load a PDF file from Google Cloud Storage in a PDF Viewer, you can follow the steps below
-
-**Step 1:** Create a Simple PDF Viewer Sample in JavaScript
-
-Start by following the steps provided in this [link](https://ej2.syncfusion.com/javascript/documentation/pdfviewer/getting-started) to create a simple PDF viewer sample in JavaScript. This will give you a basic setup of the PDF viewer component.
-
-**Step 2:** Modify the `PdfViewerController.cs` File in the Web Service Project
-
-1. Create a web service project in .NET Core 3.0 or above. You can refer to this [link](https://www.syncfusion.com/kb/11063/how-to-create-pdf-viewer-web-service-in-net-core-3-0-and-above) for instructions on how to create a web service project.
-
-2. Open the `PdfViewerController.cs` file in your web service project.
-
-3. Import the required namespaces at the top of the file:
-
-```csharp
-using System.IO;
-using Google.Cloud.Storage.V1;
-using Google.Apis.Auth.OAuth2;
-```
-
-4. Add the following private fields and constructor parameters to the `PdfViewerController` 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 PdfViewerController(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");
-}
-```
-
-5. Modify the [Load()](https://helpej2.syncfusion.com/documentation/api/pdfviewer/#load) method to load the PDF files from Google Cloud Storage.
-
-```csharp
-[HttpPost("Load")]
-[Microsoft.AspNetCore.Cors.EnableCors("MyPolicy")]
-[Route("[controller]/Load")]
-//Post action for Loading the PDF documents
-
-public IActionResult Load([FromBody] Dictionary jsonObject)
-{
- PdfRenderer pdfviewer = new PdfRenderer(_cache);
- MemoryStream stream = new MemoryStream();
- object jsonResult = new object();
-
- if (jsonObject != null && jsonObject.ContainsKey("document"))
- {
- if (bool.Parse(jsonObject["isFileName"]))
- {
- string bucketName = _bucketName;
- string objectName = jsonObject["document"];
- _storageClient.DownloadObject(bucketName, objectName, stream);
- stream.Position = 0;
- }
- else
- {
- byte[] bytes = Convert.FromBase64String(jsonObject["document"]);
- stream = new MemoryStream(bytes);
- }
- }
- jsonResult = pdfviewer.Load(stream, jsonObject);
- return Content(JsonConvert.SerializeObject(jsonResult));
-}
-```
-
-6. 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:** Set the PDF Viewer Properties in JavaScript PDF viewer component
-
-Modify the [serviceUrl](https://helpej2.syncfusion.com/documentation/api/pdfviewer/#serviceurl) property of the PDF viewer component with the accurate URL of your web service project, replacing `https://localhost:44396/pdfviewer` with the actual URL of your server. Set the `documentPath` property of the PDF viewer component to the desired name of the PDF file you wish to load from Google Cloud Storage. Ensure that you correctly pass the document name from the files available in your bucket to the documentPath property.
-
-```javascript
-
-import { PdfViewer, Toolbar, Magnification, Navigation, LinkAnnotation,ThumbnailView,
- BookmarkView, TextSelection, Annotation, FormFields, FormDesigner} from '@syncfusion/ej2-pdfviewer';
-
-PdfViewer.Inject( Toolbar,Magnification,Navigation, LinkAnnotation,ThumbnailView,
- BookmarkView, TextSelection, Annotation, FormFields, FormDesigner);
-
-let viewer: PdfViewer = new PdfViewer();
-// Replace the "localhost:44396" with the actual URL of your server
-viewer.serviceUrl = 'https://localhost:44396/pdfviewer';
-viewer.appendTo('#pdfViewer');
-viewer.load('PDF_Succinctly.pdf', null);
-
-```
-
-N> The **Google.Cloud.Storage.V1** NuGet package must be installed in your application to use the previous code example.
-
-[View sample in GitHub](https://github.com/SyncfusionExamples/open-save-pdf-documents-in-google-cloud-storage)
\ No newline at end of file
diff --git a/ej2-javascript/pdfviewer/js/open-pdf-file/from-google-drive.md b/ej2-javascript/pdfviewer/js/open-pdf-file/from-google-drive.md
deleted file mode 100644
index 5550a9a11..000000000
--- a/ej2-javascript/pdfviewer/js/open-pdf-file/from-google-drive.md
+++ /dev/null
@@ -1,172 +0,0 @@
----
-layout: post
-title: Open PDF files from Google Drive in ##Platform_Name## Pdfviewer control | Syncfusion
-description: Learn about how to Open PDF files from Google Drive in ##Platform_Name## Pdfviewer control of Syncfusion Essential JS 2 and more details.
-platform: ej2-javascript
-control: Open PDF files from Google Drive
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Open PDF file from Google Drive
-
-To load a PDF file from Google Drive in a PDF Viewer, 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).
-
-**Step 2:** Create a Simple PDF Viewer Sample in JavaScript
-
-Start by following the steps provided in this [link](https://ej2.syncfusion.com/javascript/documentation/pdfviewer/getting-started) to create a simple PDF viewer sample in JavaScript. This will give you a basic setup of the PDF viewer component.
-
-**Step 3:** Modify the `PdfViewerController.cs` File in the Web Service Project
-
-1. Create a web service project in .NET Core 3.0 or above. You can refer to this [link](https://www.syncfusion.com/kb/11063/how-to-create-pdf-viewer-web-service-in-net-core-3-0-and-above) for instructions on how to create a web service project.
-
-2. Open the `PdfViewerController.cs` file in your web service project.
-
-3. Import the required namespaces at the top of the file:
-
-```csharp
-using System.IO;
-using Google.Apis.Drive.v3;
-using Google.Apis.Util.Store;
-```
-
-4. Add the following private fields and constructor parameters to the `PdfViewerController` 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 PdfViewerController(IWebHostEnvironment hostingEnvironment, IMemoryCache cache, IConfiguration configuration)
-{
- _hostingEnvironment = hostingEnvironment;
- _cache = cache;
- _configuration = configuration;
- folderId = _configuration.GetValue("FolderId");
- credentialPath = _configuration.GetValue("CredentialPath");
- applicationName = _configuration.GetValue("ApplicationName");
-}
-```
-
-5. Modify the [Load()](https://helpej2.syncfusion.com/documentation/api/pdfviewer/#load) method to load the PDF file from Google Drive.
-
-```csharp
-[HttpPost("Load")]
-[Microsoft.AspNetCore.Cors.EnableCors("MyPolicy")]
-[Route("[controller]/Load")]
-//Post action for Loading the PDF documents
-public async Task Load([FromBody] Dictionary jsonObject)
-{
- //Initialize the PDF viewer object with memory cache object
- PdfRenderer pdfviewer = new PdfRenderer(_cache);
- MemoryStream stream = new MemoryStream();
- object jsonResult = new object();
-
- if (jsonObject != null && jsonObject.ContainsKey("document"))
- {
- if (bool.Parse(jsonObject["isFileName"]))
- {
- string objectName = jsonObject["document"];
-
- 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 PDF files in Google Drive
- listRequest.Q = "mimeType='application/pdf' 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;
- }
- else
- {
- byte[] bytes = Convert.FromBase64String(jsonObject["document"]);
- stream = new MemoryStream(bytes);
- }
- }
- jsonResult = pdfviewer.Load(stream, jsonObject);
- return Content(JsonConvert.SerializeObject(jsonResult));
-}
-```
-
-6. 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:** Set the PDF Viewer Properties in JavaScript PDF viewer component
-
-Modify the [serviceUrl](https://helpej2.syncfusion.com/documentation/api/pdfviewer/#serviceurl) property of the PDF viewer component with the accurate URL of your web service project, replacing `https://localhost:44396/pdfviewer` with the actual URL of your server. Set the `documentPath` property of the PDF viewer component to the desired name of the PDF file you wish to load from Google Drive. Ensure that you correctly pass the document name from the files available in your drive folder to the documentPath property.
-
-```javascript
-
-import { PdfViewer, Toolbar, Magnification, Navigation, LinkAnnotation,ThumbnailView,
- BookmarkView, TextSelection, Annotation, FormFields, FormDesigner} from '@syncfusion/ej2-pdfviewer';
-
-PdfViewer.Inject( Toolbar,Magnification,Navigation, LinkAnnotation,ThumbnailView,
- BookmarkView, TextSelection, Annotation, FormFields, FormDesigner);
-
-let viewer: PdfViewer = new PdfViewer();
-// Replace the "localhost:44309" with the actual URL of your server
-viewer.serviceUrl = 'https://localhost:44396/pdfviewer';
-viewer.appendTo('#pdfViewer');
-viewer.load('PDF_Succinctly.pdf', null);
-
-```
-
-N> The **Google.Apis.Drive.v3** NuGet package must be installed in your application to use the previous code example.
-
-[View sample in GitHub](https://github.com/SyncfusionExamples/open-save-pdf-documents-in-google-drive)
\ No newline at end of file
diff --git a/ej2-javascript/pdfviewer/js/open-pdf-file/from-one-drive.md b/ej2-javascript/pdfviewer/js/open-pdf-file/from-one-drive.md
deleted file mode 100644
index c7932c011..000000000
--- a/ej2-javascript/pdfviewer/js/open-pdf-file/from-one-drive.md
+++ /dev/null
@@ -1,174 +0,0 @@
----
-layout: post
-title: Open PDF files from One Drive in ##Platform_Name## Pdfviewer control | Syncfusion
-description: Learn about how to Open PDF files from One Drive in ##Platform_Name## Pdfviewer control of Syncfusion Essential JS 2 and more details.
-platform: ej2-javascript
-control: Open PDF files from One Drive
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Open PDF file from One Drive
-
-To load a PDF file from One Drive in a PDF Viewer, 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.
-
-**Step 2:** Create a Simple PDF Viewer Sample in JavaScript
-
-Start by following the steps provided in this [link](https://ej2.syncfusion.com/javascript/documentation/pdfviewer/getting-started) to create a simple PDF viewer sample in JavaScript. This will give you a basic setup of the PDF viewer component.
-
-**Step 3:** Modify the `PdfViewerController.cs` File in the Web Service Project
-
-1. Create a web service project in .NET Core 3.0 or above. You can refer to this [link](https://www.syncfusion.com/kb/11063/how-to-create-pdf-viewer-web-service-in-net-core-3-0-and-above) for instructions on how to create a web service project.
-
-2. Open the `PdfViewerController.cs` file in your web service project.
-
-3. Import the required namespaces at the top of the file:
-
-```csharp
-using System.IO;
-using Microsoft.Graph;
-using Microsoft.Identity.Client;
-using Helpers;
-```
-
-4. Add the following private fields and constructor parameters to the `PdfViewerController` 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 PdfViewerController(IWebHostEnvironment hostingEnvironment, IMemoryCache cache, IConfiguration configuration)
-{
- _hostingEnvironment = hostingEnvironment;
- _cache = cache;
- _configuration = configuration;
- folderName = _configuration.GetValue("FolderName");
- tenantId = _configuration.GetValue("TenantId");
- applicationId = _configuration.GetValue("ApplicationId");
-}
-```
-
-5. Modify the [Load()](https://helpej2.syncfusion.com/documentation/api/pdfviewer/#load) method to load the PDF file from One Drive.
-
-```csharp
-[HttpPost("Load")]
-[Microsoft.AspNetCore.Cors.EnableCors("MyPolicy")]
-[Route("[controller]/Load")]
-//Post action for Loading the PDF documents
-
-public async Task Load([FromBody] Dictionary jsonObject)
-{
- // Initialize the PDF viewer object with memory cache object
- PdfRenderer pdfviewer = new PdfRenderer(_cache);
- MemoryStream stream = new MemoryStream();
- object jsonResult = new object();
- if (jsonObject != null && jsonObject.ContainsKey("document"))
- {
- if (bool.Parse(jsonObject["isFileName"]))
- {
- string objectName = jsonObject["document"];
- 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);
- }
- }
- }
- else
- {
- byte[] bytes = Convert.FromBase64String(jsonObject["document"]);
- stream = new MemoryStream(bytes);
- }
- }
- jsonResult = pdfviewer.Load(stream, jsonObject);
- return Content(JsonConvert.SerializeObject(jsonResult));
-}
-```
-
-6. 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:** Set the PDF Viewer Properties in JavaScript PDF viewer component
-
-Modify the [serviceUrl](https://helpej2.syncfusion.com/documentation/api/pdfviewer/#serviceurl) property of the PDF viewer component with the accurate URL of your web service project, replacing `https://localhost:44396/pdfviewer` with the actual URL of your server. Set the `documentPath` property of the PDF viewer component to the desired name of the PDF file you wish to load from One Drive. Ensure that you correctly pass the document name from the files available in your drive folder to the documentPath property.
-
-```javascript
-
-import { PdfViewer, Toolbar, Magnification, Navigation, LinkAnnotation,ThumbnailView,
- BookmarkView, TextSelection, Annotation, FormFields, FormDesigner} from '@syncfusion/ej2-pdfviewer';
-
-PdfViewer.Inject( Toolbar,Magnification,Navigation, LinkAnnotation,ThumbnailView,
- BookmarkView, TextSelection, Annotation, FormFields, FormDesigner);
-
-let viewer: PdfViewer = new PdfViewer();
-// Replace the "localhost:44309" with the actual URL of your server
-viewer.serviceUrl = 'https://localhost:44396/pdfviewer';
-viewer.appendTo('#pdfViewer');
-viewer.load('PDF_Succinctly.pdf', null);
-
-```
-
-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.
-
-[View sample in GitHub](https://github.com/SyncfusionExamples/open-save-pdf-documents-in-one-drive)
\ No newline at end of file
diff --git a/ej2-javascript/pdfviewer/js/open-pdf-files.md b/ej2-javascript/pdfviewer/js/open-pdf-files.md
deleted file mode 100644
index 7b72dd119..000000000
--- a/ej2-javascript/pdfviewer/js/open-pdf-files.md
+++ /dev/null
@@ -1,231 +0,0 @@
----
-layout: post
-title: Open PDF files ##Platform_Name## Pdfviewer control | Syncfusion
-description: This page helps you to learn about how to load PDF files from various locations in Syncfusion ##Platform_Name## Pdfviewer control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: Open PDF files
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Open PDF files
-
-You might need to open and view the PDF files from various location. In this section, you can find the information about how to open PDF files from URL, database and as base64 string.
-
-## Opening a PDF from URL
-
-If you have your PDF files in the web, you can open it in the viewer using URL.
-
-**Step 1:** Create a Simple PDF Viewer Sample in JavaScript
-
-Start by following the steps provided in this [link](https://ej2.syncfusion.com/javascript/documentation/pdfviewer/getting-started) to create a simple PDF viewer sample in JavaScript. This will give you a basic setup of the PDF viewer component.
-
-**Step 2:** Modify the `PdfViewerController.cs` File in the Web Service Project
-
-1. Create a web service project in .NET Core 3.0 or above. You can refer to this [link](https://www.syncfusion.com/kb/11063/how-to-create-pdf-viewer-web-service-in-net-core-3-0-and-above) for instructions on how to create a web service project.
-
-2. Open the `PdfViewerController.cs` file in your web service project.
-
-3. Modify the [Load()](https://helpej2.syncfusion.com/documentation/api/pdfviewer/#load) method to open it in the viewer using URL
-
-```csharp
-
-public IActionResult Load([FromBody] Dictionary jsonData)
-{
- // Initialize the PDF viewer object with memory cache object
- PdfRenderer pdfviewer = new PdfRenderer(_cache);
- MemoryStream stream = new MemoryStream();
- object jsonResult = new object();
-
- if (jsonObject != null && jsonObject.ContainsKey("document"))
- {
- if (bool.Parse(jsonObject["isFileName"]))
- {
- string documentPath = GetDocumentPath(jsonData["document"]);
- if (!string.IsNullOrEmpty(documentPath))
- {
- byte[] bytes = System.IO.File.ReadAllBytes(documentPath);
- stream = new MemoryStream(bytes);
- }
- else
- {
- string fileName = jsonData["document"].Split(new string[] { "://" }, StringSplitOptions.None)[0];
- if (fileName == "http" || fileName == "https")
- {
- WebClient WebClient = new WebClient();
- byte[] pdfDoc = WebClient.DownloadData(jsonData["document"]);
- stream = new MemoryStream(pdfDoc);
- }
- else
- {
- return this.Content(jsonData["document"] + " is not found");
- }
- }
- }
- else
- {
- byte[] bytes = Convert.FromBase64String(jsonObject["document"]);
- stream = new MemoryStream(bytes);
- }
- }
- jsonResult = pdfviewer.Load(stream, jsonObject);
- return Content(JsonConvert.SerializeObject(jsonResult));
-}
-
-```
-
-**Step 3:** Set the PDF Viewer Properties in React PDF viewer component
-
-Modify the [serviceUrl](https://helpej2.syncfusion.com/documentation/api/pdfviewer/#serviceurl) property of the PDF viewer component with the accurate URL of your web service project, replacing `https://localhost:44396/pdfviewer` with the actual URL of your server.Modify the documentPath with the correct PDF Document URL want to load.
-
-```javascript
-
-import { PdfViewer, Toolbar, Magnification, Navigation, LinkAnnotation,ThumbnailView,
- BookmarkView, TextSelection, Annotation, FormFields, FormDesigner} from '@syncfusion/ej2-pdfviewer';
-
-PdfViewer.Inject( Toolbar,Magnification,Navigation, LinkAnnotation,ThumbnailView,
- BookmarkView, TextSelection, Annotation, FormFields, FormDesigner);
-
-let viewer: PdfViewer = new PdfViewer();
-// Replace correct PDF Document URL want to load
-viewer.documentPath="https://cdn.syncfusion.com/content/PDFViewer/flutter-succinctly.pdf"
-// Replace the "localhost:44396" with the actual URL of your server
-viewer.serviceUrl = 'https://localhost:44396/pdfviewer';
-viewer.appendTo('#pdfViewer');
-
-```
-
-[View sample in GitHub](https://github.com/SyncfusionExamples/javascript-pdf-viewer-examples/tree/master/Save%20and%20Load/Load%20PDF%20file%20from%20URL)
-
-## Opening a PDF from base64 data
-
-The following steps explains how the PDF file can be loaded in PDF Viewer as base64 string.
-
-**Step 1:** Create a Simple PDF Viewer Sample in Angular
-
-Start by following the steps provided in this [link](https://ej2.syncfusion.com/angular/documentation/pdfviewer/getting-started) to create a simple PDF viewer sample in Angular. This will give you a basic setup of the PDF viewer component.
-
-**Step 2:** Use the following code snippet to load PDF document using base64 string.
-
-```
-
-```
-
-```javascript
-// Load PDF document from Base64 string
-document.getElementById('load').addEventListener('click', () => {
- viewer.load(
- 'data:application/pdf;base64,'+ AddBase64String, null);
-}
-```
-[View sample in GitHub](https://github.com/SyncfusionExamples/javascript-pdf-viewer-examples/tree/master/Save%20and%20Load/Load%20PDF%20file%20from%20base64%20string/Web%20Service)
-
-## Opening a PDF from database
-
-To load a PDF file from SQL Server database in a PDF Viewer, you can follow the steps below
-
-**Step 1:** Create a Simple PDF Viewer Sample in JavaScript
-
-Start by following the steps provided in this [link](https://ej2.syncfusion.com/javascript/documentation/pdfviewer/getting-started) to create a simple PDF viewer sample in JavaScript. This will give you a basic setup of the PDF viewer component.
-
-**Step 2:** Modify the `PdfViewerController.cs` File in the Web Service Project
-
-1. Create a web service project in .NET Core 3.0 or above. You can refer to this [link](https://www.syncfusion.com/kb/11063/how-to-create-pdf-viewer-web-service-in-net-core-3-0-and-above) for instructions on how to create a web service project.
-
-2. Open the `PdfViewerController.cs` file in your web service project.
-
-3. Import the required namespaces at the top of the file:
-
-```csharp
-using System.IO;
-using System.Data.SqlClient;
-```
-
-4. Add the following private fields and constructor parameters to the `PdfViewerController` class, In the constructor, assign the values from the configuration to the corresponding fields
-
-```csharp
-private IConfiguration _configuration;
-public readonly string _connectionString;
-
-public PdfViewerController(IWebHostEnvironment hostingEnvironment, IMemoryCache cache, IConfiguration configuration)
-{
- _hostingEnvironment = hostingEnvironment;
- _cache = cache;
- _configuration = configuration;
- _connectionString = _configuration.GetValue("ConnectionString");
-}
-```
-
-5. Modify the [Load()](https://helpej2.syncfusion.com/documentation/api/pdfviewer/#load) method to open it in the viewer using URL
-
-```csharp
-
-public IActionResult Load([FromBody] Dictionary jsonData)
-{
- // Initialize the PDF viewer object with memory cache object
- PdfRenderer pdfviewer = new PdfRenderer(_cache);
- MemoryStream stream = new MemoryStream();
- object jsonResult = new object();
-
- if (jsonObject != null && jsonObject.ContainsKey("document"))
- {
- if (bool.Parse(jsonObject["isFileName"]))
- {
- string documentPath = GetDocumentPath(jsonData["document"]);
- if (!string.IsNullOrEmpty(documentPath))
- {
- byte[] bytes = System.IO.File.ReadAllBytes(documentPath);
- stream = new MemoryStream(bytes);
- }
- string documentName = jsonObject["document"];
-
- string connectionString = _connectionString;
- System.Data.SqlClient.SqlConnection connection = new System.Data.SqlClient.SqlConnection(connectionString);
-
- //Searches for the PDF document from the database
- string query = "SELECT FileData FROM Table WHERE FileName = '" + documentName + "'";
- System.Data.SqlClient.SqlCommand command = new System.Data.SqlClient.SqlCommand(query, connection);
- connection.Open();
-
- using (SqlDataReader reader = command.ExecuteReader())
- {
- if (reader.Read())
- {
- byte[] byteArray = (byte[])reader["FileData"];
- stream = new MemoryStream(byteArray);
- }
- }
- }
- else
- {
- byte[] bytes = Convert.FromBase64String(jsonObject["document"]);
- stream = new MemoryStream(bytes);
- }
- }
- jsonResult = pdfviewer.Load(stream, jsonObject);
- return Content(JsonConvert.SerializeObject(jsonResult));
-}
-
-```
-
-6. 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 for SQL server"
-}
-```
-
-N> Replace **Your Connection string from SQL server** with the actual connection string for your SQL Server database
-
-N> The **System.Data.SqlClient** package must be installed in your application to use the previous code example. You need to modify the connectionString variable in the previous code example as per the connection string of your database.
-
-[View sample in GitHub](https://github.com/SyncfusionExamples/open-save-pdf-documents-in-database)
\ No newline at end of file
diff --git a/ej2-javascript/pdfviewer/js/organize-pdf.md b/ej2-javascript/pdfviewer/js/organize-pdf.md
deleted file mode 100644
index 5dbbff5c9..000000000
--- a/ej2-javascript/pdfviewer/js/organize-pdf.md
+++ /dev/null
@@ -1,225 +0,0 @@
----
-layout: post
-title: Organize Pages in ##Platform_Name## PDF Viewer control | Syncfusion
-description: Learn here all about Organize Pages in Syncfusion ##Platform_Name## PDF Viewer control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: PDF Viewer
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Organize Pages in ##Platform_Name## PDF Viewer control
-
-The PDF Viewer allows you to manage your PDF documents efficiently by organizing pages seamlessly. Whether you need to add new pages, remove unnecessary ones, rotate pages, move pages within the document, and copy or duplicate pages, the PDF Viewer facilitates these tasks effortlessly.
-
-## Getting started
-
-To access the organize pages feature, simply open the PDF document in the PDF Viewer and navigate to the left vertical toolbar. Look for the [Organize Pages](https://helpej2.syncfusion.com/documentation/api/pdfviewer/pageOrganizerSettingsModel/) option to begin utilizing these capabilities.
-
-
-
-The page organization support enables you to perform various actions such as rotating, rearranging, inserting, copying, and deleting pages within a PDF document using organize pages dialog.
-
-### Rotating PDF pages
-
-You can adjust the orientation of PDF pages to ensure proper alignment. The rotate icon offers the following options:
-
-* `Rotate clockwise`: Rotate the selected pages 90 degrees clockwise.
-* `Rotate counter-clockwise`: Rotate the selected pages 90 degrees counter-clockwise.
-
-### Rearranging PDF pages
-
-You can easily change the sequence of pages within your document using the drag and drop method:
-
-* `Drag and drop`: Click and drag a page thumbnail to the desired position within the document, then release it to rearrange the page order.
-
-
-
-### Inserting new pages
-
-Effortlessly add new pages to your document with the following options:
-
-* `Insert blank page left`: Insert a blank page to the left of the selected page using the respective icon.
-* `Insert blank page right`: Insert a blank page to the right of the selected page using the corresponding icon.
-
-### Deleting PDF pages
-
-Removing unwanted pages from your document is straight forward:
-
-* `Select pages to delete`: Click on the page thumbnails you wish to remove. You can select multiple pages at once.
-* `Delete selected pages`: Use the delete option in the organize pages pane to remove the selected pages from the document.
-
-### Copying PDF pages
-
-Duplicate the pages within your PDF document effortlessly:
-
-* `Select pages to copy`: Click on the page thumbnails you wish to duplicate. Use the copy option to create duplicates. When a page is copied, the duplicate is automatically added to the right of the selected page. Multiple copies can be made using the toolbar action.
-
-
-
-### Importing a PDF Document
-
-Seamlessly import a PDF document into your existing document:
-
-* `Import PDF document`: Click the **Import Document** button to import a PDF. If a page is selected, the imported document’s thumbnail will be inserted to the right of the selected page. If multiple or no pages are selected, the thumbnail will be added as the first page. When **Save** or **Save As** is clicked, the imported PDF will be merged with the current document. You can insert a blank page to the left or right of the imported thumbnail, delete it, or drag and drop it to reposition as needed.
-
-
-
-### Selecting all pages
-
-Make comprehensive adjustments by selecting all pages simultaneously. This facilitates efficient editing and formatting across the entire document.
-
-
-
-### Zooming Page Thumbnails
-
-Adjust the size of page thumbnails within the organizer panel for better visibility and precision when editing. The zoom functionality allows you to:
-
-* Increase or decrease the size of page thumbnails using the zoom slider
-* See more details on pages when zoomed in
-* View more pages simultaneously when zoomed out
-
-This feature is especially useful when working with documents containing complex layouts or small details that need careful examination during organization.
-
-
-
-### Real-time updates
-
-Witness instant changes in page organization reflected within the PDF Viewer. Simply click the **Save** button to preserve your modifications.
-
-### SaveAs functionality
-
-Safeguard your edits by utilizing the **Save As** feature. This enables you to download the modified version of the PDF document for future reference, ensuring that your changes are securely stored.
-
-## API's supported
-
-**enablePageOrganizer:** This API enables or disables the page organizer feature in the PDF Viewer. By default, it is set to `true`, indicating that the page organizer is enabled.
-
-{% tabs %}
-{% highlight ts tabtitle="Standalone" %}
-
-var pdfviewer = new ej.pdfviewer.PdfViewer({
- documentPath: "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf",
- resourceUrl : "https://cdn.syncfusion.com/ej2/25.1.35/dist/ej2-pdfviewer-lib",
- enablePageOrganizer : true
- });
-ej.pdfviewer.PdfViewer.Inject(ej.pdfviewer.TextSelection, ej.pdfviewer.TextSearch, ej.pdfviewer.Print, ej.pdfviewer.Navigation, ej.pdfviewer.Toolbar,
- ej.pdfviewer.Magnification, ej.pdfviewer.Annotation, ej.pdfviewer.FormDesigner, ej.pdfviewer.FormFields, ej.pdfviewer.PageOrganizer);
-pdfviewer.appendTo('#PdfViewer');
-
-{% endhighlight %}
-{% highlight ts tabtitle="Server-Backed" %}
-
-var pdfviewer = new ej.pdfviewer.PdfViewer({
- documentPath: "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf",
- serviceUrl: 'https://services.syncfusion.com/js/production/api/pdfviewer',
- enablePageOrganizer : true
- });
-ej.pdfviewer.PdfViewer.Inject(ej.pdfviewer.TextSelection, ej.pdfviewer.TextSearch, ej.pdfviewer.Print, ej.pdfviewer.Navigation, ej.pdfviewer.Toolbar,
- ej.pdfviewer.Magnification, ej.pdfviewer.Annotation, ej.pdfviewer.FormDesigner, ej.pdfviewer.FormFields, ej.pdfviewer.PageOrganizer);
-pdfviewer.appendTo('#PdfViewer');
-
-{% endhighlight %}
-{% endtabs %}
-
-**isPageOrganizerOpen:** This API determines whether the page organizer dialog will be displayed automatically when a document is loaded into the PDF Viewer. By default, it is set to `false`, meaning the dialog is not displayed initially.
-
-{% tabs %}
-{% highlight ts tabtitle="Standalone" %}
-
-var pdfviewer = new ej.pdfviewer.PdfViewer({
- documentPath: "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf",
- resourceUrl : "https://cdn.syncfusion.com/ej2/25.1.35/dist/ej2-pdfviewer-lib",
- isPageOrganizerOpen : true
- });
-ej.pdfviewer.PdfViewer.Inject(ej.pdfviewer.TextSelection, ej.pdfviewer.TextSearch, ej.pdfviewer.Print, ej.pdfviewer.Navigation, ej.pdfviewer.Toolbar,
- ej.pdfviewer.Magnification, ej.pdfviewer.Annotation, ej.pdfviewer.FormDesigner, ej.pdfviewer.FormFields, ej.pdfviewer.PageOrganizer);
-pdfviewer.appendTo('#PdfViewer');
-
-{% endhighlight %}
-{% highlight ts tabtitle="Server-Backed" %}
-
-var pdfviewer = new ej.pdfviewer.PdfViewer({
- documentPath: "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf",
- serviceUrl: 'https://services.syncfusion.com/js/production/api/pdfviewer',
- isPageOrganizerOpen : true
- });
-ej.pdfviewer.PdfViewer.Inject(ej.pdfviewer.TextSelection, ej.pdfviewer.TextSearch, ej.pdfviewer.Print, ej.pdfviewer.Navigation, ej.pdfviewer.Toolbar,
- ej.pdfviewer.Magnification, ej.pdfviewer.Annotation, ej.pdfviewer.FormDesigner, ej.pdfviewer.FormFields, ej.pdfviewer.PageOrganizer);
-pdfviewer.appendTo('#PdfViewer');
-
-{% endhighlight %}
-{% endtabs %}
-
-**pageOrganizerSettings:** This API allows control over various page management functionalities within the PDF Viewer. It includes options to enable or disable actions such as deleting, inserting, rotating, copying, importing and rearranging pages, as well as configuring thumbnail zoom settings. By default, all these actions are enabled and standard zoom settings are applied.
-
-{% tabs %}
-{% highlight ts tabtitle="Standalone" %}
-
-var pdfviewer = new ej.pdfviewer.PdfViewer({
- documentPath: "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf",
- resourceUrl : "https://cdn.syncfusion.com/ej2/25.1.35/dist/ej2-pdfviewer-lib",
- pageOrganizerSettings : {canDelete: true, canInsert: true, canRotate: true, canCopy: true, canRearrange: true, canImport: true, imageZoom: 1, showImageZoomingSlider: true, imageZoomMin: 1, imageZoomMax: 5}
- });
-ej.pdfviewer.PdfViewer.Inject(ej.pdfviewer.TextSelection, ej.pdfviewer.TextSearch, ej.pdfviewer.Print, ej.pdfviewer.Navigation, ej.pdfviewer.Toolbar,
- ej.pdfviewer.Magnification, ej.pdfviewer.Annotation, ej.pdfviewer.FormDesigner, ej.pdfviewer.FormFields, ej.pdfviewer.PageOrganizer);
-pdfviewer.appendTo('#PdfViewer');
-
-{% endhighlight %}
-{% highlight ts tabtitle="Server-Backed" %}
-
-var pdfviewer = new ej.pdfviewer.PdfViewer({
- documentPath: "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf",
- serviceUrl: 'https://services.syncfusion.com/js/production/api/pdfviewer',
- pageOrganizerSettings : {canDelete: true, canInsert: true, canRotate: true, canCopy: true, canRearrange: true, canImport: true, imageZoom: 1, showImageZoomingSlider: true, imageZoomMin: 1, imageZoomMax: 5}
- });
-ej.pdfviewer.PdfViewer.Inject(ej.pdfviewer.TextSelection, ej.pdfviewer.TextSearch, ej.pdfviewer.Print, ej.pdfviewer.Navigation, ej.pdfviewer.Toolbar,
- ej.pdfviewer.Magnification, ej.pdfviewer.Annotation, ej.pdfviewer.FormDesigner, ej.pdfviewer.FormFields, ej.pdfviewer.PageOrganizer);
-pdfviewer.appendTo('#PdfViewer');
-
-{% endhighlight %}
-{% endtabs %}
-
-**openPageOrganizer:** This API opens the page organizer dialog within the PDF Viewer, providing access to manage PDF pages.
-
-```html
-
-```
-
-```ts
-document.getElementById('openPageOrganizer').addEventListener('click', function () {
- // Open Page Organizer panel.
- viewer.pageOrganizer.openPageOrganizer();;
-});
-
-```
-
-**closePageOrganizer:** This API closes the currently open page organizer dialog within the PDF Viewer, if it is present. It allows users to dismiss the dialog when done with page organization tasks.
-
-```html
-
-```
-
-```ts
-document.getElementById('closePageOrganizer').addEventListener('click', function () {
- // Close Page Organizer panel.
- viewer.pageOrganizer.closePageOrganizer();
-});
-```
-
-## Keyboard shortcuts
-
-The following keyboard shortcuts are available at the organize pages dialog.
-
-* **Ctrl+Z** : Undo the last action performed.
-* **Ctrl+Y** : Redo the action that was undone
-* **Ctrl+Scroll** : Zoom in and zoom out page thumbnails for better visibility.
-
-
-
-#### Conclusion
-
-With the Organize Pages feature in the PDF Viewer, managing your PDF documents has never been easier. Whether you are adding new content, adjusting page orientation, moving the pages, duplicating the pages, or removing unnecessary pages, this feature provides the tools you need to streamline your document management workflow. Explore these capabilities today and take control of your PDF documents with ease!
-
-[View sample in GitHub](https://github.com/SyncfusionExamples/javascript-pdf-viewer-examples/tree/master/How%20to/Organize%20pdf)
\ No newline at end of file
diff --git a/ej2-javascript/pdfviewer/js/print.md b/ej2-javascript/pdfviewer/js/print.md
deleted file mode 100644
index 873b97b4e..000000000
--- a/ej2-javascript/pdfviewer/js/print.md
+++ /dev/null
@@ -1,146 +0,0 @@
----
-layout: post
-title: Print in ##Platform_Name## Pdfviewer control | Syncfusion
-description: Learn here all about Print in Syncfusion ##Platform_Name## Pdfviewer control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: Print
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-# Print in ##Platform_Name## Pdfviewer control
-
-The PDF Viewer supports printing the loaded PDF file. You can enable/disable the print using the following code snippet.
-
-```html
-{% raw %}
-
-
-
-Essential JS 2
-
-
-
-
-
-
-
-
-
-
-
-
-
-{% endraw %}
-```
-
-{% tabs %}
-{% highlight js tabtitle="Standalone" %}
-
-var pdfviewer = new ej.pdfviewer.PdfViewer({
- enablePrint: true,
- documentPath: "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf",
- });
-ej.pdfviewer.PdfViewer.Inject(ej.pdfviewer.Toolbar, ej.pdfviewer.Magnification, ej.pdfviewer.LinkAnnotation,ej.pdfviewer.ThumbnailView, ej.pdfviewer.BookmarkView, ej.pdfviewer.TextSelection, ej.pdfviewer.TextSearch, ej.pdfviewer.Navigation, ej.pdfviewer.Print);
-pdfviewer.appendTo('#PdfViewer');
-
-{% endhighlight %}
-{% highlight js tabtitle="Server-Backed" %}
-
-var pdfviewer = new ej.pdfviewer.PdfViewer({
- enablePrint: true,
- documentPath: "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf",
- serviceUrl: 'https://services.syncfusion.com/js/production/api/pdfviewer'
- });
-ej.pdfviewer.PdfViewer.Inject(ej.pdfviewer.Toolbar, ej.pdfviewer.Magnification, ej.pdfviewer.LinkAnnotation,ej.pdfviewer.ThumbnailView, ej.pdfviewer.BookmarkView, ej.pdfviewer.TextSelection, ej.pdfviewer.TextSearch, ej.pdfviewer.Navigation, ej.pdfviewer.Print);
-pdfviewer.appendTo('#PdfViewer');
-
-{% endhighlight %}
-{% endtabs %}
-
-
-
-You can invoke print action using the following code snippet.,
-
-```
-
-
-```
-
-{% tabs %}
-{% highlight js tabtitle="Standalone" %}
-
-var pdfviewer = new ej.pdfviewer.PdfViewer({
- enablePrint: true,
- documentPath: "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf",
- });
-ej.pdfviewer.PdfViewer.Inject(ej.pdfviewer.Toolbar, ej.pdfviewer.Magnification, ej.pdfviewer.LinkAnnotation,ej.pdfviewer.ThumbnailView, ej.pdfviewer.BookmarkView, ej.pdfviewer.TextSelection, ej.pdfviewer.TextSearch, ej.pdfviewer.Navigation, ej.pdfviewer.Print);
-pdfviewer.appendTo('#PdfViewer');
-
-document.getElementById('print').addEventListener('click', function () {
- pdfviewer.print.print();
-});
-
-
-{% endhighlight %}
-{% highlight js tabtitle="Server-Backed" %}
-
-var pdfviewer = new ej.pdfviewer.PdfViewer({
- enablePrint: true,
- documentPath: "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf",
- serviceUrl: 'https://services.syncfusion.com/js/production/api/pdfviewer'
- });
-ej.pdfviewer.PdfViewer.Inject(ej.pdfviewer.Toolbar, ej.pdfviewer.Magnification, ej.pdfviewer.LinkAnnotation,ej.pdfviewer.ThumbnailView, ej.pdfviewer.BookmarkView, ej.pdfviewer.TextSelection, ej.pdfviewer.TextSearch, ej.pdfviewer.Navigation, ej.pdfviewer.Print);
-pdfviewer.appendTo('#PdfViewer');
-
-document.getElementById('print').addEventListener('click', function () {
- pdfviewer.print.print();
-});
-
-{% endhighlight %}
-{% endtabs %}
-
-## Customization Print Quality using PrintScaleFactor API
-
-The PDF Viewer allows you to adjust the print quality using the [PrintScaleFactor](https://helpej2.syncfusion.com/javascript/documentation/api/pdfviewer/#printScaleFactor) API. The quality of the print improves as the print quality value increases from 0.5 to 5.
-
-When the value is less than 0.5, the PDF is printed at a standard quality. When the value exceeds 5, the PDF is still printed at the standard quality. In standard quality, printScaleFactor value is set to 1 as default value.
-The effective range for print quality is between 0.5 and 5. Higher values within this range will result in better print quality, but also increase the print time.
-
-By default, the printScaleFactor is set to 1.
-
-* **The following code snippet demonstrates how to customize print quality using the PrintScaleFactor API in the PDF Viewer.**
-{% tabs %}
-{% highlight js tabtitle="Standalone" %}
-
-var pdfviewer = new ej.pdfviewer.PdfViewer({
- enablePrint: true,
- documentPath: "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf",
- printScaleFactor: 0.5,
- });
-ej.pdfviewer.PdfViewer.Inject(ej.pdfviewer.Toolbar, ej.pdfviewer.Magnification, ej.pdfviewer.LinkAnnotation,ej.pdfviewer.ThumbnailView, ej.pdfviewer.BookmarkView, ej.pdfviewer.TextSelection, ej.pdfviewer.TextSearch, ej.pdfviewer.Navigation, ej.pdfviewer.Print);
-//pdf with low quality. By changing values you can change the quality of the pdf.
-pdfviewer.appendTo('#PdfViewer');
-
-{% endhighlight %}
-{% highlight js tabtitle="Server-Backed" %}
-
-var pdfviewer = new ej.pdfviewer.PdfViewer({
- enablePrint: true,
- documentPath: "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf",
- serviceUrl: 'https://services.syncfusion.com/js/production/api/pdfviewer',
- printScaleFactor: 0.5,
- });
-ej.pdfviewer.PdfViewer.Inject(ej.pdfviewer.Toolbar, ej.pdfviewer.Magnification, ej.pdfviewer.LinkAnnotation,ej.pdfviewer.ThumbnailView, ej.pdfviewer.BookmarkView, ej.pdfviewer.TextSelection, ej.pdfviewer.TextSearch, ej.pdfviewer.Navigation, ej.pdfviewer.Print);
-//pdf with low quality. By changing values you can change the quality of the pdf.
-pdfviewer.appendTo('#PdfViewer');
-
-{% endhighlight %}
-{% endtabs %}
-
-[View sample in GitHub](https://github.com/SyncfusionExamples/javascript-pdf-viewer-examples/tree/master/How%20to/Customize%20Print%20Quality)
-
-## See also
-
-* [Toolbar items](./toolbar)
-* [Feature Modules](./feature-module)
diff --git a/ej2-javascript/pdfviewer/js/save-pdf-file/to-amazon-s3.md b/ej2-javascript/pdfviewer/js/save-pdf-file/to-amazon-s3.md
deleted file mode 100644
index 62f9b7e01..000000000
--- a/ej2-javascript/pdfviewer/js/save-pdf-file/to-amazon-s3.md
+++ /dev/null
@@ -1,220 +0,0 @@
----
-layout: post
-title: Save PDF files to AWS S3 in ##Platform_Name## Pdfviewer control | Syncfusion
-description: Learn about how to Save PDF files to AWS S3 in ##Platform_Name## Pdfviewer control of Syncfusion Essential JS 2 and more details.
-platform: ej2-javascript
-control: Save PDF files to AWS S3
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Save PDF file to AWS S3
-
-PDF Viewer allows to save PDF file to AWS S3 using either the Standalone or Server-backed PDF Viewer. Below are the steps and a sample to demonstrate how to save PDF to AWS S3.
-
-## Using Standalone PDF Viewer
-
-To save a PDF file to AWS S3, you can follow the steps below
-
-**Step 1:** Create a Simple PDF Viewer Sample in JavaScript
-
-Start by following the steps provided in this [link](https://ej2.syncfusion.com/javascript/documentation/pdfviewer/getting-started) to create a simple PDF viewer sample in JavaScript. This will give you a basic setup of the PDF viewer component.
-
-**Step 2:** Modify the `index.html` File in the JavaScript Project
-
-1. AWS SDK for JavaScript, used for interacting with AWS services like S3:
-
-```javascript
-
-```
-
-2. Configures AWS SDK with the region, access key, and secret access key. This configuration allows the application to interact with AWS services like S3.
-
-N> Replace **Your Region** with the actual Region of your AWS S3 account and **Your Access Key** with the actual Access Key of your AWS S3 account and **Your Security Access Key** with the actual Security Access Key of your AWS S3 account.
-
-```javascript
-AWS.config.update({
- region: '**Your Region**', // Update this your region
- accessKeyId: '*Your Access Key*', // Update this with your access key id
- secretAccessKey: '*Your Security Access Key*', // Update this with your secret access key
-});
-```
-
-3. Configure a custom toolbar item for the download function to save a PDF file in Azure Blob Storage.
-
-```javascript
-var toolItem1 = {
- prefixIcon: 'e-icons e-pv-download-document-icon',
- id: 'download_pdf',
- tooltipText: 'Download file',
- align: 'right'
-};
-
-var pdfviewer = new ej.pdfviewer.PdfViewer({
- resourceUrl:'https://cdn.syncfusion.com/ej2/26.1.35/dist/ej2-pdfviewer-lib',
- toolbarSettings : { toolbarItems: [ 'OpenOption', 'PageNavigationTool', 'MagnificationTool', 'PanTool', 'SelectionTool', 'SearchOption', 'PrintOption', toolItem1, 'UndoRedoTool', 'AnnotationEditTool', 'FormDesignerEditTool', 'CommentTool', 'SubmitForm'] }
-});
-ej.pdfviewer.PdfViewer.Inject(ej.pdfviewer.TextSelection, ej.pdfviewer.TextSearch, ej.pdfviewer.Print, ej.pdfviewer.Navigation, ej.pdfviewer.Toolbar,ej.pdfviewer.Magnification, ej.pdfviewer.Annotation, ej.pdfviewer.FormDesigner, ej.pdfviewer.FormFields, ej.pdfviewer.PageOrganizer);
-
-pdfviewer.toolbarClick = function (args) {
- if (args.item && args.item.id === 'download_pdf') {
- saveDocument();
- }
-};
-```
-
-4. Retrieve the PDF viewer instance and save the current PDF as a Blob. Then, read the Blob using a FileReader to convert it into an ArrayBuffer, and upload the ArrayBuffer to AWS S3 using the putObject method of the S3 instance.
-
-N> Replace **Your Bucket Name** with the actual Bucket name of your AWS S3 account and **Your Key** with the actual File Key of your AWS S3 account.
-
-```typescript
-private s3 = new AWS.S3();
-
-function saveDocument() {
- pdfviewer.saveAsBlob().then(function (value) {
- var reader = new FileReader();
- reader.onload = () => {
- const uint8Array = new Uint8Array(reader.result);
- const putObjectParams = {
- Bucket: '**Your Bucket Name**',
- Key: '**Your Key**',
- Body: uint8Array,
- ContentType: 'application/pdf',
- };
- s3.putObject(putObjectParams, (err, data) => {
- if (err) {
- console.error('Error uploading document:', err);
- } else {
- console.log('Document uploaded successfully:', data);
- }
- });
- };
- reader.readAsArrayBuffer(value);
- });
-};
-```
-
-[View sample in GitHub](https://github.com/SyncfusionExamples/open-save-pdf-documents-in-aws-s3/tree/master/Open%20and%20Save%20PDF%20in%20AWS%20S3%20using%20Standalone).
-
-## Using Server-Backed PDF Viewer
-
-To save a PDF file to AWS S3, you can follow the steps below
-
-**Step 1:** Create a PDF Viewer sample in JavaScript
-
-Follow the instructions provided in this [link](https://ej2.syncfusion.com/javascript/documentation/pdfviewer/getting-started) to create a simple PDF Viewer sample in JavaScript. This will set up the basic structure of your PDF Viewer application.
-
-**Step 2:** Modify the `PdfViewerController.cs` File in the Web Service Project
-
-1. Create a web service project in .NET Core 3.0 or above. You can refer to this [link](https://www.syncfusion.com/kb/11063/how-to-create-pdf-viewer-web-service-in-net-core-3-0-and-above) for instructions on how to create a web service project.
-
-2. Open the `PdfViewerController.cs` file in your web service project.
-
-3. Import the required namespaces at the top of the file:
-
-```csharp
-using System.IO;
-using Amazon;
-using Amazon.S3;
-using Amazon.S3.Model;
-```
-
-4. Add the following private fields and constructor parameters to the `PdfViewerController` 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 PdfViewerController(IWebHostEnvironment hostingEnvironment, IMemoryCache cache, IConfiguration configuration)
-{
- _hostingEnvironment = hostingEnvironment;
- _cache = cache;
- _configuration = configuration;
- _accessKey = _configuration.GetValue("AccessKey");
- _secretKey = _configuration.GetValue("SecretKey");
- _bucketName = _configuration.GetValue("BucketName");
-}
-```
-
-5. Modify the [Download()](https://helpej2.syncfusion.com/documentation/api/pdfviewer/#download) method to save the downloaded PDF files to AWS S3 bucket
-
-```csharp
-
-[HttpPost("Download")]
-[Microsoft.AspNetCore.Cors.EnableCors("MyPolicy")]
-[Route("[controller]/Download")]
-//Post action for downloading the PDF documents
-
-public IActionResult Download([FromBody] Dictionary jsonObject)
-{
- // Initialize the PDF Viewer object with memory cache object
- PdfRenderer pdfviewer = new PdfRenderer(_cache);
- string documentBase = pdfviewer.GetDocumentAsBase64(jsonObject);
- 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;
- string documentName = jsonObject["documentId"];
- string result = Path.GetFileNameWithoutExtension(documentName);
- byte[] bytes = Convert.FromBase64String(documentBase.Split(",")[1]);
- using (MemoryStream stream = new MemoryStream(bytes))
- {
- var request = new PutObjectRequest
- {
- BucketName = bucketName,
- Key = result + "_downloaded.pdf",
- InputStream = stream,
- };
- // Upload the PDF document to AWS S3
- var response = s3Client.PutObjectAsync(request).Result;
- }
- return Content(documentBase);
-}
-```
-
-6. 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:** Set the PDF Viewer Properties in JavaScript PDF viewer component
-
-Modify the `serviceUrl` property of the PDF viewer component with the accurate URL of your web service project, replacing `https://localhost:44396/pdfviewer` with the actual URL of your server. Set the [documentPath](https://helpej2.syncfusion.com/documentation/api/pdfviewer/#documentpath) property of the PDF viewer component to the desired name of the PDF file you wish to load from AWS S3. Ensure that you correctly pass the document name from the files available in your AWS S3 bucket to the documentPath property.
-
-```javascript
-
-import { PdfViewer, Toolbar, Magnification, Navigation, LinkAnnotation,ThumbnailView,
- BookmarkView, TextSelection, Annotation, FormFields, FormDesigner} from '@syncfusion/ej2-pdfviewer';
-
-PdfViewer.Inject( Toolbar,Magnification,Navigation, LinkAnnotation,ThumbnailView,
- BookmarkView, TextSelection, Annotation, FormFields, FormDesigner);
-
-let viewer: PdfViewer = new PdfViewer();
-// Replace the "localhost:44396" with the actual URL of your server
-viewer.serviceUrl = 'https://localhost:44396/pdfviewer';
-viewer.appendTo('#pdfViewer');
-viewer.load('PDF_Succinctly.pdf', null);
-
-```
-
-N> The **AWSSDK.S3** NuGet package must be installed in your application to use the previous code example.
-
-[View sample in GitHub](https://github.com/SyncfusionExamples/open-save-pdf-documents-in-aws-s3/tree/master/Open%20and%20Save%20PDF%20in%20AWS%20S3%20using%20Server-Backend)
\ No newline at end of file
diff --git a/ej2-javascript/pdfviewer/js/save-pdf-file/to-azure-active-directory.md b/ej2-javascript/pdfviewer/js/save-pdf-file/to-azure-active-directory.md
deleted file mode 100644
index 7320f2b8c..000000000
--- a/ej2-javascript/pdfviewer/js/save-pdf-file/to-azure-active-directory.md
+++ /dev/null
@@ -1,260 +0,0 @@
----
-layout: post
-title: Save PDF To AAD in ##Platform_Name## Pdfviewer | Syncfusion
-description: Learn how to Save PDF To AAD in Syncfusion ##Platform_Name## Pdfviewer control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: PDF Viewer
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Save PDF To Azure Active Directory in Viewer
-
-### **Overview**
-
-The Syncfusion PDF Viewer allows you to load and save PDF files directly from Azure Active Directory (AAD). Below are the steps to securely load and store PDF documents from and to AAD using the PDF Viewer.
-
-### **Steps to Open the PDF File from Azure Active Directory**
-
----
-
-### **Step 1: Register an Application in Azure Active Directory (AAD)**
-
-1. **Go to the Azure Portal**:
- - Navigate to [Azure Portal](https://portal.azure.com).
-
-2. **Register your Application**:
- - In the Azure portal, go to **Azure Active Directory** > **App registrations** > **New registration**.
- - Register your application and note down the **Application (client) ID** and **Directory (tenant) ID**.
-
- 
-
-3. **Create a Client Secret**:
- - In the registered application, go to **Certificates & secrets**.
- - Click **New client secret**.
- - Provide a description and set an expiration period.
- - Click **Add**.
- - Copy the client secret value immediately, as it will be hidden later. Store it securely.
-
- 
-
----
-
-### **Step 2: Create the Azure Storage Account**
-
-1. **Create a Storage Account**:
- - In the Azure portal, use the search bar to search for **Storage accounts**.
- - Create a new storage account by filling in the required details (e.g., name, location, resource group, etc.).
-
- 
-
----
-
-### **Step 3: Assign Role to the Application**
-
-1. **Go to your Storage Account**:
- - Navigate to **Access control (IAM)** > **Add role assignment** in your Azure Storage Account.
-
-2. **Assign Role**:
- - Assign the **Storage Blob Data Contributor** role to your registered application.
- - In the **Assign access to** dropdown, select **User, group, or service principal**.
- - Click on **Select members** and search for your registered application by name or client ID.
- - Select your application and click **Select**.
- - Click **Review + assign** to finalize the role assignment.
-
- 
----
-
-### **Step 4: Upload the PDF Document to the Azure Storage Account**
-
-1. **Navigate to Data Storage**:
- - In the Azure portal, go to **Data storage** > **Containers**.
-
-2. **Upload the PDF File**:
- - Create a new container and upload the PDF document you want to access in the PDF Viewer.
-
- 
----
-
-### **Step 5: Server-Side Configuration**
-
-1. **Configure Server-Side Code**:
- - Open the server-side application (e.g., ASP.NET Core) and configure the following details in the `PdfViewerController` file:
- - `tenantId` (your Azure AD tenant ID),
- - `clientId` (your registered application client ID),
- - `clientSecret` (your registered application client secret),
- - `blobServiceEndpoint` (your storage account blob service URL),
- - `containerName` (your container name in Azure Blob Storage).
-
-2. **Run the Web Service**:
- - After configuring the necessary details, run the web service to make it accessible.
-
----
-
-### **Step 6: Client-Side Configuration**
-
-1. **Run the JS Sample**:
- - Start the JS sample that includes the Syncfusion PDF Viewer.
-
-2. **Load PDF from AAD**:
- - When the user clicks the **Load from AAD** button, the JS client will make an HTTP request to the server-side API to fetch the PDF from Azure Blob Storage.
- - The server will retrieve the PDF from Azure, convert it to a base64 string, and return it to the client.
-
-3. **Display PDF in the PDF Viewer**:
- - Once the base64 string is received, the PDF Viewer will load the PDF using the `viewer.load()` method.
-
----
-
-### **Step 7: Save the PDF Document to Azure**
-
-1. **Save PDF to AAD**:
- - The user can click the **Save to AAD** button to upload any modifications to the PDF back to Azure Blob Storage.
- - This action sends the modified PDF to the server, where it is converted into a byte array and saved to the specified Azure Blob container.
-
----
-
-### **Server-Side Code Snippets**
-```cs
-string tenantId = "Provide the tenant id here";
-string clientId = "Provide the clientid here";
-string clientSecret = "Provide the client secret here";
-string blobServiceEndpoint = "https://your-storage-account.blob.core.windows.net";
-string containerName = "Provide the container name here";
-
-
-
-[HttpPost("LoadFromAAD")]
-[Route("[controller]/LoadFromAAD")]
-public async Task LoadFromAAD(string fileName)
-{
- var clientSecretCredential = new ClientSecretCredential(tenantId, clientId, clientSecret);
- var blobServiceClient = new BlobServiceClient(new Uri(blobServiceEndpoint), clientSecretCredential);
- var containerClient = blobServiceClient.GetBlobContainerClient(containerName);
- var blobClient = containerClient.GetBlobClient(fileName);
-
- // Download the PDF file to a local stream
- using MemoryStream pdfStream = new MemoryStream();
- await blobClient.DownloadToAsync(pdfStream);
- var base64 = Convert.ToBase64String(pdfStream.ToArray());
- return Content("data:application/pdf;base64," + base64);
-}
-
-[AcceptVerbs("SaveToAAD")]
-[HttpPost("SaveToAAD")]
-[Route("[controller]/SaveToAAD")]
-public async Task SaveToAAD([FromBody] Dictionary jsonObject)
-{
- PdfRenderer pdfviewer = new PdfRenderer(_cache);
- var fileName = jsonObject.ContainsKey("documentId") ? jsonObject["documentId"] : "Test.pdf";
- string documentBase = pdfviewer.GetDocumentAsBase64(jsonObject);
- string convertedBase = documentBase.Substring(documentBase.LastIndexOf(',') + 1);
- // Decode the Base64 string to a byte array
- byte[] byteArray = Convert.FromBase64String(convertedBase);
- // Create a MemoryStream from the byte array
- MemoryStream stream = new MemoryStream(byteArray);
- // Create a new BlobServiceClient using the DefaultAzureCredential
- var clientSecretCredential = new ClientSecretCredential(tenantId, clientId, clientSecret);
- var blobServiceClient = new BlobServiceClient(new Uri(blobServiceEndpoint), clientSecretCredential);
- // Get a reference to the container
- var containerClient = blobServiceClient.GetBlobContainerClient(containerName);
- // Get a reference to the blob
- var blobClient = containerClient.GetBlobClient(fileName);
- //FileStream uploadFileStream = new FileStream();
- await blobClient.UploadAsync(stream, true);
- stream.Close();
- return Content(string.Empty);
-}
-
-```
-
-
-
-### **Client-side Code Snippets**
-
-```js
-import { PdfViewer, Toolbar, TextSelection, TextSearch, Print, Navigation, Magnification, Annotation, FormDesigner, FormFields, CustomToolbarItemModel } from '@syncfusion/ej2-pdfviewer';
-import { ComboBox } from "@syncfusion/ej2-dropdowns";
-
-// Inject required modules for PDF Viewer functionality
-PdfViewer.Inject(
- TextSelection,
- TextSearch,
- Print,
- Navigation,
- Toolbar,
- Magnification,
- Annotation,
- FormDesigner,
- FormFields
-);
-
-// Define custom toolbar items
-let toolItem1: CustomToolbarItemModel = {
- id: 'loadFromAAD',
- text: 'Load From AAD',
- tooltipText: 'Custom toolbar item',
- align: 'left'
-};
-
-let toolItem2: CustomToolbarItemModel = {
- id: 'saveToAAD',
- text: 'Save To AAD',
- tooltipText: 'Custom toolbar item',
- align: 'left'
-};
-
-// Initialize the PDF Viewer with custom toolbar items
-let pdfviewer: PdfViewer = new PdfViewer({
- serviceUrl: 'https://localhost:44308/pdfviewer', //provide the service url here
- toolbarSettings: {
- toolbarItems: [
- toolItem1,
- toolItem2,
- 'OpenOption',
- 'PageNavigationTool',
- 'MagnificationTool',
- 'PanTool',
- 'SelectionTool',
- 'SearchOption',
- 'PrintOption',
- 'DownloadOption',
- 'UndoRedoTool',
- 'AnnotationEditTool',
- 'FormDesignerEditTool',
- 'CommentTool',
- 'SubmitForm',
- ]
- }
-});
-
-// Render the PDF Viewer in the DOM
-pdfviewer.appendTo('#PdfViewer');
-
-// Handle toolbar clicks
-pdfviewer.toolbarClick = (args: { item?: { id: string } }) => {
- if (args.item) {
- if (args.item.id === 'loadFromAAD') {
- // Handle 'Load From AAD' logic
- const xhr = new XMLHttpRequest();
- //modify the url based on the file name
- xhr.open('POST', `https://localhost:44308/pdfviewer/LoadFromAAD?fileName=pdf-succinctly.pdf`, true);
- xhr.onreadystatechange = () => {
- if (xhr.readyState === 4 && xhr.status === 200) {
- const data = xhr.responseText;
- console.log(data); // Handle the response
- pdfviewer.load(data,''); // Load the document
- }
- };
- xhr.send();
- } else if (args.item.id === 'saveToAAD') {
- // Handle 'Save To AAD' logic
- pdfviewer.serverActionSettings.download = "SaveToAAD";
- pdfviewer.download(); // Trigger download
- }
- }
-};
-
-```
-
-[View sample in GitHub](https://github.com/SyncfusionExamples/open-save-pdf-documents-in-aad).
\ No newline at end of file
diff --git a/ej2-javascript/pdfviewer/js/save-pdf-file/to-azure-blob-storage.md b/ej2-javascript/pdfviewer/js/save-pdf-file/to-azure-blob-storage.md
deleted file mode 100644
index f466c21f9..000000000
--- a/ej2-javascript/pdfviewer/js/save-pdf-file/to-azure-blob-storage.md
+++ /dev/null
@@ -1,234 +0,0 @@
----
-layout: post
-title: Save PDF to Azure Blob Storage in ##Platform_Name## Pdfviewer | Syncfusion
-description: Learn about how to Save PDF files to Azure Blob Storage in ##Platform_Name## Pdfviewer control of Syncfusion Essential JS 2 and more details.
-platform: ej2-javascript
-control: Save PDF files to Azure Blob Storage
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Save PDF file to Azure Blob Storage
-
-PDF Viewer allows to save PDF file to Azure Blob Storage using either the Standalone or Server-backed PDF Viewer. Below are the steps and a sample to demonstrate how to save PDF to Azure Blob Storage.
-
-## Using Standalone PDF Viewer
-
-To save a PDF file to Azure Blob Storage, you can follow the steps below
-
-**Step 1:** Create a PDF Viewer sample in JavaScript
-
-Follow the instructions provided in this [link](https://ej2.syncfusion.com/javascript/documentation/pdfviewer/getting-started) to create a simple PDF Viewer sample in JavaScript. This will set up the basic structure of your PDF Viewer application.
-
-**Step 2:** Modify the `src/app/app.ts` File in the Angular Project
-
-1. Import the required namespaces at the top of the file:
-
-```typescript
-import { BlockBlobClient } from "@azure/storage-blob";
-```
-
-2. Add the following private properties to the `app.ts`, and assign the values from the configuration to the corresponding properties
-
-N> Replace **Your SAS Url in Azure** with the actual SAS url for your Azure Blob Storage account.
-
-```typescript
-private SASUrl: string = "*Your SAS Url in Azure*";
-```
-
-3. Configure a custom toolbar item for the download function to save a PDF file in Azure Blob Storage.
-
-```typescript
-let toolItem1: CustomToolbarItemModel = {
- prefixIcon: 'e-icons e-pv-download-document-icon',
- id: 'download_pdf',
- tooltipText: 'Download file',
- align: 'right'
-};
-
-pdfviewer.toolbarSettings = { toolbarItems: [ 'OpenOption', 'PageNavigationTool', 'MagnificationTool', 'PanTool', 'SelectionTool', 'SearchOption', 'PrintOption', toolItem1, 'UndoRedoTool', 'AnnotationEditTool', 'FormDesignerEditTool', 'CommentTool', 'SubmitForm']}
-
-pdfviewer.toolbarClick = function (args) {
- if (args.item && args.item.id === 'download_pdf') {
- saveDocument();
- }
-};
-```
-
-4. Retrieve the PDF viewer instance and save the current PDF as a Blob. Then, read the Blob as an ArrayBuffer and upload the ArrayBuffer to Azure Blob Storage using 'BlockBlobClient'.
-
-```typescript
-function saveDocument() {
- pdfviewer.saveAsBlob().then(function (value) {
- var reader = new FileReader();
- reader.onload = async () => {
- if (reader.result) {
- const arrayBuffer: any = reader.result;
- const blobClient = new BlockBlobClient(SASUrl);
- // Upload data to the blob
- const uploadBlobResponse = await blobClient.upload(arrayBuffer, arrayBuffer.byteLength);
- console.log(`Upload blob successfully`, uploadBlobResponse.requestId);
- }
- };
- reader.readAsArrayBuffer(value);
- });
-};
-```
-
-N> The **npm install @azure/storage-blob** package must be installed in your application to use the previous code example.
-
-[View sample in GitHub](https://github.com/SyncfusionExamples/open-save-pdf-documents-in-azure-blob-storage/tree/master/Open%20and%20Save%20PDF%20in%20Azure%20Blob%20Storage%20using%20Standalone).
-
-## Using Server-Backed PDF Viewer
-
-To save a PDF file to Azure Blob Storage, you can follow the steps below
-
-**Step 1:** Create a PDF Viewer sample in JavaScript
-
-Follow the instructions provided in this [link](https://ej2.syncfusion.com/javascript/documentation/pdfviewer/getting-started) to create a simple PDF Viewer sample in JavaScript. This will set up the basic structure of your PDF Viewer application.
-
-**Step 2:** Modify the `PdfViewerController.cs` File in the Web Service Project
-
-1. Create a web service project in .NET Core 3.0 or above. You can refer to this [link](https://www.syncfusion.com/kb/11063/how-to-create-pdf-viewer-web-service-in-net-core-3-0-and-above) for instructions on how to create a web service project.
-
-2. Open the `PdfViewerController.cs` file in your web service project.
-
-3. Import the required namespaces at the top of the file:
-
-```csharp
-using System.IO;
-using Azure.Storage.Blobs;
-using Azure.Storage.Blobs.Specialized;
-```
-
-4. Add the following private fields and constructor parameters to the `PdfViewerController` 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 PdfViewerController(IConfiguration configuration, ILogger logger)
-{
- _storageConnectionString = configuration.GetValue("connectionString");
- _storageContainerName = configuration.GetValue("containerName");
- _logger = logger;
-}
-```
-
-5. Modify the [Download()](https://helpej2.syncfusion.com/documentation/api/pdfviewer/#download) method to save the downloaded PDF files to Azure Blob Storage container
-
-```csharp
-
-[HttpPost("Download")]
-[Microsoft.AspNetCore.Cors.EnableCors("MyPolicy")]
-[Route("[controller]/Download")]
-//Post action for downloading the PDF documents
-
-public IActionResult Download([FromBody] Dictionary jsonObject)
-{
- // Initialize the PDF Viewer object with memory cache object
- PdfRenderer pdfviewer = new PdfRenderer(_cache);
-
- string documentBase = pdfviewer.GetDocumentAsBase64(jsonObject);
- string document = jsonObject["documentId"];
-
- BlobServiceClient blobServiceClient = new BlobServiceClient(_storageConnectionString);
- BlobContainerClient containerClient = blobServiceClient.GetBlobContainerClient(_storageContainerName);
-
- string result = Path.GetFileNameWithoutExtension(document);
- // Get a reference to the blob
- BlobClient blobClient = containerClient.GetBlobClient(result + "_downloaded.pdf");
-
- // Convert the document base64 string to bytes
- byte[] bytes = Convert.FromBase64String(documentBase.Split(",")[1]);
-
- // Upload the document to Azure Blob Storage
- using (MemoryStream stream = new MemoryStream(bytes))
- {
- blobClient.Upload(stream, true);
- }
- return Content(documentBase);
-}
-```
-
-6. 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 2:** Modify the web service project to save the downloaded document to Azure Blob Storage
-
-Create a web service project in .NET Core (version 3.0 and above) by following the steps in this [link](https://www.syncfusion.com/kb/11063/how-to-create-pdf-viewer-web-service-in-net-core-3-0-and-above). In the controller.cs file of your web service project, add the following code to modify the `Download` method. This code saves the downloaded PDF document to Azure Blob Storage container.
-
-```c#
-
-[HttpPost("Download")]
-[Microsoft.AspNetCore.Cors.EnableCors("MyPolicy")]
-[Route("[controller]/Download")]
-//Post action for downloading the PDF documents
-
-public IActionResult Download([FromBody] Dictionary jsonObject)
-{
- // Initialize the PDF Viewer object with memory cache object
- PdfRenderer pdfviewer = new PdfRenderer(_cache);
- string documentBase = pdfviewer.GetDocumentAsBase64(jsonObject);
- string document = jsonObject["documentId"];
-
- BlobServiceClient blobServiceClient = new BlobServiceClient(_storageConnectionString);
-
- BlobContainerClient containerClient = blobServiceClient.GetBlobContainerClient(_storageContainerName);
-
- string result = Path.GetFileNameWithoutExtension(document);
- // Get a reference to the blob
- BlobClient blobClient = containerClient.GetBlobClient(result + "_download.pdf");
-
- // Convert the document base64 string to bytes
- byte[] bytes = Convert.FromBase64String(documentBase.Split(",")[1]);
-
- // Upload the document to Azure Blob Storage
- using (MemoryStream stream = new MemoryStream(bytes))
- {
- blobClient.Upload(stream, true);
- }
- return Content(documentBase);
-}
-```
-
-**Step 3:** Set the PDF Viewer Properties in JavaScript PDF viewer component
-
-Modify the [serviceUrl](https://helpej2.syncfusion.com/documentation/api/pdfviewer/#serviceurl) property of the PDF viewer component with the accurate URL of your web service project, replacing `https://localhost:44396/pdfviewer` with the actual URL of your server. Set the `documentPath` property of the PDF viewer component to the desired name of the PDF file you wish to load from Azure Blob Storage. Ensure that you correctly pass the document name from the files available in your azure contanier to the documentPath property.
-
-```javascript
-
-import { PdfViewer, Toolbar, Magnification, Navigation, LinkAnnotation,ThumbnailView,
- BookmarkView, TextSelection, Annotation, FormFields, FormDesigner} from '@syncfusion/ej2-pdfviewer';
-
-PdfViewer.Inject( Toolbar,Magnification,Navigation, LinkAnnotation,ThumbnailView,
- BookmarkView, TextSelection, Annotation, FormFields, FormDesigner);
-
-let viewer: PdfViewer = new PdfViewer();
-// Replace the "localhost:44396" with the actual URL of your server
-viewer.serviceUrl = 'https://localhost:44396/pdfviewer';
-viewer.appendTo('#pdfViewer');
-viewer.load('PDF_Succinctly.pdf', null);
-
-```
-
-N> The **Azure.Storage.Blobs** NuGet package must be installed in your application to use the previous code example.
-
-[View sample in GitHub](https://github.com/SyncfusionExamples/open-save-pdf-documents-in-azure-blob-storage/tree/master/Open%20and%20Save%20PDF%20in%20Azure%20Blob%20Storage%20using%20Server-Backend).
\ No newline at end of file
diff --git a/ej2-javascript/pdfviewer/js/save-pdf-file/to-box-cloud-file-storage.md b/ej2-javascript/pdfviewer/js/save-pdf-file/to-box-cloud-file-storage.md
deleted file mode 100644
index ae4dfe809..000000000
--- a/ej2-javascript/pdfviewer/js/save-pdf-file/to-box-cloud-file-storage.md
+++ /dev/null
@@ -1,143 +0,0 @@
----
-layout: post
-title: Save PDF files to Box cloud file storage in ##Platform_Name## Pdfviewer control | Syncfusion
-description: Learn about how to Save PDF files to Box cloud file storage in ##Platform_Name## Pdfviewer control of Syncfusion Essential JS 2 and more details.
-platform: ej2-javascript
-control: Save PDF files to Box cloud file storage
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Save PDF file to Box cloud file storage
-
-To save a PDF file 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.
-
-**Step 2:** Create a PDF Viewer sample in JavaScript
-
-Follow the instructions provided in this [link](https://ej2.syncfusion.com/javascript/documentation/pdfviewer/getting-started) to create a simple PDF Viewer sample in JavaScript. This will set up the basic structure of your PDF Viewer application.
-
-**Step 3:** Modify the `PdfViewerController.cs` File in the Web Service Project
-
-1. Create a web service project in .NET Core 3.0 or above. You can refer to this [link](https://www.syncfusion.com/kb/11063/how-to-create-pdf-viewer-web-service-in-net-core-3-0-and-above) for instructions on how to create a web service project.
-
-2. Open the `PdfViewerController.cs` file in your web service project.
-
-3. 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;
-```
-
-4. Add the following private fields and constructor parameters to the `PdfViewerController` 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 PdfViewerController(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");
-}
-```
-
-5. Modify the [Download()](https://helpej2.syncfusion.com/documentation/api/pdfviewer/#download) method to save the downloaded PDF files to Box cloud file storage bucket
-
-```csharp
-[HttpPost("Download")]
-[Microsoft.AspNetCore.Cors.EnableCors("MyPolicy")]
-[Route("[controller]/Download")]
-//Post action for downloading the PDF documents
-
-public async Task Download([FromBody] Dictionary jsonObject)
-{
- //Initialize the PDF Viewer object with memory cache object
- PdfRenderer pdfviewer = new PdfRenderer(_cache);
-
- string documentBase = pdfviewer.GetDocumentAsBase64(jsonObject);
- byte[] documentBytes = Convert.FromBase64String(documentBase.Split(",")[1]);
-
- string documentId = jsonObject["documentId"];
- string result = Path.GetFileNameWithoutExtension(documentId);
- string fileName = result + "_downloaded.pdf";
-
- // 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 = fileName,
- Parent = new BoxFolderRequest { Id = _folderID },
- };
-
- using (var stream = new MemoryStream(documentBytes))
- {
- var boxFile = await client.FilesManager.UploadAsync(fileRequest, stream);
- }
- return Content(documentBase);
-}
-```
-
-6. 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:** Set the PDF Viewer Properties in JavaScript PDF viewer component
-
-Modify the [serviceUrl](https://helpej2.syncfusion.com/documentation/api/pdfviewer/#serviceurl) property of the PDF viewer component with the accurate URL of your web service project, replacing `https://localhost:44396/pdfviewer` with the actual URL of your server. Set the `documentPath` property of the PDF viewer component to the desired name of the PDF file you wish to load from Box cloud file storage. Ensure that you correctly pass the document name from the files available in your box folder to the documentPath property.
-
-```javascript
-
-import { PdfViewer, Toolbar, Magnification, Navigation, LinkAnnotation,ThumbnailView,
- BookmarkView, TextSelection, Annotation, FormFields, FormDesigner} from '@syncfusion/ej2-pdfviewer';
-
-PdfViewer.Inject( Toolbar,Magnification,Navigation, LinkAnnotation,ThumbnailView,
- BookmarkView, TextSelection, Annotation, FormFields, FormDesigner);
-
-let viewer: PdfViewer = new PdfViewer();
-// Replace the "localhost:44396" with the actual URL of your server
-viewer.serviceUrl = 'https://localhost:44396/pdfviewer';
-viewer.appendTo('#pdfViewer');
-viewer.load('PDF_Succinctly.pdf', null);
-
-```
-
-N> The **Box.V2.Core** NuGet package must be installed in your application to use the previous code example.
-
-N> Replace `PDF_Succinctly.pdf` with the actual document name that you want to load from Box cloud file storage. Make sure to pass the document name from the box folder to the [documentPath](https://helpej2.syncfusion.com/documentation/api/pdfviewer/#documentpath) property of the PDF viewer component
-
-[View sample in GitHub](https://github.com/SyncfusionExamples/open-save-pdf-documents-in-box-cloud-file-storage)
\ No newline at end of file
diff --git a/ej2-javascript/pdfviewer/js/save-pdf-file/to-dropbox-cloud-file-storage.md b/ej2-javascript/pdfviewer/js/save-pdf-file/to-dropbox-cloud-file-storage.md
deleted file mode 100644
index 204d08dc1..000000000
--- a/ej2-javascript/pdfviewer/js/save-pdf-file/to-dropbox-cloud-file-storage.md
+++ /dev/null
@@ -1,207 +0,0 @@
----
-layout: post
-title: Save PDF to Dropbox cloud storage in ##Platform_Name## Pdfviewer | Syncfusion
-description: Learn about how to Save PDF files to Dropbox cloud file storage in ##Platform_Name## Pdfviewer control of Syncfusion Essential JS 2 and more details.
-platform: ej2-javascript
-control: Save PDF files to Dropbox cloud file storage
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Save PDF file to Dropbox cloud file storage
-
-PDF Viewer allows to load PDF file from Drop Box using either the Standalone or Server-backed PDF Viewer. Below are the steps and a sample to demonstrate how to open a PDF from Drop Box.
-
-## Using Standalone PDF Viewer
-
-To save a PDF file 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.
-
-**Step 2:** Create a PDF Viewer sample in JavaScript
-
-Follow the instructions provided in this [link](https://ej2.syncfusion.com/javascript/documentation/pdfviewer/getting-started) to create a simple PDF Viewer sample in JavaScript. This will set up the basic structure of your PDF Viewer application.
-
-**Step 3:** Modify the `src/app/app.ts` File in the Angular Project
-
-1. Import the required namespaces at the top of the file:
-
-```typescript
-import { Dropbox } from 'dropbox';
-```
-
-2. Configure a custom toolbar item for the download function to save a PDF file in Azure Blob Storage.
-
-```typescript
-let toolItem1: CustomToolbarItemModel = {
- prefixIcon: 'e-icons e-pv-download-document-icon',
- id: 'download_pdf',
- tooltipText: 'Download file',
- align: 'right'
-};
-
-pdfviewer.toolbarSettings = { toolbarItems: [ 'OpenOption', 'PageNavigationTool', 'MagnificationTool', 'PanTool', 'SelectionTool', 'SearchOption', 'PrintOption', toolItem1, 'UndoRedoTool', 'AnnotationEditTool', 'FormDesignerEditTool', 'CommentTool', 'SubmitForm']}
-
-pdfviewer.toolbarClick = function (args) {
- if (args.item && args.item.id === 'download_pdf') {
- saveDocument();
- }
-};
-```
-
-3. Retrieve the PDF viewer instance and save the current PDF as a Blob. Then, read the Blob using a FileReader to convert it into an ArrayBuffer, and upload the ArrayBuffer to Drop Box using the filesUpload method of the Drop Box instance.
-
-N> Replace **Your Access Token** with the actual Access Token of your Drop Box account.
-
-```typescript
-function saveDocument() {
- pdfviewer.saveAsBlob().then(function (value) {
- var reader = new FileReader();
- reader.onload = async () => {
- if (reader.result) {
- const dbx = new Dropbox({ accessToken: 'Your Access Token' });
- if(reader && reader.result){
- const uint8Array = new Uint8Array(reader.result as ArrayBuffer);
- dbx.filesUpload({ path: '/' + pdfviewer.fileName, contents: uint8Array })
- .then(response => {
- console.log(response);
- })
- .catch(error => {
- console.error(error);
- });
- }
- }
- };
- reader.readAsArrayBuffer(value);
- });
-}
-```
-
-N> The **npm install dropbox** package must be installed in your application to use the previous code example.
-
-[View sample in GitHub](https://github.com/SyncfusionExamples/open-save-pdf-documents-in-dropbox-cloud-file-storage/tree/master/Open%20and%20Save%20PDF%20in%20Drop%20Box%20using%20Standalone)
-
-## Using Server-Backed PDF Viewer
-
-To save a PDF file 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.
-
-**Step 2:** Create a PDF Viewer sample in JavaScript
-
-Follow the instructions provided in this [link](https://ej2.syncfusion.com/javascript/documentation/pdfviewer/getting-started) to create a simple PDF Viewer sample in JavaScript. This will set up the basic structure of your PDF Viewer application.
-
-**Step 3:** Modify the `PdfViewerController.cs` File in the Web Service Project
-
-1. Create a web service project in .NET Core 3.0 or above. You can refer to this [link](https://www.syncfusion.com/kb/11063/how-to-create-pdf-viewer-web-service-in-net-core-3-0-and-above) for instructions on how to create a web service project.
-
-2. Open the `PdfViewerController.cs` file in your web service project.
-
-3. Import the required namespaces at the top of the file:
-
-```csharp
-using System.IO;
-using Dropbox.Api;
-using Dropbox.Api.Files;
-```
-
-4. Add the following private fields and constructor parameters to the `PdfViewerController` 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 PdfViewerController(IWebHostEnvironment hostingEnvironment, IMemoryCache cache, IConfiguration configuration)
-{
- _hostingEnvironment = hostingEnvironment;
- _cache = cache;
- _configuration = configuration;
- _accessToken = _configuration.GetValue("AccessToken");
- _folderName = _configuration.GetValue("FolderName");
-}
-```
-
-5. Modify the [Download()](https://helpej2.syncfusion.com/documentation/api/pdfviewer/#download) method to save the downloaded PDF files to Dropbox cloud file storage bucket
-
-```csharp
-
-[HttpPost("Download")]
-[Microsoft.AspNetCore.Cors.EnableCors("MyPolicy")]
-[Route("[controller]/Download")]
-//Post action for downloading the PDF documents
-
-public async Task Download([FromBody] Dictionary jsonObject)
-{
- //Initialize the PDF Viewer object with memory cache object
- PdfRenderer pdfviewer = new PdfRenderer(_cache);
-
- string documentBase = pdfviewer.GetDocumentAsBase64(jsonObject);
- byte[] documentBytes = Convert.FromBase64String(documentBase.Split(",")[1]);
-
- string documentId = jsonObject["documentId"];
- string result = Path.GetFileNameWithoutExtension(documentId);
- string fileName = result + "_downloaded.pdf";
-
- using (var dropBox = new DropboxClient(_accessToken))
- {
- using (var stream = new MemoryStream(documentBytes))
- {
- // Upload the document to Dropbox
- var uploadedFile = await dropBox.Files.UploadAsync(
- _folderName + "/" + fileName,
- WriteMode.Overwrite.Instance,
- body: stream
- );
- }
- }
- return Content(documentBase);
-}
-```
-
-6. 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:** Set the PDF Viewer Properties in JavaScript PDF viewer component
-
-Modify the [serviceUrl](https://helpej2.syncfusion.com/documentation/api/pdfviewer/#serviceurl) property of the PDF viewer component with the accurate URL of your web service project, replacing `https://localhost:44396/pdfviewer` with the actual URL of your server. Set the `documentPath` property of the PDF viewer component to the desired name of the PDF file you wish to load from Dropbox cloud file storage. Ensure that you correctly pass the document name from the files available in your dropbox folder to the documentPath property.
-
-```javascript
-
-import { PdfViewer, Toolbar, Magnification, Navigation, LinkAnnotation,ThumbnailView,
- BookmarkView, TextSelection, Annotation, FormFields, FormDesigner} from '@syncfusion/ej2-pdfviewer';
-
-PdfViewer.Inject( Toolbar,Magnification,Navigation, LinkAnnotation,ThumbnailView,
- BookmarkView, TextSelection, Annotation, FormFields, FormDesigner);
-
-let viewer: PdfViewer = new PdfViewer();
-// Replace the "localhost:44396" with the actual URL of your server
-viewer.serviceUrl = 'https://localhost:44396/pdfviewer';
-viewer.appendTo('#pdfViewer');
-viewer.load('PDF_Succinctly.pdf', null);
-
-```
-
-N> The **Dropbox.Api** NuGet package must be installed in your application to use the previous code example.
-
-[View sample in GitHub](https://github.com/SyncfusionExamples/open-save-pdf-documents-in-dropbox-cloud-file-storage/tree/master/Open%20and%20Save%20PDF%20in%20Drop%20Box%20using%20Server-Backed)
diff --git a/ej2-javascript/pdfviewer/js/save-pdf-file/to-google-cloud-storage.md b/ej2-javascript/pdfviewer/js/save-pdf-file/to-google-cloud-storage.md
deleted file mode 100644
index 6007ba1a0..000000000
--- a/ej2-javascript/pdfviewer/js/save-pdf-file/to-google-cloud-storage.md
+++ /dev/null
@@ -1,133 +0,0 @@
----
-layout: post
-title: Save PDF files to Google Cloud Storage in ##Platform_Name## Pdfviewer control | Syncfusion
-description: Learn about how to Save PDF files to Google Cloud Storage in ##Platform_Name## Pdfviewer control of Syncfusion Essential JS 2 and more details.
-platform: ej2-javascript
-control: Save PDF files to Google Cloud Storage
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Save PDF file to Google Cloud Storage
-
-To save a PDF file to Google Cloud Storage, you can follow the steps below
-
-**Step 1:** Create a PDF Viewer sample in JavaScript
-
-Follow the instructions provided in this [link](https://ej2.syncfusion.com/javascript/documentation/pdfviewer/getting-started) to create a simple PDF Viewer sample in JavaScript. This will set up the basic structure of your PDF Viewer application.
-
-**Step 2:** Modify the `PdfViewerController.cs` File in the Web Service Project
-
-1. Create a web service project in .NET Core 3.0 or above. You can refer to this [link](https://www.syncfusion.com/kb/11063/how-to-create-pdf-viewer-web-service-in-net-core-3-0-and-above) for instructions on how to create a web service project.
-
-2. Open the `PdfViewerController.cs` file in your web service project.
-
-3. Import the required namespaces at the top of the file:
-
-```csharp
-using System.IO;
-using Google.Cloud.Storage.V1;
-using Google.Apis.Auth.OAuth2;
-```
-
-4. Add the following private fields and constructor parameters to the `PdfViewerController` 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 PdfViewerController(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");
-}
-```
-
-5. Modify the [Download()](https://helpej2.syncfusion.com/documentation/api/pdfviewer/#download) method to save the downloaded PDF files to Google Cloud Storage bucket
-
-```csharp
-[HttpPost("Download")]
-[Microsoft.AspNetCore.Cors.EnableCors("MyPolicy")]
-[Route("[controller]/Download")]
-//Post action for downloading the PDF documents
-public IActionResult Download([FromBody] Dictionary jsonObject)
-{
- //Initialize the PDF Viewer object with memory cache object
- PdfRenderer pdfviewer = new PdfRenderer(_cache);
- string documentBase = pdfviewer.GetDocumentAsBase64(jsonObject);
- string bucketName = _bucketName;
- string fileName = jsonObject["documentId"];
-
- // Convert the base64 string back to bytes
- string result = Path.GetFileNameWithoutExtension(fileName);
- byte[] documentBytes = Convert.FromBase64String(documentBase.Split(",")[1]);
-
- // Upload the document to Google Cloud Storage
- using (var memoryStream = new MemoryStream(documentBytes))
- {
- _storageClient.UploadObject(bucketName, result + "_downloaded.pdf", null, memoryStream);
- }
- return Content(documentBase);
-}
-```
-
-6. 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:** Set the PDF Viewer Properties in JavaScript PDF viewer component
-
-Modify the [serviceUrl](https://helpej2.syncfusion.com/documentation/api/pdfviewer/#serviceurl) property of the PDF viewer component with the accurate URL of your web service project, replacing `https://localhost:44396/pdfviewer` with the actual URL of your server. Set the `documentPath` property of the PDF viewer component to the desired name of the PDF file you wish to load from Google Cloud Storage. Ensure that you correctly pass the document name from the files available in your bucket to the documentPath property.
-
-```javascript
-
-import { PdfViewer, Toolbar, Magnification, Navigation, LinkAnnotation,ThumbnailView,
- BookmarkView, TextSelection, Annotation, FormFields, FormDesigner} from '@syncfusion/ej2-pdfviewer';
-
-PdfViewer.Inject( Toolbar,Magnification,Navigation, LinkAnnotation,ThumbnailView,
- BookmarkView, TextSelection, Annotation, FormFields, FormDesigner);
-
-let viewer: PdfViewer = new PdfViewer();
-// Replace the "localhost:44396" with the actual URL of your server
-viewer.serviceUrl = 'https://localhost:44396/pdfviewer';
-viewer.appendTo('#pdfViewer');
-viewer.load('PDF_Succinctly.pdf', null);
-
-```
-
-N> The **Google.Cloud.Storage.V1** NuGet package must be installed in your application to use the previous code example.
-
-[View sample in GitHub]()[View sample in GitHub](https://github.com/SyncfusionExamples/open-save-pdf-documents-in-google-cloud-storage)
\ No newline at end of file
diff --git a/ej2-javascript/pdfviewer/js/save-pdf-file/to-google-drive.md b/ej2-javascript/pdfviewer/js/save-pdf-file/to-google-drive.md
deleted file mode 100644
index f49978112..000000000
--- a/ej2-javascript/pdfviewer/js/save-pdf-file/to-google-drive.md
+++ /dev/null
@@ -1,162 +0,0 @@
----
-layout: post
-title: Save PDF files to Google Drive in ##Platform_Name## Pdfviewer control | Syncfusion
-description: Learn about how to Save PDF files to Google Drive in ##Platform_Name## Pdfviewer control of Syncfusion Essential JS 2 and more details.
-platform: ej2-javascript
-control: Save PDF files to Google Drive
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Save PDF file to Google Drive
-
-To save a PDF file 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).
-
-**Step 2:** Create a PDF Viewer sample in JavaScript
-
-Follow the instructions provided in this [link](https://ej2.syncfusion.com/javascript/documentation/pdfviewer/getting-started) to create a simple PDF Viewer sample in JavaScript. This will set up the basic structure of your PDF Viewer application.
-
-**Step 3:** Modify the `PdfViewerController.cs` File in the Web Service Project
-
-1. Create a web service project in .NET Core 3.0 or above. You can refer to this [link](https://www.syncfusion.com/kb/11063/how-to-create-pdf-viewer-web-service-in-net-core-3-0-and-above) for instructions on how to create a web service project.
-
-2. Open the `PdfViewerController.cs` file in your web service project.
-
-3. Import the required namespaces at the top of the file:
-
-```csharp
-using System.IO;
-using Google.Apis.Drive.v3;
-using Google.Apis.Util.Store;
-```
-
-4. Add the following private fields and constructor parameters to the `PdfViewerController` 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 PdfViewerController(IWebHostEnvironment hostingEnvironment, IMemoryCache cache, IConfiguration configuration)
-{
- _hostingEnvironment = hostingEnvironment;
- _cache = cache;
- _configuration = configuration;
- folderId = _configuration.GetValue("FolderId");
- credentialPath = _configuration.GetValue("CredentialPath");
- applicationName = _configuration.GetValue("ApplicationName");
-}
-```
-
-5. Modify the [Download()](https://helpej2.syncfusion.com/documentation/api/pdfviewer/#download) method to save the downloaded PDF files to Google Drive bucket
-
-```csharp
-[HttpPost("Download")]
-[Microsoft.AspNetCore.Cors.EnableCors("MyPolicy")]
-[Route("[controller]/Download")]
-//Post action for downloading the PDF documents
-
-public async Task Download([FromBody] Dictionary jsonObject)
-{
- //Initialize the PDF Viewer object with memory cache object
- PdfRenderer pdfviewer = new PdfRenderer(_cache);
-
- string documentBase = pdfviewer.GetDocumentAsBase64(jsonObject);
- byte[] documentBytes = Convert.FromBase64String(documentBase.Split(",")[1]);
-
- string documentId = jsonObject["documentId"];
- string result = Path.GetFileNameWithoutExtension(documentId);
- string fileName = result + "_downloaded.pdf";
-
- 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 }
- };
-
- FilesResource.CreateMediaUpload request;
-
- using (var stream = new MemoryStream(documentBytes))
- {
- request = service.Files.Create(fileMetadata, stream, "application/pdf");
- request.Fields = "id";
- object value = await request.UploadAsync();
- }
- return Content(documentBase);
-}eturn Content(documentBase);
-}
-```
-
-6. 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 PDFs directly to Google Drive. This Client_ID will serve as the authentication key, allowing you to save files securely.
-
-**Step 4:** Set the PDF Viewer Properties in JavaScript PDF viewer component
-
-Modify the `serviceUrl` property of the PDF viewer component with the accurate URL of your web service project, replacing `https://localhost:44396/pdfviewer` with the actual URL of your server. Set the `documentPath` property of the PDF viewer component to the desired name of the PDF file you wish to load from Google Drive. Ensure that you correctly pass the document name from the files available in your drive folder to the documentPath property.
-
-```javascript
-
-import { PdfViewer, Toolbar, Magnification, Navigation, LinkAnnotation,ThumbnailView,
- BookmarkView, TextSelection, Annotation, FormFields, FormDesigner} from '@syncfusion/ej2-pdfviewer';
-
-PdfViewer.Inject( Toolbar,Magnification,Navigation, LinkAnnotation,ThumbnailView,
- BookmarkView, TextSelection, Annotation, FormFields, FormDesigner);
-
-let viewer: PdfViewer = new PdfViewer();
-// Replace the "localhost:44396" with the actual URL of your server
-viewer.serviceUrl = 'https://localhost:44396/pdfviewer';
-viewer.appendTo('#pdfViewer');
-viewer.load('PDF_Succinctly.pdf', null);
-
-```
-
-N> The **Google.Apis.Drive.v3** NuGet package must be installed in your application to use the previous code example.
-
-[View sample in GitHub](https://github.com/SyncfusionExamples/open-save-pdf-documents-in-google-drive).
\ No newline at end of file
diff --git a/ej2-javascript/pdfviewer/js/save-pdf-file/to-one-drive.md b/ej2-javascript/pdfviewer/js/save-pdf-file/to-one-drive.md
deleted file mode 100644
index ddd0b185e..000000000
--- a/ej2-javascript/pdfviewer/js/save-pdf-file/to-one-drive.md
+++ /dev/null
@@ -1,154 +0,0 @@
----
-layout: post
-title: Save PDF files to One Drive in ##Platform_Name## Pdfviewer control | Syncfusion
-description: Learn about how to Save PDF files to One Drive in ##Platform_Name## Pdfviewer control of Syncfusion Essential JS 2 and more details.
-platform: ej2-javascript
-control: Save PDF files to One Drive
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Save PDF file to One Drive
-
-To save a PDF file 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.
-
-**Step 2:** Create a PDF Viewer sample in JavaScript
-
-Follow the instructions provided in this [link](https://ej2.syncfusion.com/javascript/documentation/pdfviewer/getting-started) to create a simple PDF Viewer sample in JavaScript. This will set up the basic structure of your PDF Viewer application.
-
-**Step 3:** Modify the `PdfViewerController.cs` File in the Web Service Project
-
-1. Create a web service project in .NET Core 3.0 or above. You can refer to this [link](https://www.syncfusion.com/kb/11063/how-to-create-pdf-viewer-web-service-in-net-core-3-0-and-above) for instructions on how to create a web service project.
-
-2. Open the `PdfViewerController.cs` file in your web service project.
-
-3. Import the required namespaces at the top of the file:
-
-```csharp
-using System.IO;
-using Microsoft.Graph;
-using Microsoft.Identity.Client;
-using Helpers;
-```
-
-4. Add the following private fields and constructor parameters to the `PdfViewerController` 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 PdfViewerController(IWebHostEnvironment hostingEnvironment, IMemoryCache cache, IConfiguration configuration)
-{
- _hostingEnvironment = hostingEnvironment;
- _cache = cache;
- _configuration = configuration;
- folderName = _configuration.GetValue("FolderName");
- tenantId = _configuration.GetValue("TenantId");
- applicationId = _configuration.GetValue("ApplicationId");
-}
-```
-
-5. Modify the [Download()](https://helpej2.syncfusion.com/documentation/api/pdfviewer/#download) method to save the downloaded PDF files to One Drive bucket
-
-```csharp
-[HttpPost("Download")]
-[Microsoft.AspNetCore.Cors.EnableCors("MyPolicy")]
-[Route("[controller]/Download")]
-//Post action for downloading the PDF documents
-
-public async Task Download([FromBody] Dictionary jsonObject)
-{
- //Initialize the PDF Viewer object with memory cache object
- PdfRenderer pdfviewer = new PdfRenderer(_cache);
- string documentBase = pdfviewer.GetDocumentAsBase64(jsonObject);
- byte[] documentBytes = Convert.FromBase64String(documentBase.Split(",")[1]);
-
- // Save the PDF as a stream
- Stream stream = new MemoryStream(documentBytes);
-
- string documentId = jsonObject["documentId"];
- string result = Path.GetFileNameWithoutExtension(documentId);
- string fileName = result + "_downloaded.pdf";
-
- 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;
-
- return Content(documentBase);
-}
-```
-
-6. 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:** Set the PDF Viewer Properties in JavaScript PDF viewer component
-
-Modify the `serviceUrl` property of the PDF viewer component with the accurate URL of your web service project, replacing `https://localhost:44396/pdfviewer` with the actual URL of your server. Set the `documentPath` property of the PDF viewer component to the desired name of the PDF file you wish to load from One Drive. Ensure that you correctly pass the document name from the files available in your drive folder to the documentPath property.
-
-```javascript
-
-import { PdfViewer, Toolbar, Magnification, Navigation, LinkAnnotation,ThumbnailView,
- BookmarkView, TextSelection, Annotation, FormFields, FormDesigner} from '@syncfusion/ej2-pdfviewer';
-
-PdfViewer.Inject( Toolbar,Magnification,Navigation, LinkAnnotation,ThumbnailView,
- BookmarkView, TextSelection, Annotation, FormFields, FormDesigner);
-
-let viewer: PdfViewer = new PdfViewer();
-// Replace the "localhost:44396" with the actual URL of your server
-viewer.serviceUrl = 'https://localhost:44396/pdfviewer';
-viewer.appendTo('#pdfViewer');
-viewer.load('PDF_Succinctly.pdf', null);
-
-```
-
-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.
-
-[View sample in GitHub](https://github.com/SyncfusionExamples/open-save-pdf-documents-in-one-drive)
\ No newline at end of file
diff --git a/ej2-javascript/pdfviewer/js/save-pdf-files.md b/ej2-javascript/pdfviewer/js/save-pdf-files.md
deleted file mode 100644
index 6c9b9e278..000000000
--- a/ej2-javascript/pdfviewer/js/save-pdf-files.md
+++ /dev/null
@@ -1,194 +0,0 @@
----
-layout: post
-title: Saving PDF files ##Platform_Name## Pdfviewer control | Syncfusion
-description: This page helps you to learn here all about saving PDF files in Syncfusion ##Platform_Name## Pdfviewer control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: Saving PDF files
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Saving PDF file
-
-After editing the PDF file with various annotation tools, you will need to save the updated PDF to the server, database, or local file system.
-
-## Save PDF file to Server
-
-Need to save the modified PDF back to a server. To achieve this, proceed with the following steps
-
-**Step 1:** Create a Simple PDF Viewer Sample in JavaScript
-
-Start by following the steps provided in this [link](https://ej2.syncfusion.com/javascript/documentation/pdfviewer/getting-started) to create a simple PDF viewer sample in JavaScript. This will give you a basic setup of the PDF viewer component.
-
-**Step 2:** Modify the `PdfViewerController.cs` File in the Web Service Project
-
-1. Create a web service project in .NET Core 3.0 or above. You can refer to this [link](https://www.syncfusion.com/kb/11063/how-to-create-pdf-viewer-web-service-in-net-core-3-0-and-above) for instructions on how to create a web service project.
-
-2. Open the `PdfViewerController.cs` file in your web service project.
-
-3. Modify the [Download()](https://helpej2.syncfusion.com/documentation/api/pdfviewer/#download) method to open it in the viewer using URL
-
-```csharp
-public IActionResult Download([FromBody] Dictionary jsonObject)
-{
- //Initialize the PDF Viewer object with memory cache object
- PdfRenderer pdfviewer = new PdfRenderer(_cache);
- string documentBase = pdfviewer.GetDocumentAsBase64(jsonObject);
- MemoryStream stream = new MemoryStream();
-
- string documentName = jsonObject["document"];
- string result = Path.GetFileNameWithoutExtension(documentName);
- string fileName = result + "_downloaded.pdf";
-
- // Save the file on the server
- string serverFilePath = @"Path to where you need to save your file in the server";
-
- string filePath = Path.Combine(serverFilePath, fileName);
-
- using (FileStream fileStream = new FileStream(filePath, FileMode.Create))
- {
- //Saving the new file in root path of application
- stream.CopyTo(fileStream);
- fileStream.Close();
- }
- return Content(documentBase);
-}
-```
-
-**Step 3:** Set the PDF Viewer Properties in React PDF viewer component
-
-Modify the [serviceUrl](https://helpej2.syncfusion.com/documentation/api/pdfviewer/#serviceurl) property of the PDF viewer component with the accurate URL of your web service project, replacing `https://localhost:44396/pdfviewer` with the actual URL of your server.Modify the documentPath with the correct PDF Document URL want to load.
-
-```javascript
-
-import { PdfViewer, Toolbar, Magnification, Navigation, LinkAnnotation,ThumbnailView,
- BookmarkView, TextSelection, Annotation, FormFields, FormDesigner} from '@syncfusion/ej2-pdfviewer';
-
-PdfViewer.Inject( Toolbar,Magnification,Navigation, LinkAnnotation,ThumbnailView,
- BookmarkView, TextSelection, Annotation, FormFields, FormDesigner);
-
-let viewer: PdfViewer = new PdfViewer();
-// Replace PDF_Succinctly.pdf with the actual document name that you want to load
-viewer.documentPath="PDF_Succinctly.pdf"
-viewer.serviceUrl = 'https://localhost:44396/pdfviewer';
-viewer.appendTo('#pdfViewer');
-
-```
-
-[View sample in GitHub](https://github.com/SyncfusionExamples/javascript-pdf-viewer-examples/tree/master/Save%20and%20Load/Save%20PDF%20file%20to%20server)
-
-## Download PDF file as a copy
-
-In the built-in toolbar, you have an option to download the updated PDF to the local file system, you can use it to download the PDF file.
-
-```html
-
-
-```
-
-```javascript
-
-document.getElementById('download').addEventListener('click', function () {
- //API to perform download action.
- viewer.download();
-});
-
-```
-
-## Save PDF file to Database
-
-If you have plenty of PDF files stored in database and you want to save the updated PDF file back to the database, use the following code example.
-
-**Step 1:** Create a Simple PDF Viewer Sample in JavaScript
-
-Start by following the steps provided in this [link](https://ej2.syncfusion.com/javascript/documentation/pdfviewer/getting-started) to create a simple PDF viewer sample in JavaScript. This will give you a basic setup of the PDF viewer component.
-
-**Step 2:** Modify the `PdfViewerController.cs` File in the Web Service Project
-
-1. Create a web service project in .NET Core 3.0 or above. You can refer to this [link](https://www.syncfusion.com/kb/11063/how-to-create-pdf-viewer-web-service-in-net-core-3-0-and-above) for instructions on how to create a web service project.
-
-2. Open the `PdfViewerController.cs` file in your web service project.
-
-3. Import the required namespaces at the top of the file:
-
-```csharp
-using System.IO;
-using System.Data.SqlClient;
-```
-
-4. Add the following private fields and constructor parameters to the `PdfViewerController` class, In the constructor, assign the values from the configuration to the corresponding fields
-
-```csharp
-private IConfiguration _configuration;
-public readonly string _connectionString;
-
-public PdfViewerController(IWebHostEnvironment hostingEnvironment, IMemoryCache cache, IConfiguration configuration)
-{
- _hostingEnvironment = hostingEnvironment;
- _cache = cache;
- _configuration = configuration;
- _connectionString = _configuration.GetValue("ConnectionString");
-}
-```
-
-5. Modify the [Download()](https://helpej2.syncfusion.com/documentation/api/pdfviewer/#download) method to open it in the viewer using URL
-
-```csharp
-
-[HttpPost("Download")]
-[Microsoft.AspNetCore.Cors.EnableCors("MyPolicy")]
-[Route("[controller]/Download")]
-//Post action for downloading the PDF documents
-
-public async Task Download([FromBody] Dictionary jsonObject)
-{
- //Initialize the PDF Viewer object with memory cache object
- PdfRenderer pdfviewer = new PdfRenderer(_cache);
-
- string documentBase = pdfviewer.GetDocumentAsBase64(jsonObject);
- byte[] documentBytes = Convert.FromBase64String(documentBase.Split(",")[1]);
-
- string documentId = jsonObject["documentId"];
- string result = Path.GetFileNameWithoutExtension(documentId);
- string fileName = result + "_downloaded.pdf";
-
- string connectionString = _connectionString;
-
- using (SqlConnection connection = new SqlConnection(connectionString))
- {
- connection.Open();
-
- using (SqlCommand cmd = new SqlCommand("INSERT INTO Table (FileName, fileData) VALUES (@FileName, @fileData)", connection))
- {
- cmd.Parameters.AddWithValue("@FileName", fileName);
- cmd.Parameters.AddWithValue("@fileData", documentBytes);
-
- cmd.ExecuteNonQuery();
- }
- connection.Close();
- }
- return Content(documentBase);
-}
-```
-
-6. 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 for SQL server"
-}
-```
-
-N> Replace **Your Connection string from SQL server** with the actual connection string for your SQL Server database
-
-N> The **System.Data.SqlClient** package must be installed in your application to use the previous code example. You need to modify the connectionString variable in the previous code example as per the connection string of your database.
-
-[View sample in GitHub](https://github.com/SyncfusionExamples/open-save-pdf-documents-in-database)
\ No newline at end of file
diff --git a/ej2-javascript/pdfviewer/js/style-and-appearance/annotation.md b/ej2-javascript/pdfviewer/js/style-and-appearance/annotation.md
deleted file mode 100644
index 5f788c4e3..000000000
--- a/ej2-javascript/pdfviewer/js/style-and-appearance/annotation.md
+++ /dev/null
@@ -1,125 +0,0 @@
----
-layout: post
-title: Style and appearance in ##Platform_Name## Pdfviewer control | Syncfusion
-description: Learn all about style and appearance in the Annotation module in Syncfusion ##Platform_Name## Pdfviewer control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: PDF Viewer
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Style and Appearance in Annotation module ##Platform_Name## Pdfviewer control
-
-## Customizing the Highlight icon
-
-Use the following CSS to customize the Highlight icon.
-
-```
-/* To specify font size and color */
-
- .e-pdfviewer .e-pv-highlight-icon{
- color: rgb(143, 89, 219);
- font-size: 20px;
- }
-```
-
-## Customizing the Underline icon
-
-Use the following CSS to customize the Underline icon.
-
-```
-/* To specify font size and color */
-
- .e-pdfviewer .e-pv-underline-icon{
- color: rgb(143, 89, 219);
- font-size: 20px;
- }
-```
-
-## Customizing the Strikethrough icon
-
-Use the following CSS to customize the Strikethrough icon.
-
-```
-/* To specify font size and color */
-
- .e-pdfviewer .e-pv-strikethrough-icon{
- color: rgb(143, 89, 219);
- font-size: 20px;
- }
-```
-
-## Customizing the Shape Annotation icon
-
-Use the following CSS to customize the Shape Annotation icon.
-
-```
-/* To specify font size and color */
-
- .e-pdfviewer .e-pv-annotation-shape-icon{
- color: rgb(143, 89, 219);
- font-size: 20px;
- }
-```
-
-## Customizing the Calibration icon
-
-Use the following CSS to customize the Calibration icon.
-
-```
-/* To specify font size and color */
-
- .e-pdfviewer .e-pv-annotation-calibrate-icon{
- color: rgb(143, 89, 219);
- font-size: 20px;
- }
-```
-
-## Customizing the FreeText icon
-
-Use the following CSS to customize the Handwritten signature icon.
-
-```
-/* To specify font size and color */
-
- .e-pdfviewer .e-pv-freetext-icon{
- color: rgb(143, 89, 219);
- font-size: 20px;
- }
-```
-
-## Customizing the Handwritten signature icon
-
-Use the following CSS to customize the Handwritten signature icon.
-
-```
-/* To specify font size and color */
-
- .e-pdfviewer .e-pv-handwritten-icon::before{
- color: rgb(143, 89, 219);
- font-size: 20px;
- }
-```
-
-## Customizing the Ink Annotation icon
-
-Use the following CSS to customize the Ink Annotation icon.
-
-```
-/* To specify font size and color */
-
- .e-pdfviewer .e-pv-inkannotation-icon{
- color: rgb(143, 89, 219);
- font-size: 20px;
- }
-```
-## Customizing the Close icon
-
-Use the following CSS to customize the Close icon.
-
-```
- #pdfViewer_annotation_closeIcon{
- display: none
- }
-```
diff --git a/ej2-javascript/pdfviewer/js/style-and-appearance/form-designer.md b/ej2-javascript/pdfviewer/js/style-and-appearance/form-designer.md
deleted file mode 100644
index 390271621..000000000
--- a/ej2-javascript/pdfviewer/js/style-and-appearance/form-designer.md
+++ /dev/null
@@ -1,185 +0,0 @@
----
-layout: post
-title: Form Field ##Platform_Name## Pdfviewer control | Syncfusion
-description: Learn all about style and appearance in the Form Field module in Syncfusion ##Platform_Name## Pdfviewer control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: PDF Viewer
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Style and Appearance in Form Field module ##Platform_Name## Pdfviewer control
-
-## Customizing the Textbox field
-
-Use the following CSS to customize the Textbox field icon.
-
-```
-/* To specify color of the textbox*/
-
- .e-pdfviewer .e-pv-textbox-icon{
- color: rgb(119, 249, 238);
- font-size: 16px;
- }
-
-```
-
-## Customizing the Password field
-
-Use the following CSS to customize the Password field icon.
-
-```
-/* To specify color of the Password*/
-
- .e-pdfviewer .e-pv-textbox-icon{
- color: rgb(119, 249, 238);
- font-size: 16px;
- }
-
-```
-
-## Customizing the CheckBox field
-
-Use the following CSS to customize the CheckBox field icon.
-
-```
-/* To specify color of the CheckBox*/
-
- .e-pdfviewer .e-pv-checkbox-icon{
- color: rgb(119, 249, 238);
- font-size: 16px;
- }
-
-```
-
-## Customizing the RadioButton field
-
-Use the following CSS to customize the RadioButton field icon.
-
-```
-/* To specify color of the RadioButton*/
-
- .e-pdfviewer .e-pv-radiobutton-icon{
- color: rgb(119, 249, 238);
- font-size: 16px;
- }
-
-```
-## Customizing the ListBox field
-
-Use the following CSS to customize the ListBox field icon.
-
-```
-/* To specify color of the ListBox*/
-
- .e-pdfviewer .e-pv-listbox-icon{
- color: rgb(119, 249, 238);
- font-size: 16px;
- }
-
-```
-
-## Customizing the DropDown field
-
-Use the following CSS to customize the DropDown field icon.
-
-```
-/* To specify color of the DropDown*/
-
- .e-pdfviewer .e-pv-dropdown-icon{
- color: rgb(119, 249, 238);
- font-size: 16px;
- }
-
-```
-
-## Customizing the Signature and initial field
-
-Use the following CSS to customize the Signature and initial fields icon.
-
-```
-/* To specify color of the Signature and initial fields*/
-
- .e-pdfviewer .e-pv-handwritten-icon{
- color: rgb(119, 249, 238);
- font-size: 16px;
- }
-
-```
-
-## Customizing the Close icon
-
-Use the following CSS to customize the Close icon.
-
-```
- #pdfViewer_formdesigner_closeIcon{
- display: none
- }
-```
-
-## Customizing the Property window
-
-Use the following CSS to customize the property window
-
-### Customizing the dialog header
-
-Use the following CSS to customize the dialog header properties.
-
-```
- .e-pv-form-field-property-header {
- color: rgb(119, 249, 238);
- display: block;
- font-family: cursive;
- font-size: 20px;
- font-weight: 500;
- }
-
- .e-pv-form-field-property-header-general{
- font-family: "calibri";
- font-size: 13px;
- font-style: normal;
- font-weight: 500;
- line-height: 15px;
- color: rgb(119, 249, 238);
- }
-```
-
-
-### Customizing the dialog check box
-
-Use the following CSS to customize the checkbox in the dialog.
-
-```
- .e-pdfviewer .e-checkbox-wrapper .e-frame + .e-label, .e-pdfviewer .e-css.e-checkbox-wrapper .e-frame + .e-label{
- font-family: cursive;
- }
- .e-checkbox-wrapper .e-frame{
- border-color: rgb(119, 249, 238);
- }
-```
-
-### Customizing the dialog close button
-
-Use the following CSS to customize the dialog close button.
-
-```
- .e-dialog .e-btn .e-btn-icon.e-icon-dlg-close {
- font-size: 12px;
- color: rgb(119, 249, 238);
- }
-```
-
-### Customizing the dialog footer button
-
-Use the following CSS to customize the dialog footer button.
-
-```
-.e-dialog .e-footer-content .e-btn {
- font-family: "calibri";
- font-size: 13px;
- font-style: normal;
- color: rgb(119, 249, 238);
-}
-
-```
\ No newline at end of file
diff --git a/ej2-javascript/pdfviewer/js/style-and-appearance/style-and-appearance.md b/ej2-javascript/pdfviewer/js/style-and-appearance/style-and-appearance.md
deleted file mode 100644
index ca058edb8..000000000
--- a/ej2-javascript/pdfviewer/js/style-and-appearance/style-and-appearance.md
+++ /dev/null
@@ -1,73 +0,0 @@
----
-layout: post
-title: Style and appearance in ##Platform_Name## Pdfviewer control | Syncfusion
-description: Learn here all about Style and appearance in Syncfusion ##Platform_Name## Pdfviewer control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: PDF Viewer
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Style and Appearance in ##Platform_Name## Pdfviewer control
-
-To modify the PDF Viewer appearance, you need to override the default CSS of PDF Viewer. Please find the CSS structure that can be used to modify the PDF Viewer appearance. Also, you have an option to create your own custom theme for all the JavaScript controls using our [`Theme Studio`](https://ej2.syncfusion.com/themestudio/?theme=material).
-
-## Customizing the PDF Viewer root element
-
-Use the below CSS to customize the PDF Viewer root element.
-
-```
-.e-pdfviewer{
- border: 3px solid rgb(119, 249, 238);
-}
-```
-## Customizing the PDF Viewer container
-
-Use the following CSS to customize the PDF Viewer container
-
-```
-/* To specify background color*/
-.e-pv-viewer-container {
- background-color: rgb(119, 249, 238);
-}
-```
-## Customizing the PDF Viewer container
-
-Use the following CSS to customize the PDF Viewer container
-
-```
-/* To specify background color*/
-.e-pv-viewer-container {
- background-color: rgb(119, 249, 238);
-}
-```
-
-## Customizing the bookmark of the PDF Viewer
-
-Use the following CSS to customize the bookmark of the PDF Viewer
-
-```
-/* To specify color of the bookmark */
- .e-pdfviewer .e-pv-bookmark-icon{
- color: rgb(24, 182, 231);
- }
- .e-pdfviewer .e-pv-bookmark-icon:hover{
- color: rgb(226, 76, 11);
- }
-
-```
-## Customizing the Thumbnail of the PDF Viewer
-
-Use the following CSS to customize the Thumbnail of the PDF Viewer
-
-```
-/* To specify color of the bookmark */
- .e-pdfviewer .e-pv-thumbnail-view-icon{
- color: rgb(24, 182, 231);
- }
- .e-pdfviewer .e-pv-thumbnail-view-icon:hover{
- color: rgb(226, 76, 11);
- }
-
-```
\ No newline at end of file
diff --git a/ej2-javascript/pdfviewer/js/text-search.md b/ej2-javascript/pdfviewer/js/text-search.md
deleted file mode 100644
index 3e3cf4705..000000000
--- a/ej2-javascript/pdfviewer/js/text-search.md
+++ /dev/null
@@ -1,261 +0,0 @@
----
-layout: post
-title: Text search in ##Platform_Name## Pdfviewer control | Syncfusion
-description: Learn here all about Text search in Syncfusion ##Platform_Name## Pdfviewer control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: Text search
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-# Text search in ##Platform_Name## Pdfviewer control
-
-The Text Search option in PDF Viewer is used to find and highlight the text content from the document. You can enable/disable the text search using the following code snippet.
-
-```html
-{% raw %}
-
-
-
-Essential JS 2
-
-
-
-
-
-
-
-
-
-
-
-
-
-{% endraw %}
-```
-
-{% tabs %}
-{% highlight js tabtitle="Standalone" %}
-
-var pdfviewer = new ej.pdfviewer.PdfViewer({
- enableTextSearch: true,
- documentPath: "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf",
- });
-ej.pdfviewer.PdfViewer.Inject(ej.pdfviewer.Toolbar, ej.pdfviewer.Magnification, ej.pdfviewer.LinkAnnotation,ej.pdfviewer.ThumbnailView, ej.pdfviewer.BookmarkView, ej.pdfviewer.TextSelection, ej.pdfviewer.TextSearch, ej.pdfviewer.Navigation, ej.pdfviewer.Print);
-pdfviewer.appendTo('#PdfViewer');
-
-{% endhighlight %}
-{% highlight js tabtitle="Server-Backed" %}
-
-var pdfviewer = new ej.pdfviewer.PdfViewer({
- enableTextSearch: true,
- documentPath: "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf",
- serviceUrl: 'https://services.syncfusion.com/js/production/api/pdfviewer'
- });
-ej.pdfviewer.PdfViewer.Inject(ej.pdfviewer.Toolbar, ej.pdfviewer.Magnification, ej.pdfviewer.LinkAnnotation,ej.pdfviewer.ThumbnailView, ej.pdfviewer.BookmarkView, ej.pdfviewer.TextSelection, ej.pdfviewer.TextSearch, ej.pdfviewer.Navigation, ej.pdfviewer.Print);
-pdfviewer.appendTo('#PdfViewer');
-
-{% endhighlight %}
-{% endtabs %}
-
-## Text search features
-
-### Real time search suggestion while typing
-Entering text into the search input dynamically displays search suggestions based on the provided input. The suggestions are updated in real-time as text is typed, offering relevant matches from the available content. This feature enhances the search experience by allowing quick access to potential results while typing.
-
-
-
-### Selecting Search Suggestions from the Popup
-Entering text into the search input triggers a popup displaying relevant suggestions based on the input. Selecting a suggestion from the popup enables direct navigation to its occurrences in the document.
-
-
-
-### Search Text with enabling 'Match Case' checkbox
-By enabling the 'Match Case' option and entering text into the search input, only the exact case-sensitive matches in the document are highlighted. This feature allows navigation through each occurrence of the exact text match within the document.
-
-
-
-### Search Text without enabling 'Match Case' checkbox
-When text is entered into the search input without enabling the 'Match Case' option, all instances of the text, regardless of case, are highlighted in the document. This allows easy navigation through every occurrence of the search term.
-
-
-
-### Search list of text by enabling 'Match Any Word' checkbox
-When the 'Match Any Word' option is enabled, the entered text in the search input is split into individual words based on spaces. As the text is typed, the popup dynamically displays search suggestions for each word in real time, highlighting potential matches within the document.
-
-
-
-The following text search methods are available in the PDF Viewer,
-
-* [**Search text**](https://ej2.syncfusion.com/documentation/api/pdfviewer/textSearch/#searchtext):- Searches the target text in the PDF document and highlights the occurrences in the pages.
-* [**Search next**](https://ej2.syncfusion.com/documentation/api/pdfviewer/textSearch/#searchnext):- Searches the next occurrence of the searched text from the current occurrence of the PdfViewer.
-* [**Search previous**](https://ej2.syncfusion.com/documentation/api/pdfviewer/textSearch/#searchprevious):- Searches the previous occurrence of the searched text from the current occurrence of the PdfViewer.
-* [**Cancel text search**](https://ej2.syncfusion.com/documentation/api/pdfviewer/textSearch/#canceltextsearch):- The text search can be cancelled and the highlighted occurrences from the PDF Viewer can be removed .
-
-
-
-## Find text method
-Searches for the specified text or an array of strings within the document and returns the bounding rectangles for each occurrence. The search can be case-sensitive based on the provided parameters. If a specific page index is provided, it returns the bounding rectangles for these search strings on that page; otherwise, it returns the bounding rectangles for all pages in the document where the strings were found.
-
-### Find and get the bounds of a text
-Searches for the specified text within the document and returns the bounding rectangles of the matched text. The search can be case-sensitive based on the provided parameter. It returns the bounding rectangles for all pages in the document where the text was found. The below code snippet shows how to get the bounds of the given text:
-
-```html
-
-```
-
-{% tabs %}
-{% highlight js tabtitle="Standalone" %}
-
-var pdfviewer = new ej.pdfviewer.PdfViewer({
- enableTextSearch: true,
- documentPath: "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf",
- });
-ej.pdfviewer.PdfViewer.Inject(ej.pdfviewer.Toolbar, ej.pdfviewer.Magnification, ej.pdfviewer.LinkAnnotation,ej.pdfviewer.ThumbnailView, ej.pdfviewer.BookmarkView, ej.pdfviewer.TextSelection, ej.pdfviewer.TextSearch, ej.pdfviewer.Navigation, ej.pdfviewer.Print);
-pdfviewer.appendTo('#PdfViewer');
-document.getElementById('textbounds').addEventListener('click', function() {
- console.log(viewer.textSearch.findText('pdf', false));
-});
-pdfviewer.appendTo('#PdfViewer');
-
-{% endhighlight %}
-{% highlight js tabtitle="Server-backed" %}
-
-var pdfviewer = new ej.pdfviewer.PdfViewer({
- enableTextSearch: true,
- documentPath: "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf",
- serviceUrl: 'https://services.syncfusion.com/js/production/api/pdfviewer'
- });
-ej.pdfviewer.PdfViewer.Inject(ej.pdfviewer.Toolbar, ej.pdfviewer.Magnification, ej.pdfviewer.LinkAnnotation,ej.pdfviewer.ThumbnailView, ej.pdfviewer.BookmarkView, ej.pdfviewer.TextSelection, ej.pdfviewer.TextSearch, ej.pdfviewer.Navigation, ej.pdfviewer.Print);
-pdfviewer.appendTo('#PdfViewer');
-document.getElementById('textbounds').addEventListener('click', function() {
- console.log(viewer.textSearch.findText('pdf', false));
-});
-pdfviewer.appendTo('#PdfViewer');
-
-{% endhighlight %}
-{% endtabs %}
-
-### Find and get the bounds of a text on the desired page
-Searches for the specified text within the document and returns the bounding rectangles of the matched text. The search can be case-sensitive based on the provided parameter. It returns the bounding rectangles for that page in the document where the text was found. The below code snippet shows how to get the bounds of the given text from the desired page:
-
-```html
-
-```
-
-{% tabs %}
-{% highlight js tabtitle="Standalone" %}
-
-var pdfviewer = new ej.pdfviewer.PdfViewer({
- enableTextSearch: true,
- documentPath: "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf",
- });
-ej.pdfviewer.PdfViewer.Inject(ej.pdfviewer.Toolbar, ej.pdfviewer.Magnification, ej.pdfviewer.LinkAnnotation,ej.pdfviewer.ThumbnailView, ej.pdfviewer.BookmarkView, ej.pdfviewer.TextSelection, ej.pdfviewer.TextSearch, ej.pdfviewer.Navigation, ej.pdfviewer.Print);
-pdfviewer.appendTo('#PdfViewer');
-document.getElementById('textbounds').addEventListener('click', function() {
- console.log(viewer.textSearch.findText('pdf', false, 7));
-});
-pdfviewer.appendTo('#PdfViewer');
-
-{% endhighlight %}
-{% highlight js tabtitle="Server-backed" %}
-
-var pdfviewer = new ej.pdfviewer.PdfViewer({
- enableTextSearch: true,
- documentPath: "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf",
- serviceUrl: 'https://services.syncfusion.com/js/production/api/pdfviewer'
- });
-ej.pdfviewer.PdfViewer.Inject(ej.pdfviewer.Toolbar, ej.pdfviewer.Magnification, ej.pdfviewer.LinkAnnotation,ej.pdfviewer.ThumbnailView, ej.pdfviewer.BookmarkView, ej.pdfviewer.TextSelection, ej.pdfviewer.TextSearch, ej.pdfviewer.Navigation, ej.pdfviewer.Print);
-pdfviewer.appendTo('#PdfViewer');
-document.getElementById('textbounds').addEventListener('click', function() {
- console.log(viewer.textSearch.findText('pdf', false, 7));
-});
-pdfviewer.appendTo('#PdfViewer');
-
-{% endhighlight %}
-{% endtabs %}
-
-### Find and get the bounds of the list of text
-Searches for an array of strings within the document and returns the bounding rectangles for each occurrence. The search can be case-sensitive based on the provided parameters. It returns the bounding rectangles for all pages in the document where the strings were found.
-
-```html
-
-```
-
-{% tabs %}
-{% highlight js tabtitle="Standalone" %}
-
-var pdfviewer = new ej.pdfviewer.PdfViewer({
- enableTextSearch: true,
- documentPath: "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf",
- });
-ej.pdfviewer.PdfViewer.Inject(ej.pdfviewer.Toolbar, ej.pdfviewer.Magnification, ej.pdfviewer.LinkAnnotation,ej.pdfviewer.ThumbnailView, ej.pdfviewer.BookmarkView, ej.pdfviewer.TextSelection, ej.pdfviewer.TextSearch, ej.pdfviewer.Navigation, ej.pdfviewer.Print);
-pdfviewer.appendTo('#PdfViewer');
-document.getElementById('textbounds').addEventListener('click', function() {
- console.log(viewer.textSearch.findText(['pdf', 'adobe'], false));
-});
-pdfviewer.appendTo('#PdfViewer');
-
-{% endhighlight %}
-{% highlight js tabtitle="Server-backed" %}
-
-var pdfviewer = new ej.pdfviewer.PdfViewer({
- enableTextSearch: true,
- documentPath: "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf",
- serviceUrl: 'https://services.syncfusion.com/js/production/api/pdfviewer'
- });
-ej.pdfviewer.PdfViewer.Inject(ej.pdfviewer.Toolbar, ej.pdfviewer.Magnification, ej.pdfviewer.LinkAnnotation,ej.pdfviewer.ThumbnailView, ej.pdfviewer.BookmarkView, ej.pdfviewer.TextSelection, ej.pdfviewer.TextSearch, ej.pdfviewer.Navigation, ej.pdfviewer.Print);
-pdfviewer.appendTo('#PdfViewer');
-document.getElementById('textbounds').addEventListener('click', function() {
- console.log(viewer.textSearch.findText(['pdf', 'adobe'], false));
-});
-pdfviewer.appendTo('#PdfViewer');
-
-{% endhighlight %}
-{% endtabs %}
-
-### Find and get the bounds of the list of text on desired page
-Searches for an array of strings within the document and returns the bounding rectangles for each occurrence. The search can be case-sensitive based on the provided parameters. It returns the bounding rectangles for these search strings on that particular page where the strings were found.
-
-```html
-
-```
-
-{% tabs %}
-{% highlight js tabtitle="Standalone" %}
-
-var pdfviewer = new ej.pdfviewer.PdfViewer({
- enableTextSearch: true,
- documentPath: "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf",
- });
-ej.pdfviewer.PdfViewer.Inject(ej.pdfviewer.Toolbar, ej.pdfviewer.Magnification, ej.pdfviewer.LinkAnnotation,ej.pdfviewer.ThumbnailView, ej.pdfviewer.BookmarkView, ej.pdfviewer.TextSelection, ej.pdfviewer.TextSearch, ej.pdfviewer.Navigation, ej.pdfviewer.Print);
-pdfviewer.appendTo('#PdfViewer');
-document.getElementById('textbounds').addEventListener('click', function() {
- console.log(viewer.textSearch.findText(['pdf', 'adobe'], false, 7));
-});
-pdfviewer.appendTo('#PdfViewer');
-
-{% endhighlight %}
-{% highlight js tabtitle="Server-backed" %}
-
-var pdfviewer = new ej.pdfviewer.PdfViewer({
- enableTextSearch: true,
- documentPath: "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf",
- serviceUrl: 'https://services.syncfusion.com/js/production/api/pdfviewer'
- });
-ej.pdfviewer.PdfViewer.Inject(ej.pdfviewer.Toolbar, ej.pdfviewer.Magnification, ej.pdfviewer.LinkAnnotation,ej.pdfviewer.ThumbnailView, ej.pdfviewer.BookmarkView, ej.pdfviewer.TextSelection, ej.pdfviewer.TextSearch, ej.pdfviewer.Navigation, ej.pdfviewer.Print);
-pdfviewer.appendTo('#PdfViewer');
-document.getElementById('textbounds').addEventListener('click', function() {
- console.log(viewer.textSearch.findText(['pdf', 'adobe'], false, 7));
-});
-pdfviewer.appendTo('#PdfViewer');
-
-{% endhighlight %}
-{% endtabs %}
-
-[View sample in GitHub](https://github.com/SyncfusionExamples/javascript-pdf-viewer-examples/tree/master/How%20to/TextSearch)
-
-## See also
-
-* [Toolbar items](./toolbar)
-* [Feature Modules](./feature-module)
\ No newline at end of file
diff --git a/ej2-javascript/pdfviewer/js/toolbar.md b/ej2-javascript/pdfviewer/js/toolbar.md
deleted file mode 100644
index 9f8ac0a40..000000000
--- a/ej2-javascript/pdfviewer/js/toolbar.md
+++ /dev/null
@@ -1,1257 +0,0 @@
----
-layout: post
-title: Toolbar in ##Platform_Name## Pdfviewer control | Syncfusion
-description: Learn here all about Toolbar in Syncfusion ##Platform_Name## Pdfviewer control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: Toolbar
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Built-In Toolbar in ##Platform_Name## Pdfviewer control
-
-The PDF Viewer comes with a powerful built-in toolbar to execute important actions such as page navigation, text search,view mode,download,print,bookmark, and thumbnails.
-
-The following table shows built-in toolbar items and its actions:-
-
-| Option | Description |
-|---|---|
-| OpenOption | This option provides an action to load the PDF documents to the PDF Viewer.|
-| PageNavigationTool | This option provides an action to navigate the pages in the PDF Viewer. It contains GoToFirstPage,GoToLastPage,GotoPage,GoToNext, and GoToLast tools.|
-| MagnificationTool | This option provides an action to magnify the pages either with predefined or user defined zoom factors in the PDF Viewer. Contains ZoomIn, ZoomOut, Zoom, FitPage and FitWidth tools|
-| PanTool |This option provides an action for panning the pages in the PDF Viewer.|
-| SelectionTool |This option provides an action to enable/disable the text selection in the PDF Viewer.|
-| SearchOption |This option provides an action to search a word in the PDF documents.|
-| PrintOption |This option provides an action to print the PDF document being loaded in the PDF Viewer.|
-| DownloadOption |This Download option provides an action to download the PDF document that has been loaded in the PDF Viewer.|
-| UndoRedoTool | This tool provides options to undo and redo the annotation actions performed in the PDF Viewer.|
-| AnnotationEditTool | This tool provides options to enable or disable the edit mode of annotation in the PDF Viewer.|
-| FormDesignerEditTool | This tool provides options to enable or disable the edit mode of form fields in the PDF Viewer.|
-
-## Show/Hide the default toolbar
-
-The PDF Viewer has an option to show or hide the complete default toolbar. You can achieve this by using following two ways.,
-
-```html
-{% raw %}
-
-
-
-Essential JS 2
-
-
-
-
-
-
-
-
-
-
-
-
-
-{% endraw %}
-```
-
-* **Show/Hide toolbar using enableToolbar API as in the following code snippet**
-
-{% tabs %}
-{% highlight html tabtitle="index.html" %}
-{% include code-snippet/pdfviewer/es5-toolbar/toolbar-hide-cs1/index.html %}
-{% endhighlight %}
-{% endtabs %}
-
-N> To set up the **server-backed PDF Viewer**,
-Add the below [serviceUrl](https://helpej2.syncfusion.com/documentation/api/pdfviewer/#serviceurl) in the `index.html` file
-`serviceUrl: 'https://services.syncfusion.com/js/production/api/pdfviewer'`
-
-{% previewsample "page.domainurl/code-snippet/pdfviewer/es5-toolbar/toolbar-hide-cs1" %}
-
-* **Show/Hide toolbar using showToolbar as in the following code snippet**
-
-{% tabs %}
-{% highlight html tabtitle="index.html" %}
-{% include code-snippet/pdfviewer/es5-toolbar/toolbar-method-cs1/index.html %}
-{% endhighlight %}
-{% endtabs %}
-
-N> To set up the **server-backed PDF Viewer**,
-Add the below `serviceUrl` in the `index.html` file
-`serviceUrl: 'https://services.syncfusion.com/js/production/api/pdfviewer'`
-
-{% previewsample "page.domainurl/code-snippet/pdfviewer/es5-toolbar/toolbar-method-cs1" %}
-
-## Show/Hide the default toolbaritem
-
-The PDF Viewer has an option to show or hide these grouped items in the default toolbar.
-
-* **Show/Hide toolbaritem using toolbarSettings as in the following code snippet.**
-
-{% tabs %}
-{% highlight html tabtitle="index.html" %}
-{% include code-snippet/pdfviewer/es5-toolbar/toolbar-items-cs1/index.html %}
-{% endhighlight %}
-{% endtabs %}
-
-N> To set up the **server-backed PDF Viewer**,
-Add the below `serviceUrl` in the `index.html` file
-`serviceUrl: 'https://services.syncfusion.com/js/production/api/pdfviewer'`
-
-{% previewsample "page.domainurl/code-snippet/pdfviewer/es5-toolbar/toolbar-items-cs1" %}
-
-* **Show/Hide toolbaritem using showToolbaritem as in the following code snippet**
-
-{% tabs %}
-{% highlight html tabtitle="index.html" %}
-{% include code-snippet/pdfviewer/es5-toolbar/toolbar-items-method-cs1/index.html %}
-{% endhighlight %}
-{% endtabs %}
-
-N> To set up the **server-backed PDF Viewer**,
-Add the below `serviceUrl` in the `index.html` file
-`serviceUrl: 'https://services.syncfusion.com/js/production/api/pdfviewer'`
-
-{% previewsample "page.domainurl/code-snippet/pdfviewer/es5-toolbar/toolbar-items-method-cs1" %}
-
-## Customize Built-In Toolbar
-
-PDF Viewer allows you to customize(add, show, hide, enable, and disable) existing items in a toolbar.
-
-* Add - New items can defined by [**CustomToolbarItemModel**](https://ej2.syncfusion.com/javascript/documentation/api/pdfviewer/customToolbarItem/) and with existing items in [**ToolbarSettings**](https://ej2.syncfusion.com/javascript/documentation/api/pdfviewer/toolbarSettings/) property. Newly added item click action can be defined in [`toolbarclick`](https://ej2.syncfusion.com/javascript/documentation/api/toolbar/clickEventArgs/).
-
-* Show, Hide - Existing items can be shown or hidden using the [`ToolbarSettings`](https://ej2.syncfusion.com/javascript/documentation/api/pdfviewer/toolbarSettings/) property. Pre-defined toolbar items are available with [`ToolbarItem`](https://ej2.syncfusion.com/javascript/documentation/api/pdfviewer/toolbarItem/).
-
-* Enable, Disable - Toolbar items can be enabled or disable using [`enabletoolbaritem`](https://ej2.syncfusion.com/javascript/documentation/api/pdfviewer/toolbar/#enabletoolbaritem)
-
-{% tabs %}
-{% highlight js tabtitle="Standalone" %}
- var toolItem1 = {
- prefixIcon: 'e-icons e-paste',
- id: 'print',
- tooltipText: 'Custom toolbar item',
-};
-var toolItem2 = {
- id: 'download',
- text: 'Save',
- tooltipText: 'Custom toolbar item',
- align: 'right'
-};
-var LanguageList = ['Typescript', 'Javascript', 'Angular', 'C#', 'C', 'Python'];
-var toolItem3 = {
- type: 'Input',
- tooltipText: 'Language List',
- cssClass: 'percentage',
- align: 'Left',
- id: 'dropdown',
- template: new ej.dropdowns.ComboBox({ width: 100, value: 'TypeScript', dataSource: LanguageList, popupWidth: 85, showClearButton: false, readonly: false })
-};
-var toolItem4 = {
- type: 'Input',
- tooltipText: 'Text',
- align: 'Right',
- cssClass: 'find',
- id: 'textbox',
- template: new ej.inputs.TextBox({ width: 125, placeholder: 'Type Here', created: OnCreateSearch })
-}
-var pdfviewer = new ej.pdfviewer.PdfViewer({
- documentPath:'https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf',
- resourceUrl:'https://cdn.syncfusion.com/ej2/24.1.41/dist/ej2-pdfviewer-lib',
- toolbarSettings : { toolbarItems: [toolItem1, toolItem2, 'OpenOption', 'PageNavigationTool', 'MagnificationTool', toolItem3, 'PanTool', 'SelectionTool', 'SearchOption', 'PrintOption', 'DownloadOption', 'UndoRedoTool', 'AnnotationEditTool', 'FormDesignerEditTool', toolItem4, 'CommentTool', 'SubmitForm'] }
- });
-ej.pdfviewer.PdfViewer.Inject(ej.pdfviewer.TextSelection, ej.pdfviewer.TextSearch, ej.pdfviewer.Print, ej.pdfviewer.Navigation, ej.pdfviewer.Toolbar,ej.pdfviewer.Magnification, ej.pdfviewer.Annotation, ej.pdfviewer.FormDesigner, ej.pdfviewer.FormFields);
-
-//PDF Viewer control rendering starts
-pdfviewer.appendTo('#PdfViewer');
-pdfviewer.toolbarClick = function (args) {
- if (args.item && args.item.id === 'print') {
- pdfviewer.printModule.print();
- } else if (args.item && args.item.id === 'download') {
- pdfviewer.download();
- }
-};
-function OnCreateSearch() {
- this.addIcon('prepend', 'e-icons e-search');
-}
-
-{% endhighlight %}
-{% highlight js tabtitle="Server-Backed" %}
-
-var toolItem1 = {
- prefixIcon: 'e-icons e-paste',
- id: 'print',
- tooltipText: 'Custom toolbar item',
-};
-var toolItem2 = {
- id: 'download',
- text: 'Save',
- tooltipText: 'Custom toolbar item',
- align: 'right'
-};
-var LanguageList = ['Typescript', 'Javascript', 'Angular', 'C#', 'C', 'Python'];
-var toolItem3 = {
- type: 'Input',
- tooltipText: 'Language List',
- cssClass: 'percentage',
- align: 'Left',
- id: 'dropdown',
- template: new ej.dropdowns.ComboBox({ width: 100, value: 'TypeScript', dataSource: LanguageList, popupWidth: 85, showClearButton: false, readonly: false })
-};
-var toolItem4 = {
- type: 'Input',
- tooltipText: 'Text',
- align: 'Right',
- cssClass: 'find',
- id: 'textbox',
- template: new ej.inputs.TextBox({ width: 125, placeholder: 'Type Here', created: OnCreateSearch })
-}
-var pdfviewer = new ej.pdfviewer.PdfViewer({
- documentPath:'https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf',
- serviceUrl: 'https://services.syncfusion.com/js/production/api/pdfviewer',
- toolbarSettings : { toolbarItems: [toolItem1, toolItem2, 'OpenOption', 'PageNavigationTool', 'MagnificationTool', toolItem3, 'PanTool', 'SelectionTool', 'SearchOption', 'PrintOption', 'DownloadOption', 'UndoRedoTool', 'AnnotationEditTool', 'FormDesignerEditTool', toolItem4, 'CommentTool', 'SubmitForm'] }
- });
-ej.pdfviewer.PdfViewer.Inject(ej.pdfviewer.TextSelection, ej.pdfviewer.TextSearch, ej.pdfviewer.Print, ej.pdfviewer.Navigation, ej.pdfviewer.Toolbar,ej.pdfviewer.Magnification, ej.pdfviewer.Annotation, ej.pdfviewer.FormDesigner, ej.pdfviewer.FormFields);
-
-//PDF Viewer control rendering starts
-pdfviewer.appendTo('#PdfViewer');
-pdfviewer.toolbarClick = function (args) {
- if (args.item && args.item.id === 'print') {
- pdfviewer.printModule.print();
- } else if (args.item && args.item.id === 'download') {
- pdfviewer.download();
- }
-};
-function OnCreateSearch() {
- this.addIcon('prepend', 'e-icons e-search');
-}
-
-{% endhighlight %}
-{% endtabs %}
-
-
-N> Default value of toolbar items is ['OpenOption', 'PageNavigationTool','MagnificationTool', 'PanTool', 'SelectionTool', 'SearchOption', 'PrintOption', 'DownloadOption','UndoRedoTool', 'AnnotationEditTool', 'FormDesignerEditTool', 'CommentTool', 'SubmitForm']
-
-### Align Property
-
-The align property is used to specify the alignment of a toolbar item within the toolbar.
-
-`Left`: Aligns the item to the left side of the toolbar.
-`Right`: Aligns the item to the right side of the toolbar.
-
-### Tooltip Property
-
-The tooltip property is used to set the tooltip text for a toolbar item. Tooltip provides additional information when a user hovers over the item.
-
-### CssClass Property
-
-The cssClass property is used to apply custom CSS classes to a toolbar item. It allows custom styling of the toolbar item.
-
-### Prefix Property
-
-The prefix property is used to set the CSS class or icon that should be added as a prefix to the existing content of the toolbar item.
-
-### ID Property
-
-The id property within a CustomToolbarItemModel is a compulsory attribute that plays a vital role in toolbar customization. It serves as a unique identifier for each toolbar item, facilitating distinct references and interactions.
-
-When defining or customizing toolbar items, it is mandatory to assign a specific and descriptive id to each item.
-These properties are commonly used when defining custom toolbar items with the `CustomToolbarItemModel`` in the context of Syncfusion PDF Viewer. When configuring the toolbar using the `ToolbarSettings`` property, you can include these properties to customize the appearance and behavior of each toolbar item.
-
-N> When customizing toolbar items, you have the flexibility to include either icons or text based on your design preference.
-
-[View sample in GitHub](https://github.com/SyncfusionExamples/javascript-pdf-viewer-examples/tree/master/How%20to/customize%20existing%20toolbar)
-
-## Custom Toolbar
-
-The PDF Viewer provides API for user interactions options provided in it's built-in toolbar. Using this we can create our own User Interface for toolbar actions in application level by hiding the default toolbar. The following steps are used to create the custom toolbar for PDF Viewer,
-
-**Step 1:** Follow the steps provided in the [link](https://ej2.syncfusion.com/javascript/documentation/pdfviewer/getting-started) to create simple PDF Viewer sample.
-
-**Step 2:** Now, add an HTML div element to render the PDF Viewer with custom toolbar using the following code.
-
-```html
-{% raw %}
-
-
-
- Essential JS 2
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
...
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-{% endraw %}
-```
-
-**Step 3:** Hide the default toolbar of PDF Viewer using below code snippet,
-
-{% tabs %}
-{% highlight ts tabtitle="Standalone" %}
-```javascript
-var pdfviewer = new ej.pdfviewer.PdfViewer({
- enableToolbar: false,
- enableThumbnail: false,
- documentPath: "https://cdn.syncfusion.com/content/pdf/hive-succinctly.pdf"
- });
-ej.pdfviewer.PdfViewer.Inject(ej.pdfviewer.TextSelection, ej.pdfviewer.TextSearch, ej.pdfviewer.Navigation,ej.pdfviewer.Print);
-pdfviewer.appendTo('#PdfViewer');
-```
-{% endhighlight %}
-{% highlight ts tabtitle="Server-Backed" %}
-```javascript
-var pdfviewer = new ej.pdfviewer.PdfViewer({
- enableToolbar: false,
- enableThumbnail: false,
- documentPath: "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf",
- serviceUrl: 'https://services.syncfusion.com/js/production/api/pdfviewer'
- });
-ej.pdfviewer.PdfViewer.Inject(ej.pdfviewer.TextSelection, ej.pdfviewer.TextSearch, ej.pdfviewer.Navigation,ej.pdfviewer.Print);
-pdfviewer.appendTo('#PdfViewer');
-```
-{% endhighlight %}
-{% endtabs %}
-
-**Step 4:** Add EJ2 Toolbar for perform primary actions like Open, Previous page, Next page, Go to page,Print and Download using the following code snippet,
-
-```javascript
-
- var toolbarObj = new ej.navigations.Toolbar({
- items: [
- { prefixIcon: 'e-pv-open-document', tooltipText: 'Open', id: 'openButton', click: openClicked },
- { prefixIcon: 'e-pv-bookmark-icon', tooltipText: 'Bookmark', id: 'bookmarkButton', click: bookmarkClicked },
- { prefixIcon: 'e-pv-previous-page-navigation-icon', id: 'previousPage', tooltipText: 'Previous Page', align: 'Center', click: previousClicked.bind(this) },
- { prefixIcon: 'e-pv-next-page-navigation-icon', id: 'nextPage', tooltipText: 'Next Page', align: 'Center', click: nextClicked.bind(this) },
- { template: inputTemplate, tooltipText: 'Page Number', align: 'Center' },
- { template: ele, tooltipText: 'Page Number', align: 'Center' },
- { prefixIcon: 'e-pv-search-icon', tooltipText: 'Text Search', align: 'Right', click: searchClicked.bind(this) },
- { prefixIcon: 'e-pv-print-document-icon', tooltipText: 'Print', align: 'Right', click: printClicked.bind(this) },
- { prefixIcon: 'e-pv-download-document-icon', tooltipText: 'Download', align: 'Right', click: downloadClicked.bind(this) }
- ]
- });
- toolbarObj.appendTo('#topToolbar');
- var magnificationToolbar = new ej.navigations.Toolbar({
- items: [
- { prefixIcon: 'e-pv-fit-page-icon', id: 'fitPage', tooltipText: 'Fit to page', click: pageFitClicked.bind(this) },
- { prefixIcon: 'e-pv-zoom-in-icon', id: 'zoomIn', tooltipText: 'Zoom in', click: zoomInClicked.bind(this) },
- { prefixIcon: 'e-pv-zoom-out-icon' , id: 'zoomOut', tooltipText: 'Zoom out', click: zoomOutClicked.bind(this) },
- ]
- });
- magnificationToolbar.appendTo('#magnificationToolbar');
-
-```
-
-**Step 5:** Add the following style to achieve the custom toolbar styling,
-
-```
-
-```
-
->The icons are embedded in the font file used in above code snippet.
-
-**Step 6:** Add the following scripts for performing user interaction in PDF Viewer in code behind
-
-{% tabs %}
-{% highlight ts tabtitle="Standalone" %}
-
-```javascript
-
-var inputTemplate = '';
-var totalPageNum = '
';
-var isBookmarkOpen = false;
-var isBookmarkClick = false;
-var isTextSearchBoxOpen = false;
-var bookmarkPopup;
-var textSearchPopup;
-var toolbarObj;
-var viewer;
-var currentPageBox;
-var searchInput;
-var searchButton;
-var openDocument;
-var matchCase = false;
-var fileInputElement;
-var filename;
-
-function previousClicked(args) {
- hidePopups();
- viewer.navigation.goToPreviousPage();
-}
-function hidePopups() {
- isBookmarkOpen = false;
- isTextSearchBoxOpen = false;
- bookmarkPopup.hide();
- textSearchPopup.hide();
-}
-function bookmarkClicked() {
- textSearchPopup.hide();
- if (!isBookmarkOpen) {
- var bookmarkDetails = viewer.bookmark.getBookmarks();
- if (bookmarkDetails.bookmarks) {
- var bookmarks = bookmarkDetails.bookmarks.bookMark;
- var treeObj = new ej.navigations.TreeView({
- fields: {
- dataSource: bookmarks,
- id: 'Id',
- parentID: 'Pid',
- text: 'Title',
- hasChildren: 'HasChild',
- }, nodeSelected: nodeClick
- });
- treeObj.appendTo('#bookmarkview');
- bookmarkPopup.show();
- isBookmarkOpen = true;
- isBookmarkClick = true;
- }
- else {
- toolbarObj.enableItems(document.getElementById('bookmarkButton'), false);
- isBookmarkOpen = false;
- }
- }
- else {
- if (!isBookmarkClick) {
- bookmarkPopup.show();
- isBookmarkClick = true;
- } else {
- bookmarkPopup.hide();
- isBookmarkClick = false;
- }
- }
-}
-function nextClicked(args) {
- hidePopups();
- viewer.navigation.goToNextPage();
-}
-function searchClicked(args) {
- bookmarkPopup.hide();
- if (!isTextSearchBoxOpen) {
- textSearchPopup.show();
- }
- else {
- viewer.textSearch.cancelTextSearch();
- textSearchPopup.hide();
- }
- isTextSearchBoxOpen = !isTextSearchBoxOpen;
-}
-function printClicked(args) {
- hidePopups();
- viewer.print.print();
-}
-function downloadClicked(args) {
- hidePopups();
- viewer.download();
-}
-function pageFitClicked(args) {
- hidePopups();
- viewer.magnification.fitToPage();
- updateZoomButtons();
- toolbarObj.enableItems(document.getElementById('fitPage'), false);
-}
-function zoomInClicked(args) {
- hidePopups();
- viewer.magnification.zoomIn();
- updateZoomButtons();
-}
-function zoomOutClicked(args) {
- hidePopups();
- viewer.magnification.zoomOut();
- updateZoomButtons();
-}
-
-function readFile(args) {
- // tslint:disable-next-line
- var upoadedFiles = args.target.files;
- if (args.target.files[0] !== null) {
- var uploadedFile = upoadedFiles[0];
- filename = upoadedFiles[0].name;
- if (uploadedFile) {
- var reader = new FileReader();
- reader.readAsDataURL(uploadedFile);
- // tslint:disable-next-line
- reader.onload = function (e) {
- var uploadedFileUrl = e.currentTarget.result;
- viewer.load(uploadedFileUrl, null);
- currentPageBox.value = '1';
- document.getElementById("bookmarkview").innerHTML = "";
- isBookmarkOpen = false;
- viewer.fileName = filename;
- };
- }
- }
-}
-
-function openClicked() {
- document.getElementById('fileUpload').click();
-}
-function onCurrentPageBoxKeypress(event) {
- if ((event.which < 48 || event.which > 57) && event.which !== 8 && event.which !== 13) {
- event.preventDefault();
- return false;
- }
- else {
- var currentPageNumber = parseInt(currentPageBox.value);
- if (event.which === 13) {
- if (currentPageNumber > 0 && currentPageNumber <= viewer.pageCount) {
- viewer.navigation.goToPage(currentPageNumber);
- }
- else {
- currentPageBox.value = viewer.currentPageNumber.toString();
- }
- }
- return true;
- }
-}
-function onCurrentPageBoxClicked() {
- currentPageBox.select();
- currentPageBox.focus();
-}
-function updatePageNavigation() {
- if (viewer.currentPageNumber === 1) {
- toolbarObj.enableItems(document.getElementById('previousPage'), false);
- toolbarObj.enableItems(document.getElementById('nextPage'), true);
- }
- else if (viewer.currentPageNumber === viewer.pageCount) {
- toolbarObj.enableItems(document.getElementById('previousPage'), true);
- toolbarObj.enableItems(document.getElementById('nextPage'), false);
- }
- else {
- toolbarObj.enableItems(document.getElementById('previousPage'), true);
- toolbarObj.enableItems(document.getElementById('nextPage'), true);
- }
-}
-function updateZoomButtons() {
- if (viewer.zoomPercentage <= 50) {
- toolbarObj.enableItems(document.getElementById('zoomIn'), true);
- toolbarObj.enableItems(document.getElementById('zoomOut'), false);
- toolbarObj.enableItems(document.getElementById('fitPage'), true);
- }
- else if (viewer.zoomPercentage >= 400) {
- toolbarObj.enableItems(document.getElementById('zoomIn'), false);
- toolbarObj.enableItems(document.getElementById('zoomOut'), true);
- toolbarObj.enableItems(document.getElementById('fitPage'), true);
- }
- else {
- toolbarObj.enableItems(document.getElementById('zoomIn'), true);
- toolbarObj.enableItems(document.getElementById('zoomOut'), true);
- toolbarObj.enableItems(document.getElementById('fitPage'), true);
- }
-}
-function nodeClick(args) {
- var bookmarksDetails = viewer.bookmark.getBookmarks();
- var bookmarksDestination = bookmarksDetails.bookmarksDestination;
- var bookid = Number(args.nodeData.id);
- var pageIndex = bookmarksDestination.bookMarkDestination[bookid].PageIndex;
- var Y = bookmarksDestination.bookMarkDestination[bookid].Y;
- viewer.bookmark.goToBookmark(pageIndex, Y);
- return false;
-}
-function searchInputKeypressed(event) {
- enablePrevButton(true);
- enableNextButton(true);
- if (event.which === 13) {
- initiateTextSearch();
- updateSearchInputIcon(false);
- }
-}
-function searchClickHandler() {
- if (searchButton.classList.contains('e-pv-search-icon')) {
- viewer.textSearch.cancelTextSearch();
- initiateTextSearch();
- }
- else if (searchButton.classList.contains('e-pv-search-close')) {
- searchInput.value = '';
- searchInput.focus();
- viewer.textSearch.cancelTextSearch();
- }
-}
-function initiateTextSearch() {
- var searchString = searchInput.value;
- viewer.textSearch.searchText(searchString, matchCase);
-}
-function previousSearchClicked() {
- var searchString = searchInput.value;
- if (searchString) {
- viewer.textSearch.searchPrevious();
- }
-}
-function nextSearchClicked() {
- var searchString = searchInput.value;
- if (searchString) {
- viewer.textSearch.searchNext();
- }
-}
-function checkBoxChanged(args) {
- if (args.checked) {
- matchCase = true;
- }
- else {
- matchCase = false;
- }
- initiateTextSearch();
-}
-function enablePrevButton(isEnable) {
- var previousSearchButton = document.getElementById('previousSearch');
- if (isEnable) {
- previousSearchButton.removeAttribute('disabled');
- }
- else {
- previousSearchButton.disabled = true;
- }
-}
-function enableNextButton(isEnable) {
- var nextSearchButton = document.getElementById('nextSearch');
- if (isEnable) {
- nextSearchButton.removeAttribute('disabled');
- }
- else {
- nextSearchButton.disabled = true;
- }
-}
-function updateSearchInputIcon(isEnable) {
- if (isEnable) {
- searchButton.classList.remove('e-pv-search-close');
- searchButton.classList.add('e-pv-search-icon');
- }
- else {
- searchButton.classList.remove('e-pv-search-icon');
- searchButton.classList.add('e-pv-search-close');
- }
-}
-this.default = function () {
- toolbarObj = new ej.navigations.Toolbar({
- items: [
- { prefixIcon: 'e-pv-open-document', tooltipText: 'Open', id: 'openButton', click: openClicked },
- { prefixIcon: 'e-pv-bookmark-icon', tooltipText: 'Bookmark', id: 'bookmarkButton', click: bookmarkClicked },
- { prefixIcon: 'e-pv-previous-page-navigation-icon', id: 'previousPage', tooltipText: 'Previous Page', align: 'Center', click: previousClicked.bind(this) },
- { prefixIcon: 'e-pv-next-page-navigation-icon', id: 'nextPage', tooltipText: 'Next Page', align: 'Center', click: nextClicked.bind(this) },
- { template: inputTemplate, tooltipText: 'Page Number', align: 'Center' },
- { template: totalPageNum, tooltipText: 'Page Number', align: 'Center' },
- { prefixIcon: 'e-pv-search-icon', tooltipText: 'Text Search', align: 'Right', click: searchClicked.bind(this) },
- { prefixIcon: 'e-pv-print-document-icon', tooltipText: 'Print', align: 'Right', click: printClicked.bind(this) },
- { prefixIcon: 'e-pv-download-document-icon', tooltipText: 'Download', align: 'Right', click: downloadClicked.bind(this) }
- ]
- });
- toolbarObj.appendTo('#topToolbar');
- var magnificationToolbar = new ej.navigations.Toolbar({
- items: [
- { prefixIcon: 'e-pv-fit-page-icon', id: 'fitPage', tooltipText: 'Fit to page', click: pageFitClicked.bind(this) },
- { prefixIcon: 'e-pv-zoom-in-icon', id: 'zoomIn', tooltipText: 'Zoom in', click: zoomInClicked.bind(this) },
- { prefixIcon: 'e-pv-zoom-out-icon' , id: 'zoomOut', tooltipText: 'Zoom out', click: zoomOutClicked.bind(this) },
- ]
- });
- magnificationToolbar.appendTo('#magnificationToolbar');
- viewer = new ej.pdfviewer.PdfViewer({
- enableToolbar: true,
- enableThumbnail: true,
- documentPath: 'https://cdn.syncfusion.com/content/pdf/hive-succinctly.pdf',
- serviceUrl: 'https://services.syncfusion.com/js/production/api/pdfviewer/'
- });
- ej.pdfviewer.PdfViewer.Inject(ej.pdfviewer.Toolbar, ej.pdfviewer.Magnification, ej.pdfviewer.LinkAnnotation,ej.pdfviewer.ThumbnailView, ej.pdfviewer.BookmarkView, ej.pdfviewer.TextSelection, ej.pdfviewer.TextSearch, ej.pdfviewer.Navigation, ej.pdfviewer.Print);
- viewer.appendTo('#pdfViewer');
- document.getElementById('fileUpload').addEventListener('change', readFile, false);
- currentPageBox = document.getElementById('currentPage');
- currentPageBox.value = '1';
- searchInput = document.getElementById('searchInput');
- openDocument = document.getElementById('fileupload');
- bookmarkPopup = new ej.popups.Dialog({
- showCloseIcon: true, header: "Bookmarks", closeOnEscape: false, isModal: false, target: document.getElementById('pdfViewer'),
- content: '',
- buttons: [{
- buttonModel: {},
- }], position: { X: 'left', Y: 'top' }, cssClass: 'e-bookmark-popup', beforeClose: function () {
- isBookmarkOpen = false;
- }
- });
- bookmarkPopup.appendTo('#popup');
- textSearchPopup = new ej.popups.Dialog({
- showCloseIcon: false, closeOnEscape: false, isModal: false, target: document.getElementById('pdfViewer'),
- buttons: [{
- buttonModel: {},
- }], position: { X: 'right', Y: 'top' }, cssClass: 'e-text-search-popup',
- });
- textSearchPopup.appendTo('#textSearchBox');
- var previousSearch = new ej.buttons.Button({ iconCss: 'e-pv-previous-search' });
- previousSearch.appendTo('#previousSearch');
- var nextSearch = new ej.buttons.Button({ iconCss: 'e-pv-next-search-btn' });
- nextSearch.appendTo('#nextSearch');
- var matchCaseCheck = new ej.buttons.CheckBox({ label: 'Match case', change: checkBoxChanged });
- matchCaseCheck.appendTo('#matchCase');
- viewer.pageChange = function (args) {
- currentPageBox.value = viewer.currentPageNumber.toString();
- updatePageNavigation();
- };
- viewer.documentLoad = function (args) {
-
- document.getElementById('totalPage').textContent = 'of ' + viewer.pageCount;
- updatePageNavigation();
- };
- searchButton = document.getElementById('searchBtn');
- searchInput.addEventListener('focus', function () { searchInput.parentElement.classList.add('e-input-focus'); });
- searchInput.addEventListener('blur', function () { searchInput.parentElement.classList.remove('e-input-focus'); });
- searchInput.addEventListener('keypress', searchInputKeypressed);
- document.getElementById('previousSearch').addEventListener('click', previousSearchClicked);
- document.getElementById('nextSearch').addEventListener('click', nextSearchClicked);
- searchButton.addEventListener('click', searchClickHandler);
- currentPageBox.addEventListener('keypress', onCurrentPageBoxKeypress);
- currentPageBox.addEventListener('click', onCurrentPageBoxClicked);
- bookmarkPopup.hide();
- textSearchPopup.hide();
- enableNextButton(false);
- enablePrevButton(false);
-};
-
-```
-{% endhighlight %}
-{% endtabs %}
-
-Sample :
-[https://ej2.syncfusion.com/javascript/demos/#/material/pdfviewer/custom-toolbar.html](https://ej2.syncfusion.com/javascript/demos/#/material/pdfviewer/custom-toolbar.html)
-
-## See also
-
-* [Toolbar customization](./how-to/customization)
-* [Feature Modules](./feature-module)
\ No newline at end of file
diff --git a/ej2-javascript/pdfviewer/js/troubleshooting/content-security-policy.md b/ej2-javascript/pdfviewer/js/troubleshooting/content-security-policy.md
deleted file mode 100644
index 6df2767b0..000000000
--- a/ej2-javascript/pdfviewer/js/troubleshooting/content-security-policy.md
+++ /dev/null
@@ -1,62 +0,0 @@
----
-layout: post
-title: Content Security Policy in ##Platform_Name## Common control | Syncfusion
-description: Learn here all about Content Security Policy in Syncfusion ##Platform_Name## Common control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: PDF Viewer
-publishingplatform: ##Platform_Name##
-documentation: ug
----
-
-# Content Security Policy
-
-Content Security Policy (CSP) is a security feature implemented by web browsers that helps to protect against attacks such as cross-site scripting (XSS) and data injection. It limits the sources from which content can be loaded on a web page.
-
-To enable strict [Content Security Policy (CSP)](https://csp.withgoogle.com/docs/strict-csp.html), certain browser features are disabled by default. In order to use Syncfusion PDF Viewer control with strict CSP mode, it is essential to include following directives in the CSP meta tag.
-
-* Syncfusion PDF Viewer control are rendered with calculated **inline styles** and **base64** font icons, which are blocked on a strict CSP-enabled site. To allow them, add the [`style-src 'self' 'unsafe-inline';`](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy/style-src) and [`font-src 'self' data:;`](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy/font-src) directives in the meta tag as follows.
-
-{% tabs %}
-{% highlight razor tabtitle="HTML" %}
-
-
-
-{% endhighlight %}
-{% endtabs %}
-
-* Syncfusion **material** and **tailwind** built-in themes contain a reference to the [`Roboto’s external font`](https://fonts.googleapis.com/css?family=Roboto:400,500), which is also blocked. To allow them, add the [`external font`](https://fonts.googleapis.com/css?family=Roboto:400,500) reference to the [`style-src`](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy/style-src) and [`font-src`](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy/font-src) directives in the above meta tag.
-
-The resultant meta tag is included within the `` tag and resolves the CSP violation on the application's side when utilizing Syncfusion PDF Viewer control with material and tailwind themes.
-
-{% tabs %}
-{% highlight razor tabtitle="HTML" %}
-
-
- ...
-
-
-
-{% endhighlight %}
-{% endtabs %}
-
-* Syncfusion PDF Viewer control when images are added as **blob** and **base64**, which are blocked on a strict CSP-enabled site.To overcome this restriction, it is necessary to add the img-src data: directive in the meta tag. To allow them, add the [`style-src 'self' 'unsafe-inline';`](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy/style-src) and [`img-src 'self' data:;`](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy/img-src) directives as follows.
-
-{% tabs %}
-{% highlight razor tabtitle="HTML" %}
-
-
-
-{% endhighlight %}
-{% endtabs %}
-
-N> From the release 2023 Vol2 - 22.1 version, the Content Security Policy for Syncfusion PDF Viewer control has been enhanced by implementing a [function template](../template#function-template) approach for template properties to eliminate the usage of the `unsafe-eval` directive in the CSP meta tag.
-
-[View sample in GitHub](https://github.com/SyncfusionExamples/javascript-pdf-viewer-examples/tree/master/Troubleshooting/Content%20Security%20Policy)
\ No newline at end of file
diff --git a/ej2-javascript/pdfviewer/js/troubleshooting/document-loading-issues.md b/ej2-javascript/pdfviewer/js/troubleshooting/document-loading-issues.md
deleted file mode 100644
index 5e2f616c8..000000000
--- a/ej2-javascript/pdfviewer/js/troubleshooting/document-loading-issues.md
+++ /dev/null
@@ -1,42 +0,0 @@
----
-layout: post
-title: Document Loading Issues in Version 23.1 or Newer ##Platform_Name## Pdfviewer Component
-description: Learn here all about troubleshooting Document Loading Issues in Version 23.1 or newer in ##Platform_Name## Pdfviewer of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: PDF Viewer
-publishingplatform: ##Platform_Name##
-documentation: ug
----
-
-# Document Loading Issues in Version 23.1 or Newer
-
-If you're experiencing problems with your document not rendering in the viewer, especially when using version 23.1 or a newer version, follow these troubleshooting steps to resolve the issue:
-
-1. **Check for `viewer.dataBind()` Requirement**: Ensure that you have called `viewer.dataBind()` as required in version 23.1 or newer. This explicit call is essential for initializing data binding and document rendering correctly. It is must to call the dataBind() method before load.
-
-```javascript
-var viewer = new ej.pdfviewer.PdfViewer ({
-serviceUrl: 'https://services.syncfusion.com/js/production/api/pdfviewer'});
-
-ej.pdfviewer.PdfViewer.Inject(ej.pdfviewer.Toolbar, ej.pdfviewer.Magnification, ej.pdfviewer.BookmarkView, ej.pdfviewer.ThumbnailView, ej.pdfviewer.TextSelection, ej.pdfviewer.TextSearch, ej.pdfviewer.Print, ej.pdfviewer.Navigation, ej.pdfviewer.LinkAnnotation, ej.pdfviewer.Annotation, ej.pdfviewer.FormFields, ej.pdfviewer.FormDesigner);
-
-viewer.appendTo('#pdfViewer');
-viewer.dataBind();
-viewer.load('https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf', null);
-```
-
-2. **Verify Document Source**: Confirm that the document source or URL you're trying to display is valid and accessible. Incorrect URLs or document paths can lead to loading issues.
-
-3. **Network Connectivity**: Ensure that your application has a stable network connection. Document rendering may fail if the viewer can't fetch the document due to network issues.
-
-4. **Console Errors**: Use your browser's developer tools to check for any error messages or warnings in the console. These messages can provide insights into what's causing the document not to load.
-
-5. **Loading Sequence**: Make sure that you're calling `viewer.dataBind()` and initiating document loading in the correct sequence. The viewer should be properly initialized before attempting to load a document.
-
-7. **Update Viewer**: Ensure that you're using the latest version of the viewer library or framework. Sometimes, issues related to document loading are resolved in newer releases.
-
-8. **Cross-Origin Resource Sharing (CORS)**: If you're loading documents from a different domain, ensure that CORS headers are correctly configured to allow cross-origin requests.
-
-9. **Content Security Policies (CSP)**: Check if your application's Content Security Policy allows the loading of external resources, as this can affect document loading. Refer [here](https://ej2.syncfusion.com/javascript/documentation/common/troubleshoot/content-security-policy) to troubleshoot.
-
-By following these troubleshooting steps, you should be able to address issues related to document loading in version 23.1 or newer, ensuring that your documents render correctly in the viewer.
\ No newline at end of file
diff --git a/ej2-javascript/pdfviewer/server-deployment/how-to-deploy-docker-image-in-azure-app-service-for-container.md b/ej2-javascript/pdfviewer/server-deployment/how-to-deploy-docker-image-in-azure-app-service-for-container.md
deleted file mode 100644
index 6bf0adede..000000000
--- a/ej2-javascript/pdfviewer/server-deployment/how-to-deploy-docker-image-in-azure-app-service-for-container.md
+++ /dev/null
@@ -1,58 +0,0 @@
----
-layout: post
-title: How to deploy docker image in azure app service for container in ##Platform_Name## Pdfviewer control | Syncfusion
-description: Learn here all about How to deploy docker image in azure app service for container in Syncfusion ##Platform_Name## Pdfviewer control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: How to deploy docker image in azure app service for container
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# How to deploy docker image in azure app service for container in ##Platform_Name## Pdfviewer 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 pdfviewerresourcegroup in the eastus location.
-
-```
-az group create --name pdfviewerresourcegroup --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 pdfviewerappservice in the Standard pricing tier (--sku S1) and in a Linux container (--is-linux).
-
-```
-az appservice plan create --name pdfviewerappservice --resource-group pdfviewerresourcegroup --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 pdfviewerappservice 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 PDF Viewer server and use the created Docker compose file here.
-
-```
-az webapp create --resource-group pdfviewerappservice --plan pdfviewerappservice --name pdfviewer-server --multicontainer-config-type compose --multicontainer-config-file pdfviewer-server-compose.yml
-```
-
-**Step 4:** Browse to the app.
-
-Browse to the deployed app at `http://.azurewebsites.net`,. i.e. `http://pdfviewerappservice.azurewebsites.net`. Open this link in a browser and navigate to the PDF Viewer Web API control `http://pdfviewerappservice.azurewebsites.net/api/pdfviewer`. It returns the default get method response.
-
-Append the app service running the URL `http://pdfviewerappservice.azurewebsites.net/api/pdfviewer` to the service URL in the client-side PDF Viewer control. For more information about how to get started with the PDF Viewer control, refer to this [`getting started page`](https://ej2.syncfusion.com/javascript/documentation/pdfviewer/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.
\ No newline at end of file
diff --git a/ej2-javascript/pdfviewer/server-deployment/how-to-deploy-docker-image-in-azure-kubernetes-service.md b/ej2-javascript/pdfviewer/server-deployment/how-to-deploy-docker-image-in-azure-kubernetes-service.md
deleted file mode 100644
index 15e7e85cd..000000000
--- a/ej2-javascript/pdfviewer/server-deployment/how-to-deploy-docker-image-in-azure-kubernetes-service.md
+++ /dev/null
@@ -1,118 +0,0 @@
----
-layout: post
-title: How to deploy docker image in azure kubernetes service in ##Platform_Name## Pdfviewer control | Syncfusion
-description: Learn here all about How to deploy docker image in azure kubernetes service in Syncfusion ##Platform_Name## Pdfviewer control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: How to deploy docker image in azure kubernetes service
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# How to deploy docker image in azure kubernetes service in ##Platform_Name## Pdfviewer 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 pdfviewerresourcegroup in the eastus location.
-
-```
-az group create --name pdfviewerresourcegroup --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 pdfviewercluster with one node.
-
-```
-az aks create --resource-group pdfviewerresourcegroup --name pdfviewercluster --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 pdfviewerresourcegroup --name pdfviewercluster
-```
-
-**Step 4:** Create 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 PDF Viewer server, you have to define a Service and a Deployment pdfviewerserver. To do this, create the pdfviewer-server.yaml file in the current directory using the following code.
-
-```yaml
-apiVersion: apps/v1
-kind: Deployment
-metadata:
- labels:
- app: pdfviewerserver
- name: pdfviewerserver
-spec:
- replicas: 1
- selector:
- matchLabels:
- app: pdfviewerserver
- strategy: {}
- template:
- metadata:
- labels:
- app: pdfviewerserver
- spec:
- containers:
- - image: syncfusion/pdfviewerserver:latest
- name: pdfviewerserver
- ports:
- - containerPort: 80
- env:
- - name: SYNCFUSION_LICENSE_KEY
- value: "YOUR_LICENSE_KEY"
----
-apiVersion: v1
-kind: Service
-metadata:
- labels:
- app: pdfviewerserver
- name: pdfviewerserver
-spec:
- ports:
- - port: 80
- targetPort: 80
- selector:
- app: pdfviewerserver
- type: LoadBalancer
-```
-
-**Step 5:** To create all Services and Deployments needed to run the PDF Viewer server, execute the following.
-
-```console
-kubectl create -f ./pdfviewer-server.yaml
-```
-
-Run the following command to get the Kubernetes cluster deployed with service details and copy the external IP address of the PDF Viewer service.
-
-```console
-kubectl get all
-```
-
-Browse the copied external IP address and navigate to the PDF Viewer Web API control `http:///api/pdfviewer`. It returns the default get method response.
-
-**Step 6:** Append the Kubernetes service running the URL `http:///api/pdfviewer` to the service URL in the client-side PDF Viewer control. For more information about how to get started with the PDF Viewer control, refer to this [`getting started page`](https://ej2.syncfusion.com/javascript/documentation/pdfviewer/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.
\ No newline at end of file
diff --git a/ej2-javascript/pdfviewer/server-deployment/how-to-deploy-pdfviewer-server-app-in-azure-app-service-from-visual-studio.md b/ej2-javascript/pdfviewer/server-deployment/how-to-deploy-pdfviewer-server-app-in-azure-app-service-from-visual-studio.md
deleted file mode 100644
index ee2c46492..000000000
--- a/ej2-javascript/pdfviewer/server-deployment/how-to-deploy-pdfviewer-server-app-in-azure-app-service-from-visual-studio.md
+++ /dev/null
@@ -1,43 +0,0 @@
----
-layout: post
-title: How to deploy pdfviewer server app in azure app service from visual studio in ##Platform_Name## Pdfviewer control | Syncfusion
-description: Learn here all about How to deploy pdfviewer server app in azure app service from visual studio in Syncfusion ##Platform_Name## Pdfviewer control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: How to deploy pdfviewer server app in azure app service from visual studio
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# How to deploy pdfviewer server app in azure app service from visual studio in ##Platform_Name## Pdfviewer control
-
-## Prerequisites
-
-* Visual Studio 2017 or Visual Studio 2019.
-* An [`Azure subscription`](https://azure.microsoft.com/en-gb/).
-* Create the [`PDF Viewer Web API application`](https://www.syncfusion.com/kb/10346/how-to-create-pdf-viewer-web-service-application-in-asp-net-core).
-* Make sure you’ve built 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 choose 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, choose App Service.
-
-
-
-**Step 4:** Select Publish. The Create App Service dialog box appears. Sign in with your Azure account, if necessary, 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 at `http://.azurewebsites.net`. (i.e. `http:// ej2-pdfviewer-server20200513053326.azurewebsites.net`).
-
-**Step 6:** Navigate to the PDF Viewer Web API control `http://ej2-pdfviewer-server20200513053326.azurewebsites.net/api/pdfviewer`. It returns the default get method response.
-
-Append the app service running the URL `http://ej2-pdfviewer-server20200513053326.azurewebsites.net./api/pdfviewer` to the service URL in the client-side PDF Viewer control. For more information about how to get started with the PDF Viewer control, refer to this [`getting started page`](https://ej2.syncfusion.com/javascript/documentation/pdfviewer/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.
\ No newline at end of file
diff --git a/ej2-javascript/pdfviewer/server-deployment/pdfviewer-server-docker-image-overview.md b/ej2-javascript/pdfviewer/server-deployment/pdfviewer-server-docker-image-overview.md
deleted file mode 100644
index 21e0edeca..000000000
--- a/ej2-javascript/pdfviewer/server-deployment/pdfviewer-server-docker-image-overview.md
+++ /dev/null
@@ -1,138 +0,0 @@
----
-layout: post
-title: PDF Viewer Server Docker Image in ##Platform_Name## | Syncfusion
-description: Learn here all about Pdfviewer server docker image overview in Syncfusion ##Platform_Name## Pdfviewer control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: Pdfviewer server docker image overview
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-# Pdfviewer server docker image overview in ##Platform_Name## Pdfviewer control
-
-The Syncfusion PDF Viewer control allows you to view, print, form-fill, and annotate PDF files in your web applications. This PDF Viewer control requires a server-side backend Web API service to render PDF contents.
-
-This Docker image is the predefined Docker container of Syncfusion’s PDF Viewer backend. You can deploy it quickly to your infrastructure.
-
-PDF Viewer 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)
-
-PDF Viewer control 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 use this PDF Viewer Docker image
-
-**Step 1:** Pull the pdfviewer-server image from Docker Hub.
-
-```console
-docker pull syncfusion/pdfviewer-server
-```
-
-**Step 2:** Create the docker-compose.yml file with the following code in your file system.
-
-```yaml
-version: '3.4'
-
-services:
- pdfviewer-server:
- image: syncfusion/pdfviewer-server:latest
- environment:
- #Provide your license key for activation
- SYNCFUSION_LICENSE_KEY: YOUR_LICENSE_KEY
- ports:
- - "6001: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
-```
-
-Also, you can run the Docker container along with the license key using this docker run command.
-
-```console
-docker run -d -p 6001:80 –e SYNCFUSION_LICENSE_KEY= YOUR_LICENSE_KEY syncfusion/pdfviewer-server:latest
-```
-
-Now the PDF Viewer server Docker instance runs in the localhost with the provided port number `http://localhost:6001`. Open this link in the browser and navigate to the PDF Viewer Web API control `http://localhost:6001/api/pdfviewer`. It returns the default get method response.
-
-**Step 4:** Append the Docker instance running the URL `(http://localhost:6001/api/pdfviewer)` to the service URL in the client-side PDF Viewer control. For more information about how to get started with PDF Viewer control, refer to this [`getting started page`](https://ej2.syncfusion.com/javascript/documentation/pdfviewer/getting-started/?).
-
-```html
-
- Essential JS 2
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-```
-
-## How to configure the distributed Redis Cache in this Docker image
-
-The PDF Viewer server library internally caches the loaded document instance and you can extend the cache option to a distributed cache environment. Please follow these steps to configure the Azure Cache for a Redis instance to the PDF Viewer server library using a Docker compose file.
-
-**Step 1:** Create the [`Azure Cache for the Redis instance`](https://docs.microsoft.com/en-us/azure/azure-cache-for-redis/cache-dotnet-core-quickstart) and copy the connection string.
-
-**Step 2:** Provide the connection string to the `REDIS_CACHE_CONNECTION_STRING` environment variable in the pdfviewer-server docker-compose file. The default cache sliding expiration time is 10 minutes. You can also configure it by setting the value to the `DOCUMENT_SLIDING_EXPIRATION_TIME` environment variable.
-
-```yaml
-version: '3.4'
-services:
- pdfviewer-server:
- image: syncfusion/pdfviewer-server:latest
- environment:
- #Provide your license key for activation
- SYNCFUSION_LICENSE_KEY: YOUR_LICENSE_KEY
- REDIS_CACHE_CONNECTION_STRING: YOUR_REDIS_CACHE_CONNECTION_STRING
- DOCUMENT_SLIDING_EXPIRATION_TIME: “20”
- ports:
- - "6001:80"
-```
-
-Refer to these getting started pages to create a PDF Viewer in [`Angular`](https://ej2.syncfusion.com/angular/documentation/pdfviewer/getting-started), [`React`](https://ej2.syncfusion.com/react/documentation/pdfviewer/getting-started), [`Vue`](https://ej2.syncfusion.com/vue/documentation/pdfviewer/getting-started), [`ASP.NET MVC`](https://ej2.syncfusion.com/aspnetmvc/documentation/pdfviewer/getting-started), [`ASP.NET Core`](https://ej2.syncfusion.com/aspnetcore/documentation/pdfviewer/getting-started), and [`Blazor`](https://blazor.syncfusion.com/documentation/pdfviewer/getting-started/server-side-application).
\ No newline at end of file
diff --git a/ej2-javascript/pdfviewer/ts/accessibility.md b/ej2-javascript/pdfviewer/ts/accessibility.md
deleted file mode 100644
index 09a092f70..000000000
--- a/ej2-javascript/pdfviewer/ts/accessibility.md
+++ /dev/null
@@ -1,285 +0,0 @@
----
-layout: post
-title: Accessibility in ##Platform_Name## Pdfviewer control | Syncfusion
-description: Learn here all about accessibility in Syncfusion ##Platform_Name## Pdfviewer control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: PDF Viewer
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Accessibility in Syncfusion PDF Viewer components
-
-The PDF Viewer component followed the accessibility guidelines and standards, including [ADA](https://www.ada.gov/), [Section 508](https://www.section508.gov/), [WCAG 2.2](https://www.w3.org/TR/WCAG22/) standards, and [WCAG roles](https://www.w3.org/TR/wai-aria/#roles) that are commonly used to evaluate accessibility.
-
-The accessibility compliance for the PDF Viewer 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.
-
-## WAI-ARIA attributes
-
-[WAI-ARIA](https://www.w3.org/WAI/ARIA/apg/patterns/alert/) (Accessibility Initiative – Accessible Rich Internet Applications) defines a way to increase the accessibility of web pages, dynamic content, and user interface components developed with Ajax, HTML, JavaScript,and related technologies. ARIA provides additional semantics to describe the role, state, and functionality of web components. The following ARIA attributes are used in the PDF Viewer component:
-
-| Attributes | Purpose |
-| --- | --- |
-| `aria-disabled`| Indicates whether the PDF Viewer component is in a disabled state or not.|
-| `aria-expanded`| Indicates whether the suggestion list has expanded or not. |
-| `aria-readonly` | Indicates the readonly state of the PDF Viewer element. |
-| `aria-haspopup` | Indicates whether the PDF Viewer input element has a suggestion list or not. |
-| `aria-label` | Indicates the breadcrumb item text. |
-| `aria-labelledby` | Provides a label for the PDF Viewer. Typically, the "aria-labelledby" attribute will contain the id of the element used as the PDF Viewer's title. |
-| `aria-describedby` | This attribute points to the PDF Viewer element describing the one it's set on. |
-| `aria-orientation` | Indicates whether the PDF Viewer element is oriented horizontally or vertically. |
-| `aria-valuetext` | Returns the current text of the PDF Viewer. |
-| `aria-valuemax` | Indicates the Maximum value of the PDF Viewer. |
-| `aria-valuemin` | Indicates the Minimum value of the PDF Viewer. |
-| `aria-valuenow` | Indicates the current value of the PDF Viewer. |
-| `aria-controls` | Attribute is set to the button and it points to the corresponding content. |
-
-## Keyboard interaction
-
-The PDF Viewer component followed the [keyboard interaction](https://www.w3.org/WAI/ARIA/apg/patterns/alert/#keyboardinteraction) guideline, making it easy for people who use assistive technologies (AT) and those who completely rely on keyboard navigation. The following keyboard shortcuts are supported by the Message component.
-
-| **Press (Windows)** |**Press (Macintosh)** | **To do this** |
-| --- | --- | --- |
-|||**Shortcuts for page navigation**|
-| CONTROL + Left Arrow (or) CONTROL + Up Arrow | COMMAND + Left Arrow (or) COMMAND + Up Arrow |Navigate to the first page |
-| CONTROL + Right Arrow (or) CONTROL + Down Arrow |COMMAND + Right Arrow (or) COMMAND + Down Arrow |Navigate to the last page |
-|Left Arrow | Left Arrow (or) Shift + Space |Navigate to the previous page|
-| Right Arrow | Right Arrow (or) Space | Navigate to the next page |
-| CONTROL + G | COMMAND + G | Go To The Page|
-|Up Arrow |Up Arrow |Scroll up|
-| Down Arrow | Down Arrow | Scroll down|
-|||**Shortcuts for Zooming**|
-|CONTROL + = |COMMAND + = | Perform zoom-in operation |
-| CONTROL + - | COMMAND + - | Perform zoom-out operation |
-|CONTROL + 0 |COMMAND + 0 | Retain the zoom level to 1 |
-|||**Shortcut for Text Search**|
-| CONTROL + F | COMMAND + F |Open the search toolbar|
-|||**Shortcut for Text Selection**|
-|CONTROL + C |CONTROL + C | Copy the selected text or annotation or form field |
-| CONTROL + X | CONTROL + X |Cut the selected text or annotation of the form field|
-|CONTROL + Y |CONTROL + Y |Paste the selected text or annotation or form field|
-|||**Shortcuts for the general operation**|
-| CONTROL + Z | CONTROL + Z |Undo the action|
-|CONTROL + Y |CONTROL + Y |Redo the action|
-| CONTROL + P | COMMAND + P(or) |Print the document|
-|Delete |Delete |Delete the annotations and form fields|
-|CONTROL + Shift + A |COMMAND + Shift + A |Toggle Annotation Toolbar|
-|CONTROL + Alt + 0 |COMMAND + Option + 0 |Show Command panel|
-|CONTROL + Alt + 2 |COMMAND + Option + 2 |Show Bookmarks|
-|CONTROL + Alt + 1 |COMMAND + Option + 1 |Show Thumbnails|
-|CONTROL + S |COMMAND + S |Download|
-|Shift + H |Shift + H |Enable pan mode|
-|Shift + V |Shift + V |Enable text selection mode|
-
-The current implementation of our PDF Viewer includes keyboard shortcuts for various functions like scrolling, zooming, text search, printing, and annotation deletion.
-
-To enhance user experience, we're adding additional keyboard shortcuts for actions such as navigating between pages, accessing specific pages, toggling annotation tools, and displaying PDF elements like outlines, annotations, bookmarks, and thumbnails.
-
-To support this, we're introducing a new class called **commandManager**, which handles custom commands triggered by specific key gestures. These custom commands will be defined by users and executed accordingly.
-
-The **commandManager** will have a parameter called Commands, which will hold the collection of custom keyboard commands specified by users. Each custom command will be represented by a KeyboardCommand class, containing the `command name` and associated `keyboard combination`.
-
-Additionally, we're introducing the **keyboardCustomCommands** parameter for the CommandManager, which will utilize the EventCallback to handle keyboard events and trigger appropriate methods when specific key combinations are pressed.
-
-```html
-
-
-
-
- Essential JS 2
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-```
-
-{% tabs %}
-{% highlight ts tabtitle="Standalone" %}
-
-import {
- PdfViewer,
- Toolbar,
- Magnification,
- Navigation,
- Annotation,
- LinkAnnotation,
- ThumbnailView,
- BookmarkView,
- TextSelection} from '@syncfusion/ej2-pdfviewer';
-
-PdfViewer.Inject(
- Toolbar,
- Magnification,
- Navigation,
- Annotation,
- LinkAnnotation,
- ThumbnailView,
- BookmarkView,
- TextSelection);
-
-let pdfviewer: PdfViewer = new PdfViewer({
- documentPath:'https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf',
- resourceUrl:"https://cdn.syncfusion.com/ej2/24.1.41/dist/ej2-pdfviewer-lib"
- });
-pdfviewer.commandManager = {
- keyboardCommand: [{
- name: 'customCopy',
- gesture: {
- pdfKeys: PdfKeys.G,
- modifierKeys: ModifierKeys.Shift | ModifierKeys.Alt
- }
- },
- {
- name: 'customPaste',
- gesture: {
- pdfKeys: PdfKeys.H,
- modifierKeys: ModifierKeys.Shift | ModifierKeys.Alt
- }
- },
- {
- name: 'customCut',
- gesture: {
- pdfKeys: PdfKeys.Z,
- modifierKeys: ModifierKeys.Control
- }
- },
- {
- name: 'customSelectAll',
- gesture: {
- pdfKeys: PdfKeys.E,
- modifierKeys: ModifierKeys.Control
- }
- },
- ]
-};
-pdfviewer.appendTo('#PdfViewer');
-
-{% endhighlight %}
-{% highlight ts tabtitle="Server-Backed" %}
-
-import {
- PdfViewer,
- Toolbar,
- Magnification,
- Navigation,
- Annotation,
- LinkAnnotation,
- ThumbnailView,
- BookmarkView,
- TextSelection} from '@syncfusion/ej2-pdfviewer';
-
-PdfViewer.Inject(
- Toolbar,
- Magnification,
- Navigation,
- Annotation,
- LinkAnnotation,
- ThumbnailView,
- BookmarkView,
- TextSelection);
-
-let pdfviewer: PdfViewer = new PdfViewer({
-documentPath:'https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf'});
-pdfviewer.serviceUrl = 'https://services.syncfusion.com/js/production/api/pdfviewer';
-pdfviewer.commandManager = {
- keyboardCommand: [{
- name: 'customCopy',
- gesture: {
- pdfKeys: PdfKeys.G,
- modifierKeys: ModifierKeys.Shift | ModifierKeys.Alt
- }
- },
- {
- name: 'customPaste',
- gesture: {
- pdfKeys: PdfKeys.H,
- modifierKeys: ModifierKeys.Shift | ModifierKeys.Alt
- }
- },
- {
- name: 'customCut',
- gesture: {
- pdfKeys: PdfKeys.Z,
- modifierKeys: ModifierKeys.Control
- }
- },
- {
- name: 'customSelectAll',
- gesture: {
- pdfKeys: PdfKeys.E,
- modifierKeys: ModifierKeys.Control
- }
- },
- ]
-};
-pdfviewer.appendTo('#PdfViewer');
-
-{% endhighlight %}
-{% endtabs %}
-
-Each `keyboardCommand` object consists of a name property, specifying the `name` of the `custom command`, and a `gesture property`, defining the key gesture associated with the command.
-
-For example, the first command named `customCopy` is associated with the **G** key and requires both the **Shift** and **Alt** modifier keys to be pressed simultaneously.
-
-Additionally, there's an explanation of the key modifiers used in the gestures:
-
-Ctrl corresponds to the Control key, represented by the value `1`.
-Alt corresponds to the Alt key, represented by the value `2`.
-Shift corresponds to the Shift key, represented by the value `4`.
-Meta corresponds to the Command key on macOS or the Windows key on Windows, represented by the value `8`.
-
-This setup allows users to perform custom actions within the PDF viewer by pressing specific key combinations, enhancing the user experience and providing more efficient navigation and interaction options.
-
-## Ensuring accessibility
-
-The PDF Viewer 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 PDF Viewer component is shown in the following sample. Open the [sample](https://ej2.syncfusion.com/accessibility/pdf-viewer.html) in a new window to evaluate the accessibility of the PDF Viewer component with accessibility tools.
-
-{% previewsample "https://ej2.syncfusion.com/accessibility/pdf-viewer.html" %}
-
-## See also
-
-* [Accessibility in Syncfusion EJ2 JavaScript components](../common/accessibility)
\ No newline at end of file
diff --git a/ej2-javascript/pdfviewer/ts/annotations/annotations-in-mobile-view.md b/ej2-javascript/pdfviewer/ts/annotations/annotations-in-mobile-view.md
deleted file mode 100644
index 8a58fd3ac..000000000
--- a/ej2-javascript/pdfviewer/ts/annotations/annotations-in-mobile-view.md
+++ /dev/null
@@ -1,123 +0,0 @@
----
-layout: post
-title: Annotations in mobile view in ##Platform_Name## Pdfviewer control | Syncfusion
-description: Learn here all about Annotations in mobile view in Syncfusion ##Platform_Name## Pdfviewer control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: Annotations in mobile view
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-# Annotations in mobile view in ##Platform_Name## Pdfviewer control
-
-## To Open the Annotation Toolbar
-
-**Step 1:** To enable the annotation toolbar, click the editAnnotation toolbar.
-
-
-
-**Step 2:** After enabling the annotation toolbar.
-
-
-
-## To add sticky notes annotation
-
-**Step 1:** click sticky notes icon and then click in the page where you want to add this.
-
-
-
-**Step 2:** Click in the page to add the sticky notes annotation.
-
-
-
-## To add text markup annotation
-
-**Step 1:** click any one of the text markup icon, then select the text you want to mark, then touch the selected text to apply the markup annotation.
-
-
-
-**Step 2:** Add the text markup annotation in the PDF page
-
-
-
-## To add shape and measure annotations
-
-**Step 1:** click the shape/measure icon in the toolbar. It will show the toolbar with shape/measure types.
-
-
-
-**Step 2:** Click the shape/measure type and add annotation to the page.
-
-
-
-**Step 3:** Add the annotation in the PDF page.
-
-
-
-## To add the stamp annotation
-
-**Step 1:** click the stamp icon and select the stamp type from the menu items.
-
-
-
-**Step 2:** Add the stamp annotation in the page.
-
-
-
-## To add signature
-
-**Step 1:** click the signature icon. This will open the signature canvas to draw signature. After drawn the sign, should click the create button and touch the viewer to add the signature.
-
-
-
-**Step 2:** Add the signature in the page.
-
-
-
-## To add ink annotation
-
-**Step 1:** Click the ink icon tool and draw in the page.
-
-
-
-**Step 2:** Add the ink annotation in the page.
-
-
-
-## Change Annotation Change (Before adding)
-
-**Step 1:** We can change the properties before adding the annotation.
-
-**Step 2:** Click the annotation icon, this will show the toolbar with corresponding properties. We can change the property and add the annotation in the page.
-
-
-
-## Change Annotation Property (After Adding)
-
-**Step 1:** We can change the annotation property after adding the annotation.
-
-**Step 2:** Select the added annotation, it will show the corresponding property tool. This will help us to change the property of the annotation.
-
-
-
-## Delete Annotation
-
-**Step 1:** To delete the annotation, first select the annotation, it will show the property toolbar. In the property tool there is an icon to delete the annotation.
-
-
-
-## Open Comment Panel
-
-**Step 1:** We can open the comment panel through the icon in the property tool or through the annotation toolbar.
-
-
-
-**Step 1:** After opening the comment panel
-
-
-
-## Close the comment panel
-
-**Step 1:** To close the comment panel, click the close button.
-
-
\ No newline at end of file
diff --git a/ej2-javascript/pdfviewer/ts/annotations/comments.md b/ej2-javascript/pdfviewer/ts/annotations/comments.md
deleted file mode 100644
index e0ef558ca..000000000
--- a/ej2-javascript/pdfviewer/ts/annotations/comments.md
+++ /dev/null
@@ -1,169 +0,0 @@
----
-layout: post
-title: Comments in ##Platform_Name## PDF Viewer control | Syncfusion
-description: Learn here all about Comments in Syncfusion ##Platform_Name## PDF Viewer control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: PDF Viewer
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Comments in ##Platform_Name## PDF Viewer control
-
-The PDF Viewer control provides options to add, edit, and delete the comments to the following annotation in the PDF documents:
-
-* Shape annotation
-* Stamp annotation
-* Sticky note annotation
-* Measurement annotation
-* Text markup annotation
-* Free text annotation
-* Ink annotation
-
-
-
-## Adding a comment to the annotation
-
-Annotation comment, comment replies, and status can be added to the PDF document using the comment panel.
-
-### Comment panel
-
-Annotation comments can be added to the PDF using the comment panel. The comment panel can be opened in the following ways:
-
-1. Using the annotation menu
-
- * Click the Edit Annotation button in the PDF Viewer toolbar. A toolbar appears below it.
- * Click the Comment Panel button. A comment panel will appear.
-
-2. Using Context menu
-
- * Select annotation in the PDF document and right-click it.
- * Select the comment option in the context menu that appears.
-
-3. Using the Mouse click
-
- * Select annotation in the PDF document and double click it, a comment panel will appear.
-
-If the comment panel is already in the open state, you can select the annotations and add annotation comments using the comment panel.
-
-### Adding comments
-
-* Select annotation in the PDF document and click it.
-* The selected annotation comment container is highlighted in the comment panel.
-* Now, you can add comment and comment replies using the comment panel.
-
-
-
-### Adding Comment Replies
-
-* The PDF Viewer control provides an option to add multiple replies to the comment.
-* After adding the annotation comment, you can add a reply to the comment.
-
-### Adding Comment or Reply Status
-
-* Select the Annotation Comments in the comment panel.
-* Click the more options button showing in the Comments or reply container.
-* Select the Set Status option in the context menu that appears.
-* Select the status of the annotation comment in the context menu that appears.
-
-
-
-### Editing the comments and comments replies of the annotations
-
-The comment, comment replies, and status of the annotation can be edited using the comment panel.
-
-### Editing the Comment or Comment Replies
-
-The annotation comment and comment replies can be edited in the following ways:
-
-1. Using the Context menu
-
- * Select the Annotation Comments in the comment panel.
- * Click the More options button showing in the Comments or reply container.
- * Select the Edit option in the context menu that appears.
- * Now, an editable text box appears. You can change the content of the annotation comment or comment reply.
-
-2. Using the Mouse Click
-
- * Select the annotation comments in the comment panel.
- * Double click the comment or comment reply content.
- * Now, an editable text box appears. You can change the content of the annotation comment or comment reply.
-
-### Editing Comment or Reply Status
-
-* Select the Annotation Comments in the comment panel.
-* Click the more options button showing in the Comments or reply container.
-* Select the Set Status option in the context menu that appears.
-* Select the status of the annotation comment in the context menu that appears.
-* Status ‘None’ is the default state. If the status is set to ‘None,’ the comments or reply does not appear.
-
-
-
-### Delete Comment or Comment Replies
-
-* Select the Annotation Comments in the comment panel.
-* Click the more options button shown in the Comments or reply container.
-* Select the Delete option in the context menu that appears.
-
-
-
->The annotation will be deleted on deleting the comment using comment panel.
-
-## How to check the comments added by the user
-
-The comments added to the PDF document can be viewed by using the `comments` property of the annotation.
-
-Refer to the following code to check the comments added in the PDF document using a button click event.
-
-```html
-
-```
-
-{% tabs %}
-{% highlight html tabtitle="Standalone" %}
-
-import { PdfViewer, Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, TextSearch, FormFields, FormDesigner, PageOrganizer} from '@syncfusion/ej2-pdfviewer';
-
-PdfViewer.Inject(Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, TextSearch, FormFields, FormDesigner, PageOrganizer);
-
-let pdfviewer: PdfViewer = new PdfViewer();
-pdfviewer.documentPath = "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf";
-pdfviewer.resourceUrl = "https://cdn.syncfusion.com/ej2/23.1.43/dist/ej2-pdfviewer-lib";
-pdfviewer.appendTo('#PdfViewer');
-
-
-{% endhighlight %}
-{% highlight html tabtitle="Server-Backed" %}
-
-import { PdfViewer, Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, TextSearch, FormFields, FormDesigner, PageOrganizer} from '@syncfusion/ej2-pdfviewer';
-
-PdfViewer.Inject(Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, TextSearch, FormFields, FormDesigner, PageOrganizer);
-
-let pdfviewer: PdfViewer = new PdfViewer();
-pdfviewer.serviceUrl = 'https://services.syncfusion.com/js/production/api/pdfviewer';
-pdfviewer.documentPath = "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf";
-pdfviewer.appendTo('#PdfViewer');
-
-{% endhighlight %}
-{% endtabs %}
-
-```typescript
-//Method to check the comments added in the PDF document.
-document.getElementById('checkComments').addEventListener('click', function () {
- var annotationCollections = pdfviewer.annotationCollection;
- for (var x = 0; x < annotationCollections.length; x++) {
- //Prints the annotation id in the console window.
- console.log("annotation Id : " +annotationCollections[x].annotationId);
- var comments = annotationCollections[x].comments;
- for (var y = 0; y < comments.length; y++) {
- var comment = comments[y];
- //Prints the PDF document's comments in the console window.
- console.log("comment" + "[" + y + "] :" + comment.note);
- }
- var note = annotationCollections[x].note;
- console.log("note : " + note);
- }
-});
-
-```
\ No newline at end of file
diff --git a/ej2-javascript/pdfviewer/ts/annotations/free-text-annotation.md b/ej2-javascript/pdfviewer/ts/annotations/free-text-annotation.md
deleted file mode 100644
index 67101c715..000000000
--- a/ej2-javascript/pdfviewer/ts/annotations/free-text-annotation.md
+++ /dev/null
@@ -1,312 +0,0 @@
----
-layout: post
-title: Free text annotation in ##Platform_Name## PDF Viewer control | Syncfusion
-description: Learn here all about Free text annotation in Syncfusion ##Platform_Name## PDF Viewer control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: PDF Viewer
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Free text annotation in ##Platform_Name## PDF Viewer control
-
-The PDF Viewer control provides the options to add, edit, and delete the free text annotations.
-
-## Adding a free text annotation to the PDF document
-
-The Free text annotations can be added to the PDF document using the annotation toolbar.
-
-* Click the **Edit Annotation** button in the PDF Viewer toolbar. A toolbar appears below it.
-* Select the **Free Text Annotation** button in the annotation toolbar. It enables the Free Text annotation mode.
-* You can add the text over the pages of the PDF document.
-
-In the pan mode, if the free text annotation mode is entered, the PDF Viewer control will switch to text select mode.
-
-
-
-Refer to the following code sample to switch to the Free Text annotation mode using a button click.
-
-
-```html
-
-```
-{% tabs %}
-{% highlight ts tabtitle="Standalone" %}
-
-import { PdfViewer, Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, TextSearch, FormFields, FormDesigner, PageOrganizer} from '@syncfusion/ej2-pdfviewer';
-
-PdfViewer.Inject(Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, TextSearch, FormFields, FormDesigner, PageOrganizer);
-
-let pdfviewer: PdfViewer = new PdfViewer();
-pdfviewer.documentPath = "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf";
-pdfviewer.resourceUrl = "https://cdn.syncfusion.com/ej2/25.1.35/dist/ej2-pdfviewer-lib";
-pdfviewer.appendTo('#PdfViewer');
-
-let addFreeTextAnnotationButton = document.getElementById('addFreeTextAnnotation');
-if (addFreeTextAnnotationButton) {
- addFreeTextAnnotationButton.addEventListener('click', function () {
- if (pdfviewer) {
- pdfviewer.annotationModule.setAnnotationMode("FreeText");
- }
- });
-}
-
-{% endhighlight %}
-{% highlight ts tabtitle="Server-Backed" %}
-
-import { PdfViewer, Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, TextSearch, FormFields, FormDesigner, PageOrganizer} from '@syncfusion/ej2-pdfviewer';
-
-PdfViewer.Inject(Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, TextSearch, FormFields, FormDesigner, PageOrganizer);
-
-let pdfviewer: PdfViewer = new PdfViewer();
-pdfviewer.serviceUrl = 'https://services.syncfusion.com/js/production/api/pdfviewer';
-pdfviewer.documentPath = "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf";
-pdfviewer.appendTo('#PdfViewer');
-
-let addFreeTextAnnotationButton = document.getElementById('addFreeTextAnnotation');
-if (addFreeTextAnnotationButton) {
- addFreeTextAnnotationButton.addEventListener('click', function () {
- if (pdfviewer) {
- pdfviewer.annotationModule.setAnnotationMode("FreeText");
- }
- });
-}
-
-{% endhighlight %}
-{% endtabs %}
-
-## Adding a free text annotation programatically to the PDF document
-
-The PDF Viewer library allows you to add the free text annotation in the PDF Viewer control programmatically using the [**addAnnotation()**](https://helpej2.syncfusion.com/documentation/api/pdfviewer/annotation/#annotation) method.
-
-Here is an example of how you can use the **addAnnotation()** method to move the free text annotation programmatically:
-
-```html
-
-```
-
-{% tabs %}
-{% highlight ts tabtitle="Standalone" %}
-
-import { PdfViewer, Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, TextSearch, FormFields, FormDesigner, PageOrganizer, FreeTextSettings} from '@syncfusion/ej2-pdfviewer';
-
-PdfViewer.Inject(Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, TextSearch, FormFields, FormDesigner, PageOrganizer);
-
-let pdfviewer: PdfViewer = new PdfViewer();
-pdfviewer.documentPath = "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf";
-pdfviewer.resourceUrl = "https://cdn.syncfusion.com/ej2/25.1.35/dist/ej2-pdfviewer-lib";
-
-pdfviewer.appendTo('#PdfViewer');
-
-let addFreeTextAnnotation = document.getElementById('addFreeTextAnnotation');
-if (addFreeTextAnnotation) {
- addFreeTextAnnotation.addEventListener('click', function () {
- if (pdfviewer) {
- pdfviewer.annotation.addAnnotation("FreeText", {
- offset: { x: 120, y: 80 },
- fontSize: 16,
- fontFamily: "Helvetica",
- pageNumber: 1,
- width: 200,
- height: 40,
- isLock: false,
- defaultText: "Syncfusion"
- } as FreeTextSettings);
- }
- });
-}
-
-{% endhighlight %}
-{% highlight ts tabtitle="Server-Backed" %}
-
-import { PdfViewer, Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, TextSearch, FormFields, FormDesigner, PageOrganizer, FreeTextSettings} from '@syncfusion/ej2-pdfviewer';
-
-PdfViewer.Inject(Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, TextSearch, FormFields, FormDesigner, PageOrganizer);
-
-let pdfviewer: PdfViewer = new PdfViewer();
-pdfviewer.serviceUrl = 'https://services.syncfusion.com/js/production/api/pdfviewer';
-pdfviewer.documentPath = "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf";
-
-pdfviewer.appendTo('#PdfViewer');
-
-let addFreeTextAnnotation = document.getElementById('addFreeTextAnnotation');
-if (addFreeTextAnnotation) {
- addFreeTextAnnotation.addEventListener('click', function () {
- if (pdfviewer) {
- pdfviewer.annotation.addAnnotation("FreeText", {
- offset: { x: 120, y: 80 },
- fontSize: 16,
- fontFamily: "Helvetica",
- pageNumber: 1,
- width: 200,
- height: 40,
- isLock: false,
- defaultText: "Syncfusion"
- } as FreeTextSettings);
- }
- });
-}
-
-{% endhighlight %}
-{% endtabs %}
-
-## Change the content of an existing Free text annotation programmatically
-
-To change the content of an existing free text annotation in the Syncfusion PDF viewer programmatically, you can use the **editAnnotation()** method.
-
-Here is an example of how you can use the **editAnnotation()** method to change the content of a free text annotation:
-
-```html
-
-```
-{% tabs %}
-{% highlight ts tabtitle="Standalone" %}
-
-import { PdfViewer, Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, TextSearch, FormFields, FormDesigner, PageOrganizer} from '@syncfusion/ej2-pdfviewer';
-
-PdfViewer.Inject(Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, TextSearch, FormFields, FormDesigner, PageOrganizer);
-
-let pdfviewer: PdfViewer = new PdfViewer();
-pdfviewer.documentPath = "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf";
-pdfviewer.resourceUrl = "https://cdn.syncfusion.com/ej2/25.1.35/dist/ej2-pdfviewer-lib";
-
-pdfviewer.appendTo('#PdfViewer');
-
-let changeContent = document.getElementById('changeContent');
-if (changeContent) {
- changeContent.addEventListener('click', function () {
- if (pdfviewer) {
- for (let i = 0; i < pdfviewer.annotationCollection.length; i++) {
- if (pdfviewer.annotationCollection[i].subject === 'Text Box') {
- pdfviewer.annotationCollection[i].dynamicText = 'syncfusion';
- pdfviewer.annotation.editAnnotation(pdfviewer.annotationCollection[i]);
- }
- }
- }
- });
-}
-
-{% endhighlight %}
-{% highlight ts tabtitle="Server-Backed" %}
-
-import { PdfViewer, Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, TextSearch, FormFields, FormDesigner, PageOrganizer} from '@syncfusion/ej2-pdfviewer';
-
-PdfViewer.Inject(Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, TextSearch, FormFields, FormDesigner, PageOrganizer);
-
-let pdfviewer: PdfViewer = new PdfViewer();
-pdfviewer.serviceUrl = 'https://services.syncfusion.com/js/production/api/pdfviewer';
-pdfviewer.documentPath = "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf";
-
-pdfviewer.appendTo('#PdfViewer');
-let changeContent = document.getElementById('changeContent');
-if (changeContent) {
- changeContent.addEventListener('click', function () {
- if (pdfviewer) {
- for (let i = 0; i < pdfviewer.annotationCollection.length; i++) {
- if (pdfviewer.annotationCollection[i].subject === 'Text Box') {
- pdfviewer.annotationCollection[i].dynamicText = 'syncfusion';
- pdfviewer.annotation.editAnnotation(pdfviewer.annotationCollection[i]);
- }
- }
- }
- });
-}
-
-{% endhighlight %}
-{% endtabs %}
-
-N> Please note that the current version of the PDF Viewer does not offer the functionality to edit existing text within a PDF document. However, you can add new free text annotations and modify existing free text annotations within the document.
-
-## Editing the properties of free text annotation
-
-The font family, font size, font styles, font color, text alignment, fill color, the border stroke color, border thickness, and opacity of the free text annotation can be edited using the Font Family tool, Font Size tool, Font Color tool, Text Align tool, Font Style tool Edit Color tool, Edit Stroke Color tool, Edit Thickness tool, and Edit Opacity tool in the annotation toolbar.
-
-### Editing font family
-
-The font family of the annotation can be edited by selecting the desired font in the Font Family tool.
-
-
-
-### Editing font size
-
-The font size of the annotation can be edited by selecting the desired size in the Font Size tool.
-
-
-
-### Editing font color
-
-The font color of the annotation can be edited using the color palette provided in the Font Color tool.
-
-
-
-### Editing the text alignment
-
-The text in the annotation can be aligned by selecting the desired styles in the drop-down pop-up in the Text Align tool.
-
-
-
-### Editing text styles
-
-The style of the text in the annotation can be edited by selecting the desired styles in the drop-down pop-up in the Font Style tool.
-
-
-
-### Editing fill color
-
-The fill color of the annotation can be edited using the color palette provided in the Edit Color tool.
-
-
-
-### Editing stroke color
-
-The stroke color of the annotation can be edited using the color palette provided in the Edit Stroke Color tool.
-
-
-
-### Editing thickness
-
-The border thickness of the annotation can be edited using the range slider provided in the Edit Thickness tool.
-
-
-
-### Editing opacity
-
-The opacity of the annotation can be edited using the range slider provided in the Edit Opacity tool.
-
-
-
-## Setting default properties during control initialization
-
-The properties of the free text annotation can be set before creating the control using the FreeTextSettings.
-
-After editing the default values, they will be changed to the selected values. Refer to the following code sample to set the default free text annotation settings.
-
-{% tabs %}
-{% highlight ts tabtitle="Standalone" %}
-
-import { PdfViewer, Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, TextSearch, FormFields, FormDesigner, PageOrganizer} from '@syncfusion/ej2-pdfviewer';
-
-PdfViewer.Inject(Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, TextSearch, FormFields, FormDesigner, PageOrganizer);
-
-let pdfviewer: PdfViewer = new PdfViewer();
-pdfviewer.documentPath = "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf";
-pdfviewer.resourceUrl = "https://cdn.syncfusion.com/ej2/25.1.35/dist/ej2-pdfviewer-lib";
-pdfviewer.freeTextSettings = { fillColor: 'green', borderColor: 'blue', fontColor: 'yellow' };
-pdfviewer.appendTo('#PdfViewer');
-
-{% endhighlight %}
-{% highlight ts tabtitle="Server-Backed" %}
-
-import { PdfViewer, Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, TextSearch, FormFields, FormDesigner, PageOrganizer} from '@syncfusion/ej2-pdfviewer';
-
-PdfViewer.Inject(Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, TextSearch, FormFields, FormDesigner, PageOrganizer);
-
-let pdfviewer: PdfViewer = new PdfViewer();
-pdfviewer.serviceUrl = 'https://services.syncfusion.com/js/production/api/pdfviewer';
-pdfviewer.documentPath = "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf";
-pdfviewer.freeTextSettings = { fillColor: 'green', borderColor: 'blue', fontColor: 'yellow' };
-pdfviewer.appendTo('#PdfViewer');
-
-{% endhighlight %}
-{% endtabs %}
diff --git a/ej2-javascript/pdfviewer/ts/annotations/ink-annotation.md b/ej2-javascript/pdfviewer/ts/annotations/ink-annotation.md
deleted file mode 100644
index 46085699b..000000000
--- a/ej2-javascript/pdfviewer/ts/annotations/ink-annotation.md
+++ /dev/null
@@ -1,273 +0,0 @@
----
-layout: post
-title: Ink annotation in ##Platform_Name## PDF Viewer control | Syncfusion
-description: Learn here all about Ink annotation in Syncfusion ##Platform_Name## PDF Viewer control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: PDF Viewer
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Ink annotation in ##Platform_Name## PDF Viewer control
-
-The PDF Viewer control provides the options to add, edit, and delete the ink annotations.
-
-
-
-## Adding an ink annotation to the PDF document
-
-The ink annotations can be added to the PDF document using the annotation toolbar.
-
-* Click the **Edit Annotation** button in the PDF Viewer toolbar. A toolbar appears below it.
-* Select the **Draw Ink** button in the annotation toolbar. It enables the ink annotation mode.
-* You can draw anything over the pages of the PDF document.
-
-
-
-Refer to the following code sample to switch to the ink annotation mode.
-
-```html
-
-```
-
-{% tabs %}
-{% highlight ts tabtitle="Standalone" %}
-
-var pdfviewer = new ej.pdfviewer.PdfViewer({
- documentPath: "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf",
- resourceUrl : "https://cdn.syncfusion.com/ej2/25.1.35/dist/ej2-pdfviewer-lib",
- });
-ej.pdfviewer.PdfViewer.Inject(ej.pdfviewer.TextSelection, ej.pdfviewer.TextSearch, ej.pdfviewer.Print, ej.pdfviewer.Navigation, ej.pdfviewer.Toolbar,
- ej.pdfviewer.Magnification, ej.pdfviewer.Annotation, ej.pdfviewer.FormDesigner, ej.pdfviewer.FormFields, ej.pdfviewer.PageOrganizer);
-pdfviewer.appendTo('#PdfViewer');
-let addInkAnnotation = document.getElementById('addInkAnnotation');
-if (addInkAnnotation) {
- addInkAnnotation.addEventListener('click', function () {
- if (pdfviewer) {
- pdfviewer.annotationModule.setAnnotationMode("Ink");
- }
- });
-}
-
-{% endhighlight %}
-{% highlight ts tabtitle="Server-Backed" %}
-
-var pdfviewer = new ej.pdfviewer.PdfViewer({
- documentPath: "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf",
- serviceUrl: 'https://services.syncfusion.com/js/production/api/pdfviewer',
- });
-ej.pdfviewer.PdfViewer.Inject(ej.pdfviewer.TextSelection, ej.pdfviewer.TextSearch, ej.pdfviewer.Print, ej.pdfviewer.Navigation, ej.pdfviewer.Toolbar,
- ej.pdfviewer.Magnification, ej.pdfviewer.Annotation, ej.pdfviewer.FormDesigner, ej.pdfviewer.FormFields, ej.pdfviewer.PageOrganizer);
-pdfviewer.appendTo('#PdfViewer');
-let addInkAnnotation = document.getElementById('addInkAnnotation');
-if (addInkAnnotation) {
- addInkAnnotation.addEventListener('click', function () {
- if (pdfviewer) {
- pdfviewer.annotationModule.setAnnotationMode("Ink");
- }
- });
-}
-
-{% endhighlight %}
-{% endtabs %}
-
-## Adding a Ink annotation programatically to the PDF document
-
-The PDF Viewer library allows you to add the Ink annotation in the PDF Viewer control programmatically using the [**addAnnotation()**](https://helpej2.syncfusion.com/documentation/api/pdfviewer/annotation/#annotation) method.
-
-Here is an example of how you can use the **addAnnotation()** method to move the Ink annotation programmatically:
-
-```html
-
-```
-
-{% tabs %}
-{% highlight ts tabtitle="Standalone" %}
-
-import { PdfViewer, Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, TextSearch, FormFields, FormDesigner, PageOrganizer, InkAnnotationSettings} from '@syncfusion/ej2-pdfviewer';
-
-PdfViewer.Inject(Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, TextSearch, FormFields, FormDesigner, PageOrganizer);
-
-let pdfviewer: PdfViewer = new PdfViewer();
-pdfviewer.documentPath = "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf";
-pdfviewer.resourceUrl = "https://cdn.syncfusion.com/ej2/25.1.35/dist/ej2-pdfviewer-lib";
-
-pdfviewer.appendTo('#PdfViewer');
-
-let addInkAnnotation = document.getElementById('addInkAnnotation');
-if (addInkAnnotation) {
- addInkAnnotation.addEventListener('click', function () {
- if (pdfviewer) {
- offset: { x: 150, y: 100 },
- pageNumber: 1,
- width: 200,
- height: 60,
- path: '[{\"command\":\"M\",\"x\":244.83334350585938,\"y\":982.0000305175781},{\"command\":\"L\",\"x\":244.83334350585938,\"y\":982.0000305175781},{\"command\":\"L\",\"x\":250.83334350585938,\"y\":953.3333435058594},{\"command\":\"L\",\"x\":252.83334350585938,\"y\":946.0000305175781},{\"command\":\"L\",\"x\":254.16668701171875,\"y\":940.6667175292969},{\"command\":\"L\",\"x\":256.8333435058594,\"y\":931.3333435058594},{\"command\":\"L\",\"x\":257.5,\"y\":929.3333435058594},{\"command\":\"L\",\"x\":258.8333435058594,\"y\":926.6667175292969},{\"command\":\"L\",\"x\":259.5,\"y\":924.0000305175781},{\"command\":\"L\",\"x\":259.5,\"y\":922.6667175292969},{\"command\":\"L\",\"x\":258.8333435058594,\"y\":922.0000305175781},{\"command\":\"L\",\"x\":258.16668701171875,\"y\":922.0000305175781},{\"command\":\"L\",\"x\":256.8333435058594,\"y\":922.0000305175781},{\"command\":\"L\",\"x\":256.16668701171875,\"y\":922.6667175292969},{\"command\":\"L\",\"x\":254.83334350585938,\"y\":923.3333435058594},{\"command\":\"L\",\"x\":254.16668701171875,\"y\":923.3333435058594},{\"command\":\"L\",\"x\":253.5,\"y\":923.3333435058594},{\"command\":\"L\",\"x\":252.83334350585938,\"y\":925.3333435058594},{\"command\":\"L\",\"x\":252.83334350585938,\"y\":927.3333435058594},{\"command\":\"L\",\"x\":252.83334350585938,\"y\":936.0000305175781},{\"command\":\"L\",\"x\":253.5,\"y\":940.6667175292969},{\"command\":\"L\",\"x\":254.83334350585938,\"y\":944.6667175292969},{\"command\":\"L\",\"x\":260.16668701171875,\"y\":952.0000305175781},{\"command\":\"L\",\"x\":264.16668701171875,\"y\":954.0000305175781},{\"command\":\"L\",\"x\":274.16668701171875,\"y\":958.6667175292969},{\"command\":\"L\",\"x\":278.16668701171875,\"y\":960.0000305175781},{\"command\":\"L\",\"x\":281.5,\"y\":961.3333435058594},{\"command\":\"L\",\"x\":285.5,\"y\":964.6667175292969},{\"command\":\"L\",\"x\":286.8333740234375,\"y\":967.3333435058594},{\"command\":\"L\",\"x\":286.8333740234375,\"y\":970.0000305175781},{\"command\":\"L\",\"x\":282.8333740234375,\"y\":978.6667175292969},{\"command\":\"L\",\"x\":278.16668701171875,\"y\":983.3333435058594},{\"command\":\"L\",\"x\":266.16668701171875,\"y\":991.3333435058594},{\"command\":\"L\",\"x\":259.5,\"y\":993.3333435058594},{\"command\":\"L\",\"x\":252.16668701171875,\"y\":994.0000305175781},{\"command\":\"L\",\"x\":240.83334350585938,\"y\":991.3333435058594},{\"command\":\"L\",\"x\":236.16668701171875,\"y\":988.6667175292969},{\"command\":\"L\",\"x\":230.16668701171875,\"y\":982.6667175292969},{\"command\":\"L\",\"x\":228.83334350585938,\"y\":980.6667175292969},{\"command\":\"L\",\"x\":228.16668701171875,\"y\":978.6667175292969},{\"command\":\"L\",\"x\":228.83334350585938,\"y\":974.6667175292969},{\"command\":\"L\",\"x\":230.16668701171875,\"y\":973.3333435058594},{\"command\":\"L\",\"x\":236.16668701171875,\"y\":971.3333435058594},{\"command\":\"L\",\"x\":240.83334350585938,\"y\":971.3333435058594},{\"command\":\"L\",\"x\":246.16668701171875,\"y\":972.0000305175781},{\"command\":\"L\",\"x\":257.5,\"y\":974.6667175292969},{\"command\":\"L\",\"x\":262.8333435058594,\"y\":976.0000305175781},{\"command\":\"L\",\"x\":269.5,\"y\":977.3333435058594},{\"command\":\"L\",\"x\":276.16668701171875,\"y\":978.6667175292969},{\"command\":\"L\",\"x\":279.5,\"y\":978.0000305175781},{\"command\":\"L\",\"x\":285.5,\"y\":976.6667175292969},{\"command\":\"L\",\"x\":288.16668701171875,\"y\":974.6667175292969},{\"command\":\"L\",\"x\":292.8333740234375,\"y\":969.3333435058594},{\"command\":\"L\",\"x\":293.5,\"y\":966.6667175292969},{\"command\":\"L\",\"x\":294.16668701171875,\"y\":964.0000305175781},{\"command\":\"L\",\"x\":293.5,\"y\":960.0000305175781},{\"command\":\"L\",\"x\":293.5,\"y\":958.0000305175781},{\"command\":\"L\",\"x\":292.8333740234375,\"y\":956.6667175292969},{\"command\":\"L\",\"x\":291.5,\"y\":954.6667175292969},{\"command\":\"L\",\"x\":291.5,\"y\":954.0000305175781},{\"command\":\"L\",\"x\":291.5,\"y\":953.3333435058594},{\"command\":\"L\",\"x\":291.5,\"y\":954.0000305175781},{\"command\":\"L\",\"x\":292.16668701171875,\"y\":954.6667175292969},{\"command\":\"L\",\"x\":292.8333740234375,\"y\":956.0000305175781},{\"command\":\"L\",\"x\":294.16668701171875,\"y\":961.3333435058594},{\"command\":\"L\",\"x\":295.5,\"y\":964.6667175292969},{\"command\":\"L\",\"x\":297.5,\"y\":969.3333435058594},{\"command\":\"L\",\"x\":298.8333740234375,\"y\":970.6667175292969},{\"command\":\"L\",\"x\":301.5,\"y\":970.0000305175781},{\"command\":\"L\",\"x\":304.16668701171875,\"y\":968.6667175292969},{\"command\":\"L\",\"x\":305.5,\"y\":966.0000305175781},{\"command\":\"L\",\"x\":308.8333740234375,\"y\":960.0000305175781},{\"command\":\"L\",\"x\":310.16668701171875,\"y\":957.3333435058594},{\"command\":\"L\",\"x\":310.8333740234375,\"y\":956.0000305175781},{\"command\":\"L\",\"x\":310.8333740234375,\"y\":954.6667175292969},{\"command\":\"L\",\"x\":310.8333740234375,\"y\":954.0000305175781},{\"command\":\"L\",\"x\":311.5,\"y\":956.0000305175781},{\"command\":\"L\",\"x\":312.8333740234375,\"y\":959.3333435058594},{\"command\":\"L\",\"x\":316.16668701171875,\"y\":968.0000305175781},{\"command\":\"L\",\"x\":317.5,\"y\":972.6667175292969},{\"command\":\"L\",\"x\":318.16668701171875,\"y\":977.3333435058594},{\"command\":\"L\",\"x\":319.5,\"y\":983.3333435058594},{\"command\":\"L\",\"x\":319.5,\"y\":986.0000305175781},{\"command\":\"L\",\"x\":319.5,\"y\":988.0000305175781},{\"command\":\"L\",\"x\":318.8333740234375,\"y\":988.0000305175781},{\"command\":\"L\",\"x\":318.16668701171875,\"y\":988.6667175292969},{\"command\":\"L\",\"x\":316.16668701171875,\"y\":987.3333435058594},{\"command\":\"L\",\"x\":314.8333740234375,\"y\":985.3333435058594},{\"command\":\"L\",\"x\":314.16668701171875,\"y\":980.6667175292969},{\"command\":\"L\",\"x\":314.8333740234375,\"y\":974.6667175292969},{\"command\":\"L\",\"x\":316.16668701171875,\"y\":969.3333435058594},{\"command\":\"L\",\"x\":319.5,\"y\":960.6667175292969},{\"command\":\"L\",\"x\":320.16668701171875,\"y\":957.3333435058594},{\"command\":\"L\",\"x\":321.5,\"y\":955.3333435058594},{\"command\":\"L\",\"x\":322.16668701171875,\"y\":953.3333435058594},{\"command\":\"L\",\"x\":322.8333740234375,\"y\":952.6667175292969},{\"command\":\"L\",\"x\":324.16668701171875,\"y\":952.6667175292969},{\"command\":\"L\",\"x\":324.8333740234375,\"y\":953.3333435058594},{\"command\":\"L\",\"x\":326.8333740234375,\"y\":956.0000305175781},{\"command\":\"L\",\"x\":328.16668701171875,\"y\":958.0000305175781},{\"command\":\"L\",\"x\":328.8333740234375,\"y\":960.0000305175781},{\"command\":\"L\",\"x\":329.5,\"y\":962.0000305175781},{\"command\":\"L\",\"x\":330.16668701171875,\"y\":962.0000305175781},{\"command\":\"L\",\"x\":330.16668701171875,\"y\":962.6667175292969},{\"command\":\"L\",\"x\":330.16668701171875,\"y\":962.0000305175781},{\"command\":\"L\",\"x\":330.8333740234375,\"y\":960.0000305175781},{\"command\":\"L\",\"x\":331.5,\"y\":956.0000305175781},{\"command\":\"L\",\"x\":332.8333740234375,\"y\":952.0000305175781},{\"command\":\"L\",\"x\":333.5,\"y\":950.0000305175781},{\"command\":\"L\",\"x\":334.8333740234375,\"y\":948.6667175292969},{\"command\":\"L\",\"x\":335.5,\"y\":948.6667175292969},{\"command\":\"L\",\"x\":336.16668701171875,\"y\":948.6667175292969},{\"command\":\"L\",\"x\":337.5,\"y\":950.6667175292969},{\"command\":\"L\",\"x\":338.8333740234375,\"y\":952.0000305175781},{\"command\":\"L\",\"x\":340.8333740234375,\"y\":954.0000305175781},{\"command\":\"L\",\"x\":341.5,\"y\":954.0000305175781},{\"command\":\"L\",\"x\":342.8333740234375,\"y\":954.6667175292969},{\"command\":\"L\",\"x\":344.8333740234375,\"y\":954.0000305175781},{\"command\":\"L\",\"x\":346.8333740234375,\"y\":952.6667175292969},{\"command\":\"L\",\"x\":349.5,\"y\":949.3333435058594},{\"command\":\"L\",\"x\":350.8333740234375,\"y\":948.0000305175781},{\"command\":\"L\",\"x\":351.5,\"y\":946.6667175292969},{\"command\":\"L\",\"x\":352.8333740234375,\"y\":944.0000305175781},{\"command\":\"L\",\"x\":352.8333740234375,\"y\":943.3333435058594},{\"command\":\"L\",\"x\":354.16668701171875,\"y\":942.0000305175781},{\"command\":\"L\",\"x\":354.8333740234375,\"y\":942.0000305175781},{\"command\":\"L\",\"x\":354.8333740234375,\"y\":942.6667175292969},{\"command\":\"L\",\"x\":354.16668701171875,\"y\":943.3333435058594},{\"command\":\"L\",\"x\":354.16668701171875,\"y\":946.6667175292969},{\"command\":\"L\",\"x\":354.16668701171875,\"y\":950.0000305175781},{\"command\":\"L\",\"x\":355.5,\"y\":956.0000305175781},{\"command\":\"L\",\"x\":356.16668701171875,\"y\":957.3333435058594},{\"command\":\"L\",\"x\":358.16668701171875,\"y\":959.3333435058594},{\"command\":\"L\",\"x\":360.16668701171875,\"y\":958.0000305175781},{\"command\":\"L\",\"x\":364.16668701171875,\"y\":956.0000305175781},{\"command\":\"L\",\"x\":370.8333740234375,\"y\":948.6667175292969},{\"command\":\"L\",\"x\":373.5,\"y\":943.3333435058594},{\"command\":\"L\",\"x\":375.5,\"y\":937.3333435058594},{\"command\":\"L\",\"x\":376.16668701171875,\"y\":933.3333435058594},{\"command\":\"L\",\"x\":376.8333740234375,\"y\":931.3333435058594},{\"command\":\"L\",\"x\":376.8333740234375,\"y\":930.0000305175781},{\"command\":\"L\",\"x\":376.8333740234375,\"y\":929.3333435058594},{\"command\":\"L\",\"x\":376.16668701171875,\"y\":930.0000305175781},{\"command\":\"L\",\"x\":375.5,\"y\":932.0000305175781},{\"command\":\"L\",\"x\":375.5,\"y\":937.3333435058594},{\"command\":\"L\",\"x\":374.8333740234375,\"y\":953.3333435058594},{\"command\":\"L\",\"x\":374.8333740234375,\"y\":960.6667175292969},{\"command\":\"L\",\"x\":375.5,\"y\":966.0000305175781},{\"command\":\"L\",\"x\":377.5,\"y\":974.6667175292969},{\"command\":\"L\",\"x\":378.16668701171875,\"y\":977.3333435058594},{\"command\":\"L\",\"x\":380.8333740234375,\"y\":981.3333435058594},{\"command\":\"L\",\"x\":382.16668701171875,\"y\":982.6667175292969},{\"command\":\"L\",\"x\":383.5,\"y\":982.6667175292969},{\"command\":\"L\",\"x\":387.5,\"y\":982.6667175292969},{\"command\":\"L\",\"x\":389.5,\"y\":980.6667175292969},{\"command\":\"L\",\"x\":392.16668701171875,\"y\":976.6667175292969},{\"command\":\"L\",\"x\":392.8333740234375,\"y\":973.3333435058594},{\"command\":\"L\",\"x\":392.16668701171875,\"y\":970.0000305175781},{\"command\":\"L\",\"x\":388.8333740234375,\"y\":965.3333435058594},{\"command\":\"L\",\"x\":385.5,\"y\":964.0000305175781},{\"command\":\"L\",\"x\":382.8333740234375,\"y\":964.0000305175781},{\"command\":\"L\",\"x\":377.5,\"y\":964.0000305175781},{\"command\":\"L\",\"x\":375.5,\"y\":964.6667175292969},{\"command\":\"L\",\"x\":373.5,\"y\":965.3333435058594},{\"command\":\"L\",\"x\":374.8333740234375,\"y\":963.3333435058594},{\"command\":\"L\",\"x\":376.8333740234375,\"y\":961.3333435058594},{\"command\":\"L\",\"x\":382.16668701171875,\"y\":956.0000305175781},{\"command\":\"L\",\"x\":384.16668701171875,\"y\":953.3333435058594},{\"command\":\"L\",\"x\":387.5,\"y\":950.6667175292969},{\"command\":\"L\",\"x\":388.16668701171875,\"y\":952.0000305175781},{\"command\":\"L\",\"x\":388.16668701171875,\"y\":952.6667175292969},{\"command\":\"L\",\"x\":388.8333740234375,\"y\":954.0000305175781},{\"command\":\"L\",\"x\":388.8333740234375,\"y\":954.6667175292969},{\"command\":\"L\",\"x\":389.5,\"y\":959.3333435058594},{\"command\":\"L\",\"x\":389.5,\"y\":960.6667175292969},{\"command\":\"L\",\"x\":390.16668701171875,\"y\":961.3333435058594},{\"command\":\"L\",\"x\":390.8333740234375,\"y\":960.6667175292969},{\"command\":\"L\",\"x\":393.5,\"y\":958.0000305175781},{\"command\":\"L\",\"x\":396.8333740234375,\"y\":954.0000305175781},{\"command\":\"L\",\"x\":398.16668701171875,\"y\":952.0000305175781},{\"command\":\"L\",\"x\":400.16668701171875,\"y\":949.3333435058594},{\"command\":\"L\",\"x\":400.16668701171875,\"y\":948.6667175292969},{\"command\":\"L\",\"x\":400.8333740234375,\"y\":948.0000305175781},{\"command\":\"L\",\"x\":400.8333740234375,\"y\":947.3333435058594},{\"command\":\"L\",\"x\":401.5,\"y\":948.0000305175781},{\"command\":\"L\",\"x\":402.16668701171875,\"y\":949.3333435058594},{\"command\":\"L\",\"x\":403.5,\"y\":950.6667175292969},{\"command\":\"L\",\"x\":404.8333740234375,\"y\":953.3333435058594},{\"command\":\"L\",\"x\":406.16668701171875,\"y\":954.0000305175781},{\"command\":\"L\",\"x\":407.5,\"y\":954.0000305175781},{\"command\":\"L\",\"x\":410.16668701171875,\"y\":952.0000305175781},{\"command\":\"L\",\"x\":412.16668701171875,\"y\":949.3333435058594},{\"command\":\"L\",\"x\":414.16668701171875,\"y\":944.6667175292969},{\"command\":\"L\",\"x\":414.16668701171875,\"y\":942.0000305175781},{\"command\":\"L\",\"x\":414.16668701171875,\"y\":940.6667175292969},{\"command\":\"L\",\"x\":414.16668701171875,\"y\":938.6667175292969},{\"command\":\"L\",\"x\":414.16668701171875,\"y\":938.0000305175781},{\"command\":\"L\",\"x\":415.5,\"y\":939.3333435058594},{\"command\":\"L\",\"x\":418.8333740234375,\"y\":942.6667175292969},{\"command\":\"L\",\"x\":420.16668701171875,\"y\":945.3333435058594},{\"command\":\"L\",\"x\":421.5,\"y\":946.6667175292969},{\"command\":\"L\",\"x\":422.8333740234375,\"y\":950.0000305175781},{\"command\":\"L\",\"x\":423.5,\"y\":950.6667175292969},{\"command\":\"L\",\"x\":423.5,\"y\":953.3333435058594},{\"command\":\"L\",\"x\":422.8333740234375,\"y\":954.0000305175781},{\"command\":\"L\",\"x\":421.5,\"y\":955.3333435058594},{\"command\":\"L\",\"x\":421.5,\"y\":956.0000305175781},{\"command\":\"L\",\"x\":422.16668701171875,\"y\":954.6667175292969},{\"command\":\"L\",\"x\":422.8333740234375,\"y\":954.0000305175781},{\"command\":\"L\",\"x\":424.8333740234375,\"y\":950.6667175292969},{\"command\":\"L\",\"x\":425.5,\"y\":948.6667175292969},{\"command\":\"L\",\"x\":428.16668701171875,\"y\":945.3333435058594},{\"command\":\"L\",\"x\":428.8333740234375,\"y\":943.3333435058594},{\"command\":\"L\",\"x\":428.8333740234375,\"y\":942.6667175292969},{\"command\":\"L\",\"x\":428.8333740234375,\"y\":943.3333435058594},{\"command\":\"L\",\"x\":428.8333740234375,\"y\":945.3333435058594},{\"command\":\"L\",\"x\":428.8333740234375,\"y\":948.0000305175781},{\"command\":\"L\",\"x\":428.8333740234375,\"y\":950.0000305175781},{\"command\":\"L\",\"x\":429.5,\"y\":953.3333435058594},{\"command\":\"L\",\"x\":430.16668701171875,\"y\":953.3333435058594},{\"command\":\"L\",\"x\":432.8333740234375,\"y\":952.6667175292969},{\"command\":\"L\",\"x\":434.8333740234375,\"y\":950.6667175292969},{\"command\":\"L\",\"x\":437.5,\"y\":948.6667175292969},{\"command\":\"L\",\"x\":440.16668701171875,\"y\":944.6667175292969},{\"command\":\"L\",\"x\":441.5,\"y\":942.6667175292969},{\"command\":\"L\",\"x\":442.16668701171875,\"y\":942.0000305175781},{\"command\":\"L\",\"x\":442.8333740234375,\"y\":941.3333435058594},{\"command\":\"L\",\"x\":442.8333740234375,\"y\":942.0000305175781},{\"command\":\"L\",\"x\":442.8333740234375,\"y\":943.3333435058594},{\"command\":\"L\",\"x\":442.8333740234375,\"y\":944.6667175292969},{\"command\":\"L\",\"x\":442.8333740234375,\"y\":946.0000305175781},{\"command\":\"L\",\"x\":443.5,\"y\":949.3333435058594},{\"command\":\"L\",\"x\":444.16668701171875,\"y\":950.6667175292969},{\"command\":\"L\",\"x\":445.5,\"y\":950.6667175292969},{\"command\":\"L\",\"x\":447.5,\"y\":950.6667175292969},{\"command\":\"L\",\"x\":450.16668701171875,\"y\":948.6667175292969},{\"command\":\"L\",\"x\":452.16668701171875,\"y\":945.3333435058594},{\"command\":\"L\",\"x\":453.5,\"y\":942.6667175292969},{\"command\":\"L\",\"x\":452.8333740234375,\"y\":938.6667175292969},{\"command\":\"L\",\"x\":452.16668701171875,\"y\":937.3333435058594},{\"command\":\"L\",\"x\":450.8333740234375,\"y\":936.6667175292969},{\"command\":\"L\",\"x\":448.8333740234375,\"y\":936.0000305175781},{\"command\":\"L\",\"x\":447.5,\"y\":936.6667175292969},{\"command\":\"L\",\"x\":446.16668701171875,\"y\":937.3333435058594},{\"command\":\"L\",\"x\":445.5,\"y\":938.6667175292969},{\"command\":\"L\",\"x\":445.5,\"y\":939.3333435058594},{\"command\":\"L\",\"x\":446.16668701171875,\"y\":939.3333435058594},{\"command\":\"L\",\"x\":446.8333740234375,\"y\":939.3333435058594},{\"command\":\"L\",\"x\":452.16668701171875,\"y\":937.3333435058594},{\"command\":\"L\",\"x\":454.8333740234375,\"y\":936.6667175292969},{\"command\":\"L\",\"x\":456.8333740234375,\"y\":936.0000305175781},{\"command\":\"L\",\"x\":459.5,\"y\":936.6667175292969},{\"command\":\"L\",\"x\":460.8333740234375,\"y\":937.3333435058594},{\"command\":\"L\",\"x\":461.5,\"y\":938.6667175292969},{\"command\":\"L\",\"x\":462.16668701171875,\"y\":942.0000305175781},{\"command\":\"L\",\"x\":462.16668701171875,\"y\":942.6667175292969},{\"command\":\"L\",\"x\":462.16668701171875,\"y\":944.0000305175781},{\"command\":\"L\",\"x\":462.16668701171875,\"y\":943.3333435058594},{\"command\":\"L\",\"x\":462.16668701171875,\"y\":942.6667175292969},{\"command\":\"L\",\"x\":462.16668701171875,\"y\":941.3333435058594},{\"command\":\"L\",\"x\":462.8333740234375,\"y\":938.6667175292969},{\"command\":\"L\",\"x\":464.16668701171875,\"y\":935.3333435058594},{\"command\":\"L\",\"x\":465.5,\"y\":933.3333435058594},{\"command\":\"L\",\"x\":466.16668701171875,\"y\":932.6667175292969},{\"command\":\"L\",\"x\":467.5,\"y\":933.3333435058594},{\"command\":\"L\",\"x\":469.5,\"y\":935.3333435058594},{\"command\":\"L\",\"x\":470.16668701171875,\"y\":938.6667175292969},{\"command\":\"L\",\"x\":472.8333740234375,\"y\":943.3333435058594},{\"command\":\"L\",\"x\":472.8333740234375,\"y\":944.6667175292969},{\"command\":\"L\",\"x\":474.16668701171875,\"y\":944.6667175292969},{\"command\":\"L\",\"x\":475.5,\"y\":944.0000305175781},{\"command\":\"L\",\"x\":478.16668701171875,\"y\":941.3333435058594},{\"command\":\"L\",\"x\":481.5,\"y\":937.3333435058594},{\"command\":\"L\",\"x\":484.8333740234375,\"y\":934.0000305175781},{\"command\":\"L\",\"x\":488.8333740234375,\"y\":929.3333435058594},{\"command\":\"L\",\"x\":489.5,\"y\":928.0000305175781}]'
- } as InkAnnotationSettings);
- }
- });
-}
-
-{% endhighlight %}
-{% highlight ts tabtitle="Server-Backed" %}
-
-import { PdfViewer, Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, TextSearch, FormFields, FormDesigner, PageOrganizer, InkAnnotationSettings} from '@syncfusion/ej2-pdfviewer';
-
-PdfViewer.Inject(Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, TextSearch, FormFields, FormDesigner, PageOrganizer);
-
-let pdfviewer: PdfViewer = new PdfViewer();
-pdfviewer.serviceUrl = 'https://services.syncfusion.com/js/production/api/pdfviewer';
-pdfviewer.documentPath = "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf";
-
-pdfviewer.appendTo('#PdfViewer');
-
-let addInkAnnotation = document.getElementById('addInkAnnotation');
-if (addInkAnnotation) {
- addInkAnnotation.addEventListener('click', function () {
- if (pdfviewer) {
- offset: { x: 150, y: 100 },
- pageNumber: 1,
- width: 200,
- height: 60,
- path: '[{\"command\":\"M\",\"x\":244.83334350585938,\"y\":982.0000305175781},{\"command\":\"L\",\"x\":244.83334350585938,\"y\":982.0000305175781},{\"command\":\"L\",\"x\":250.83334350585938,\"y\":953.3333435058594},{\"command\":\"L\",\"x\":252.83334350585938,\"y\":946.0000305175781},{\"command\":\"L\",\"x\":254.16668701171875,\"y\":940.6667175292969},{\"command\":\"L\",\"x\":256.8333435058594,\"y\":931.3333435058594},{\"command\":\"L\",\"x\":257.5,\"y\":929.3333435058594},{\"command\":\"L\",\"x\":258.8333435058594,\"y\":926.6667175292969},{\"command\":\"L\",\"x\":259.5,\"y\":924.0000305175781},{\"command\":\"L\",\"x\":259.5,\"y\":922.6667175292969},{\"command\":\"L\",\"x\":258.8333435058594,\"y\":922.0000305175781},{\"command\":\"L\",\"x\":258.16668701171875,\"y\":922.0000305175781},{\"command\":\"L\",\"x\":256.8333435058594,\"y\":922.0000305175781},{\"command\":\"L\",\"x\":256.16668701171875,\"y\":922.6667175292969},{\"command\":\"L\",\"x\":254.83334350585938,\"y\":923.3333435058594},{\"command\":\"L\",\"x\":254.16668701171875,\"y\":923.3333435058594},{\"command\":\"L\",\"x\":253.5,\"y\":923.3333435058594},{\"command\":\"L\",\"x\":252.83334350585938,\"y\":925.3333435058594},{\"command\":\"L\",\"x\":252.83334350585938,\"y\":927.3333435058594},{\"command\":\"L\",\"x\":252.83334350585938,\"y\":936.0000305175781},{\"command\":\"L\",\"x\":253.5,\"y\":940.6667175292969},{\"command\":\"L\",\"x\":254.83334350585938,\"y\":944.6667175292969},{\"command\":\"L\",\"x\":260.16668701171875,\"y\":952.0000305175781},{\"command\":\"L\",\"x\":264.16668701171875,\"y\":954.0000305175781},{\"command\":\"L\",\"x\":274.16668701171875,\"y\":958.6667175292969},{\"command\":\"L\",\"x\":278.16668701171875,\"y\":960.0000305175781},{\"command\":\"L\",\"x\":281.5,\"y\":961.3333435058594},{\"command\":\"L\",\"x\":285.5,\"y\":964.6667175292969},{\"command\":\"L\",\"x\":286.8333740234375,\"y\":967.3333435058594},{\"command\":\"L\",\"x\":286.8333740234375,\"y\":970.0000305175781},{\"command\":\"L\",\"x\":282.8333740234375,\"y\":978.6667175292969},{\"command\":\"L\",\"x\":278.16668701171875,\"y\":983.3333435058594},{\"command\":\"L\",\"x\":266.16668701171875,\"y\":991.3333435058594},{\"command\":\"L\",\"x\":259.5,\"y\":993.3333435058594},{\"command\":\"L\",\"x\":252.16668701171875,\"y\":994.0000305175781},{\"command\":\"L\",\"x\":240.83334350585938,\"y\":991.3333435058594},{\"command\":\"L\",\"x\":236.16668701171875,\"y\":988.6667175292969},{\"command\":\"L\",\"x\":230.16668701171875,\"y\":982.6667175292969},{\"command\":\"L\",\"x\":228.83334350585938,\"y\":980.6667175292969},{\"command\":\"L\",\"x\":228.16668701171875,\"y\":978.6667175292969},{\"command\":\"L\",\"x\":228.83334350585938,\"y\":974.6667175292969},{\"command\":\"L\",\"x\":230.16668701171875,\"y\":973.3333435058594},{\"command\":\"L\",\"x\":236.16668701171875,\"y\":971.3333435058594},{\"command\":\"L\",\"x\":240.83334350585938,\"y\":971.3333435058594},{\"command\":\"L\",\"x\":246.16668701171875,\"y\":972.0000305175781},{\"command\":\"L\",\"x\":257.5,\"y\":974.6667175292969},{\"command\":\"L\",\"x\":262.8333435058594,\"y\":976.0000305175781},{\"command\":\"L\",\"x\":269.5,\"y\":977.3333435058594},{\"command\":\"L\",\"x\":276.16668701171875,\"y\":978.6667175292969},{\"command\":\"L\",\"x\":279.5,\"y\":978.0000305175781},{\"command\":\"L\",\"x\":285.5,\"y\":976.6667175292969},{\"command\":\"L\",\"x\":288.16668701171875,\"y\":974.6667175292969},{\"command\":\"L\",\"x\":292.8333740234375,\"y\":969.3333435058594},{\"command\":\"L\",\"x\":293.5,\"y\":966.6667175292969},{\"command\":\"L\",\"x\":294.16668701171875,\"y\":964.0000305175781},{\"command\":\"L\",\"x\":293.5,\"y\":960.0000305175781},{\"command\":\"L\",\"x\":293.5,\"y\":958.0000305175781},{\"command\":\"L\",\"x\":292.8333740234375,\"y\":956.6667175292969},{\"command\":\"L\",\"x\":291.5,\"y\":954.6667175292969},{\"command\":\"L\",\"x\":291.5,\"y\":954.0000305175781},{\"command\":\"L\",\"x\":291.5,\"y\":953.3333435058594},{\"command\":\"L\",\"x\":291.5,\"y\":954.0000305175781},{\"command\":\"L\",\"x\":292.16668701171875,\"y\":954.6667175292969},{\"command\":\"L\",\"x\":292.8333740234375,\"y\":956.0000305175781},{\"command\":\"L\",\"x\":294.16668701171875,\"y\":961.3333435058594},{\"command\":\"L\",\"x\":295.5,\"y\":964.6667175292969},{\"command\":\"L\",\"x\":297.5,\"y\":969.3333435058594},{\"command\":\"L\",\"x\":298.8333740234375,\"y\":970.6667175292969},{\"command\":\"L\",\"x\":301.5,\"y\":970.0000305175781},{\"command\":\"L\",\"x\":304.16668701171875,\"y\":968.6667175292969},{\"command\":\"L\",\"x\":305.5,\"y\":966.0000305175781},{\"command\":\"L\",\"x\":308.8333740234375,\"y\":960.0000305175781},{\"command\":\"L\",\"x\":310.16668701171875,\"y\":957.3333435058594},{\"command\":\"L\",\"x\":310.8333740234375,\"y\":956.0000305175781},{\"command\":\"L\",\"x\":310.8333740234375,\"y\":954.6667175292969},{\"command\":\"L\",\"x\":310.8333740234375,\"y\":954.0000305175781},{\"command\":\"L\",\"x\":311.5,\"y\":956.0000305175781},{\"command\":\"L\",\"x\":312.8333740234375,\"y\":959.3333435058594},{\"command\":\"L\",\"x\":316.16668701171875,\"y\":968.0000305175781},{\"command\":\"L\",\"x\":317.5,\"y\":972.6667175292969},{\"command\":\"L\",\"x\":318.16668701171875,\"y\":977.3333435058594},{\"command\":\"L\",\"x\":319.5,\"y\":983.3333435058594},{\"command\":\"L\",\"x\":319.5,\"y\":986.0000305175781},{\"command\":\"L\",\"x\":319.5,\"y\":988.0000305175781},{\"command\":\"L\",\"x\":318.8333740234375,\"y\":988.0000305175781},{\"command\":\"L\",\"x\":318.16668701171875,\"y\":988.6667175292969},{\"command\":\"L\",\"x\":316.16668701171875,\"y\":987.3333435058594},{\"command\":\"L\",\"x\":314.8333740234375,\"y\":985.3333435058594},{\"command\":\"L\",\"x\":314.16668701171875,\"y\":980.6667175292969},{\"command\":\"L\",\"x\":314.8333740234375,\"y\":974.6667175292969},{\"command\":\"L\",\"x\":316.16668701171875,\"y\":969.3333435058594},{\"command\":\"L\",\"x\":319.5,\"y\":960.6667175292969},{\"command\":\"L\",\"x\":320.16668701171875,\"y\":957.3333435058594},{\"command\":\"L\",\"x\":321.5,\"y\":955.3333435058594},{\"command\":\"L\",\"x\":322.16668701171875,\"y\":953.3333435058594},{\"command\":\"L\",\"x\":322.8333740234375,\"y\":952.6667175292969},{\"command\":\"L\",\"x\":324.16668701171875,\"y\":952.6667175292969},{\"command\":\"L\",\"x\":324.8333740234375,\"y\":953.3333435058594},{\"command\":\"L\",\"x\":326.8333740234375,\"y\":956.0000305175781},{\"command\":\"L\",\"x\":328.16668701171875,\"y\":958.0000305175781},{\"command\":\"L\",\"x\":328.8333740234375,\"y\":960.0000305175781},{\"command\":\"L\",\"x\":329.5,\"y\":962.0000305175781},{\"command\":\"L\",\"x\":330.16668701171875,\"y\":962.0000305175781},{\"command\":\"L\",\"x\":330.16668701171875,\"y\":962.6667175292969},{\"command\":\"L\",\"x\":330.16668701171875,\"y\":962.0000305175781},{\"command\":\"L\",\"x\":330.8333740234375,\"y\":960.0000305175781},{\"command\":\"L\",\"x\":331.5,\"y\":956.0000305175781},{\"command\":\"L\",\"x\":332.8333740234375,\"y\":952.0000305175781},{\"command\":\"L\",\"x\":333.5,\"y\":950.0000305175781},{\"command\":\"L\",\"x\":334.8333740234375,\"y\":948.6667175292969},{\"command\":\"L\",\"x\":335.5,\"y\":948.6667175292969},{\"command\":\"L\",\"x\":336.16668701171875,\"y\":948.6667175292969},{\"command\":\"L\",\"x\":337.5,\"y\":950.6667175292969},{\"command\":\"L\",\"x\":338.8333740234375,\"y\":952.0000305175781},{\"command\":\"L\",\"x\":340.8333740234375,\"y\":954.0000305175781},{\"command\":\"L\",\"x\":341.5,\"y\":954.0000305175781},{\"command\":\"L\",\"x\":342.8333740234375,\"y\":954.6667175292969},{\"command\":\"L\",\"x\":344.8333740234375,\"y\":954.0000305175781},{\"command\":\"L\",\"x\":346.8333740234375,\"y\":952.6667175292969},{\"command\":\"L\",\"x\":349.5,\"y\":949.3333435058594},{\"command\":\"L\",\"x\":350.8333740234375,\"y\":948.0000305175781},{\"command\":\"L\",\"x\":351.5,\"y\":946.6667175292969},{\"command\":\"L\",\"x\":352.8333740234375,\"y\":944.0000305175781},{\"command\":\"L\",\"x\":352.8333740234375,\"y\":943.3333435058594},{\"command\":\"L\",\"x\":354.16668701171875,\"y\":942.0000305175781},{\"command\":\"L\",\"x\":354.8333740234375,\"y\":942.0000305175781},{\"command\":\"L\",\"x\":354.8333740234375,\"y\":942.6667175292969},{\"command\":\"L\",\"x\":354.16668701171875,\"y\":943.3333435058594},{\"command\":\"L\",\"x\":354.16668701171875,\"y\":946.6667175292969},{\"command\":\"L\",\"x\":354.16668701171875,\"y\":950.0000305175781},{\"command\":\"L\",\"x\":355.5,\"y\":956.0000305175781},{\"command\":\"L\",\"x\":356.16668701171875,\"y\":957.3333435058594},{\"command\":\"L\",\"x\":358.16668701171875,\"y\":959.3333435058594},{\"command\":\"L\",\"x\":360.16668701171875,\"y\":958.0000305175781},{\"command\":\"L\",\"x\":364.16668701171875,\"y\":956.0000305175781},{\"command\":\"L\",\"x\":370.8333740234375,\"y\":948.6667175292969},{\"command\":\"L\",\"x\":373.5,\"y\":943.3333435058594},{\"command\":\"L\",\"x\":375.5,\"y\":937.3333435058594},{\"command\":\"L\",\"x\":376.16668701171875,\"y\":933.3333435058594},{\"command\":\"L\",\"x\":376.8333740234375,\"y\":931.3333435058594},{\"command\":\"L\",\"x\":376.8333740234375,\"y\":930.0000305175781},{\"command\":\"L\",\"x\":376.8333740234375,\"y\":929.3333435058594},{\"command\":\"L\",\"x\":376.16668701171875,\"y\":930.0000305175781},{\"command\":\"L\",\"x\":375.5,\"y\":932.0000305175781},{\"command\":\"L\",\"x\":375.5,\"y\":937.3333435058594},{\"command\":\"L\",\"x\":374.8333740234375,\"y\":953.3333435058594},{\"command\":\"L\",\"x\":374.8333740234375,\"y\":960.6667175292969},{\"command\":\"L\",\"x\":375.5,\"y\":966.0000305175781},{\"command\":\"L\",\"x\":377.5,\"y\":974.6667175292969},{\"command\":\"L\",\"x\":378.16668701171875,\"y\":977.3333435058594},{\"command\":\"L\",\"x\":380.8333740234375,\"y\":981.3333435058594},{\"command\":\"L\",\"x\":382.16668701171875,\"y\":982.6667175292969},{\"command\":\"L\",\"x\":383.5,\"y\":982.6667175292969},{\"command\":\"L\",\"x\":387.5,\"y\":982.6667175292969},{\"command\":\"L\",\"x\":389.5,\"y\":980.6667175292969},{\"command\":\"L\",\"x\":392.16668701171875,\"y\":976.6667175292969},{\"command\":\"L\",\"x\":392.8333740234375,\"y\":973.3333435058594},{\"command\":\"L\",\"x\":392.16668701171875,\"y\":970.0000305175781},{\"command\":\"L\",\"x\":388.8333740234375,\"y\":965.3333435058594},{\"command\":\"L\",\"x\":385.5,\"y\":964.0000305175781},{\"command\":\"L\",\"x\":382.8333740234375,\"y\":964.0000305175781},{\"command\":\"L\",\"x\":377.5,\"y\":964.0000305175781},{\"command\":\"L\",\"x\":375.5,\"y\":964.6667175292969},{\"command\":\"L\",\"x\":373.5,\"y\":965.3333435058594},{\"command\":\"L\",\"x\":374.8333740234375,\"y\":963.3333435058594},{\"command\":\"L\",\"x\":376.8333740234375,\"y\":961.3333435058594},{\"command\":\"L\",\"x\":382.16668701171875,\"y\":956.0000305175781},{\"command\":\"L\",\"x\":384.16668701171875,\"y\":953.3333435058594},{\"command\":\"L\",\"x\":387.5,\"y\":950.6667175292969},{\"command\":\"L\",\"x\":388.16668701171875,\"y\":952.0000305175781},{\"command\":\"L\",\"x\":388.16668701171875,\"y\":952.6667175292969},{\"command\":\"L\",\"x\":388.8333740234375,\"y\":954.0000305175781},{\"command\":\"L\",\"x\":388.8333740234375,\"y\":954.6667175292969},{\"command\":\"L\",\"x\":389.5,\"y\":959.3333435058594},{\"command\":\"L\",\"x\":389.5,\"y\":960.6667175292969},{\"command\":\"L\",\"x\":390.16668701171875,\"y\":961.3333435058594},{\"command\":\"L\",\"x\":390.8333740234375,\"y\":960.6667175292969},{\"command\":\"L\",\"x\":393.5,\"y\":958.0000305175781},{\"command\":\"L\",\"x\":396.8333740234375,\"y\":954.0000305175781},{\"command\":\"L\",\"x\":398.16668701171875,\"y\":952.0000305175781},{\"command\":\"L\",\"x\":400.16668701171875,\"y\":949.3333435058594},{\"command\":\"L\",\"x\":400.16668701171875,\"y\":948.6667175292969},{\"command\":\"L\",\"x\":400.8333740234375,\"y\":948.0000305175781},{\"command\":\"L\",\"x\":400.8333740234375,\"y\":947.3333435058594},{\"command\":\"L\",\"x\":401.5,\"y\":948.0000305175781},{\"command\":\"L\",\"x\":402.16668701171875,\"y\":949.3333435058594},{\"command\":\"L\",\"x\":403.5,\"y\":950.6667175292969},{\"command\":\"L\",\"x\":404.8333740234375,\"y\":953.3333435058594},{\"command\":\"L\",\"x\":406.16668701171875,\"y\":954.0000305175781},{\"command\":\"L\",\"x\":407.5,\"y\":954.0000305175781},{\"command\":\"L\",\"x\":410.16668701171875,\"y\":952.0000305175781},{\"command\":\"L\",\"x\":412.16668701171875,\"y\":949.3333435058594},{\"command\":\"L\",\"x\":414.16668701171875,\"y\":944.6667175292969},{\"command\":\"L\",\"x\":414.16668701171875,\"y\":942.0000305175781},{\"command\":\"L\",\"x\":414.16668701171875,\"y\":940.6667175292969},{\"command\":\"L\",\"x\":414.16668701171875,\"y\":938.6667175292969},{\"command\":\"L\",\"x\":414.16668701171875,\"y\":938.0000305175781},{\"command\":\"L\",\"x\":415.5,\"y\":939.3333435058594},{\"command\":\"L\",\"x\":418.8333740234375,\"y\":942.6667175292969},{\"command\":\"L\",\"x\":420.16668701171875,\"y\":945.3333435058594},{\"command\":\"L\",\"x\":421.5,\"y\":946.6667175292969},{\"command\":\"L\",\"x\":422.8333740234375,\"y\":950.0000305175781},{\"command\":\"L\",\"x\":423.5,\"y\":950.6667175292969},{\"command\":\"L\",\"x\":423.5,\"y\":953.3333435058594},{\"command\":\"L\",\"x\":422.8333740234375,\"y\":954.0000305175781},{\"command\":\"L\",\"x\":421.5,\"y\":955.3333435058594},{\"command\":\"L\",\"x\":421.5,\"y\":956.0000305175781},{\"command\":\"L\",\"x\":422.16668701171875,\"y\":954.6667175292969},{\"command\":\"L\",\"x\":422.8333740234375,\"y\":954.0000305175781},{\"command\":\"L\",\"x\":424.8333740234375,\"y\":950.6667175292969},{\"command\":\"L\",\"x\":425.5,\"y\":948.6667175292969},{\"command\":\"L\",\"x\":428.16668701171875,\"y\":945.3333435058594},{\"command\":\"L\",\"x\":428.8333740234375,\"y\":943.3333435058594},{\"command\":\"L\",\"x\":428.8333740234375,\"y\":942.6667175292969},{\"command\":\"L\",\"x\":428.8333740234375,\"y\":943.3333435058594},{\"command\":\"L\",\"x\":428.8333740234375,\"y\":945.3333435058594},{\"command\":\"L\",\"x\":428.8333740234375,\"y\":948.0000305175781},{\"command\":\"L\",\"x\":428.8333740234375,\"y\":950.0000305175781},{\"command\":\"L\",\"x\":429.5,\"y\":953.3333435058594},{\"command\":\"L\",\"x\":430.16668701171875,\"y\":953.3333435058594},{\"command\":\"L\",\"x\":432.8333740234375,\"y\":952.6667175292969},{\"command\":\"L\",\"x\":434.8333740234375,\"y\":950.6667175292969},{\"command\":\"L\",\"x\":437.5,\"y\":948.6667175292969},{\"command\":\"L\",\"x\":440.16668701171875,\"y\":944.6667175292969},{\"command\":\"L\",\"x\":441.5,\"y\":942.6667175292969},{\"command\":\"L\",\"x\":442.16668701171875,\"y\":942.0000305175781},{\"command\":\"L\",\"x\":442.8333740234375,\"y\":941.3333435058594},{\"command\":\"L\",\"x\":442.8333740234375,\"y\":942.0000305175781},{\"command\":\"L\",\"x\":442.8333740234375,\"y\":943.3333435058594},{\"command\":\"L\",\"x\":442.8333740234375,\"y\":944.6667175292969},{\"command\":\"L\",\"x\":442.8333740234375,\"y\":946.0000305175781},{\"command\":\"L\",\"x\":443.5,\"y\":949.3333435058594},{\"command\":\"L\",\"x\":444.16668701171875,\"y\":950.6667175292969},{\"command\":\"L\",\"x\":445.5,\"y\":950.6667175292969},{\"command\":\"L\",\"x\":447.5,\"y\":950.6667175292969},{\"command\":\"L\",\"x\":450.16668701171875,\"y\":948.6667175292969},{\"command\":\"L\",\"x\":452.16668701171875,\"y\":945.3333435058594},{\"command\":\"L\",\"x\":453.5,\"y\":942.6667175292969},{\"command\":\"L\",\"x\":452.8333740234375,\"y\":938.6667175292969},{\"command\":\"L\",\"x\":452.16668701171875,\"y\":937.3333435058594},{\"command\":\"L\",\"x\":450.8333740234375,\"y\":936.6667175292969},{\"command\":\"L\",\"x\":448.8333740234375,\"y\":936.0000305175781},{\"command\":\"L\",\"x\":447.5,\"y\":936.6667175292969},{\"command\":\"L\",\"x\":446.16668701171875,\"y\":937.3333435058594},{\"command\":\"L\",\"x\":445.5,\"y\":938.6667175292969},{\"command\":\"L\",\"x\":445.5,\"y\":939.3333435058594},{\"command\":\"L\",\"x\":446.16668701171875,\"y\":939.3333435058594},{\"command\":\"L\",\"x\":446.8333740234375,\"y\":939.3333435058594},{\"command\":\"L\",\"x\":452.16668701171875,\"y\":937.3333435058594},{\"command\":\"L\",\"x\":454.8333740234375,\"y\":936.6667175292969},{\"command\":\"L\",\"x\":456.8333740234375,\"y\":936.0000305175781},{\"command\":\"L\",\"x\":459.5,\"y\":936.6667175292969},{\"command\":\"L\",\"x\":460.8333740234375,\"y\":937.3333435058594},{\"command\":\"L\",\"x\":461.5,\"y\":938.6667175292969},{\"command\":\"L\",\"x\":462.16668701171875,\"y\":942.0000305175781},{\"command\":\"L\",\"x\":462.16668701171875,\"y\":942.6667175292969},{\"command\":\"L\",\"x\":462.16668701171875,\"y\":944.0000305175781},{\"command\":\"L\",\"x\":462.16668701171875,\"y\":943.3333435058594},{\"command\":\"L\",\"x\":462.16668701171875,\"y\":942.6667175292969},{\"command\":\"L\",\"x\":462.16668701171875,\"y\":941.3333435058594},{\"command\":\"L\",\"x\":462.8333740234375,\"y\":938.6667175292969},{\"command\":\"L\",\"x\":464.16668701171875,\"y\":935.3333435058594},{\"command\":\"L\",\"x\":465.5,\"y\":933.3333435058594},{\"command\":\"L\",\"x\":466.16668701171875,\"y\":932.6667175292969},{\"command\":\"L\",\"x\":467.5,\"y\":933.3333435058594},{\"command\":\"L\",\"x\":469.5,\"y\":935.3333435058594},{\"command\":\"L\",\"x\":470.16668701171875,\"y\":938.6667175292969},{\"command\":\"L\",\"x\":472.8333740234375,\"y\":943.3333435058594},{\"command\":\"L\",\"x\":472.8333740234375,\"y\":944.6667175292969},{\"command\":\"L\",\"x\":474.16668701171875,\"y\":944.6667175292969},{\"command\":\"L\",\"x\":475.5,\"y\":944.0000305175781},{\"command\":\"L\",\"x\":478.16668701171875,\"y\":941.3333435058594},{\"command\":\"L\",\"x\":481.5,\"y\":937.3333435058594},{\"command\":\"L\",\"x\":484.8333740234375,\"y\":934.0000305175781},{\"command\":\"L\",\"x\":488.8333740234375,\"y\":929.3333435058594},{\"command\":\"L\",\"x\":489.5,\"y\":928.0000305175781}]'
- } as InkAnnotationSettings);
- }
- });
-}
-{% endhighlight %}
-{% endtabs %}
-
-## Edit the existing Ink annotation programmatically
-
-To modify existing Ink annotation in the Syncfusion PDF viewer programmatically, you can use the **editAnnotation()** method.
-
-Here is an example of how you can use the **editAnnotation()** method:
-
-```html
-
-```
-
-{% tabs %}
-{% highlight ts tabtitle="Standalone" %}
-
-import { PdfViewer, Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, TextSearch, FormFields, FormDesigner, PageOrganizer } from '@syncfusion/ej2-pdfviewer';
-
-PdfViewer.Inject(Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, TextSearch, FormFields, FormDesigner, PageOrganizer);
-
-let pdfviewer: PdfViewer = new PdfViewer();
-pdfviewer.documentPath = "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf";
-pdfviewer.resourceUrl = "https://cdn.syncfusion.com/ej2/25.1.35/dist/ej2-pdfviewer-lib";
-
-pdfviewer.appendTo('#PdfViewer');
-
-let editInkAnnotation = document.getElementById('editInkAnnotation');
-if (editInkAnnotation) {
- editInkAnnotation.addEventListener('click', function () {
- if (pdfviewer) {
- for (let i = 0; i < pdfviewer.annotationCollection.length; i++) {
- if (pdfviewer.annotationCollection[i].shapeAnnotationType === "Ink") {
- var width = pdfviewer.annotationCollection[i].bounds.width;
- var height = pdfviewer.annotationCollection[i].bounds.height;
- pdfviewer.annotationCollection[i].bounds = { x: 100, y: 100, width: width, height: height };
- pdfviewer.annotationCollection[i].strokeColor = "#0000FF";
- pdfviewer.annotationCollection[i].thickness = 2;
- pdfviewer.annotationCollection[i].annotationSelectorSettings.resizerShape = "Circle"
- pdfviewer.annotation.editAnnotation(pdfviewer.annotationCollection[i]);
- }
- }
- }
- });
-}
-
-{% endhighlight %}
-{% highlight ts tabtitle="Server-Backed" %}
-
-import { PdfViewer, Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, TextSearch, FormFields, FormDesigner, PageOrganizer } from '@syncfusion/ej2-pdfviewer';
-
-PdfViewer.Inject(Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, TextSearch, FormFields, FormDesigner, PageOrganizer);
-
-let pdfviewer: PdfViewer = new PdfViewer();
-pdfviewer.serviceUrl = 'https://services.syncfusion.com/js/production/api/pdfviewer';
-pdfviewer.documentPath = "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf";
-
-pdfviewer.appendTo('#PdfViewer');
-
-let editInkAnnotation = document.getElementById('editInkAnnotation');
-if (editInkAnnotation) {
- editInkAnnotation.addEventListener('click', function () {
- if (pdfviewer) {
- for (let i = 0; i < pdfviewer.annotationCollection.length; i++) {
- if (pdfviewer.annotationCollection[i].shapeAnnotationType === "Ink") {
- var width = pdfviewer.annotationCollection[i].bounds.width;
- var height = pdfviewer.annotationCollection[i].bounds.height;
- pdfviewer.annotationCollection[i].bounds = { x: 100, y: 100, width: width, height: height };
- pdfviewer.annotationCollection[i].strokeColor = "#0000FF";
- pdfviewer.annotationCollection[i].thickness = 2;
- pdfviewer.annotationCollection[i].annotationSelectorSettings.resizerShape = "Circle"
- pdfviewer.annotation.editAnnotation(pdfviewer.annotationCollection[i]);
- }
- }
- }
- });
-}z
-
-{% endhighlight %}
-{% endtabs %}
-
-
-## Editing the properties of the ink annotation
-
-The stroke color, thickness, and opacity of the ink annotation can be edited using the Edit stroke color tool, Edit thickness tool, and Edit opacity tool in the annotation toolbar.
-
-### Editing stroke color
-
-The stroke color of the annotation can be edited using the color palette provided in the Edit Stroke Color tool.
-
-
-
-### Editing thickness
-
-The thickness of the border of the annotation can be edited using the range slider provided in the Edit Thickness tool.
-
-
-
-### Editing opacity
-
-The opacity of the annotation can be edited using the range slider provided in the Edit Opacity tool.
-
-
-
-## Setting default properties during the control initialization
-
-The properties of the ink annotation can be set before creating the control using the InkAnnotationSettings.
-
-After editing the default values, they will be changed to the selected values.
-Refer to the following code sample to set the default ink annotation settings.
-
-{% tabs %}
-{% highlight ts tabtitle="Standalone" %}
-
-var pdfviewer = new ej.pdfviewer.PdfViewer({
- documentPath: "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf",
- resourceUrl : "https://cdn.syncfusion.com/ej2/25.1.35/dist/ej2-pdfviewer-lib",
- inkAnnotationSettings : {author: 'Syncfusion', strokeColor: 'green', thickness: 3, opacity: 0.6}
- });
-ej.pdfviewer.PdfViewer.Inject(ej.pdfviewer.TextSelection, ej.pdfviewer.TextSearch, ej.pdfviewer.Print, ej.pdfviewer.Navigation, ej.pdfviewer.Toolbar,
- ej.pdfviewer.Magnification, ej.pdfviewer.Annotation, ej.pdfviewer.FormDesigner, ej.pdfviewer.FormFields, ej.pdfviewer.PageOrganizer);
-pdfviewer.appendTo('#PdfViewer');
-
-{% endhighlight %}
-{% highlight ts tabtitle="Server-Backed" %}
-
-var pdfviewer = new ej.pdfviewer.PdfViewer({
- documentPath: "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf",
- serviceUrl: 'https://services.syncfusion.com/js/production/api/pdfviewer',
- inkAnnotationSettings : {author: 'Syncfusion', strokeColor: 'green', thickness: 3, opacity: 0.6}
- });
-ej.pdfviewer.PdfViewer.Inject(ej.pdfviewer.TextSelection, ej.pdfviewer.TextSearch, ej.pdfviewer.Print, ej.pdfviewer.Navigation, ej.pdfviewer.Toolbar,
- ej.pdfviewer.Magnification, ej.pdfviewer.Annotation, ej.pdfviewer.FormDesigner, ej.pdfviewer.FormFields, ej.pdfviewer.PageOrganizer);
-pdfviewer.appendTo('#PdfViewer');
-
-{% endhighlight %}
-{% endtabs %}
\ No newline at end of file
diff --git a/ej2-javascript/pdfviewer/ts/annotations/measurement-annotation.md b/ej2-javascript/pdfviewer/ts/annotations/measurement-annotation.md
deleted file mode 100644
index b27b61081..000000000
--- a/ej2-javascript/pdfviewer/ts/annotations/measurement-annotation.md
+++ /dev/null
@@ -1,632 +0,0 @@
----
-layout: post
-title: Measurement annotation in ##Platform_Name## PDF Viewer control | Syncfusion
-description: Learn here all about Measurement annotation in Syncfusion ##Platform_Name## PDF Viewer control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: PDF Viewer
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Measurement annotation in ##Platform_Name## PDF Viewer control
-
-The PDF Viewer provides the options to add measurement annotations. You can measure the page annotations with the help of measurement annotation. The supported measurement annotations in the PDF Viewer control are:
-
-* Distance
-* Perimeter
-* Area
-* Radius
-* Volume
-
-
-
-## Adding measurement annotations to the PDF document
-
-The measurement annotations can be added to the PDF document using the annotation toolbar.
-
-* Click the **Edit Annotation** button in the PDF Viewer toolbar. A toolbar appears below it.
-* Click the **Measurement Annotation** dropdown button. A dropdown pop-up will appear and shows the measurement annotations to be added.
-* Select the measurement type to be added to the page in the dropdown pop-up. It enables the selected measurement annotation mode.
-* You can measure and add the annotation over the pages of the PDF document.
-
-In the pan mode, if the measurement annotation mode is entered, the PDF Viewer control will switch to text select mode.
-
- 
-
-Refer to the following code snippet to switch to distance annotation mode.
-
-```html
-
-```
-{% tabs %}
-{% highlight ts tabtitle="Standalone" %}
-
-import { PdfViewer, Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, TextSearch, FormFields, FormDesigner, PageOrganizer} from '@syncfusion/ej2-pdfviewer';
-
-PdfViewer.Inject(Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, TextSearch, FormFields, FormDesigner, PageOrganizer);
-
-let pdfviewer: PdfViewer = new PdfViewer();
-pdfviewer.documentPath = "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf";
-pdfviewer.resourceUrl = "https://cdn.syncfusion.com/ej2/25.1.35/dist/ej2-pdfviewer-lib";
-pdfviewer.appendTo('#PdfViewer');
-
-let distanceMode = document.getElementById('distanceMode');
-if (distanceMode) {
- distanceMode.addEventListener('click', function () {
- if (pdfviewer) {
- pdfviewer.annotationModule.setAnnotationMode("Distance");
- }
- });
-}
-
-{% endhighlight %}
-{% highlight ts tabtitle="Server-Backed" %}
-
-import { PdfViewer, Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, TextSearch, FormFields, FormDesigner, PageOrganizer} from '@syncfusion/ej2-pdfviewer';
-
-PdfViewer.Inject(Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, TextSearch, FormFields, FormDesigner, PageOrganizer);
-
-let pdfviewer: PdfViewer = new PdfViewer();
-pdfviewer.serviceUrl = 'https://services.syncfusion.com/js/production/api/pdfviewer';
-pdfviewer.documentPath = "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf";
-pdfviewer.appendTo('#PdfViewer');
-
-let distanceMode = document.getElementById('distanceMode');
-if (distanceMode) {
- distanceMode.addEventListener('click', function () {
- if (pdfviewer) {
- pdfviewer.annotationModule.setAnnotationMode("Distance");
- }
- });
-}
-
-{% endhighlight %}
-{% endtabs %}
-
-## Adding a measurement annotation to the PDF document Programmatically
-
-With the PDF Viewer library, you can add a measurement annotation to the PDF Viewer control programmatically using the [**addAnnotation()**](https://helpej2.syncfusion.com/documentation/api/pdfviewer/annotation/#annotation) method.
-
-Here's a example of how you can utilize the **addAnnotation()** method to include a measurement annotation programmatically:
-
-```html
-
-
-
-
-
-```
-
-{% tabs %}
-{% highlight ts tabtitle="Standalone" %}
-
-import {PdfViewer, Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, TextSearch, FormFields, FormDesigner, PageOrganizer, DistanceSettings, PerimeterSettings,
- AreaSettings, RadiusSettings, VolumeSettings
-} from '@syncfusion/ej2-pdfviewer';
-
-PdfViewer.Inject(Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, TextSearch, FormFields, FormDesigner, PageOrganizer);
-
-let pdfviewer: PdfViewer = new PdfViewer();
-pdfviewer.documentPath = "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf";
-pdfviewer.resourceUrl = "https://cdn.syncfusion.com/ej2/25.1.35/dist/ej2-pdfviewer-lib";
-
-pdfviewer.appendTo('#PdfViewer');
-
-let addDistanceAnnotation = document.getElementById('addDistanceAnnotation');
-if (addDistanceAnnotation) {
- addDistanceAnnotation.addEventListener('click', function () {
- if (pdfviewer) {
- pdfviewer.annotation.addAnnotation("Distance", {
- offset: { x: 200, y: 230 },
- pageNumber: 1,
- vertexPoints: [{ x: 200, y: 230 }, { x: 350, y: 230 }]
- } as DistanceSettings);
- }
- });
-}
-
-let addPerimeterAnnotation = document.getElementById('addPerimeterAnnotation');
-if (addPerimeterAnnotation) {
- addPerimeterAnnotation.addEventListener('click', function () {
- if (pdfviewer) {
- pdfviewer.annotation.addAnnotation("Perimeter", {
- offset: { x: 200, y: 350 },
- pageNumber: 1,
- vertexPoints: [{ x: 200, y: 350 }, { x: 285, y: 350 }, { x: 286, y: 412 }]
- } as PerimeterSettings);
- }
- });
-}
-
-let addAreaAnnotation = document.getElementById('addAreaAnnotation');
-if (addAreaAnnotation) {
- addAreaAnnotation.addEventListener('click', function () {
- if (pdfviewer) {
- pdfviewer.annotation.addAnnotation("Area", {
- offset: { x: 200, y: 500 },
- pageNumber: 1,
- vertexPoints: [{ x: 200, y: 500 }, { x: 288, y: 499 }, { x: 289, y: 553 }, { x: 200, y: 500 }]
- } as AreaSettings);
- }
- });
-}
-
-let addRadiusAnnotation = document.getElementById('addRadiusAnnotation');
-if (addRadiusAnnotation) {
- addRadiusAnnotation.addEventListener('click', function () {
- if (pdfviewer) {
- pdfviewer.annotation.addAnnotation("Radius", {
- offset: { x: 200, y: 630 },
- pageNumber: 1,
- width: 90,
- height: 90
- } as RadiusSettings);
- }
- });
-}
-
-let addVolumeAnnotation = document.getElementById('addVolumeAnnotation');
-if (addVolumeAnnotation) {
- addVolumeAnnotation.addEventListener('click', function () {
- if (pdfviewer) {
- pdfviewer.annotation.addAnnotation("Volume", {
- offset: { x: 200, y: 810 },
- pageNumber: 1,
- vertexPoints: [{ x: 200, y: 810 }, { x: 200, y: 919 }, { x: 320, y: 919 }, { x: 320, y: 809 }, { x: 200, y: 810 }]
- } as VolumeSettings);
- }
- });
-}
-
-{% endhighlight %}
-{% highlight ts tabtitle="Server-Backed" %}
-
-import {
- PdfViewer, Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, TextSearch, FormFields, FormDesigner, PageOrganizer, DistanceSettings, PerimeterSettings,
- AreaSettings, RadiusSettings, VolumeSettings
-} from '@syncfusion/ej2-pdfviewer';
-
-PdfViewer.Inject(Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, TextSearch, FormFields, FormDesigner, PageOrganizer);
-
-let pdfviewer: PdfViewer = new PdfViewer();
-pdfviewer.documentPath = "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf";
-pdfviewer.serviceUrl = 'https://services.syncfusion.com/js/production/api/pdfviewer';
-
-pdfviewer.appendTo('#PdfViewer');
-
-let addDistanceAnnotation = document.getElementById('addDistanceAnnotation');
-if (addDistanceAnnotation) {
- addDistanceAnnotation.addEventListener('click', function () {
- if (pdfviewer) {
- pdfviewer.annotation.addAnnotation("Distance", {
- offset: { x: 200, y: 230 },
- pageNumber: 1,
- vertexPoints: [{ x: 200, y: 230 }, { x: 350, y: 230 }]
- } as DistanceSettings);
- }
- });
-}
-
-let addPerimeterAnnotation = document.getElementById('addPerimeterAnnotation');
-if (addPerimeterAnnotation) {
- addPerimeterAnnotation.addEventListener('click', function () {
- if (pdfviewer) {
- pdfviewer.annotation.addAnnotation("Perimeter", {
- offset: { x: 200, y: 350 },
- pageNumber: 1,
- vertexPoints: [{ x: 200, y: 350 }, { x: 285, y: 350 }, { x: 286, y: 412 }]
- } as PerimeterSettings);
- }
- });
-}
-
-let addAreaAnnotation = document.getElementById('addAreaAnnotation');
-if (addAreaAnnotation) {
- addAreaAnnotation.addEventListener('click', function () {
- if (pdfviewer) {
- pdfviewer.annotation.addAnnotation("Area", {
- offset: { x: 200, y: 500 },
- pageNumber: 1,
- vertexPoints: [{ x: 200, y: 500 }, { x: 288, y: 499 }, { x: 289, y: 553 }, { x: 200, y: 500 }]
- } as AreaSettings);
- }
- });
-}
-
-let addRadiusAnnotation = document.getElementById('addRadiusAnnotation');
-if (addRadiusAnnotation) {
- addRadiusAnnotation.addEventListener('click', function () {
- if (pdfviewer) {
- pdfviewer.annotation.addAnnotation("Radius", {
- offset: { x: 200, y: 630 },
- pageNumber: 1,
- width: 90,
- height: 90
- } as RadiusSettings);
- }
- });
-}
-
-let addVolumeAnnotation = document.getElementById('addVolumeAnnotation');
-if (addVolumeAnnotation) {
- addVolumeAnnotation.addEventListener('click', function () {
- if (pdfviewer) {
- pdfviewer.annotation.addAnnotation("Volume", {
- offset: { x: 200, y: 810 },
- pageNumber: 1,
- vertexPoints: [{ x: 200, y: 810 }, { x: 200, y: 919 }, { x: 320, y: 919 }, { x: 320, y: 809 }, { x: 200, y: 810 }]
- } as VolumeSettings);
- }
- });
-}
-
-{% endhighlight %}
-{% endtabs %}
-
-## Edit the existing measurement annotation programmatically
-
-To modify existing measurement annotation in the Syncfusion PDF viewer programmatically, you can use the **editAnnotation()** method.
-
-Here is an example of how you can use the **editAnnotation()** method:
-
-```html
-
-
-
-
-
-```
-
-{% tabs %}
-{% highlight ts tabtitle="Standalone" %}
-
-import { PdfViewer, Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, TextSearch, FormFields, FormDesigner, PageOrganizer} from '@syncfusion/ej2-pdfviewer';
-
-PdfViewer.Inject(Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, TextSearch, FormFields, FormDesigner, PageOrganizer);
-
-let pdfviewer: PdfViewer = new PdfViewer();
-pdfviewer.documentPath = "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf";
-pdfviewer.resourceUrl = "https://cdn.syncfusion.com/ej2/25.1.35/dist/ej2-pdfviewer-lib";
-pdfviewer.appendTo('#PdfViewer');
-
-let editDistanceAnnotation = document.getElementById('editDistanceAnnotation');
-if (editDistanceAnnotation) {
- editDistanceAnnotation.addEventListener('click', function () {
- if (pdfviewer) {
- for (let i = 0; i < pdfviewer.annotationCollection.length; i++) {
- if (pdfviewer.annotationCollection[i].subject === "Distance calculation") {
- pdfviewer.annotationCollection[i].annotationSelectorSettings.resizerShape = "Circle"
- pdfviewer.annotationCollection[i].strokeColor = "#0000FF";
- pdfviewer.annotationCollection[i].thickness = 2;
- pdfviewer.annotationCollection[i].fillColor = "#FFFF00";
- pdfviewer.annotation.editAnnotation(pdfviewer.annotationCollection[i]);
- }
- }
- }
- });
-}
-
-let editPerimeterAnnotation = document.getElementById('editPerimeterAnnotation');
-if (editPerimeterAnnotation) {
- editPerimeterAnnotation.addEventListener('click', function () {
- if (pdfviewer) {
- for (let i = 0; i < pdfviewer.annotationCollection.length; i++) {
- if (pdfviewer.annotationCollection[i].subject === "Perimeter calculation") {
- pdfviewer.annotationCollection[i].annotationSelectorSettings.resizerShape = "Circle"
- pdfviewer.annotationCollection[i].strokeColor = "#0000FF";
- pdfviewer.annotationCollection[i].thickness = 2;
- pdfviewer.annotationCollection[i].fillColor = "#FFFF00";
- pdfviewer.annotation.editAnnotation(pdfviewer.annotationCollection[i]);
- }
- }
- }
- });
-}
-
-let editAreaAnnotation = document.getElementById('editAreaAnnotation');
-if (editAreaAnnotation) {
- editAreaAnnotation.addEventListener('click', function () {
- if (pdfviewer) {
- for (let i = 0; i < pdfviewer.annotationCollection.length; i++) {
- if (pdfviewer.annotationCollection[i].subject === "Area calculation") {
- pdfviewer.annotationCollection[i].annotationSelectorSettings.resizerShape = "Circle"
- pdfviewer.annotationCollection[i].strokeColor = "#0000FF";
- pdfviewer.annotationCollection[i].thickness = 2;
- pdfviewer.annotationCollection[i].fillColor = "#FFFF00";
- pdfviewer.annotation.editAnnotation(pdfviewer.annotationCollection[i]);
- }
- }
- }
- });
-}
-
-let editRadiusAnnotation = document.getElementById('editRadiusAnnotation');
-if (editRadiusAnnotation) {
- editRadiusAnnotation.addEventListener('click', function () {
- if (pdfviewer) {
- for (let i = 0; i < pdfviewer.annotationCollection.length; i++) {
- if (pdfviewer.annotationCollection[i].subject === "Radius calculation") {
- pdfviewer.annotationCollection[i].annotationSelectorSettings.resizerShape = "Circle"
- pdfviewer.annotationCollection[i].strokeColor = "#0000FF";
- pdfviewer.annotationCollection[i].thickness = 2;
- pdfviewer.annotationCollection[i].fillColor = "#FFFF00";
- pdfviewer.annotation.editAnnotation(pdfviewer.annotationCollection[i]);
- }
- }
- }
- });
-}
-
-let editVolumeAnnotation = document.getElementById('editVolumeAnnotation');
-if (editVolumeAnnotation) {
- editVolumeAnnotation.addEventListener('click', function () {
- if (pdfviewer) {
- for (let i = 0; i < pdfviewer.annotationCollection.length; i++) {
- if (pdfviewer.annotationCollection[i].subject === "Volume calculation") {
- pdfviewer.annotationCollection[i].annotationSelectorSettings.resizerShape = "Circle"
- pdfviewer.annotationCollection[i].strokeColor = "#0000FF";
- pdfviewer.annotationCollection[i].thickness = 2;
- pdfviewer.annotationCollection[i].fillColor = "#FFFF00";
- pdfviewer.annotation.editAnnotation(pdfviewer.annotationCollection[i]);
- }
- }
- }
- });
-}
-
-{% endhighlight %}
-{% highlight ts tabtitle="Server-Backed" %}
-
-import { PdfViewer, Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, TextSearch, FormFields, FormDesigner, PageOrganizer} from '@syncfusion/ej2-pdfviewer';
-
-PdfViewer.Inject(Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, TextSearch, FormFields, FormDesigner, PageOrganizer);
-
-let pdfviewer: PdfViewer = new PdfViewer();
-pdfviewer.serviceUrl = 'https://services.syncfusion.com/js/production/api/pdfviewer';
-pdfviewer.documentPath = "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf";
-pdfviewer.appendTo('#PdfViewer');
-
-let editDistanceAnnotation = document.getElementById('editDistanceAnnotation');
-if (editDistanceAnnotation) {
- editDistanceAnnotation.addEventListener('click', function () {
- if (pdfviewer) {
- for (let i = 0; i < pdfviewer.annotationCollection.length; i++) {
- if (pdfviewer.annotationCollection[i].subject === "Distance calculation") {
- pdfviewer.annotationCollection[i].annotationSelectorSettings.resizerShape = "Circle"
- pdfviewer.annotationCollection[i].strokeColor = "#0000FF";
- pdfviewer.annotationCollection[i].thickness = 2;
- pdfviewer.annotationCollection[i].fillColor = "#FFFF00";
- pdfviewer.annotation.editAnnotation(pdfviewer.annotationCollection[i]);
- }
- }
- }
- });
-}
-
-let editPerimeterAnnotation = document.getElementById('editPerimeterAnnotation');
-if (editPerimeterAnnotation) {
- editPerimeterAnnotation.addEventListener('click', function () {
- if (pdfviewer) {
- for (let i = 0; i < pdfviewer.annotationCollection.length; i++) {
- if (pdfviewer.annotationCollection[i].subject === "Perimeter calculation") {
- pdfviewer.annotationCollection[i].annotationSelectorSettings.resizerShape = "Circle"
- pdfviewer.annotationCollection[i].strokeColor = "#0000FF";
- pdfviewer.annotationCollection[i].thickness = 2;
- pdfviewer.annotationCollection[i].fillColor = "#FFFF00";
- pdfviewer.annotation.editAnnotation(pdfviewer.annotationCollection[i]);
- }
- }
- }
- });
-}
-
-let editAreaAnnotation = document.getElementById('editAreaAnnotation');
-if (editAreaAnnotation) {
- editAreaAnnotation.addEventListener('click', function () {
- if (pdfviewer) {
- for (let i = 0; i < pdfviewer.annotationCollection.length; i++) {
- if (pdfviewer.annotationCollection[i].subject === "Area calculation") {
- pdfviewer.annotationCollection[i].annotationSelectorSettings.resizerShape = "Circle"
- pdfviewer.annotationCollection[i].strokeColor = "#0000FF";
- pdfviewer.annotationCollection[i].thickness = 2;
- pdfviewer.annotationCollection[i].fillColor = "#FFFF00";
- pdfviewer.annotation.editAnnotation(pdfviewer.annotationCollection[i]);
- }
- }
- }
- });
-}
-
-let editRadiusAnnotation = document.getElementById('editRadiusAnnotation');
-if (editRadiusAnnotation) {
- editRadiusAnnotation.addEventListener('click', function () {
- if (pdfviewer) {
- for (let i = 0; i < pdfviewer.annotationCollection.length; i++) {
- if (pdfviewer.annotationCollection[i].subject === "Radius calculation") {
- pdfviewer.annotationCollection[i].annotationSelectorSettings.resizerShape = "Circle"
- pdfviewer.annotationCollection[i].strokeColor = "#0000FF";
- pdfviewer.annotationCollection[i].thickness = 2;
- pdfviewer.annotationCollection[i].fillColor = "#FFFF00";
- pdfviewer.annotation.editAnnotation(pdfviewer.annotationCollection[i]);
- }
- }
- }
- });
-}
-
-let editVolumeAnnotation = document.getElementById('editVolumeAnnotation');
-if (editVolumeAnnotation) {
- editVolumeAnnotation.addEventListener('click', function () {
- if (pdfviewer) {
- for (let i = 0; i < pdfviewer.annotationCollection.length; i++) {
- if (pdfviewer.annotationCollection[i].subject === "Volume calculation") {
- pdfviewer.annotationCollection[i].annotationSelectorSettings.resizerShape = "Circle"
- pdfviewer.annotationCollection[i].strokeColor = "#0000FF";
- pdfviewer.annotationCollection[i].thickness = 2;
- pdfviewer.annotationCollection[i].fillColor = "#FFFF00";
- pdfviewer.annotation.editAnnotation(pdfviewer.annotationCollection[i]);
- }
- }
- }
- });
-}
-
-{% endhighlight %}
-{% endtabs %}
-
-## Editing the properties of measurement annotation
-
-The fill color, stroke color, thickness, and opacity of the measurement annotation can be edited using the Edit Color tool, Edit Stroke Color tool, Edit Thickness tool, and Edit Opacity tool in the annotation toolbar.
-
-### Editing fill color
-
-The fill color of the annotation can be edited using the color palette provided in the Edit Color tool.
-
-
-
-### Editing stroke color
-
-The stroke color of the annotation can be edited using the color palette provided in the Edit Stroke Color tool.
-
-
-
-### Editing thickness
-
-The thickness of the border of the annotation can be edited using the range slider provided in the Edit thickness tool.
-
-
-
-### Editing opacity
-
-The opacity of the annotation can be edited using the range slider provided in the Edit Opacity tool.
-
-
-
-### Editing the line properties
-
-The properties of the line shapes such as distance and perimeter annotations can be edited using the Line properties window. It can be opened by selecting the Properties option in the context menu that appears on right-clicking the distance and perimeter annotations.
-
-
-
-## Setting default properties during control initialization
-
-The properties of the shape annotations can be set before creating the control using distanceSettings, perimeterSettings, areaSettings, radiusSettings and volumeSettings.
-
-Refer to the following code snippet to set the default annotation settings.
-
-{% tabs %}
-{% highlight ts tabtitle="Standalone" %}
-
-import { PdfViewer, Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, TextSearch, FormFields, FormDesigner, PageOrganizer} from '@syncfusion/ej2-pdfviewer';
-
-PdfViewer.Inject(Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, TextSearch, FormFields, FormDesigner, PageOrganizer);
-
-let pdfviewer: PdfViewer = new PdfViewer();
-pdfviewer.documentPath = "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf";
-pdfviewer.resourceUrl = "https://cdn.syncfusion.com/ej2/25.1.35/dist/ej2-pdfviewer-lib";
-pdfviewer. =
-pdfviewer.appendTo('#PdfViewer');
-
-{% endhighlight %}
-{% highlight ts tabtitle="Server-Backed" %}
-
-import { PdfViewer, Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, TextSearch, FormFields, FormDesigner, PageOrganizer} from '@syncfusion/ej2-pdfviewer';
-
-PdfViewer.Inject(Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, TextSearch, FormFields, FormDesigner, PageOrganizer);
-
-let pdfviewer: PdfViewer = new PdfViewer();
-pdfviewer.serviceUrl = 'https://services.syncfusion.com/js/production/api/pdfviewer';
-pdfviewer.documentPath = "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf";
-pdfviewer. =
-pdfviewer.appendTo('#PdfViewer');
-
-{% endhighlight %}
-{% endtabs %}
-
-{% tabs %}
-{% highlight ts tabtitle="Standalone" %}
-
-import { PdfViewer, Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, TextSearch, FormFields, FormDesigner, PageOrganizer} from '@syncfusion/ej2-pdfviewer';
-
-PdfViewer.Inject(Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, TextSearch, FormFields, FormDesigner, PageOrganizer);
-
-let pdfviewer: PdfViewer = new PdfViewer();
-pdfviewer.documentPath = "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf";
-pdfviewer.resourceUrl = "https://cdn.syncfusion.com/ej2/25.1.35/dist/ej2-pdfviewer-lib";
-pdfviewer.distanceSettings = {fillColor: 'blue', opacity: 0.6, strokeColor: 'green'};
-pdfviewer.perimeterSettings = {fillColor: 'green', opacity: 0.6, strokeColor: 'blue'};
-pdfviewer.areaSettings = {fillColor: 'yellow', opacity: 0.6, strokeColor: 'orange'};
-pdfviewer.radiusSettings = {fillColor: 'orange', opacity: 0.6, strokeColor: 'pink'};
-pdfviewer.volumeSettings = {fillColor: 'pink', opacity: 0.6, strokeColor: 'yellow'};
-pdfviewer.appendTo('#PdfViewer');
-
-{% endhighlight %}
-{% highlight ts tabtitle="Server-Backed" %}
-
-import { PdfViewer, Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, TextSearch, FormFields, FormDesigner, PageOrganizer} from '@syncfusion/ej2-pdfviewer';
-
-PdfViewer.Inject(Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, TextSearch, FormFields, FormDesigner, PageOrganizer);
-
-let pdfviewer: PdfViewer = new PdfViewer();
-pdfviewer.serviceUrl = 'https://services.syncfusion.com/js/production/api/pdfviewer';
-pdfviewer.documentPath = "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf";
-pdfviewer.distanceSettings = {fillColor: 'blue', opacity: 0.6, strokeColor: 'green'};
-pdfviewer.perimeterSettings = {fillColor: 'green', opacity: 0.6, strokeColor: 'blue'};
-pdfviewer.areaSettings = {fillColor: 'yellow', opacity: 0.6, strokeColor: 'orange'};
-pdfviewer.radiusSettings = {fillColor: 'orange', opacity: 0.6, strokeColor: 'pink'};
-pdfviewer.volumeSettings = {fillColor: 'pink', opacity: 0.6, strokeColor: 'yellow'};
-pdfviewer.appendTo('#PdfViewer');
-
-{% endhighlight %}
-{% endtabs %}
-
-## Editing scale ratio and unit of the measurement annotation
-
-The scale ratio and unit of measurement can be modified using the scale ratio option provided in the context menu of the PDF Viewer control.
-
- 
-
-The Units of measurements support for the measurement annotations in the PDF Viewer are
-
-* Inch
-* Millimeter
-* Centimeter
-* Point
-* Pica
-* Feet
-
-
-
-## Setting default scale ratio settings during control initialization
-
-The properties of scale ratio for measurement annotation can be set before creating the control using ScaleRatioSettings as shown in the following code snippet,
-
-{% tabs %}
-{% highlight ts tabtitle="Standalone" %}
-
-import { PdfViewer, Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, TextSearch, FormFields, FormDesigner, PageOrganizer} from '@syncfusion/ej2-pdfviewer';
-
-PdfViewer.Inject(Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, TextSearch, FormFields, FormDesigner, PageOrganizer);
-
-let pdfviewer: PdfViewer = new PdfViewer();
-pdfviewer.documentPath = "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf";
-pdfviewer.resourceUrl = "https://cdn.syncfusion.com/ej2/25.1.35/dist/ej2-pdfviewer-lib";
-pdfviewer.measurementSettings={scaleRatio: 2, conversionUnit: 'cm', displayUnit: 'cm'};
-pdfviewer.appendTo('#PdfViewer');
-
-{% endhighlight %}
-{% highlight ts tabtitle="Server-Backed" %}
-
-import { PdfViewer, Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, TextSearch, FormFields, FormDesigner, PageOrganizer} from '@syncfusion/ej2-pdfviewer';
-
-PdfViewer.Inject(Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, TextSearch, FormFields, FormDesigner, PageOrganizer);
-
-let pdfviewer: PdfViewer = new PdfViewer();
-pdfviewer.serviceUrl = 'https://services.syncfusion.com/js/production/api/pdfviewer';
-pdfviewer.documentPath = "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf";
-pdfviewer.measurementSettings={scaleRatio: 2, conversionUnit: 'cm', displayUnit: 'cm'};
-pdfviewer.appendTo('#PdfViewer');
-
-{% endhighlight %}
-{% endtabs %}
diff --git a/ej2-javascript/pdfviewer/ts/annotations/shape-annotation.md b/ej2-javascript/pdfviewer/ts/annotations/shape-annotation.md
deleted file mode 100644
index 4ce118aa9..000000000
--- a/ej2-javascript/pdfviewer/ts/annotations/shape-annotation.md
+++ /dev/null
@@ -1,555 +0,0 @@
----
-layout: post
-title: Shape annotation in ##Platform_Name## PDF Viewer control | Syncfusion
-description: Learn here all about Shape annotation in Syncfusion ##Platform_Name## PDF Viewer control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: PDF Viewer
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Shape annotation in ##Platform_Name## PDF Viewer control
-
-The PDF Viewer control provides the options to add, edit, and delete the shape annotations. The shape annotation types supported in the PDF Viewer control are:
-
-* Line
-* Arrow
-* Rectangle
-* Circle
-* Polygon
-
-
-
-## Adding a shape annotation to the PDF document
-
-Shape annotations can be added to the PDF document using the annotation toolbar.
-
-* Click the **Edit Annotation** button in the PDF Viewer toolbar. A toolbar appears below it.
-* Click the **Shape Annotation** drop-down button. A drop-down pop-up will appear and shows the shape annotations to be added.
-* Select the shape types to be added to the page in the drop-down pop-up. It enables the selected shape annotation mode.
-* You can add the shapes over the pages of the PDF document.
-
-N> While you're in the pan mode, for navigating through the document, and you click on the shape annotation button to add the shape annotation , the PDF Viewer control will smoothly transition to text select mode. This seamless transition ensures a fluid experience when switching between different interaction modes within the PDF Viewer interface.
-
-
-
-Refer to the following code sample to switch to the circle annotation mode.
-
-```html
-
-```
-
-{% tabs %}
-{% highlight ts tabtitle="Standalone" %}
-
-import { PdfViewer, Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, TextSearch, FormFields, FormDesigner, PageOrganizer} from '@syncfusion/ej2-pdfviewer';
-
-PdfViewer.Inject(Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, TextSearch, FormFields, FormDesigner, PageOrganizer);
-
-let pdfviewer: PdfViewer = new PdfViewer();
-pdfviewer.documentPath = "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf";
-pdfviewer.resourceUrl = "https://cdn.syncfusion.com/ej2/25.1.35/dist/ej2-pdfviewer-lib";
-pdfviewer.appendTo('#PdfViewer');
-
-let circleAnnotationButton = document.getElementById('circleAnnotationButton');
-if (circleAnnotationButton) {
- circleAnnotationButton.addEventListener('click', function () {
- if (pdfviewer) {
- pdfviewer.annotationModule.setAnnotationMode("Circle");
- }
- });
-}
-
-{% endhighlight %}
-{% highlight ts tabtitle="Server-Backed" %}
-
-import { PdfViewer, Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, TextSearch, FormFields, FormDesigner, PageOrganizer} from '@syncfusion/ej2-pdfviewer';
-
-PdfViewer.Inject(Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, TextSearch, FormFields, FormDesigner, PageOrganizer);
-
-let pdfviewer: PdfViewer = new PdfViewer();
-pdfviewer.serviceUrl = 'https://services.syncfusion.com/js/production/api/pdfviewer';
-pdfviewer.documentPath = "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf";
-pdfviewer.appendTo('#PdfViewer');
-
-let circleAnnotationButton = document.getElementById('circleAnnotationButton');
-if (circleAnnotationButton) {
- circleAnnotationButton.addEventListener('click', function () {
- if (pdfviewer) {
- pdfviewer.annotationModule.setAnnotationMode("Circle");
- }
- });
-}
-
-{% endhighlight %}
-{% endtabs %}
-
-## Adding a Shape annotation to the PDF document Programmatically
-
-With the PDF Viewer library, you can add a Shape annotation to the PDF Viewer control programmatically using the [**addAnnotation()**](https://helpej2.syncfusion.com/documentation/api/pdfviewer/annotation/#annotation) method.
-
-Here's a example of how you can utilize the **addAnnotation()** method to include a Shape annotation programmatically:
-
-```html
-
-
-
-
-
-```
-
-{% tabs %}
-{% highlight ts tabtitle="Standalone" %}
-
-import {
- PdfViewer, Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, TextSearch, FormFields, FormDesigner, PageOrganizer, LineSettings, ArrowSettings,
- RectangleSettings, CircleSettings, PolygonSettings
-} from '@syncfusion/ej2-pdfviewer';
-
-PdfViewer.Inject(Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, TextSearch, FormFields, FormDesigner, PageOrganizer);
-
-let pdfviewer: PdfViewer = new PdfViewer();
-pdfviewer.documentPath = "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf";
-pdfviewer.resourceUrl = "https://cdn.syncfusion.com/ej2/25.1.35/dist/ej2-pdfviewer-lib";
-
-pdfviewer.appendTo('#PdfViewer');
-
-let addLineAnnotation = document.getElementById('addLineAnnotation');
-if (addLineAnnotation) {
- addLineAnnotation.addEventListener('click', function () {
- if (pdfviewer) {
- pdfviewer.annotation.addAnnotation("Line", {
- offset: { x: 200, y: 230 },
- pageNumber: 1,
- vertexPoints: [{ x: 200, y: 230 }, { x: 350, y: 230 }]
- } as LineSettings);
- }
- });
-}
-
-let addArrowAnnotation = document.getElementById('addArrowAnnotation');
-if (addArrowAnnotation) {
- addArrowAnnotation.addEventListener('click', function () {
- if (pdfviewer) {
- pdfviewer.annotation.addAnnotation("Arrow", {
- offset: { x: 200, y: 370 },
- pageNumber: 1,
- vertexPoints: [{ x: 200, y: 370 }, { x: 350, y: 370 }]
- } as ArrowSettings);
- }
- });
-}
-
-let addRectangleAnnotation = document.getElementById('addRectangleAnnotation');
-if (addRectangleAnnotation) {
- addRectangleAnnotation.addEventListener('click', function () {
- if (pdfviewer) {
- pdfviewer.annotation.addAnnotation("Rectangle", {
- offset: { x: 200, y: 480 },
- pageNumber: 1,
- width: 150,
- height: 75
- } as RectangleSettings);
- }
- });
-}
-
-let addCircleAnnotation = document.getElementById('addCircleAnnotation');
-if (addCircleAnnotation) {
- addCircleAnnotation.addEventListener('click', function () {
- if (pdfviewer) {
- pdfviewer.annotation.addAnnotation("Circle", {
- offset: { x: 200, y: 620 },
- pageNumber: 1,
- width: 90,
- height: 90
- } as CircleSettings);
- }
- });
-}
-
-let addPolygonAnnotation = document.getElementById('addPolygonAnnotation');
-if (addPolygonAnnotation) {
- addPolygonAnnotation.addEventListener('click', function () {
- if (pdfviewer) {
- pdfviewer.annotation.addAnnotation("Polygon", {
- offset: { x: 200, y: 800 },
- pageNumber: 1,
- vertexPoints: [{ x: 200, y: 800 }, { x: 242, y: 771 }, { x: 289, y: 799 }, { x: 278, y: 842 }, { x: 211, y: 842 }, { x: 200, y: 800 }]
- } as PolygonSettings);
- }
- });
-}
-
-{% endhighlight %}
-{% highlight ts tabtitle="Server-Backed" %}
-
-import {
- PdfViewer, Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, TextSearch, FormFields, FormDesigner, PageOrganizer, LineSettings, ArrowSettings,
- RectangleSettings, CircleSettings, PolygonSettings
-} from '@syncfusion/ej2-pdfviewer';
-
-PdfViewer.Inject(Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, TextSearch, FormFields, FormDesigner, PageOrganizer);
-
-let pdfviewer: PdfViewer = new PdfViewer();
-pdfviewer.documentPath = "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf";
-pdfviewer.serviceUrl = 'https://services.syncfusion.com/js/production/api/pdfviewer';
-
-pdfviewer.appendTo('#PdfViewer');
-
-let addLineAnnotation = document.getElementById('addLineAnnotation');
-if (addLineAnnotation) {
- addLineAnnotation.addEventListener('click', function () {
- if (pdfviewer) {
- pdfviewer.annotation.addAnnotation("Line", {
- offset: { x: 200, y: 230 },
- pageNumber: 1,
- vertexPoints: [{ x: 200, y: 230 }, { x: 350, y: 230 }]
- } as LineSettings);
- }
- });
-}
-
-let addArrowAnnotation = document.getElementById('addArrowAnnotation');
-if (addArrowAnnotation) {
- addArrowAnnotation.addEventListener('click', function () {
- if (pdfviewer) {
- pdfviewer.annotation.addAnnotation("Arrow", {
- offset: { x: 200, y: 370 },
- pageNumber: 1,
- vertexPoints: [{ x: 200, y: 370 }, { x: 350, y: 370 }]
- } as ArrowSettings);
- }
- });
-}
-
-let addRectangleAnnotation = document.getElementById('addRectangleAnnotation');
-if (addRectangleAnnotation) {
- addRectangleAnnotation.addEventListener('click', function () {
- if (pdfviewer) {
- pdfviewer.annotation.addAnnotation("Rectangle", {
- offset: { x: 200, y: 480 },
- pageNumber: 1,
- width: 150,
- height: 75
- } as RectangleSettings);
- }
- });
-}
-
-let addCircleAnnotation = document.getElementById('addCircleAnnotation');
-if (addCircleAnnotation) {
- addCircleAnnotation.addEventListener('click', function () {
- if (pdfviewer) {
- pdfviewer.annotation.addAnnotation("Circle", {
- offset: { x: 200, y: 620 },
- pageNumber: 1,
- width: 90,
- height: 90
- } as CircleSettings);
- }
- });
-}
-
-let addPolygonAnnotation = document.getElementById('addPolygonAnnotation');
-if (addPolygonAnnotation) {
- addPolygonAnnotation.addEventListener('click', function () {
- if (pdfviewer) {
- pdfviewer.annotation.addAnnotation("Polygon", {
- offset: { x: 200, y: 800 },
- pageNumber: 1,
- vertexPoints: [{ x: 200, y: 800 }, { x: 242, y: 771 }, { x: 289, y: 799 }, { x: 278, y: 842 }, { x: 211, y: 842 }, { x: 200, y: 800 }]
- } as PolygonSettings);
- }
- });
-}
-
-{% endhighlight %}
-{% endtabs %}
-
-## Edit the existing shape annotation programmatically
-
-To modify existing shape annotation in the Syncfusion PDF viewer programmatically, you can use the **editAnnotation()** method.
-
-Here is an example of how you can use the **editAnnotation()** method:
-
-```html
-
-
-
-
-
-```
-
-{% tabs %}
-{% highlight ts tabtitle="Standalone" %}
-
-import {PdfViewer, Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, TextSearch, FormFields, FormDesigner, PageOrganizer } from '@syncfusion/ej2-pdfviewer';
-
-PdfViewer.Inject(Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, TextSearch, FormFields, FormDesigner, PageOrganizer);
-
-let pdfviewer: PdfViewer = new PdfViewer();
-pdfviewer.documentPath = "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf";
-pdfviewer.resourceUrl = "https://cdn.syncfusion.com/ej2/25.1.35/dist/ej2-pdfviewer-lib";
-
-pdfviewer.appendTo('#PdfViewer');
-
-let editLineAnnotation = document.getElementById('editLineAnnotation');
-if (editLineAnnotation) {
- editLineAnnotation.addEventListener('click', function () {
- if (pdfviewer) {
- for (let i = 0; i < pdfviewer.annotationCollection.length; i++) {
- if (pdfviewer.annotationCollection[i].subject === "Line") {
- pdfviewer.annotationCollection[i].strokeColor = "#0000FF";
- pdfviewer.annotationCollection[i].thickness = 2;
- pdfviewer.annotationCollection[i].annotationSelectorSettings.resizerShape = "Circle"
- pdfviewer.annotation.editAnnotation(pdfviewer.annotationCollection[i]);
- }
- }
- }
- });
-}
-
-let editArrowAnnotation = document.getElementById('editArrowAnnotation');
-if (editArrowAnnotation) {
- editArrowAnnotation.addEventListener('click', function () {
- if (pdfviewer) {
- for (let i = 0; i < pdfviewer.annotationCollection.length; i++) {
- if (pdfviewer.annotationCollection[i].subject === "Arrow") {
- pdfviewer.annotationCollection[i].strokeColor = "#0000FF";
- pdfviewer.annotationCollection[i].thickness = 2;
- pdfviewer.annotationCollection[i].fillColor = "#FFFF00";
- pdfviewer.annotationCollection[i].annotationSelectorSettings.resizerShape = "Circle"
- pdfviewer.annotation.editAnnotation(pdfviewer.annotationCollection[i]);
- }
- }
- }
- });
-}
-
-let editRectangleAnnotation = document.getElementById('editRectangleAnnotation');
-if (editRectangleAnnotation) {
- editRectangleAnnotation.addEventListener('click', function () {
- if (pdfviewer) {
- for (let i = 0; i < pdfviewer.annotationCollection.length; i++) {
- if (pdfviewer.annotationCollection[i].subject === "Rectangle") {
- pdfviewer.annotationCollection[i].strokeColor = "#0000FF";
- pdfviewer.annotationCollection[i].thickness = 2;
- pdfviewer.annotationCollection[i].fillColor = "#FFFF00";
- pdfviewer.annotationCollection[i].annotationSelectorSettings.resizerShape = "Circle"
- pdfviewer.annotation.editAnnotation(pdfviewer.annotationCollection[i]);
- }
- }
- }
- });
-}
-
-let editCircleAnnotation = document.getElementById('editCircleAnnotation');
-if (editCircleAnnotation) {
- editCircleAnnotation.addEventListener('click', function () {
- if (pdfviewer) {
- for (let i = 0; i < pdfviewer.annotationCollection.length; i++) {
- if (pdfviewer.annotationCollection[i].subject === "Circle") {
- pdfviewer.annotationCollection[i].strokeColor = "#0000FF";
- pdfviewer.annotationCollection[i].thickness = 2;
- pdfviewer.annotationCollection[i].fillColor = "#FFFF00";
- pdfviewer.annotationCollection[i].annotationSelectorSettings.resizerShape = "Circle"
- pdfviewer.annotation.editAnnotation(pdfviewer.annotationCollection[i]);
- }
- }
- }
- });
-}
-
-let editPolygonAnnotation = document.getElementById('editPolygonAnnotation');
-if (editPolygonAnnotation) {
- editPolygonAnnotation.addEventListener('click', function () {
- if (pdfviewer) {
- for (let i = 0; i < pdfviewer.annotationCollection.length; i++) {
- if (pdfviewer.annotationCollection[i].subject === "Polygon") {
- pdfviewer.annotationCollection[i].strokeColor = "#0000FF";
- pdfviewer.annotationCollection[i].thickness = 2;
- pdfviewer.annotationCollection[i].fillColor = "#FFFF00";
- pdfviewer.annotationCollection[i].annotationSelectorSettings.resizerShape = "Circle"
- pdfviewer.annotation.editAnnotation(pdfviewer.annotationCollection[i]);
- }
- }
- }
- });
-}
-{% endhighlight %}
-{% highlight ts tabtitle="Server-Backed" %}
-
-import { PdfViewer, Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, TextSearch, FormFields, FormDesigner, PageOrganizer } from '@syncfusion/ej2-pdfviewer';
-
-PdfViewer.Inject(Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, TextSearch, FormFields, FormDesigner, PageOrganizer);
-
-let pdfviewer: PdfViewer = new PdfViewer();
-pdfviewer.documentPath = "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf";
-pdfviewer.serviceUrl = 'https://services.syncfusion.com/js/production/api/pdfviewer';
-
-pdfviewer.appendTo('#PdfViewer');
-let editLineAnnotation = document.getElementById('editLineAnnotation');
-if (editLineAnnotation) {
- editLineAnnotation.addEventListener('click', function () {
- if (pdfviewer) {
- for (let i = 0; i < pdfviewer.annotationCollection.length; i++) {
- if (pdfviewer.annotationCollection[i].subject === "Line") {
- pdfviewer.annotationCollection[i].strokeColor = "#0000FF";
- pdfviewer.annotationCollection[i].thickness = 2;
- pdfviewer.annotationCollection[i].annotationSelectorSettings.resizerShape = "Circle"
- pdfviewer.annotation.editAnnotation(pdfviewer.annotationCollection[i]);
- }
- }
- }
- });
-}
-
-let editArrowAnnotation = document.getElementById('editArrowAnnotation');
-if (editArrowAnnotation) {
- editArrowAnnotation.addEventListener('click', function () {
- if (pdfviewer) {
- for (let i = 0; i < pdfviewer.annotationCollection.length; i++) {
- if (pdfviewer.annotationCollection[i].subject === "Arrow") {
- pdfviewer.annotationCollection[i].strokeColor = "#0000FF";
- pdfviewer.annotationCollection[i].thickness = 2;
- pdfviewer.annotationCollection[i].fillColor = "#FFFF00";
- pdfviewer.annotationCollection[i].annotationSelectorSettings.resizerShape = "Circle"
- pdfviewer.annotation.editAnnotation(pdfviewer.annotationCollection[i]);
- }
- }
- }
- });
-}
-
-let editRectangleAnnotation = document.getElementById('editRectangleAnnotation');
-if (editRectangleAnnotation) {
- editRectangleAnnotation.addEventListener('click', function () {
- if (pdfviewer) {
- for (let i = 0; i < pdfviewer.annotationCollection.length; i++) {
- if (pdfviewer.annotationCollection[i].subject === "Rectangle") {
- pdfviewer.annotationCollection[i].strokeColor = "#0000FF";
- pdfviewer.annotationCollection[i].thickness = 2;
- pdfviewer.annotationCollection[i].fillColor = "#FFFF00";
- pdfviewer.annotationCollection[i].annotationSelectorSettings.resizerShape = "Circle"
- pdfviewer.annotation.editAnnotation(pdfviewer.annotationCollection[i]);
- }
- }
- }
- });
-}
-
-let editCircleAnnotation = document.getElementById('editCircleAnnotation');
-if (editCircleAnnotation) {
- editCircleAnnotation.addEventListener('click', function () {
- if (pdfviewer) {
- for (let i = 0; i < pdfviewer.annotationCollection.length; i++) {
- if (pdfviewer.annotationCollection[i].subject === "Circle") {
- pdfviewer.annotationCollection[i].strokeColor = "#0000FF";
- pdfviewer.annotationCollection[i].thickness = 2;
- pdfviewer.annotationCollection[i].fillColor = "#FFFF00";
- pdfviewer.annotationCollection[i].annotationSelectorSettings.resizerShape = "Circle"
- pdfviewer.annotation.editAnnotation(pdfviewer.annotationCollection[i]);
- }
- }
- }
- });
-}
-
-let editPolygonAnnotation = document.getElementById('editPolygonAnnotation');
-if (editPolygonAnnotation) {
- editPolygonAnnotation.addEventListener('click', function () {
- if (pdfviewer) {
- for (let i = 0; i < pdfviewer.annotationCollection.length; i++) {
- if (pdfviewer.annotationCollection[i].subject === "Polygon") {
- pdfviewer.annotationCollection[i].strokeColor = "#0000FF";
- pdfviewer.annotationCollection[i].thickness = 2;
- pdfviewer.annotationCollection[i].fillColor = "#FFFF00";
- pdfviewer.annotationCollection[i].annotationSelectorSettings.resizerShape = "Circle"
- pdfviewer.annotation.editAnnotation(pdfviewer.annotationCollection[i]);
- }
- }
- }
- });
-}
-
-{% endhighlight %}
-{% endtabs %}
-
-## Editing the properties of the shape annotation
-
-The fill color, stroke color, thickness, and opacity of the shape annotation can be edited using the Edit color tool, Edit stroke color tool, Edit thickness tool, and Edit opacity tool in the annotation toolbar.
-
-### Editing fill color
-
-The fill color of the annotation can be edited using the color palette provided in the Edit Color tool.
-
-
-
-### Editing stroke color
-
-The stroke color of the annotation can be edited using the color palette provided in the Edit Stroke Color tool.
-
-
-
-### Editing thickness
-
-The thickness of the border of the annotation can be edited using the range slider provided in the Edit Thickness tool.
-
-
-
-### Editing opacity
-
-The opacity of the annotation can be edited using the range slider provided in the Edit Opacity tool.
-
-
-
-### Editing the line properties
-
-The properties of the line shapes such as line and arrow annotations can be edited using the Line Properties window. It can be opened by selecting the Properties option in the context menu that appears on right-clicking the line and arrow annotations.
-
-Refer to the following code sample to set the default annotation settings.
-
-
-
-## Setting default properties during the control initialization
-
-The properties of the shape annotations can be set before creating the control using LineSettings, ArrowSettings, RectangleSettings, CircleSettings, and PolygonSettings.
-
-{% tabs %}
-{% highlight ts tabtitle="Standalone" %}
-
-import { PdfViewer, Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, TextSearch, FormFields, FormDesigner, PageOrganizer} from '@syncfusion/ej2-pdfviewer';
-
-PdfViewer.Inject(Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, TextSearch, FormFields, FormDesigner, PageOrganizer);
-
-let pdfviewer: PdfViewer = new PdfViewer();
-pdfviewer.documentPath = "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf";
-pdfviewer.resourceUrl = "https://cdn.syncfusion.com/ej2/25.1.35/dist/ej2-pdfviewer-lib";
-pdfviewer.lineSettings = {fillColor: 'blue', opacity: 0.6, strokeColor: 'green'};
-pdfviewer.arrowSettings = {fillColor: 'green', opacity: 0.6, strokeColor: 'blue'};
-pdfviewer.rectangleSettings = {fillColor: 'yellow', opacity: 0.6, strokeColor: 'orange'};
-pdfviewer.circleSettings = {fillColor: 'orange', opacity: 0.6, strokeColor: 'pink'};
-pdfviewer.polygonSettings = {fillColor: 'pink', opacity: 0.6, strokeColor: 'yellow'}
-pdfviewer.appendTo('#PdfViewer');
-
-{% endhighlight %}
-{% highlight ts tabtitle="Server-Backed" %}
-
-import { PdfViewer, Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, TextSearch, FormFields, FormDesigner, PageOrganizer} from '@syncfusion/ej2-pdfviewer';
-
-PdfViewer.Inject(Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, TextSearch, FormFields, FormDesigner, PageOrganizer);
-
-let pdfviewer: PdfViewer = new PdfViewer();
-pdfviewer.serviceUrl = 'https://services.syncfusion.com/js/production/api/pdfviewer';
-pdfviewer.documentPath = "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf";
-pdfviewer.lineSettings = {fillColor: 'blue', opacity: 0.6, strokeColor: 'green'};
-pdfviewer.arrowSettings = {fillColor: 'green', opacity: 0.6, strokeColor: 'blue'};
-pdfviewer.rectangleSettings = {fillColor: 'yellow', opacity: 0.6, strokeColor: 'orange'};
-pdfviewer.circleSettings = {fillColor: 'orange', opacity: 0.6, strokeColor: 'pink'};
-pdfviewer.polygonSettings = {fillColor: 'pink', opacity: 0.6, strokeColor: 'yellow'}
-pdfviewer.appendTo('#PdfViewer');
-
-{% endhighlight %}
-{% endtabs %}
\ No newline at end of file
diff --git a/ej2-javascript/pdfviewer/ts/annotations/signature-annotation.md b/ej2-javascript/pdfviewer/ts/annotations/signature-annotation.md
deleted file mode 100644
index 7cc2fbc65..000000000
--- a/ej2-javascript/pdfviewer/ts/annotations/signature-annotation.md
+++ /dev/null
@@ -1,267 +0,0 @@
----
-layout: post
-title: Handwritten signature in ##Platform_Name## PDF Viewer control | Syncfusion
-description: Learn here all about Handwritten signature in Syncfusion ##Platform_Name## PDF Viewer control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: PDF Viewer
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Handwritten signature ##Platform_Name## PDF Viewer control
-
-The PDF Viewer control supports adding handwritten signatures to a PDF document. The handwritten signature reduces the paper work of reviewing the content and verifies it digitally.
-
-## Adding a handwritten signature to the PDF document
-
-The handwritten signature can be added to the PDF document using the annotation toolbar.
-
-* Click the **Edit Annotation** button in the PDF Viewer toolbar. A toolbar appears below it.
-* Select the **HandWritten Signature** button in the annotation toolbar. The signature panel will appear.
-
-
-
-* Draw the signature in the signature panel.
-
-
-
-* Then click **Create** button and move the signature using the mouse and place them in the desired location.
-
-
-
-Refer to the following code sample to switch to the handwritten signature mode programmatically.
-
-```html
-
-```
-{% tabs %}
-{% highlight ts tabtitle="Standalone" %}
-
-import { PdfViewer, Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, TextSearch, FormFields, FormDesigner, PageOrganizer} from '@syncfusion/ej2-pdfviewer';
-
-PdfViewer.Inject(Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, TextSearch, FormFields, FormDesigner, PageOrganizer);
-
-let pdfviewer: PdfViewer = new PdfViewer();
-pdfviewer.documentPath = "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf";
-pdfviewer.resourceUrl = "https://cdn.syncfusion.com/ej2/25.1.35/dist/ej2-pdfviewer-lib";
-pdfviewer.appendTo('#PdfViewer');
-
-let handWrittenSignature = document.getElementById('handWrittenSignature');
-if (handWrittenSignature) {
- handWrittenSignature.addEventListener('click', function () {
- if (pdfviewer) {
- pdfviewer.annotation.setAnnotationMode('HandWrittenSignature');
- }
- });
-}
-{% endhighlight %}
-{% highlight ts tabtitle="Server-Backed" %}
-
-import { PdfViewer, Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, TextSearch, FormFields, FormDesigner, PageOrganizer } from '@syncfusion/ej2-pdfviewer';
-
-PdfViewer.Inject(Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, TextSearch, FormFields, FormDesigner, PageOrganizer);
-
-let pdfviewer: PdfViewer = new PdfViewer();
-pdfviewer.serviceUrl = 'https://services.syncfusion.com/js/production/api/pdfviewer';
-pdfviewer.documentPath = "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf";
-pdfviewer.appendTo('#PdfViewer');
-
-let handWrittenSignature= document.getElementById('handWrittenSignature');
-if (handWrittenSignature) {
- handWrittenSignature.addEventListener('click', function () {
- if (pdfviewer) {
- pdfviewer.annotation.setAnnotationMode('HandWrittenSignature');
- }
- });
-}
-
-{% endhighlight %}
-{% endtabs %}
-
-
-## How to enable the handwritten signature
-
-The following code snippet describes how to enable the handwritten signature in PDF Viewer. When the value is set to `false` it disables the handwritten signature.
-
-{% tabs %}
-{% highlight ts tabtitle="Standalone" %}
-
-import { PdfViewer, Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, TextSearch, FormFields, FormDesigner, PageOrganizer} from '@syncfusion/ej2-pdfviewer';
-
-PdfViewer.Inject(Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, TextSearch, FormFields, FormDesigner, PageOrganizer);
-
-let pdfviewer: PdfViewer = new PdfViewer();
-pdfviewer.documentPath = "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf";
-pdfviewer.resourceUrl = "https://cdn.syncfusion.com/ej2/25.1.35/dist/ej2-pdfviewer-lib";
-pdfviewer.enableHandwrittenSignature = false
-
-pdfviewer.appendTo('#PdfViewer');
-
-{% endhighlight %}
-{% highlight ts tabtitle="Server-Backed" %}
-
-import { PdfViewer, Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, TextSearch, FormFields, FormDesigner, PageOrganizer} from '@syncfusion/ej2-pdfviewer';
-
-PdfViewer.Inject(Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, TextSearch, FormFields, FormDesigner, PageOrganizer);
-
-let pdfviewer: PdfViewer = new PdfViewer();
-pdfviewer.serviceUrl = 'https://services.syncfusion.com/js/production/api/pdfviewer';
-pdfviewer.documentPath = "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf";
-pdfviewer.enableHandwrittenSignature = false
-
-pdfviewer.appendTo('#PdfViewer');
-
-{% endhighlight %}
-{% endtabs %}
-
-## Adding Handwritten signature programatically to the PDF document
-
-With the PDF Viewer library, you can programmatically add a handwritten signature to the PDF Viewer control using the [**addAnnotation()**](https://helpej2.syncfusion.com/documentation/api/pdfviewer/annotation/#annotation) method.
-
-Here is an example of how you can use the **addAnnotation()** method to add the Handwritten signature programmatically
-
-```html
-
-```
-
-{% tabs %}
-{% highlight ts tabtitle="Standalone" %}
-
-import { PdfViewer, Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, TextSearch, FormFields, FormDesigner, PageOrganizer, HandWrittenSignatureSettings, DisplayMode} from '@syncfusion/ej2-pdfviewer';
-
-PdfViewer.Inject(Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, TextSearch, FormFields, FormDesigner, PageOrganizer);
-
-let pdfviewer: PdfViewer = new PdfViewer();
-pdfviewer.documentPath = "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf";
-pdfviewer.resourceUrl = "https://cdn.syncfusion.com/ej2/27.1.48/dist/ej2-pdfviewer-lib";
-pdfviewer.appendTo('#PdfViewer');
-
-let addHandwrittenSignature = document.getElementById('addHandwrittenSignature');
-if(addHandwrittenSignature){
- addHandwrittenSignature.addEventListener('click', function () {
- if (pdfviewer) {
- pdfviewer.annotation.addAnnotation("HandWrittenSignature", {
- offset: { x: 220, y: 180 },
- pageNumber: 1,
- width: 150,
- height: 60,
- signatureItem: ['Signature'],
- signatureDialogSettings: {
- displayMode: DisplayMode.Draw
- },
- canSave: true,
- path: '[{\"command\":\"M\",\"x\":244.83334350585938,\"y\":982.0000305175781},{\"command\":\"L\",\"x\":244.83334350585938,\"y\":982.0000305175781},{\"command\":\"L\",\"x\":250.83334350585938,\"y\":953.3333435058594},{\"command\":\"L\",\"x\":252.83334350585938,\"y\":946.0000305175781},{\"command\":\"L\",\"x\":254.16668701171875,\"y\":940.6667175292969},{\"command\":\"L\",\"x\":256.8333435058594,\"y\":931.3333435058594},{\"command\":\"L\",\"x\":257.5,\"y\":929.3333435058594},{\"command\":\"L\",\"x\":258.8333435058594,\"y\":926.6667175292969},{\"command\":\"L\",\"x\":259.5,\"y\":924.0000305175781},{\"command\":\"L\",\"x\":259.5,\"y\":922.6667175292969},{\"command\":\"L\",\"x\":258.8333435058594,\"y\":922.0000305175781},{\"command\":\"L\",\"x\":258.16668701171875,\"y\":922.0000305175781},{\"command\":\"L\",\"x\":256.8333435058594,\"y\":922.0000305175781},{\"command\":\"L\",\"x\":256.16668701171875,\"y\":922.6667175292969},{\"command\":\"L\",\"x\":254.83334350585938,\"y\":923.3333435058594},{\"command\":\"L\",\"x\":254.16668701171875,\"y\":923.3333435058594},{\"command\":\"L\",\"x\":253.5,\"y\":923.3333435058594},{\"command\":\"L\",\"x\":252.83334350585938,\"y\":925.3333435058594},{\"command\":\"L\",\"x\":252.83334350585938,\"y\":927.3333435058594},{\"command\":\"L\",\"x\":252.83334350585938,\"y\":936.0000305175781},{\"command\":\"L\",\"x\":253.5,\"y\":940.6667175292969},{\"command\":\"L\",\"x\":254.83334350585938,\"y\":944.6667175292969},{\"command\":\"L\",\"x\":260.16668701171875,\"y\":952.0000305175781},{\"command\":\"L\",\"x\":264.16668701171875,\"y\":954.0000305175781},{\"command\":\"L\",\"x\":274.16668701171875,\"y\":958.6667175292969},{\"command\":\"L\",\"x\":278.16668701171875,\"y\":960.0000305175781},{\"command\":\"L\",\"x\":281.5,\"y\":961.3333435058594},{\"command\":\"L\",\"x\":285.5,\"y\":964.6667175292969},{\"command\":\"L\",\"x\":286.8333740234375,\"y\":967.3333435058594},{\"command\":\"L\",\"x\":286.8333740234375,\"y\":970.0000305175781},{\"command\":\"L\",\"x\":282.8333740234375,\"y\":978.6667175292969},{\"command\":\"L\",\"x\":278.16668701171875,\"y\":983.3333435058594},{\"command\":\"L\",\"x\":266.16668701171875,\"y\":991.3333435058594},{\"command\":\"L\",\"x\":259.5,\"y\":993.3333435058594},{\"command\":\"L\",\"x\":252.16668701171875,\"y\":994.0000305175781},{\"command\":\"L\",\"x\":240.83334350585938,\"y\":991.3333435058594},{\"command\":\"L\",\"x\":236.16668701171875,\"y\":988.6667175292969},{\"command\":\"L\",\"x\":230.16668701171875,\"y\":982.6667175292969},{\"command\":\"L\",\"x\":228.83334350585938,\"y\":980.6667175292969},{\"command\":\"L\",\"x\":228.16668701171875,\"y\":978.6667175292969},{\"command\":\"L\",\"x\":228.83334350585938,\"y\":974.6667175292969},{\"command\":\"L\",\"x\":230.16668701171875,\"y\":973.3333435058594},{\"command\":\"L\",\"x\":236.16668701171875,\"y\":971.3333435058594},{\"command\":\"L\",\"x\":240.83334350585938,\"y\":971.3333435058594},{\"command\":\"L\",\"x\":246.16668701171875,\"y\":972.0000305175781},{\"command\":\"L\",\"x\":257.5,\"y\":974.6667175292969},{\"command\":\"L\",\"x\":262.8333435058594,\"y\":976.0000305175781},{\"command\":\"L\",\"x\":269.5,\"y\":977.3333435058594},{\"command\":\"L\",\"x\":276.16668701171875,\"y\":978.6667175292969},{\"command\":\"L\",\"x\":279.5,\"y\":978.0000305175781},{\"command\":\"L\",\"x\":285.5,\"y\":976.6667175292969},{\"command\":\"L\",\"x\":288.16668701171875,\"y\":974.6667175292969},{\"command\":\"L\",\"x\":292.8333740234375,\"y\":969.3333435058594},{\"command\":\"L\",\"x\":293.5,\"y\":966.6667175292969},{\"command\":\"L\",\"x\":294.16668701171875,\"y\":964.0000305175781},{\"command\":\"L\",\"x\":293.5,\"y\":960.0000305175781},{\"command\":\"L\",\"x\":293.5,\"y\":958.0000305175781},{\"command\":\"L\",\"x\":292.8333740234375,\"y\":956.6667175292969},{\"command\":\"L\",\"x\":291.5,\"y\":954.6667175292969},{\"command\":\"L\",\"x\":291.5,\"y\":954.0000305175781},{\"command\":\"L\",\"x\":291.5,\"y\":953.3333435058594},{\"command\":\"L\",\"x\":291.5,\"y\":954.0000305175781},{\"command\":\"L\",\"x\":292.16668701171875,\"y\":954.6667175292969},{\"command\":\"L\",\"x\":292.8333740234375,\"y\":956.0000305175781},{\"command\":\"L\",\"x\":294.16668701171875,\"y\":961.3333435058594},{\"command\":\"L\",\"x\":295.5,\"y\":964.6667175292969},{\"command\":\"L\",\"x\":297.5,\"y\":969.3333435058594},{\"command\":\"L\",\"x\":298.8333740234375,\"y\":970.6667175292969},{\"command\":\"L\",\"x\":301.5,\"y\":970.0000305175781},{\"command\":\"L\",\"x\":304.16668701171875,\"y\":968.6667175292969},{\"command\":\"L\",\"x\":305.5,\"y\":966.0000305175781},{\"command\":\"L\",\"x\":308.8333740234375,\"y\":960.0000305175781},{\"command\":\"L\",\"x\":310.16668701171875,\"y\":957.3333435058594},{\"command\":\"L\",\"x\":310.8333740234375,\"y\":956.0000305175781},{\"command\":\"L\",\"x\":310.8333740234375,\"y\":954.6667175292969},{\"command\":\"L\",\"x\":310.8333740234375,\"y\":954.0000305175781},{\"command\":\"L\",\"x\":311.5,\"y\":956.0000305175781},{\"command\":\"L\",\"x\":312.8333740234375,\"y\":959.3333435058594},{\"command\":\"L\",\"x\":316.16668701171875,\"y\":968.0000305175781},{\"command\":\"L\",\"x\":317.5,\"y\":972.6667175292969},{\"command\":\"L\",\"x\":318.16668701171875,\"y\":977.3333435058594},{\"command\":\"L\",\"x\":319.5,\"y\":983.3333435058594},{\"command\":\"L\",\"x\":319.5,\"y\":986.0000305175781},{\"command\":\"L\",\"x\":319.5,\"y\":988.0000305175781},{\"command\":\"L\",\"x\":318.8333740234375,\"y\":988.0000305175781},{\"command\":\"L\",\"x\":318.16668701171875,\"y\":988.6667175292969},{\"command\":\"L\",\"x\":316.16668701171875,\"y\":987.3333435058594},{\"command\":\"L\",\"x\":314.8333740234375,\"y\":985.3333435058594},{\"command\":\"L\",\"x\":314.16668701171875,\"y\":980.6667175292969},{\"command\":\"L\",\"x\":314.8333740234375,\"y\":974.6667175292969},{\"command\":\"L\",\"x\":316.16668701171875,\"y\":969.3333435058594},{\"command\":\"L\",\"x\":319.5,\"y\":960.6667175292969},{\"command\":\"L\",\"x\":320.16668701171875,\"y\":957.3333435058594},{\"command\":\"L\",\"x\":321.5,\"y\":955.3333435058594},{\"command\":\"L\",\"x\":322.16668701171875,\"y\":953.3333435058594},{\"command\":\"L\",\"x\":322.8333740234375,\"y\":952.6667175292969},{\"command\":\"L\",\"x\":324.16668701171875,\"y\":952.6667175292969},{\"command\":\"L\",\"x\":324.8333740234375,\"y\":953.3333435058594},{\"command\":\"L\",\"x\":326.8333740234375,\"y\":956.0000305175781},{\"command\":\"L\",\"x\":328.16668701171875,\"y\":958.0000305175781},{\"command\":\"L\",\"x\":328.8333740234375,\"y\":960.0000305175781},{\"command\":\"L\",\"x\":329.5,\"y\":962.0000305175781},{\"command\":\"L\",\"x\":330.16668701171875,\"y\":962.0000305175781},{\"command\":\"L\",\"x\":330.16668701171875,\"y\":962.6667175292969},{\"command\":\"L\",\"x\":330.16668701171875,\"y\":962.0000305175781},{\"command\":\"L\",\"x\":330.8333740234375,\"y\":960.0000305175781},{\"command\":\"L\",\"x\":331.5,\"y\":956.0000305175781},{\"command\":\"L\",\"x\":332.8333740234375,\"y\":952.0000305175781},{\"command\":\"L\",\"x\":333.5,\"y\":950.0000305175781},{\"command\":\"L\",\"x\":334.8333740234375,\"y\":948.6667175292969},{\"command\":\"L\",\"x\":335.5,\"y\":948.6667175292969},{\"command\":\"L\",\"x\":336.16668701171875,\"y\":948.6667175292969},{\"command\":\"L\",\"x\":337.5,\"y\":950.6667175292969},{\"command\":\"L\",\"x\":338.8333740234375,\"y\":952.0000305175781},{\"command\":\"L\",\"x\":340.8333740234375,\"y\":954.0000305175781},{\"command\":\"L\",\"x\":341.5,\"y\":954.0000305175781},{\"command\":\"L\",\"x\":342.8333740234375,\"y\":954.6667175292969},{\"command\":\"L\",\"x\":344.8333740234375,\"y\":954.0000305175781},{\"command\":\"L\",\"x\":346.8333740234375,\"y\":952.6667175292969},{\"command\":\"L\",\"x\":349.5,\"y\":949.3333435058594},{\"command\":\"L\",\"x\":350.8333740234375,\"y\":948.0000305175781},{\"command\":\"L\",\"x\":351.5,\"y\":946.6667175292969},{\"command\":\"L\",\"x\":352.8333740234375,\"y\":944.0000305175781},{\"command\":\"L\",\"x\":352.8333740234375,\"y\":943.3333435058594},{\"command\":\"L\",\"x\":354.16668701171875,\"y\":942.0000305175781},{\"command\":\"L\",\"x\":354.8333740234375,\"y\":942.0000305175781},{\"command\":\"L\",\"x\":354.8333740234375,\"y\":942.6667175292969},{\"command\":\"L\",\"x\":354.16668701171875,\"y\":943.3333435058594},{\"command\":\"L\",\"x\":354.16668701171875,\"y\":946.6667175292969},{\"command\":\"L\",\"x\":354.16668701171875,\"y\":950.0000305175781},{\"command\":\"L\",\"x\":355.5,\"y\":956.0000305175781},{\"command\":\"L\",\"x\":356.16668701171875,\"y\":957.3333435058594},{\"command\":\"L\",\"x\":358.16668701171875,\"y\":959.3333435058594},{\"command\":\"L\",\"x\":360.16668701171875,\"y\":958.0000305175781},{\"command\":\"L\",\"x\":364.16668701171875,\"y\":956.0000305175781},{\"command\":\"L\",\"x\":370.8333740234375,\"y\":948.6667175292969},{\"command\":\"L\",\"x\":373.5,\"y\":943.3333435058594},{\"command\":\"L\",\"x\":375.5,\"y\":937.3333435058594},{\"command\":\"L\",\"x\":376.16668701171875,\"y\":933.3333435058594},{\"command\":\"L\",\"x\":376.8333740234375,\"y\":931.3333435058594},{\"command\":\"L\",\"x\":376.8333740234375,\"y\":930.0000305175781},{\"command\":\"L\",\"x\":376.8333740234375,\"y\":929.3333435058594},{\"command\":\"L\",\"x\":376.16668701171875,\"y\":930.0000305175781},{\"command\":\"L\",\"x\":375.5,\"y\":932.0000305175781},{\"command\":\"L\",\"x\":375.5,\"y\":937.3333435058594},{\"command\":\"L\",\"x\":374.8333740234375,\"y\":953.3333435058594},{\"command\":\"L\",\"x\":374.8333740234375,\"y\":960.6667175292969},{\"command\":\"L\",\"x\":375.5,\"y\":966.0000305175781},{\"command\":\"L\",\"x\":377.5,\"y\":974.6667175292969},{\"command\":\"L\",\"x\":378.16668701171875,\"y\":977.3333435058594},{\"command\":\"L\",\"x\":380.8333740234375,\"y\":981.3333435058594},{\"command\":\"L\",\"x\":382.16668701171875,\"y\":982.6667175292969},{\"command\":\"L\",\"x\":383.5,\"y\":982.6667175292969},{\"command\":\"L\",\"x\":387.5,\"y\":982.6667175292969},{\"command\":\"L\",\"x\":389.5,\"y\":980.6667175292969},{\"command\":\"L\",\"x\":392.16668701171875,\"y\":976.6667175292969},{\"command\":\"L\",\"x\":392.8333740234375,\"y\":973.3333435058594},{\"command\":\"L\",\"x\":392.16668701171875,\"y\":970.0000305175781},{\"command\":\"L\",\"x\":388.8333740234375,\"y\":965.3333435058594},{\"command\":\"L\",\"x\":385.5,\"y\":964.0000305175781},{\"command\":\"L\",\"x\":382.8333740234375,\"y\":964.0000305175781},{\"command\":\"L\",\"x\":377.5,\"y\":964.0000305175781},{\"command\":\"L\",\"x\":375.5,\"y\":964.6667175292969},{\"command\":\"L\",\"x\":373.5,\"y\":965.3333435058594},{\"command\":\"L\",\"x\":374.8333740234375,\"y\":963.3333435058594},{\"command\":\"L\",\"x\":376.8333740234375,\"y\":961.3333435058594},{\"command\":\"L\",\"x\":382.16668701171875,\"y\":956.0000305175781},{\"command\":\"L\",\"x\":384.16668701171875,\"y\":953.3333435058594},{\"command\":\"L\",\"x\":387.5,\"y\":950.6667175292969},{\"command\":\"L\",\"x\":388.16668701171875,\"y\":952.0000305175781},{\"command\":\"L\",\"x\":388.16668701171875,\"y\":952.6667175292969},{\"command\":\"L\",\"x\":388.8333740234375,\"y\":954.0000305175781},{\"command\":\"L\",\"x\":388.8333740234375,\"y\":954.6667175292969},{\"command\":\"L\",\"x\":389.5,\"y\":959.3333435058594},{\"command\":\"L\",\"x\":389.5,\"y\":960.6667175292969},{\"command\":\"L\",\"x\":390.16668701171875,\"y\":961.3333435058594},{\"command\":\"L\",\"x\":390.8333740234375,\"y\":960.6667175292969},{\"command\":\"L\",\"x\":393.5,\"y\":958.0000305175781},{\"command\":\"L\",\"x\":396.8333740234375,\"y\":954.0000305175781},{\"command\":\"L\",\"x\":398.16668701171875,\"y\":952.0000305175781},{\"command\":\"L\",\"x\":400.16668701171875,\"y\":949.3333435058594},{\"command\":\"L\",\"x\":400.16668701171875,\"y\":948.6667175292969},{\"command\":\"L\",\"x\":400.8333740234375,\"y\":948.0000305175781},{\"command\":\"L\",\"x\":400.8333740234375,\"y\":947.3333435058594},{\"command\":\"L\",\"x\":401.5,\"y\":948.0000305175781},{\"command\":\"L\",\"x\":402.16668701171875,\"y\":949.3333435058594},{\"command\":\"L\",\"x\":403.5,\"y\":950.6667175292969},{\"command\":\"L\",\"x\":404.8333740234375,\"y\":953.3333435058594},{\"command\":\"L\",\"x\":406.16668701171875,\"y\":954.0000305175781},{\"command\":\"L\",\"x\":407.5,\"y\":954.0000305175781},{\"command\":\"L\",\"x\":410.16668701171875,\"y\":952.0000305175781},{\"command\":\"L\",\"x\":412.16668701171875,\"y\":949.3333435058594},{\"command\":\"L\",\"x\":414.16668701171875,\"y\":944.6667175292969},{\"command\":\"L\",\"x\":414.16668701171875,\"y\":942.0000305175781},{\"command\":\"L\",\"x\":414.16668701171875,\"y\":940.6667175292969},{\"command\":\"L\",\"x\":414.16668701171875,\"y\":938.6667175292969},{\"command\":\"L\",\"x\":414.16668701171875,\"y\":938.0000305175781},{\"command\":\"L\",\"x\":415.5,\"y\":939.3333435058594},{\"command\":\"L\",\"x\":418.8333740234375,\"y\":942.6667175292969},{\"command\":\"L\",\"x\":420.16668701171875,\"y\":945.3333435058594},{\"command\":\"L\",\"x\":421.5,\"y\":946.6667175292969},{\"command\":\"L\",\"x\":422.8333740234375,\"y\":950.0000305175781},{\"command\":\"L\",\"x\":423.5,\"y\":950.6667175292969},{\"command\":\"L\",\"x\":423.5,\"y\":953.3333435058594},{\"command\":\"L\",\"x\":422.8333740234375,\"y\":954.0000305175781},{\"command\":\"L\",\"x\":421.5,\"y\":955.3333435058594},{\"command\":\"L\",\"x\":421.5,\"y\":956.0000305175781},{\"command\":\"L\",\"x\":422.16668701171875,\"y\":954.6667175292969},{\"command\":\"L\",\"x\":422.8333740234375,\"y\":954.0000305175781},{\"command\":\"L\",\"x\":424.8333740234375,\"y\":950.6667175292969},{\"command\":\"L\",\"x\":425.5,\"y\":948.6667175292969},{\"command\":\"L\",\"x\":428.16668701171875,\"y\":945.3333435058594},{\"command\":\"L\",\"x\":428.8333740234375,\"y\":943.3333435058594},{\"command\":\"L\",\"x\":428.8333740234375,\"y\":942.6667175292969},{\"command\":\"L\",\"x\":428.8333740234375,\"y\":943.3333435058594},{\"command\":\"L\",\"x\":428.8333740234375,\"y\":945.3333435058594},{\"command\":\"L\",\"x\":428.8333740234375,\"y\":948.0000305175781},{\"command\":\"L\",\"x\":428.8333740234375,\"y\":950.0000305175781},{\"command\":\"L\",\"x\":429.5,\"y\":953.3333435058594},{\"command\":\"L\",\"x\":430.16668701171875,\"y\":953.3333435058594},{\"command\":\"L\",\"x\":432.8333740234375,\"y\":952.6667175292969},{\"command\":\"L\",\"x\":434.8333740234375,\"y\":950.6667175292969},{\"command\":\"L\",\"x\":437.5,\"y\":948.6667175292969},{\"command\":\"L\",\"x\":440.16668701171875,\"y\":944.6667175292969},{\"command\":\"L\",\"x\":441.5,\"y\":942.6667175292969},{\"command\":\"L\",\"x\":442.16668701171875,\"y\":942.0000305175781},{\"command\":\"L\",\"x\":442.8333740234375,\"y\":941.3333435058594},{\"command\":\"L\",\"x\":442.8333740234375,\"y\":942.0000305175781},{\"command\":\"L\",\"x\":442.8333740234375,\"y\":943.3333435058594},{\"command\":\"L\",\"x\":442.8333740234375,\"y\":944.6667175292969},{\"command\":\"L\",\"x\":442.8333740234375,\"y\":946.0000305175781},{\"command\":\"L\",\"x\":443.5,\"y\":949.3333435058594},{\"command\":\"L\",\"x\":444.16668701171875,\"y\":950.6667175292969},{\"command\":\"L\",\"x\":445.5,\"y\":950.6667175292969},{\"command\":\"L\",\"x\":447.5,\"y\":950.6667175292969},{\"command\":\"L\",\"x\":450.16668701171875,\"y\":948.6667175292969},{\"command\":\"L\",\"x\":452.16668701171875,\"y\":945.3333435058594},{\"command\":\"L\",\"x\":453.5,\"y\":942.6667175292969},{\"command\":\"L\",\"x\":452.8333740234375,\"y\":938.6667175292969},{\"command\":\"L\",\"x\":452.16668701171875,\"y\":937.3333435058594},{\"command\":\"L\",\"x\":450.8333740234375,\"y\":936.6667175292969},{\"command\":\"L\",\"x\":448.8333740234375,\"y\":936.0000305175781},{\"command\":\"L\",\"x\":447.5,\"y\":936.6667175292969},{\"command\":\"L\",\"x\":446.16668701171875,\"y\":937.3333435058594},{\"command\":\"L\",\"x\":445.5,\"y\":938.6667175292969},{\"command\":\"L\",\"x\":445.5,\"y\":939.3333435058594},{\"command\":\"L\",\"x\":446.16668701171875,\"y\":939.3333435058594},{\"command\":\"L\",\"x\":446.8333740234375,\"y\":939.3333435058594},{\"command\":\"L\",\"x\":452.16668701171875,\"y\":937.3333435058594},{\"command\":\"L\",\"x\":454.8333740234375,\"y\":936.6667175292969},{\"command\":\"L\",\"x\":456.8333740234375,\"y\":936.0000305175781},{\"command\":\"L\",\"x\":459.5,\"y\":936.6667175292969},{\"command\":\"L\",\"x\":460.8333740234375,\"y\":937.3333435058594},{\"command\":\"L\",\"x\":461.5,\"y\":938.6667175292969},{\"command\":\"L\",\"x\":462.16668701171875,\"y\":942.0000305175781},{\"command\":\"L\",\"x\":462.16668701171875,\"y\":942.6667175292969},{\"command\":\"L\",\"x\":462.16668701171875,\"y\":944.0000305175781},{\"command\":\"L\",\"x\":462.16668701171875,\"y\":943.3333435058594},{\"command\":\"L\",\"x\":462.16668701171875,\"y\":942.6667175292969},{\"command\":\"L\",\"x\":462.16668701171875,\"y\":941.3333435058594},{\"command\":\"L\",\"x\":462.8333740234375,\"y\":938.6667175292969},{\"command\":\"L\",\"x\":464.16668701171875,\"y\":935.3333435058594},{\"command\":\"L\",\"x\":465.5,\"y\":933.3333435058594},{\"command\":\"L\",\"x\":466.16668701171875,\"y\":932.6667175292969},{\"command\":\"L\",\"x\":467.5,\"y\":933.3333435058594},{\"command\":\"L\",\"x\":469.5,\"y\":935.3333435058594},{\"command\":\"L\",\"x\":470.16668701171875,\"y\":938.6667175292969},{\"command\":\"L\",\"x\":472.8333740234375,\"y\":943.3333435058594},{\"command\":\"L\",\"x\":472.8333740234375,\"y\":944.6667175292969},{\"command\":\"L\",\"x\":474.16668701171875,\"y\":944.6667175292969},{\"command\":\"L\",\"x\":475.5,\"y\":944.0000305175781},{\"command\":\"L\",\"x\":478.16668701171875,\"y\":941.3333435058594},{\"command\":\"L\",\"x\":481.5,\"y\":937.3333435058594},{\"command\":\"L\",\"x\":484.8333740234375,\"y\":934.0000305175781},{\"command\":\"L\",\"x\":488.8333740234375,\"y\":929.3333435058594},{\"command\":\"L\",\"x\":489.5,\"y\":928.0000305175781}]'
- } as HandWrittenSignatureSettings);
- pdfviewer.annotation.addAnnotation("HandWrittenSignature", {
- offset: { x: 200, y: 310 },
- pageNumber: 1,
- width: 200,
- height: 65,
- signatureItem: ['Signature'],
- signatureDialogSettings: {
- displayMode: DisplayMode.Text, hideSaveSignature: false
- },
- canSave: false,
- path: 'Syncfusion',
- fontFamily: "Helvetica",
- } as HandWrittenSignatureSettings);
- pdfviewer.annotation.addAnnotation("Initial", {
- offset: { x: 200, y: 500 },
- pageNumber: 1,
- width: 200,
- height: 80,
- signatureItem: ['Initial'],
- initialDialogSettings: {
- displayMode: DisplayMode.Upload, hideSaveSignature: false
- },
- canSave: true,
- path: "data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wCEAAkGBwgHBgkIBwgKCgkLDRYPDQwMDRsUFRAWIB0iIiAdHx8kKDQsJCYxJx8fLT0tMTU3Ojo6Iys/RD84QzQ5OjcBCgoKDQwNGg8PGjclHyU3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3N//AABEIAIIAqwMBIgACEQEDEQH/xAAbAAEAAgMBAQAAAAAAAAAAAAAABQYBAwQHAv/EAEEQAAEDAwIEAwYDBAYLAAAAAAECAwQABREGIRIxQVETYXEHFCIygZEVQmIjUnKCJCUzU6HRFhc1c5KisbKzwvD/xAAVAQEBAAAAAAAAAAAAAAAAAAAAAf/EABQRAQAAAAAAAAAAAAAAAAAAAAD/2gAMAwEAAhEDEQA/APcaUpQKUpQKUpQKUpQKUpQKVzXGdFtsN2ZPfbYjNJ4nHHDgJFfEK5Q5ttbuUaQhcNxvxUPcklPfflQdlYJxURpe/salthuMNpxEYvuNtKc28VKVcPGB2JB577Vyz7pNuUxy26eWlCml8Mu4OI4kR/0oB2Wvp2T17EJK43qDbloakOqL7m6I7TanHVjOMhCQTjzxgVut89i4Mqdj8Y4VlC0OIKFIUOYKTuOn0INRZZtWkrVLuDpIIHHJlPK4nX1dOJR5kk4A5DYDArVoWbHuVgTPjvF5Ul5xx5zhIBc4jkJyBlI+UHqE0FjpSlApSlApSlApSlApSlApSlApSlArClAczgVmqr7QZLptkezxHi1KvD4ihxKsFprBU6v6IB+pFBTdUKf1uUuFa0WpyUIVoYBx706chchXdKEhZSPLNXXVTsOw6NdjNxkvJS0iLEidHnDhLaPME4z5ZzVHk6kTHu1vTpyE1Jf8L3Oww1ZDaGc4XJXjklXDhP6UlWd63ybrL1rq1mNa1hLcAKEeQgcTbbvyuScHnw5KGweZJPIVRYoDT6okfSlnfWhmCwlu43FGAUKxu2j9atyT+UHvirZBixLZBaiQ2kR4zCMIQnZKRWuz2yLZ7czBgo4GWh13KidypR6qJJJPevOvaFqCXqC4HSGmzxlxQbmvJJAPXwwe2M8R9R3FQc1xde9qOqEW+C44jTFuVxPvtnHvCvI+e4HYZPavV4sdmLGajxmktMtJCENpGAkDkBUbpixRNO2dm3Q0/Cj4lrPNazzUf/uWKlkkEZByKDNKUoFKUoFKUoFKUoFKwahZ2p7dFfMZhTs+ZnHu0FHirB/VjZHqogUE3WOIYzUApzUlwBKUxLOwQCFL/bv467DCEn6qr5i6btk5ht+ZOlXlCxlLkiTxtr8whGG8fy0HdK1FZorymHbjH8dPNlC+NY/lTk1XNTe0m12SCXBFnrkOpX7uh6ItkKUBzPGEnhzjcA1bokKLAZS1BjMx20jAQy2EjHoK85i6PuOovaFNv+pWPDt8J/ggMKUCXktq+BX8HNXmT2G9HLF1trSyW2GrUFgbluT3eCIRIS26tS/iSjwgCcDl35Z3qBlSb/edVcN58e4tojKafiW2MfDQpRBXF8X5UnZPGsq5ZAr0TV2j52oL9Anx7wqCxHYWypLbeXAFH4lNqz8KiNs8x0qy2e1QrNbmYFuZDUdkYSkHOT1JPUk7k0HhsG6u3SHPeisLFwnucE95hOPdmc8DUNhR/OrCR5Ak9NvX9F6cRp20IZIR706AX1I5DA2Qn9KRsPvzJqGmXG0N6pfk3KTEhW2ykBsLKUh2Y4nKlY6lKCAOuVmuafry5T5rFs0vaHQ5JSVIm3FBaQhvq7wfNwjurAPnQZ9pms1WtlVmtDqRcnxwrdK+ERknqT0Vj7DftUN7OA1BilywWx65TnU8PjOAtMsJJzlbhBypXMhPFgADbrF6B0sNSagkzrk+5cbTDeUQ5IHwy3T+bHbYE/y9yK9sabQ02lDSAhCRhKUjAAoIaFaZ8gh++zg8vIKYsUFphB+/Ev8AmONuVTYGBgcqzSoFKUoFKUoFKUoFcV4mOW+2yJbEN6Y40gqTHYGVuHsK7awRmg8rd/1gameJn2n8Ptv5YQn+78f+8cSFLI57AJ8/Oy2eyalhxkRo79htEVI2YgQ1uEH+JSgD68NW/FQ2r7yqxWCTNZR4knZqM1/ePLPChP3IoKRc4l91FqJ3TkfUst2Aygfiz7TDTaEA8mkEAnjPXfAH2NohaPehR2Y8bVF9QwygNttJMcJSkDAAAZru0hY02CyMxFK8SWv9rMfPN55W6lE9d9vQCpughmrLNZVxI1Fc19kupYUn/wAYP+NdQVMjD+khEhsfM40nhUPMp3z9D9K76xQRN/uNxjWj3qwW9F0krKfDa8YISUn83F25VVocf2kXdR/EJlrskZQxiM14ryR5ZJA9c/SrHo973m2SFjPhCfKSzn9wPLCceXbyxUpPmRrdDemTHUMx2UFbjizgJAoPGrbpyJBRPvEi53STfhc34MRCVMrckLSvCT8aFEEjBUQdhUlfbHcrcItuYvc+VqbUBDcpf7PgDSfnJPBxBCQcDBGcnlUn7Om4kly+aonhbPBPkeGiRsIqCEqUcHkSMZ9K5bRqqMbjJ1E5FkTrndFe72m2sAF1MVBI4iD8iVKyoqO2w7VRbrJpRdkt7MGDe56GGhgJ8Njn1P8AZ9fPNd5gXNKQEXt0q7uRmz/0AqFja29znGFq2EmxuqaLzDrkhK2XUj5gF7YUNvhqsX+66nvtqlarsrsmDa7aUvQIqQULuCUqHiLdGPk4c8I686g9BMK8/lu7IxyzCB/9q4bpJkWeP7xd9TQojGeHjdipRk9hlW5/yrF21raoEGM/HcM+TMSDEhwyFuv55YA5DfcnYVx2fTD9wm/jeskMS7goYYhY42IKeyQeajtlR68tqCUjtXWVHakQL/FejupC23PcwsLSeoKVgEVsLWomsFMm1yAM5C2HGir6hSsfY1B6ILViuV50utSWkRpHvNvQTgGO6OLCe/CviB7bVMXjVMC2vCG0VTrk4MtQIeHHleZHJCf1KwKDTcNSqskB2XqSCYjTQ3fYcDzSj0SOSgSdhlP1r50FqherbM5cVQVQwmQtkNlfFxBON8/XB8wa4JNsfUzJ1Jq/wXFQWnH4tvbPEzFCUk8RyPjd2+bkOQ7nHs0iSLRY7dBkKUoy4gnYV8yHFEFxPoCtOPU+VBdaUpQKUpQKqF4H4xry027YxrYyq4yB3cPwND/vV9BVvNVTRf8ATrhqC9KIUJU4x2T2aZHAB/xcZ+tBa6UpQKr+r7lIjRWrdaz/AFrcleBF2z4W3xOq8kDf1wOtSV5ukSz216fOc4GGhk4GSo9EpHVROwHU1DaWtst2S9qG+N8Nzlp4WWSc+6R85S0P1dVHqfSgm7Rb2bTbItvjcXhR2g2kqOVKx1J6k8zVbfP+leoSxkGx2h7LxztJlD8h6FCOZ/VjtXdq25ymWY9ptSv61uSi2yr+4Rj43T5JHLzIrRfHIujtCy/dthFiqQyD8zrqhgZ7qUo/40FJsbL2q7W/YYchUdqdMlXC5SEDJQhbq/CbHTKuEEj90edXfRWi4Gk4yvAUqTMdADsp35ikckj91I7Vn2e6bTpnTUaG5hUtweLJcHVw9PQch6VZ6Dhudot12aQ1dIEWa2hXEhEllLgSe4Cga7OBPBwYHDjGMbYr6pQRNp03ZrM669arVChuu/OphkJJ8tunlUt0pSgjLxYLVew2LtAYleEctqcT8SPRXMfevq0WO12VtTdpgRoiVHKy02AVnuo8z9akaUEBr2O9L0beI8dtx1xyMpIQ2kqUodQANycZrk07JVeLyq4R2HmrZCiiJFW62UF9SilS1AHfhHAgA7b8XlVqIzWMb0GaUpQKUpQc9wkCJAkyVcmWlOH6AmoL2bsqZ0LZi4SXHowfcUeZU58ZP3VUpqNlcjT1zYaGVuRHUJA6koIFcuiZDcnR9lea+RcFkgdvgG1BN1omS48GM7JluoZYaSVuOLOEpSOZJrXdLjEtUF2bcJLceM0MrccOAP8AP0qqR4czWk1qfd2HItgZWFxLe6MLlKHJ14dE9kH1NBttDEjVVzYvtxaUza4547ZCdThSz0kLHQ4+UdAc86tcmQzDjOyJLiW2WUFxxxWwSkDJJ+lbQAOVVPU6vx29xdLsqPgBKZdzIG3ghWEtE9CtX/Kk0GzSTDlwekamnNlL08BMNCs5ZijdAweRVniPqB0qsarce1XrezWlghVsiTCp3B/tFtDicPok8CP4lq7VedSzXYFr8OBwpmyVCPEyPhStQPxEfupAKj5JNVz2eW9t2RIvLJWqGlsQbetXN1pCsuPerjmVZ6gCqLyBis0pUClKUClKUClKUClKUClKUClKUGCMjFVNqw36yeOxpmbb/wAPdcU43GntLPuqlHJCFJO6ckkJI2zzq20oKtE0iZE5q46mnKu8to8TLSmwiMwe6G99/wBSiTVoGwrNcV4uUez2yTcJiiGY7ZWrAyT2AHUk7D1oMXq6R7PapNxlk+FHQVkAZKj0SB1JOAPWozRtqfhW5ybcf9qXJz3qZk54FEbNg9kDCfoT1qGi++alvEGJdGwlq2hE+e0FApTKVu0we4Qk8R7nhNXkcqCs6q0zK1DcIWbkqNbW23ESmWk4ceCsZAV+UEAgnngnvViix2okZqPHbS2y0kIbQkYCUjYAVtpQKUpQKUpQKUpQKUpQKUpQKUpQKUpQKUpQKouv7mwi7W2HJBdZiJNxXHSd5DoUER2gOpU4rI/gq9VxO2i3PXRu6OwmFz2m/DbkKQCtKck4B+p+9BxaTtblqtQEvhM+UtUqatO4U8vdW/YbJHkkVNVgDFZoFKUoFKUoFKUoFKUoFKUoFKUoFKUoFKUoFKUoFKUoFKUoFKUoFKUoFKUoFKUoFKUoFKUoFKUoP//Z"
- } as HandWrittenSignatureSettings);
- }
- });
-}
-
-{% endhighlight %}
-
-{% highlight ts tabtitle="Server-Backed" %}
-import { PdfViewer, Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, TextSearch, FormFields, FormDesigner, PageOrganizer, HandWrittenSignatureSettings, DisplayMode} from '@syncfusion/ej2-pdfviewer';
-
-PdfViewer.Inject(Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, TextSearch, FormFields, FormDesigner, PageOrganizer);
-
-let pdfviewer: PdfViewer = new PdfViewer();
-pdfviewer.documentPath = "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf";
-pdfviewer.resourceUrl = "https://cdn.syncfusion.com/ej2/27.1.48/dist/ej2-pdfviewer-lib";
-pdfviewer.appendTo('#PdfViewer');
-
-let addHandwrittenSignature = document.getElementById('addHandwrittenSignature');
-if(addHandwrittenSignature){
- addHandwrittenSignature.addEventListener('click', function () {
- if (pdfviewer) {
- pdfviewer.annotation.addAnnotation("Initial", {
- offset: { x: 220, y: 180 },
- pageNumber: 1,
- width: 150,
- height: 60,
- signatureItem: ['Initial'],
- initialDialogSettings: {
- displayMode: DisplayMode.Draw
- },
- canSave: true,
- path: '[{\"command\":\"M\",\"x\":244.83334350585938,\"y\":982.0000305175781},{\"command\":\"L\",\"x\":244.83334350585938,\"y\":982.0000305175781},{\"command\":\"L\",\"x\":250.83334350585938,\"y\":953.3333435058594},{\"command\":\"L\",\"x\":252.83334350585938,\"y\":946.0000305175781},{\"command\":\"L\",\"x\":254.16668701171875,\"y\":940.6667175292969},{\"command\":\"L\",\"x\":256.8333435058594,\"y\":931.3333435058594},{\"command\":\"L\",\"x\":257.5,\"y\":929.3333435058594},{\"command\":\"L\",\"x\":258.8333435058594,\"y\":926.6667175292969},{\"command\":\"L\",\"x\":259.5,\"y\":924.0000305175781},{\"command\":\"L\",\"x\":259.5,\"y\":922.6667175292969},{\"command\":\"L\",\"x\":258.8333435058594,\"y\":922.0000305175781},{\"command\":\"L\",\"x\":258.16668701171875,\"y\":922.0000305175781},{\"command\":\"L\",\"x\":256.8333435058594,\"y\":922.0000305175781},{\"command\":\"L\",\"x\":256.16668701171875,\"y\":922.6667175292969},{\"command\":\"L\",\"x\":254.83334350585938,\"y\":923.3333435058594},{\"command\":\"L\",\"x\":254.16668701171875,\"y\":923.3333435058594},{\"command\":\"L\",\"x\":253.5,\"y\":923.3333435058594},{\"command\":\"L\",\"x\":252.83334350585938,\"y\":925.3333435058594},{\"command\":\"L\",\"x\":252.83334350585938,\"y\":927.3333435058594},{\"command\":\"L\",\"x\":252.83334350585938,\"y\":936.0000305175781},{\"command\":\"L\",\"x\":253.5,\"y\":940.6667175292969},{\"command\":\"L\",\"x\":254.83334350585938,\"y\":944.6667175292969},{\"command\":\"L\",\"x\":260.16668701171875,\"y\":952.0000305175781},{\"command\":\"L\",\"x\":264.16668701171875,\"y\":954.0000305175781},{\"command\":\"L\",\"x\":274.16668701171875,\"y\":958.6667175292969},{\"command\":\"L\",\"x\":278.16668701171875,\"y\":960.0000305175781},{\"command\":\"L\",\"x\":281.5,\"y\":961.3333435058594},{\"command\":\"L\",\"x\":285.5,\"y\":964.6667175292969},{\"command\":\"L\",\"x\":286.8333740234375,\"y\":967.3333435058594},{\"command\":\"L\",\"x\":286.8333740234375,\"y\":970.0000305175781},{\"command\":\"L\",\"x\":282.8333740234375,\"y\":978.6667175292969},{\"command\":\"L\",\"x\":278.16668701171875,\"y\":983.3333435058594},{\"command\":\"L\",\"x\":266.16668701171875,\"y\":991.3333435058594},{\"command\":\"L\",\"x\":259.5,\"y\":993.3333435058594},{\"command\":\"L\",\"x\":252.16668701171875,\"y\":994.0000305175781},{\"command\":\"L\",\"x\":240.83334350585938,\"y\":991.3333435058594},{\"command\":\"L\",\"x\":236.16668701171875,\"y\":988.6667175292969},{\"command\":\"L\",\"x\":230.16668701171875,\"y\":982.6667175292969},{\"command\":\"L\",\"x\":228.83334350585938,\"y\":980.6667175292969},{\"command\":\"L\",\"x\":228.16668701171875,\"y\":978.6667175292969},{\"command\":\"L\",\"x\":228.83334350585938,\"y\":974.6667175292969},{\"command\":\"L\",\"x\":230.16668701171875,\"y\":973.3333435058594},{\"command\":\"L\",\"x\":236.16668701171875,\"y\":971.3333435058594},{\"command\":\"L\",\"x\":240.83334350585938,\"y\":971.3333435058594},{\"command\":\"L\",\"x\":246.16668701171875,\"y\":972.0000305175781},{\"command\":\"L\",\"x\":257.5,\"y\":974.6667175292969},{\"command\":\"L\",\"x\":262.8333435058594,\"y\":976.0000305175781},{\"command\":\"L\",\"x\":269.5,\"y\":977.3333435058594},{\"command\":\"L\",\"x\":276.16668701171875,\"y\":978.6667175292969},{\"command\":\"L\",\"x\":279.5,\"y\":978.0000305175781},{\"command\":\"L\",\"x\":285.5,\"y\":976.6667175292969},{\"command\":\"L\",\"x\":288.16668701171875,\"y\":974.6667175292969},{\"command\":\"L\",\"x\":292.8333740234375,\"y\":969.3333435058594},{\"command\":\"L\",\"x\":293.5,\"y\":966.6667175292969},{\"command\":\"L\",\"x\":294.16668701171875,\"y\":964.0000305175781},{\"command\":\"L\",\"x\":293.5,\"y\":960.0000305175781},{\"command\":\"L\",\"x\":293.5,\"y\":958.0000305175781},{\"command\":\"L\",\"x\":292.8333740234375,\"y\":956.6667175292969},{\"command\":\"L\",\"x\":291.5,\"y\":954.6667175292969},{\"command\":\"L\",\"x\":291.5,\"y\":954.0000305175781},{\"command\":\"L\",\"x\":291.5,\"y\":953.3333435058594},{\"command\":\"L\",\"x\":291.5,\"y\":954.0000305175781},{\"command\":\"L\",\"x\":292.16668701171875,\"y\":954.6667175292969},{\"command\":\"L\",\"x\":292.8333740234375,\"y\":956.0000305175781},{\"command\":\"L\",\"x\":294.16668701171875,\"y\":961.3333435058594},{\"command\":\"L\",\"x\":295.5,\"y\":964.6667175292969},{\"command\":\"L\",\"x\":297.5,\"y\":969.3333435058594},{\"command\":\"L\",\"x\":298.8333740234375,\"y\":970.6667175292969},{\"command\":\"L\",\"x\":301.5,\"y\":970.0000305175781},{\"command\":\"L\",\"x\":304.16668701171875,\"y\":968.6667175292969},{\"command\":\"L\",\"x\":305.5,\"y\":966.0000305175781},{\"command\":\"L\",\"x\":308.8333740234375,\"y\":960.0000305175781},{\"command\":\"L\",\"x\":310.16668701171875,\"y\":957.3333435058594},{\"command\":\"L\",\"x\":310.8333740234375,\"y\":956.0000305175781},{\"command\":\"L\",\"x\":310.8333740234375,\"y\":954.6667175292969},{\"command\":\"L\",\"x\":310.8333740234375,\"y\":954.0000305175781},{\"command\":\"L\",\"x\":311.5,\"y\":956.0000305175781},{\"command\":\"L\",\"x\":312.8333740234375,\"y\":959.3333435058594},{\"command\":\"L\",\"x\":316.16668701171875,\"y\":968.0000305175781},{\"command\":\"L\",\"x\":317.5,\"y\":972.6667175292969},{\"command\":\"L\",\"x\":318.16668701171875,\"y\":977.3333435058594},{\"command\":\"L\",\"x\":319.5,\"y\":983.3333435058594},{\"command\":\"L\",\"x\":319.5,\"y\":986.0000305175781},{\"command\":\"L\",\"x\":319.5,\"y\":988.0000305175781},{\"command\":\"L\",\"x\":318.8333740234375,\"y\":988.0000305175781},{\"command\":\"L\",\"x\":318.16668701171875,\"y\":988.6667175292969},{\"command\":\"L\",\"x\":316.16668701171875,\"y\":987.3333435058594},{\"command\":\"L\",\"x\":314.8333740234375,\"y\":985.3333435058594},{\"command\":\"L\",\"x\":314.16668701171875,\"y\":980.6667175292969},{\"command\":\"L\",\"x\":314.8333740234375,\"y\":974.6667175292969},{\"command\":\"L\",\"x\":316.16668701171875,\"y\":969.3333435058594},{\"command\":\"L\",\"x\":319.5,\"y\":960.6667175292969},{\"command\":\"L\",\"x\":320.16668701171875,\"y\":957.3333435058594},{\"command\":\"L\",\"x\":321.5,\"y\":955.3333435058594},{\"command\":\"L\",\"x\":322.16668701171875,\"y\":953.3333435058594},{\"command\":\"L\",\"x\":322.8333740234375,\"y\":952.6667175292969},{\"command\":\"L\",\"x\":324.16668701171875,\"y\":952.6667175292969},{\"command\":\"L\",\"x\":324.8333740234375,\"y\":953.3333435058594},{\"command\":\"L\",\"x\":326.8333740234375,\"y\":956.0000305175781},{\"command\":\"L\",\"x\":328.16668701171875,\"y\":958.0000305175781},{\"command\":\"L\",\"x\":328.8333740234375,\"y\":960.0000305175781},{\"command\":\"L\",\"x\":329.5,\"y\":962.0000305175781},{\"command\":\"L\",\"x\":330.16668701171875,\"y\":962.0000305175781},{\"command\":\"L\",\"x\":330.16668701171875,\"y\":962.6667175292969},{\"command\":\"L\",\"x\":330.16668701171875,\"y\":962.0000305175781},{\"command\":\"L\",\"x\":330.8333740234375,\"y\":960.0000305175781},{\"command\":\"L\",\"x\":331.5,\"y\":956.0000305175781},{\"command\":\"L\",\"x\":332.8333740234375,\"y\":952.0000305175781},{\"command\":\"L\",\"x\":333.5,\"y\":950.0000305175781},{\"command\":\"L\",\"x\":334.8333740234375,\"y\":948.6667175292969},{\"command\":\"L\",\"x\":335.5,\"y\":948.6667175292969},{\"command\":\"L\",\"x\":336.16668701171875,\"y\":948.6667175292969},{\"command\":\"L\",\"x\":337.5,\"y\":950.6667175292969},{\"command\":\"L\",\"x\":338.8333740234375,\"y\":952.0000305175781},{\"command\":\"L\",\"x\":340.8333740234375,\"y\":954.0000305175781},{\"command\":\"L\",\"x\":341.5,\"y\":954.0000305175781},{\"command\":\"L\",\"x\":342.8333740234375,\"y\":954.6667175292969},{\"command\":\"L\",\"x\":344.8333740234375,\"y\":954.0000305175781},{\"command\":\"L\",\"x\":346.8333740234375,\"y\":952.6667175292969},{\"command\":\"L\",\"x\":349.5,\"y\":949.3333435058594},{\"command\":\"L\",\"x\":350.8333740234375,\"y\":948.0000305175781},{\"command\":\"L\",\"x\":351.5,\"y\":946.6667175292969},{\"command\":\"L\",\"x\":352.8333740234375,\"y\":944.0000305175781},{\"command\":\"L\",\"x\":352.8333740234375,\"y\":943.3333435058594},{\"command\":\"L\",\"x\":354.16668701171875,\"y\":942.0000305175781},{\"command\":\"L\",\"x\":354.8333740234375,\"y\":942.0000305175781},{\"command\":\"L\",\"x\":354.8333740234375,\"y\":942.6667175292969},{\"command\":\"L\",\"x\":354.16668701171875,\"y\":943.3333435058594},{\"command\":\"L\",\"x\":354.16668701171875,\"y\":946.6667175292969},{\"command\":\"L\",\"x\":354.16668701171875,\"y\":950.0000305175781},{\"command\":\"L\",\"x\":355.5,\"y\":956.0000305175781},{\"command\":\"L\",\"x\":356.16668701171875,\"y\":957.3333435058594},{\"command\":\"L\",\"x\":358.16668701171875,\"y\":959.3333435058594},{\"command\":\"L\",\"x\":360.16668701171875,\"y\":958.0000305175781},{\"command\":\"L\",\"x\":364.16668701171875,\"y\":956.0000305175781},{\"command\":\"L\",\"x\":370.8333740234375,\"y\":948.6667175292969},{\"command\":\"L\",\"x\":373.5,\"y\":943.3333435058594},{\"command\":\"L\",\"x\":375.5,\"y\":937.3333435058594},{\"command\":\"L\",\"x\":376.16668701171875,\"y\":933.3333435058594},{\"command\":\"L\",\"x\":376.8333740234375,\"y\":931.3333435058594},{\"command\":\"L\",\"x\":376.8333740234375,\"y\":930.0000305175781},{\"command\":\"L\",\"x\":376.8333740234375,\"y\":929.3333435058594},{\"command\":\"L\",\"x\":376.16668701171875,\"y\":930.0000305175781},{\"command\":\"L\",\"x\":375.5,\"y\":932.0000305175781},{\"command\":\"L\",\"x\":375.5,\"y\":937.3333435058594},{\"command\":\"L\",\"x\":374.8333740234375,\"y\":953.3333435058594},{\"command\":\"L\",\"x\":374.8333740234375,\"y\":960.6667175292969},{\"command\":\"L\",\"x\":375.5,\"y\":966.0000305175781},{\"command\":\"L\",\"x\":377.5,\"y\":974.6667175292969},{\"command\":\"L\",\"x\":378.16668701171875,\"y\":977.3333435058594},{\"command\":\"L\",\"x\":380.8333740234375,\"y\":981.3333435058594},{\"command\":\"L\",\"x\":382.16668701171875,\"y\":982.6667175292969},{\"command\":\"L\",\"x\":383.5,\"y\":982.6667175292969},{\"command\":\"L\",\"x\":387.5,\"y\":982.6667175292969},{\"command\":\"L\",\"x\":389.5,\"y\":980.6667175292969},{\"command\":\"L\",\"x\":392.16668701171875,\"y\":976.6667175292969},{\"command\":\"L\",\"x\":392.8333740234375,\"y\":973.3333435058594},{\"command\":\"L\",\"x\":392.16668701171875,\"y\":970.0000305175781},{\"command\":\"L\",\"x\":388.8333740234375,\"y\":965.3333435058594},{\"command\":\"L\",\"x\":385.5,\"y\":964.0000305175781},{\"command\":\"L\",\"x\":382.8333740234375,\"y\":964.0000305175781},{\"command\":\"L\",\"x\":377.5,\"y\":964.0000305175781},{\"command\":\"L\",\"x\":375.5,\"y\":964.6667175292969},{\"command\":\"L\",\"x\":373.5,\"y\":965.3333435058594},{\"command\":\"L\",\"x\":374.8333740234375,\"y\":963.3333435058594},{\"command\":\"L\",\"x\":376.8333740234375,\"y\":961.3333435058594},{\"command\":\"L\",\"x\":382.16668701171875,\"y\":956.0000305175781},{\"command\":\"L\",\"x\":384.16668701171875,\"y\":953.3333435058594},{\"command\":\"L\",\"x\":387.5,\"y\":950.6667175292969},{\"command\":\"L\",\"x\":388.16668701171875,\"y\":952.0000305175781},{\"command\":\"L\",\"x\":388.16668701171875,\"y\":952.6667175292969},{\"command\":\"L\",\"x\":388.8333740234375,\"y\":954.0000305175781},{\"command\":\"L\",\"x\":388.8333740234375,\"y\":954.6667175292969},{\"command\":\"L\",\"x\":389.5,\"y\":959.3333435058594},{\"command\":\"L\",\"x\":389.5,\"y\":960.6667175292969},{\"command\":\"L\",\"x\":390.16668701171875,\"y\":961.3333435058594},{\"command\":\"L\",\"x\":390.8333740234375,\"y\":960.6667175292969},{\"command\":\"L\",\"x\":393.5,\"y\":958.0000305175781},{\"command\":\"L\",\"x\":396.8333740234375,\"y\":954.0000305175781},{\"command\":\"L\",\"x\":398.16668701171875,\"y\":952.0000305175781},{\"command\":\"L\",\"x\":400.16668701171875,\"y\":949.3333435058594},{\"command\":\"L\",\"x\":400.16668701171875,\"y\":948.6667175292969},{\"command\":\"L\",\"x\":400.8333740234375,\"y\":948.0000305175781},{\"command\":\"L\",\"x\":400.8333740234375,\"y\":947.3333435058594},{\"command\":\"L\",\"x\":401.5,\"y\":948.0000305175781},{\"command\":\"L\",\"x\":402.16668701171875,\"y\":949.3333435058594},{\"command\":\"L\",\"x\":403.5,\"y\":950.6667175292969},{\"command\":\"L\",\"x\":404.8333740234375,\"y\":953.3333435058594},{\"command\":\"L\",\"x\":406.16668701171875,\"y\":954.0000305175781},{\"command\":\"L\",\"x\":407.5,\"y\":954.0000305175781},{\"command\":\"L\",\"x\":410.16668701171875,\"y\":952.0000305175781},{\"command\":\"L\",\"x\":412.16668701171875,\"y\":949.3333435058594},{\"command\":\"L\",\"x\":414.16668701171875,\"y\":944.6667175292969},{\"command\":\"L\",\"x\":414.16668701171875,\"y\":942.0000305175781},{\"command\":\"L\",\"x\":414.16668701171875,\"y\":940.6667175292969},{\"command\":\"L\",\"x\":414.16668701171875,\"y\":938.6667175292969},{\"command\":\"L\",\"x\":414.16668701171875,\"y\":938.0000305175781},{\"command\":\"L\",\"x\":415.5,\"y\":939.3333435058594},{\"command\":\"L\",\"x\":418.8333740234375,\"y\":942.6667175292969},{\"command\":\"L\",\"x\":420.16668701171875,\"y\":945.3333435058594},{\"command\":\"L\",\"x\":421.5,\"y\":946.6667175292969},{\"command\":\"L\",\"x\":422.8333740234375,\"y\":950.0000305175781},{\"command\":\"L\",\"x\":423.5,\"y\":950.6667175292969},{\"command\":\"L\",\"x\":423.5,\"y\":953.3333435058594},{\"command\":\"L\",\"x\":422.8333740234375,\"y\":954.0000305175781},{\"command\":\"L\",\"x\":421.5,\"y\":955.3333435058594},{\"command\":\"L\",\"x\":421.5,\"y\":956.0000305175781},{\"command\":\"L\",\"x\":422.16668701171875,\"y\":954.6667175292969},{\"command\":\"L\",\"x\":422.8333740234375,\"y\":954.0000305175781},{\"command\":\"L\",\"x\":424.8333740234375,\"y\":950.6667175292969},{\"command\":\"L\",\"x\":425.5,\"y\":948.6667175292969},{\"command\":\"L\",\"x\":428.16668701171875,\"y\":945.3333435058594},{\"command\":\"L\",\"x\":428.8333740234375,\"y\":943.3333435058594},{\"command\":\"L\",\"x\":428.8333740234375,\"y\":942.6667175292969},{\"command\":\"L\",\"x\":428.8333740234375,\"y\":943.3333435058594},{\"command\":\"L\",\"x\":428.8333740234375,\"y\":945.3333435058594},{\"command\":\"L\",\"x\":428.8333740234375,\"y\":948.0000305175781},{\"command\":\"L\",\"x\":428.8333740234375,\"y\":950.0000305175781},{\"command\":\"L\",\"x\":429.5,\"y\":953.3333435058594},{\"command\":\"L\",\"x\":430.16668701171875,\"y\":953.3333435058594},{\"command\":\"L\",\"x\":432.8333740234375,\"y\":952.6667175292969},{\"command\":\"L\",\"x\":434.8333740234375,\"y\":950.6667175292969},{\"command\":\"L\",\"x\":437.5,\"y\":948.6667175292969},{\"command\":\"L\",\"x\":440.16668701171875,\"y\":944.6667175292969},{\"command\":\"L\",\"x\":441.5,\"y\":942.6667175292969},{\"command\":\"L\",\"x\":442.16668701171875,\"y\":942.0000305175781},{\"command\":\"L\",\"x\":442.8333740234375,\"y\":941.3333435058594},{\"command\":\"L\",\"x\":442.8333740234375,\"y\":942.0000305175781},{\"command\":\"L\",\"x\":442.8333740234375,\"y\":943.3333435058594},{\"command\":\"L\",\"x\":442.8333740234375,\"y\":944.6667175292969},{\"command\":\"L\",\"x\":442.8333740234375,\"y\":946.0000305175781},{\"command\":\"L\",\"x\":443.5,\"y\":949.3333435058594},{\"command\":\"L\",\"x\":444.16668701171875,\"y\":950.6667175292969},{\"command\":\"L\",\"x\":445.5,\"y\":950.6667175292969},{\"command\":\"L\",\"x\":447.5,\"y\":950.6667175292969},{\"command\":\"L\",\"x\":450.16668701171875,\"y\":948.6667175292969},{\"command\":\"L\",\"x\":452.16668701171875,\"y\":945.3333435058594},{\"command\":\"L\",\"x\":453.5,\"y\":942.6667175292969},{\"command\":\"L\",\"x\":452.8333740234375,\"y\":938.6667175292969},{\"command\":\"L\",\"x\":452.16668701171875,\"y\":937.3333435058594},{\"command\":\"L\",\"x\":450.8333740234375,\"y\":936.6667175292969},{\"command\":\"L\",\"x\":448.8333740234375,\"y\":936.0000305175781},{\"command\":\"L\",\"x\":447.5,\"y\":936.6667175292969},{\"command\":\"L\",\"x\":446.16668701171875,\"y\":937.3333435058594},{\"command\":\"L\",\"x\":445.5,\"y\":938.6667175292969},{\"command\":\"L\",\"x\":445.5,\"y\":939.3333435058594},{\"command\":\"L\",\"x\":446.16668701171875,\"y\":939.3333435058594},{\"command\":\"L\",\"x\":446.8333740234375,\"y\":939.3333435058594},{\"command\":\"L\",\"x\":452.16668701171875,\"y\":937.3333435058594},{\"command\":\"L\",\"x\":454.8333740234375,\"y\":936.6667175292969},{\"command\":\"L\",\"x\":456.8333740234375,\"y\":936.0000305175781},{\"command\":\"L\",\"x\":459.5,\"y\":936.6667175292969},{\"command\":\"L\",\"x\":460.8333740234375,\"y\":937.3333435058594},{\"command\":\"L\",\"x\":461.5,\"y\":938.6667175292969},{\"command\":\"L\",\"x\":462.16668701171875,\"y\":942.0000305175781},{\"command\":\"L\",\"x\":462.16668701171875,\"y\":942.6667175292969},{\"command\":\"L\",\"x\":462.16668701171875,\"y\":944.0000305175781},{\"command\":\"L\",\"x\":462.16668701171875,\"y\":943.3333435058594},{\"command\":\"L\",\"x\":462.16668701171875,\"y\":942.6667175292969},{\"command\":\"L\",\"x\":462.16668701171875,\"y\":941.3333435058594},{\"command\":\"L\",\"x\":462.8333740234375,\"y\":938.6667175292969},{\"command\":\"L\",\"x\":464.16668701171875,\"y\":935.3333435058594},{\"command\":\"L\",\"x\":465.5,\"y\":933.3333435058594},{\"command\":\"L\",\"x\":466.16668701171875,\"y\":932.6667175292969},{\"command\":\"L\",\"x\":467.5,\"y\":933.3333435058594},{\"command\":\"L\",\"x\":469.5,\"y\":935.3333435058594},{\"command\":\"L\",\"x\":470.16668701171875,\"y\":938.6667175292969},{\"command\":\"L\",\"x\":472.8333740234375,\"y\":943.3333435058594},{\"command\":\"L\",\"x\":472.8333740234375,\"y\":944.6667175292969},{\"command\":\"L\",\"x\":474.16668701171875,\"y\":944.6667175292969},{\"command\":\"L\",\"x\":475.5,\"y\":944.0000305175781},{\"command\":\"L\",\"x\":478.16668701171875,\"y\":941.3333435058594},{\"command\":\"L\",\"x\":481.5,\"y\":937.3333435058594},{\"command\":\"L\",\"x\":484.8333740234375,\"y\":934.0000305175781},{\"command\":\"L\",\"x\":488.8333740234375,\"y\":929.3333435058594},{\"command\":\"L\",\"x\":489.5,\"y\":928.0000305175781}]'
- } as HandWrittenSignatureSettings);
- pdfviewer.annotation.addAnnotation("Initial", {
- offset: { x: 200, y: 310 },
- pageNumber: 1,
- width: 200,
- height: 65,
- signatureItem: ['Initial'],
- initialDialogSettings: {
- displayMode: DisplayMode.Text, hideSaveSignature: false
- },
- canSave: false,
- path: 'Syncfusion',
- fontFamily: "Helvetica",
- } as HandWrittenSignatureSettings);
- pdfviewer.annotation.addAnnotation("HandWrittenSignature", {
- offset: { x: 200, y: 500 },
- pageNumber: 1,
- width: 200,
- height: 80,
- signatureItem: ['Signature'],
- signatureDialogSettings: {
- displayMode: DisplayMode.Upload, hideSaveSignature: false
- },
- canSave: true,
- path: "data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wCEAAkGBwgHBgkIBwgKCgkLDRYPDQwMDRsUFRAWIB0iIiAdHx8kKDQsJCYxJx8fLT0tMTU3Ojo6Iys/RD84QzQ5OjcBCgoKDQwNGg8PGjclHyU3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3N//AABEIAIIAqwMBIgACEQEDEQH/xAAbAAEAAgMBAQAAAAAAAAAAAAAABQYBAwQHAv/EAEEQAAEDAwIEAwYDBAYLAAAAAAECAwQABREGIRIxQVETYXEHFCIygZEVQmIjUnKCJCUzU6HRFhc1c5KisbKzwvD/xAAVAQEBAAAAAAAAAAAAAAAAAAAAAf/EABQRAQAAAAAAAAAAAAAAAAAAAAD/2gAMAwEAAhEDEQA/APcaUpQKUpQKUpQKUpQKUpQKVzXGdFtsN2ZPfbYjNJ4nHHDgJFfEK5Q5ttbuUaQhcNxvxUPcklPfflQdlYJxURpe/salthuMNpxEYvuNtKc28VKVcPGB2JB577Vyz7pNuUxy26eWlCml8Mu4OI4kR/0oB2Wvp2T17EJK43qDbloakOqL7m6I7TanHVjOMhCQTjzxgVut89i4Mqdj8Y4VlC0OIKFIUOYKTuOn0INRZZtWkrVLuDpIIHHJlPK4nX1dOJR5kk4A5DYDArVoWbHuVgTPjvF5Ul5xx5zhIBc4jkJyBlI+UHqE0FjpSlApSlApSlApSlApSlApSlApSlArClAczgVmqr7QZLptkezxHi1KvD4ihxKsFprBU6v6IB+pFBTdUKf1uUuFa0WpyUIVoYBx706chchXdKEhZSPLNXXVTsOw6NdjNxkvJS0iLEidHnDhLaPME4z5ZzVHk6kTHu1vTpyE1Jf8L3Oww1ZDaGc4XJXjklXDhP6UlWd63ybrL1rq1mNa1hLcAKEeQgcTbbvyuScHnw5KGweZJPIVRYoDT6okfSlnfWhmCwlu43FGAUKxu2j9atyT+UHvirZBixLZBaiQ2kR4zCMIQnZKRWuz2yLZ7czBgo4GWh13KidypR6qJJJPevOvaFqCXqC4HSGmzxlxQbmvJJAPXwwe2M8R9R3FQc1xde9qOqEW+C44jTFuVxPvtnHvCvI+e4HYZPavV4sdmLGajxmktMtJCENpGAkDkBUbpixRNO2dm3Q0/Cj4lrPNazzUf/uWKlkkEZByKDNKUoFKUoFKUoFKUoFKwahZ2p7dFfMZhTs+ZnHu0FHirB/VjZHqogUE3WOIYzUApzUlwBKUxLOwQCFL/bv467DCEn6qr5i6btk5ht+ZOlXlCxlLkiTxtr8whGG8fy0HdK1FZorymHbjH8dPNlC+NY/lTk1XNTe0m12SCXBFnrkOpX7uh6ItkKUBzPGEnhzjcA1bokKLAZS1BjMx20jAQy2EjHoK85i6PuOovaFNv+pWPDt8J/ggMKUCXktq+BX8HNXmT2G9HLF1trSyW2GrUFgbluT3eCIRIS26tS/iSjwgCcDl35Z3qBlSb/edVcN58e4tojKafiW2MfDQpRBXF8X5UnZPGsq5ZAr0TV2j52oL9Anx7wqCxHYWypLbeXAFH4lNqz8KiNs8x0qy2e1QrNbmYFuZDUdkYSkHOT1JPUk7k0HhsG6u3SHPeisLFwnucE95hOPdmc8DUNhR/OrCR5Ak9NvX9F6cRp20IZIR706AX1I5DA2Qn9KRsPvzJqGmXG0N6pfk3KTEhW2ykBsLKUh2Y4nKlY6lKCAOuVmuafry5T5rFs0vaHQ5JSVIm3FBaQhvq7wfNwjurAPnQZ9pms1WtlVmtDqRcnxwrdK+ERknqT0Vj7DftUN7OA1BilywWx65TnU8PjOAtMsJJzlbhBypXMhPFgADbrF6B0sNSagkzrk+5cbTDeUQ5IHwy3T+bHbYE/y9yK9sabQ02lDSAhCRhKUjAAoIaFaZ8gh++zg8vIKYsUFphB+/Ev8AmONuVTYGBgcqzSoFKUoFKUoFKUoFcV4mOW+2yJbEN6Y40gqTHYGVuHsK7awRmg8rd/1gameJn2n8Ptv5YQn+78f+8cSFLI57AJ8/Oy2eyalhxkRo79htEVI2YgQ1uEH+JSgD68NW/FQ2r7yqxWCTNZR4knZqM1/ePLPChP3IoKRc4l91FqJ3TkfUst2Aygfiz7TDTaEA8mkEAnjPXfAH2NohaPehR2Y8bVF9QwygNttJMcJSkDAAAZru0hY02CyMxFK8SWv9rMfPN55W6lE9d9vQCpughmrLNZVxI1Fc19kupYUn/wAYP+NdQVMjD+khEhsfM40nhUPMp3z9D9K76xQRN/uNxjWj3qwW9F0krKfDa8YISUn83F25VVocf2kXdR/EJlrskZQxiM14ryR5ZJA9c/SrHo973m2SFjPhCfKSzn9wPLCceXbyxUpPmRrdDemTHUMx2UFbjizgJAoPGrbpyJBRPvEi53STfhc34MRCVMrckLSvCT8aFEEjBUQdhUlfbHcrcItuYvc+VqbUBDcpf7PgDSfnJPBxBCQcDBGcnlUn7Om4kly+aonhbPBPkeGiRsIqCEqUcHkSMZ9K5bRqqMbjJ1E5FkTrndFe72m2sAF1MVBI4iD8iVKyoqO2w7VRbrJpRdkt7MGDe56GGhgJ8Njn1P8AZ9fPNd5gXNKQEXt0q7uRmz/0AqFja29znGFq2EmxuqaLzDrkhK2XUj5gF7YUNvhqsX+66nvtqlarsrsmDa7aUvQIqQULuCUqHiLdGPk4c8I686g9BMK8/lu7IxyzCB/9q4bpJkWeP7xd9TQojGeHjdipRk9hlW5/yrF21raoEGM/HcM+TMSDEhwyFuv55YA5DfcnYVx2fTD9wm/jeskMS7goYYhY42IKeyQeajtlR68tqCUjtXWVHakQL/FejupC23PcwsLSeoKVgEVsLWomsFMm1yAM5C2HGir6hSsfY1B6ILViuV50utSWkRpHvNvQTgGO6OLCe/CviB7bVMXjVMC2vCG0VTrk4MtQIeHHleZHJCf1KwKDTcNSqskB2XqSCYjTQ3fYcDzSj0SOSgSdhlP1r50FqherbM5cVQVQwmQtkNlfFxBON8/XB8wa4JNsfUzJ1Jq/wXFQWnH4tvbPEzFCUk8RyPjd2+bkOQ7nHs0iSLRY7dBkKUoy4gnYV8yHFEFxPoCtOPU+VBdaUpQKUpQKqF4H4xry027YxrYyq4yB3cPwND/vV9BVvNVTRf8ATrhqC9KIUJU4x2T2aZHAB/xcZ+tBa6UpQKr+r7lIjRWrdaz/AFrcleBF2z4W3xOq8kDf1wOtSV5ukSz216fOc4GGhk4GSo9EpHVROwHU1DaWtst2S9qG+N8Nzlp4WWSc+6R85S0P1dVHqfSgm7Rb2bTbItvjcXhR2g2kqOVKx1J6k8zVbfP+leoSxkGx2h7LxztJlD8h6FCOZ/VjtXdq25ymWY9ptSv61uSi2yr+4Rj43T5JHLzIrRfHIujtCy/dthFiqQyD8zrqhgZ7qUo/40FJsbL2q7W/YYchUdqdMlXC5SEDJQhbq/CbHTKuEEj90edXfRWi4Gk4yvAUqTMdADsp35ikckj91I7Vn2e6bTpnTUaG5hUtweLJcHVw9PQch6VZ6Dhudot12aQ1dIEWa2hXEhEllLgSe4Cga7OBPBwYHDjGMbYr6pQRNp03ZrM669arVChuu/OphkJJ8tunlUt0pSgjLxYLVew2LtAYleEctqcT8SPRXMfevq0WO12VtTdpgRoiVHKy02AVnuo8z9akaUEBr2O9L0beI8dtx1xyMpIQ2kqUodQANycZrk07JVeLyq4R2HmrZCiiJFW62UF9SilS1AHfhHAgA7b8XlVqIzWMb0GaUpQKUpQc9wkCJAkyVcmWlOH6AmoL2bsqZ0LZi4SXHowfcUeZU58ZP3VUpqNlcjT1zYaGVuRHUJA6koIFcuiZDcnR9lea+RcFkgdvgG1BN1omS48GM7JluoZYaSVuOLOEpSOZJrXdLjEtUF2bcJLceM0MrccOAP8AP0qqR4czWk1qfd2HItgZWFxLe6MLlKHJ14dE9kH1NBttDEjVVzYvtxaUza4547ZCdThSz0kLHQ4+UdAc86tcmQzDjOyJLiW2WUFxxxWwSkDJJ+lbQAOVVPU6vx29xdLsqPgBKZdzIG3ghWEtE9CtX/Kk0GzSTDlwekamnNlL08BMNCs5ZijdAweRVniPqB0qsarce1XrezWlghVsiTCp3B/tFtDicPok8CP4lq7VedSzXYFr8OBwpmyVCPEyPhStQPxEfupAKj5JNVz2eW9t2RIvLJWqGlsQbetXN1pCsuPerjmVZ6gCqLyBis0pUClKUClKUClKUClKUClKUClKUGCMjFVNqw36yeOxpmbb/wAPdcU43GntLPuqlHJCFJO6ckkJI2zzq20oKtE0iZE5q46mnKu8to8TLSmwiMwe6G99/wBSiTVoGwrNcV4uUez2yTcJiiGY7ZWrAyT2AHUk7D1oMXq6R7PapNxlk+FHQVkAZKj0SB1JOAPWozRtqfhW5ybcf9qXJz3qZk54FEbNg9kDCfoT1qGi++alvEGJdGwlq2hE+e0FApTKVu0we4Qk8R7nhNXkcqCs6q0zK1DcIWbkqNbW23ESmWk4ceCsZAV+UEAgnngnvViix2okZqPHbS2y0kIbQkYCUjYAVtpQKUpQKUpQKUpQKUpQKUpQKUpQKUpQKUpQKouv7mwi7W2HJBdZiJNxXHSd5DoUER2gOpU4rI/gq9VxO2i3PXRu6OwmFz2m/DbkKQCtKck4B+p+9BxaTtblqtQEvhM+UtUqatO4U8vdW/YbJHkkVNVgDFZoFKUoFKUoFKUoFKUoFKUoFKUoFKUoFKUoFKUoFKUoFKUoFKUoFKUoFKUoFKUoFKUoFKUoFKUoP//Z"
- } as HandWrittenSignatureSettings);
- }
- });
-}
-
-{% endhighlight %}
-{% endtabs %}
-
-[View sample in GitHub](https://github.com/SyncfusionExamples/typescript-pdf-viewer-examples/tree/master/How%20to/Add%20Handwritten%20Signature%20Programmatically)
-
-## Editing the properties of handwritten signature
-
-The stroke color, border thickness, and opacity of the handwritten signature can be edited using the edit stroke color tool, edit thickness tool, and edit opacity tool in the annotation toolbar.
-
-### Editing stroke color
-
-The stroke color of the annotation can be edited using the color palette provided in the Edit Stroke Color tool.
-
-
-
-### Editing thickness
-
-The thickness of the border of the annotation can be edited using the range slider provided in the Edit Thickness tool.
-
-
-
-### Editing opacity
-
-The opacity of the annotation can be edited using the range slider provided in the Edit Opacity tool.
-
-
\ No newline at end of file
diff --git a/ej2-javascript/pdfviewer/ts/annotations/stamp-annotation.md b/ej2-javascript/pdfviewer/ts/annotations/stamp-annotation.md
deleted file mode 100644
index b35828009..000000000
--- a/ej2-javascript/pdfviewer/ts/annotations/stamp-annotation.md
+++ /dev/null
@@ -1,422 +0,0 @@
----
-layout: post
-title: Stamp annotation in ##Platform_Name## PDF Viewer control | Syncfusion
-description: Learn here all about Stamp annotation in Syncfusion ##Platform_Name## PDF Viewer control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: PDF Viewer
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Stamp annotation in ##Platform_Name## PDF Viewer control
-
-The PDF Viewer control provides options to add, edit, delete, and rotate the following stamp annotation in the PDF documents:
-
-* Dynamic
-* Sign Here
-* Standard Business
-* Custom Stamp
-
-
-
-## Adding stamp annotations to the PDF document
-
-The stamp annotations can be added to the PDF document using the annotation toolbar.
-
-* Click the **Edit Annotation** button in the PDF Viewer toolbar. A toolbar appears below it.
-* Click the **Stamp Annotation** drop-down button. A drop-down pop-up will appear and shows the stamp annotations to be added.
-
-
-
-* Select the annotation type to be added to the page in the pop-up.
-
-
-
-* You can add the annotation over the pages of the PDF document.
-
-N> While you're in the pan mode, for navigating through the document, and you click on the stamp annotation button to add the stamp annotation , the PDF Viewer control will smoothly transition to text select mode. This seamless transition ensures a fluid experience when switching between different interaction modes within the PDF Viewer interface.
-
-Refer to the following code sample to switch to the stamp annotation mode.
-
-```html
-
-
-
-```
-
-{% tabs %}
-{% highlight ts tabtitle="Standalone" %}
-
-import { PdfViewer, Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, TextSearch, FormFields, FormDesigner, PageOrganizer, SignStampItem, StandardBusinessStampItem, DynamicStampItem,} from '@syncfusion/ej2-pdfviewer';
-
-PdfViewer.Inject(Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, TextSearch, FormFields, FormDesigner, PageOrganizer);
-
-let pdfviewer: PdfViewer = new PdfViewer();
-pdfviewer.documentPath = "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf";
-pdfviewer.resourceUrl = "https://cdn.syncfusion.com/ej2/25.1.35/dist/ej2-pdfviewer-lib";
-pdfviewer.appendTo('#PdfViewer');
-
-let dynamicStamp = document.getElementById('dynamicStamp');
-if (dynamicStamp) {
- dynamicStamp.addEventListener('click', function () {
- if (pdfviewer) {
- pdfviewer.annotationModule.setAnnotationMode('Stamp', DynamicStampItem.NotApproved);
- }
- });
-}
-let signStamp = document.getElementById('signStamp');
-if (signStamp) {
- signStamp.addEventListener('click', function () {
- if (pdfviewer) {
- pdfviewer.annotationModule.setAnnotationMode('Stamp', undefined, SignStampItem.Witness);
- }
- });
-}
-let standardBusinessStamp = document.getElementById('standardBusinessStamp');
-if (standardBusinessStamp) {
- standardBusinessStamp.addEventListener('click', function () {
- if (pdfviewer) {
- pdfviewer.annotationModule.setAnnotationMode('Stamp', undefined, undefined, StandardBusinessStampItem.Approved);
- }
- });
-}
-let customStamp = document.getElementById('customStamp');
-if (customStamp) {
- customStamp.addEventListener('click', function () {
- if (pdfviewer) {
- pdfviewer.annotation.addAnnotation('Stamp',
- {
- offset: { x: 100, y: 440 },
- width: 46,
- author: 'Guest',
- height: 100,
- isLock: true,
- pageNumber: 1,
- customStamps: [
- {
- customStampName: "Image",
- customStampImageSource:
- "data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wCEAAkGBwgHBgkIBwgKCgkLDRYPDQwMDRsUFRAWIB0iIiAdHx8kKDQsJCYxJx8fLT0tMTU3Ojo6Iys/RD84QzQ5OjcBCgoKDQwNGg8PGjclHyU3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3N//AABEIAIIAqwMBIgACEQEDEQH/xAAbAAEAAgMBAQAAAAAAAAAAAAAABQYBAwQHAv/EAEEQAAEDAwIEAwYDBAYLAAAAAAECAwQABREGIRIxQVETYXEHFCIygZEVQmIjUnKCJCUzU6HRFhc1c5KisbKzwvD/xAAVAQEBAAAAAAAAAAAAAAAAAAAAAf/EABQRAQAAAAAAAAAAAAAAAAAAAAD/2gAMAwEAAhEDEQA/APcaUpQKUpQKUpQKUpQKUpQKVzXGdFtsN2ZPfbYjNJ4nHHDgJFfEK5Q5ttbuUaQhcNxvxUPcklPfflQdlYJxURpe/salthuMNpxEYvuNtKc28VKVcPGB2JB577Vyz7pNuUxy26eWlCml8Mu4OI4kR/0oB2Wvp2T17EJK43qDbloakOqL7m6I7TanHVjOMhCQTjzxgVut89i4Mqdj8Y4VlC0OIKFIUOYKTuOn0INRZZtWkrVLuDpIIHHJlPK4nX1dOJR5kk4A5DYDArVoWbHuVgTPjvF5Ul5xx5zhIBc4jkJyBlI+UHqE0FjpSlApSlApSlApSlApSlApSlApSlArClAczgVmqr7QZLptkezxHi1KvD4ihxKsFprBU6v6IB+pFBTdUKf1uUuFa0WpyUIVoYBx706chchXdKEhZSPLNXXVTsOw6NdjNxkvJS0iLEidHnDhLaPME4z5ZzVHk6kTHu1vTpyE1Jf8L3Oww1ZDaGc4XJXjklXDhP6UlWd63ybrL1rq1mNa1hLcAKEeQgcTbbvyuScHnw5KGweZJPIVRYoDT6okfSlnfWhmCwlu43FGAUKxu2j9atyT+UHvirZBixLZBaiQ2kR4zCMIQnZKRWuz2yLZ7czBgo4GWh13KidypR6qJJJPevOvaFqCXqC4HSGmzxlxQbmvJJAPXwwe2M8R9R3FQc1xde9qOqEW+C44jTFuVxPvtnHvCvI+e4HYZPavV4sdmLGajxmktMtJCENpGAkDkBUbpixRNO2dm3Q0/Cj4lrPNazzUf/uWKlkkEZByKDNKUoFKUoFKUoFKUoFKwahZ2p7dFfMZhTs+ZnHu0FHirB/VjZHqogUE3WOIYzUApzUlwBKUxLOwQCFL/bv467DCEn6qr5i6btk5ht+ZOlXlCxlLkiTxtr8whGG8fy0HdK1FZorymHbjH8dPNlC+NY/lTk1XNTe0m12SCXBFnrkOpX7uh6ItkKUBzPGEnhzjcA1bokKLAZS1BjMx20jAQy2EjHoK85i6PuOovaFNv+pWPDt8J/ggMKUCXktq+BX8HNXmT2G9HLF1trSyW2GrUFgbluT3eCIRIS26tS/iSjwgCcDl35Z3qBlSb/edVcN58e4tojKafiW2MfDQpRBXF8X5UnZPGsq5ZAr0TV2j52oL9Anx7wqCxHYWypLbeXAFH4lNqz8KiNs8x0qy2e1QrNbmYFuZDUdkYSkHOT1JPUk7k0HhsG6u3SHPeisLFwnucE95hOPdmc8DUNhR/OrCR5Ak9NvX9F6cRp20IZIR706AX1I5DA2Qn9KRsPvzJqGmXG0N6pfk3KTEhW2ykBsLKUh2Y4nKlY6lKCAOuVmuafry5T5rFs0vaHQ5JSVIm3FBaQhvq7wfNwjurAPnQZ9pms1WtlVmtDqRcnxwrdK+ERknqT0Vj7DftUN7OA1BilywWx65TnU8PjOAtMsJJzlbhBypXMhPFgADbrF6B0sNSagkzrk+5cbTDeUQ5IHwy3T+bHbYE/y9yK9sabQ02lDSAhCRhKUjAAoIaFaZ8gh++zg8vIKYsUFphB+/Ev8AmONuVTYGBgcqzSoFKUoFKUoFKUoFcV4mOW+2yJbEN6Y40gqTHYGVuHsK7awRmg8rd/1gameJn2n8Ptv5YQn+78f+8cSFLI57AJ8/Oy2eyalhxkRo79htEVI2YgQ1uEH+JSgD68NW/FQ2r7yqxWCTNZR4knZqM1/ePLPChP3IoKRc4l91FqJ3TkfUst2Aygfiz7TDTaEA8mkEAnjPXfAH2NohaPehR2Y8bVF9QwygNttJMcJSkDAAAZru0hY02CyMxFK8SWv9rMfPN55W6lE9d9vQCpughmrLNZVxI1Fc19kupYUn/wAYP+NdQVMjD+khEhsfM40nhUPMp3z9D9K76xQRN/uNxjWj3qwW9F0krKfDa8YISUn83F25VVocf2kXdR/EJlrskZQxiM14ryR5ZJA9c/SrHo973m2SFjPhCfKSzn9wPLCceXbyxUpPmRrdDemTHUMx2UFbjizgJAoPGrbpyJBRPvEi53STfhc34MRCVMrckLSvCT8aFEEjBUQdhUlfbHcrcItuYvc+VqbUBDcpf7PgDSfnJPBxBCQcDBGcnlUn7Om4kly+aonhbPBPkeGiRsIqCEqUcHkSMZ9K5bRqqMbjJ1E5FkTrndFe72m2sAF1MVBI4iD8iVKyoqO2w7VRbrJpRdkt7MGDe56GGhgJ8Njn1P8AZ9fPNd5gXNKQEXt0q7uRmz/0AqFja29znGFq2EmxuqaLzDrkhK2XUj5gF7YUNvhqsX+66nvtqlarsrsmDa7aUvQIqQULuCUqHiLdGPk4c8I686g9BMK8/lu7IxyzCB/9q4bpJkWeP7xd9TQojGeHjdipRk9hlW5/yrF21raoEGM/HcM+TMSDEhwyFuv55YA5DfcnYVx2fTD9wm/jeskMS7goYYhY42IKeyQeajtlR68tqCUjtXWVHakQL/FejupC23PcwsLSeoKVgEVsLWomsFMm1yAM5C2HGir6hSsfY1B6ILViuV50utSWkRpHvNvQTgGO6OLCe/CviB7bVMXjVMC2vCG0VTrk4MtQIeHHleZHJCf1KwKDTcNSqskB2XqSCYjTQ3fYcDzSj0SOSgSdhlP1r50FqherbM5cVQVQwmQtkNlfFxBON8/XB8wa4JNsfUzJ1Jq/wXFQWnH4tvbPEzFCUk8RyPjd2+bkOQ7nHs0iSLRY7dBkKUoy4gnYV8yHFEFxPoCtOPU+VBdaUpQKUpQKqF4H4xry027YxrYyq4yB3cPwND/vV9BVvNVTRf8ATrhqC9KIUJU4x2T2aZHAB/xcZ+tBa6UpQKr+r7lIjRWrdaz/AFrcleBF2z4W3xOq8kDf1wOtSV5ukSz216fOc4GGhk4GSo9EpHVROwHU1DaWtst2S9qG+N8Nzlp4WWSc+6R85S0P1dVHqfSgm7Rb2bTbItvjcXhR2g2kqOVKx1J6k8zVbfP+leoSxkGx2h7LxztJlD8h6FCOZ/VjtXdq25ymWY9ptSv61uSi2yr+4Rj43T5JHLzIrRfHIujtCy/dthFiqQyD8zrqhgZ7qUo/40FJsbL2q7W/YYchUdqdMlXC5SEDJQhbq/CbHTKuEEj90edXfRWi4Gk4yvAUqTMdADsp35ikckj91I7Vn2e6bTpnTUaG5hUtweLJcHVw9PQch6VZ6Dhudot12aQ1dIEWa2hXEhEllLgSe4Cga7OBPBwYHDjGMbYr6pQRNp03ZrM669arVChuu/OphkJJ8tunlUt0pSgjLxYLVew2LtAYleEctqcT8SPRXMfevq0WO12VtTdpgRoiVHKy02AVnuo8z9akaUEBr2O9L0beI8dtx1xyMpIQ2kqUodQANycZrk07JVeLyq4R2HmrZCiiJFW62UF9SilS1AHfhHAgA7b8XlVqIzWMb0GaUpQKUpQc9wkCJAkyVcmWlOH6AmoL2bsqZ0LZi4SXHowfcUeZU58ZP3VUpqNlcjT1zYaGVuRHUJA6koIFcuiZDcnR9lea+RcFkgdvgG1BN1omS48GM7JluoZYaSVuOLOEpSOZJrXdLjEtUF2bcJLceM0MrccOAP8AP0qqR4czWk1qfd2HItgZWFxLe6MLlKHJ14dE9kH1NBttDEjVVzYvtxaUza4547ZCdThSz0kLHQ4+UdAc86tcmQzDjOyJLiW2WUFxxxWwSkDJJ+lbQAOVVPU6vx29xdLsqPgBKZdzIG3ghWEtE9CtX/Kk0GzSTDlwekamnNlL08BMNCs5ZijdAweRVniPqB0qsarce1XrezWlghVsiTCp3B/tFtDicPok8CP4lq7VedSzXYFr8OBwpmyVCPEyPhStQPxEfupAKj5JNVz2eW9t2RIvLJWqGlsQbetXN1pCsuPerjmVZ6gCqLyBis0pUClKUClKUClKUClKUClKUClKUGCMjFVNqw36yeOxpmbb/wAPdcU43GntLPuqlHJCFJO6ckkJI2zzq20oKtE0iZE5q46mnKu8to8TLSmwiMwe6G99/wBSiTVoGwrNcV4uUez2yTcJiiGY7ZWrAyT2AHUk7D1oMXq6R7PapNxlk+FHQVkAZKj0SB1JOAPWozRtqfhW5ybcf9qXJz3qZk54FEbNg9kDCfoT1qGi++alvEGJdGwlq2hE+e0FApTKVu0we4Qk8R7nhNXkcqCs6q0zK1DcIWbkqNbW23ESmWk4ceCsZAV+UEAgnngnvViix2okZqPHbS2y0kIbQkYCUjYAVtpQKUpQKUpQKUpQKUpQKUpQKUpQKUpQKUpQKouv7mwi7W2HJBdZiJNxXHSd5DoUER2gOpU4rI/gq9VxO2i3PXRu6OwmFz2m/DbkKQCtKck4B+p+9BxaTtblqtQEvhM+UtUqatO4U8vdW/YbJHkkVNVgDFZoFKUoFKUoFKUoFKUoFKUoFKUoFKUoFKUoFKUoFKUoFKUoFKUoFKUoFKUoFKUoFKUoFKUoFKUoP//Z"
- }
- ]
- } as CustomStampSettings);
- }
- });
-}
-
-{% endhighlight %}
-{% highlight ts tabtitle="Server-Backed" %}
-
-import { PdfViewer, Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, TextSearch, FormFields, FormDesigner, PageOrganizer, SignStampItem, StandardBusinessStampItem, DynamicStampItem,} from '@syncfusion/ej2-pdfviewer';
-
-PdfViewer.Inject(Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, TextSearch, FormFields, FormDesigner, PageOrganizer);
-
-let pdfviewer: PdfViewer = new PdfViewer();
-pdfviewer.documentPath = "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf";
-pdfviewer.serviceUrl = 'https://services.syncfusion.com/js/production/api/pdfviewer';
-pdfviewer.appendTo('#PdfViewer');
-
-let dynamicStamp = document.getElementById('dynamicStamp');
-if (dynamicStamp) {
- dynamicStamp.addEventListener('click', function () {
- if (pdfviewer) {
- pdfviewer.annotationModule.setAnnotationMode('Stamp', DynamicStampItem.NotApproved);
- }
- });
-}
-let signStamp = document.getElementById('signStamp');
-if (signStamp) {
- signStamp.addEventListener('click', function () {
- if (pdfviewer) {
- pdfviewer.annotationModule.setAnnotationMode('Stamp', undefined, SignStampItem.Witness);
- }
- });
-}
-let standardBusinessStamp = document.getElementById('standardBusinessStamp');
-if (standardBusinessStamp) {
- standardBusinessStamp.addEventListener('click', function () {
- if (pdfviewer) {
- pdfviewer.annotationModule.setAnnotationMode('Stamp', undefined, undefined, StandardBusinessStampItem.Approved);
- }
- });
-}
-
-{% endhighlight %}
-{% endtabs %}
-
-## Adding custom stamp to the PDF document
-
-* Click the **Edit Annotation** button in the PDF Viewer toolbar. A toolbar appears below it.
-* Click the **Stamp Annotation** drop-down button. A drop-down pop-up will appear and shows the stamp annotations to be added.
-* Click the Custom Stamp button.
-
-
-
-* The file explorer dialog will appear, choose the image and then add the image to the PDF page.
-
->The JPG and JPEG image format is only supported in the custom stamp annotations.
-
-## Adding a Stamp annotation to the PDF document Programmatically
-
-With the PDF Viewer library, you can add a Stamp annotation to the PDF Viewer control programmatically using the [**addAnnotation()**](https://helpej2.syncfusion.com/documentation/api/pdfviewer/annotation/#annotation) method.
-
-Here's a example of how you can utilize the **addAnnotation()** method to include a Stamp annotation programmatically:
-
-```html
-
-
-
-
-```
-{% tabs %}
-{% highlight ts tabtitle="Standalone" %}
-
-import { PdfViewer, Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, TextSearch, FormFields, FormDesigner, PageOrganizer, StampSettings, DynamicStampItem} from '@syncfusion/ej2-pdfviewer';
-
-PdfViewer.Inject(Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, TextSearch, FormFields, FormDesigner, PageOrganizer);
-
-let pdfviewer: PdfViewer = new PdfViewer();
-pdfviewer.documentPath = "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf";
-pdfviewer.resourceUrl = "https://cdn.syncfusion.com/ej2/25.1.35/dist/ej2-pdfviewer-lib";
-pdfviewer.appendTo('#PdfViewer');
-
-let dynamicStamp = document.getElementById('dynamicStamp');
-if (dynamicStamp) {
- dynamicStamp.addEventListener('click', function () {
- if (pdfviewer) {
- pdfviewer.annotation.addAnnotation("Stamp", {
- offset: { x: 200, y: 140 },
- pageNumber: 1
- } as StampSettings, DynamicStampItem.Approved);
- }
- });
-}
-let signStamp = document.getElementById('signStamp');
-if (signStamp) {
- signStamp.addEventListener('click', function () {
- if (pdfviewer) {
- pdfviewer.annotation.addAnnotation("Stamp", {
- offset: { x: 200, y: 240 },
- pageNumber: 1
- } as StampSettings, undefined, SignStampItem.Witness);
- }
- });
-}
-let standardBusinessStamp = document.getElementById('standardBusinessStamp');
-if (standardBusinessStamp) {
- standardBusinessStamp.addEventListener('click', function () {
- if (pdfviewer) {
- pdfviewer.annotation.addAnnotation("Stamp", {
- offset: { x: 200, y: 340 },
- pageNumber: 1
- } as StampSettings, undefined, undefined, StandardBusinessStampItem.Approved);
- }
- });
-}
-
-let customStamp = document.getElementById('customStamp');
-if (customStamp) {
- customStamp.addEventListener('click', function () {
- if (pdfviewer) {
- pdfviewer.annotation.addAnnotation('Stamp',
- {
- offset: { x: 100, y: 440 },
- width: 46,
- author: 'Guest',
- height: 100,
- isLock: true,
- pageNumber: 1,
- customStamps: [
- {
- customStampName: "Image",
- customStampImageSource:
- "data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wCEAAkGBwgHBgkIBwgKCgkLDRYPDQwMDRsUFRAWIB0iIiAdHx8kKDQsJCYxJx8fLT0tMTU3Ojo6Iys/RD84QzQ5OjcBCgoKDQwNGg8PGjclHyU3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3N//AABEIAIIAqwMBIgACEQEDEQH/xAAbAAEAAgMBAQAAAAAAAAAAAAAABQYBAwQHAv/EAEEQAAEDAwIEAwYDBAYLAAAAAAECAwQABREGIRIxQVETYXEHFCIygZEVQmIjUnKCJCUzU6HRFhc1c5KisbKzwvD/xAAVAQEBAAAAAAAAAAAAAAAAAAAAAf/EABQRAQAAAAAAAAAAAAAAAAAAAAD/2gAMAwEAAhEDEQA/APcaUpQKUpQKUpQKUpQKUpQKVzXGdFtsN2ZPfbYjNJ4nHHDgJFfEK5Q5ttbuUaQhcNxvxUPcklPfflQdlYJxURpe/salthuMNpxEYvuNtKc28VKVcPGB2JB577Vyz7pNuUxy26eWlCml8Mu4OI4kR/0oB2Wvp2T17EJK43qDbloakOqL7m6I7TanHVjOMhCQTjzxgVut89i4Mqdj8Y4VlC0OIKFIUOYKTuOn0INRZZtWkrVLuDpIIHHJlPK4nX1dOJR5kk4A5DYDArVoWbHuVgTPjvF5Ul5xx5zhIBc4jkJyBlI+UHqE0FjpSlApSlApSlApSlApSlApSlApSlArClAczgVmqr7QZLptkezxHi1KvD4ihxKsFprBU6v6IB+pFBTdUKf1uUuFa0WpyUIVoYBx706chchXdKEhZSPLNXXVTsOw6NdjNxkvJS0iLEidHnDhLaPME4z5ZzVHk6kTHu1vTpyE1Jf8L3Oww1ZDaGc4XJXjklXDhP6UlWd63ybrL1rq1mNa1hLcAKEeQgcTbbvyuScHnw5KGweZJPIVRYoDT6okfSlnfWhmCwlu43FGAUKxu2j9atyT+UHvirZBixLZBaiQ2kR4zCMIQnZKRWuz2yLZ7czBgo4GWh13KidypR6qJJJPevOvaFqCXqC4HSGmzxlxQbmvJJAPXwwe2M8R9R3FQc1xde9qOqEW+C44jTFuVxPvtnHvCvI+e4HYZPavV4sdmLGajxmktMtJCENpGAkDkBUbpixRNO2dm3Q0/Cj4lrPNazzUf/uWKlkkEZByKDNKUoFKUoFKUoFKUoFKwahZ2p7dFfMZhTs+ZnHu0FHirB/VjZHqogUE3WOIYzUApzUlwBKUxLOwQCFL/bv467DCEn6qr5i6btk5ht+ZOlXlCxlLkiTxtr8whGG8fy0HdK1FZorymHbjH8dPNlC+NY/lTk1XNTe0m12SCXBFnrkOpX7uh6ItkKUBzPGEnhzjcA1bokKLAZS1BjMx20jAQy2EjHoK85i6PuOovaFNv+pWPDt8J/ggMKUCXktq+BX8HNXmT2G9HLF1trSyW2GrUFgbluT3eCIRIS26tS/iSjwgCcDl35Z3qBlSb/edVcN58e4tojKafiW2MfDQpRBXF8X5UnZPGsq5ZAr0TV2j52oL9Anx7wqCxHYWypLbeXAFH4lNqz8KiNs8x0qy2e1QrNbmYFuZDUdkYSkHOT1JPUk7k0HhsG6u3SHPeisLFwnucE95hOPdmc8DUNhR/OrCR5Ak9NvX9F6cRp20IZIR706AX1I5DA2Qn9KRsPvzJqGmXG0N6pfk3KTEhW2ykBsLKUh2Y4nKlY6lKCAOuVmuafry5T5rFs0vaHQ5JSVIm3FBaQhvq7wfNwjurAPnQZ9pms1WtlVmtDqRcnxwrdK+ERknqT0Vj7DftUN7OA1BilywWx65TnU8PjOAtMsJJzlbhBypXMhPFgADbrF6B0sNSagkzrk+5cbTDeUQ5IHwy3T+bHbYE/y9yK9sabQ02lDSAhCRhKUjAAoIaFaZ8gh++zg8vIKYsUFphB+/Ev8AmONuVTYGBgcqzSoFKUoFKUoFKUoFcV4mOW+2yJbEN6Y40gqTHYGVuHsK7awRmg8rd/1gameJn2n8Ptv5YQn+78f+8cSFLI57AJ8/Oy2eyalhxkRo79htEVI2YgQ1uEH+JSgD68NW/FQ2r7yqxWCTNZR4knZqM1/ePLPChP3IoKRc4l91FqJ3TkfUst2Aygfiz7TDTaEA8mkEAnjPXfAH2NohaPehR2Y8bVF9QwygNttJMcJSkDAAAZru0hY02CyMxFK8SWv9rMfPN55W6lE9d9vQCpughmrLNZVxI1Fc19kupYUn/wAYP+NdQVMjD+khEhsfM40nhUPMp3z9D9K76xQRN/uNxjWj3qwW9F0krKfDa8YISUn83F25VVocf2kXdR/EJlrskZQxiM14ryR5ZJA9c/SrHo973m2SFjPhCfKSzn9wPLCceXbyxUpPmRrdDemTHUMx2UFbjizgJAoPGrbpyJBRPvEi53STfhc34MRCVMrckLSvCT8aFEEjBUQdhUlfbHcrcItuYvc+VqbUBDcpf7PgDSfnJPBxBCQcDBGcnlUn7Om4kly+aonhbPBPkeGiRsIqCEqUcHkSMZ9K5bRqqMbjJ1E5FkTrndFe72m2sAF1MVBI4iD8iVKyoqO2w7VRbrJpRdkt7MGDe56GGhgJ8Njn1P8AZ9fPNd5gXNKQEXt0q7uRmz/0AqFja29znGFq2EmxuqaLzDrkhK2XUj5gF7YUNvhqsX+66nvtqlarsrsmDa7aUvQIqQULuCUqHiLdGPk4c8I686g9BMK8/lu7IxyzCB/9q4bpJkWeP7xd9TQojGeHjdipRk9hlW5/yrF21raoEGM/HcM+TMSDEhwyFuv55YA5DfcnYVx2fTD9wm/jeskMS7goYYhY42IKeyQeajtlR68tqCUjtXWVHakQL/FejupC23PcwsLSeoKVgEVsLWomsFMm1yAM5C2HGir6hSsfY1B6ILViuV50utSWkRpHvNvQTgGO6OLCe/CviB7bVMXjVMC2vCG0VTrk4MtQIeHHleZHJCf1KwKDTcNSqskB2XqSCYjTQ3fYcDzSj0SOSgSdhlP1r50FqherbM5cVQVQwmQtkNlfFxBON8/XB8wa4JNsfUzJ1Jq/wXFQWnH4tvbPEzFCUk8RyPjd2+bkOQ7nHs0iSLRY7dBkKUoy4gnYV8yHFEFxPoCtOPU+VBdaUpQKUpQKqF4H4xry027YxrYyq4yB3cPwND/vV9BVvNVTRf8ATrhqC9KIUJU4x2T2aZHAB/xcZ+tBa6UpQKr+r7lIjRWrdaz/AFrcleBF2z4W3xOq8kDf1wOtSV5ukSz216fOc4GGhk4GSo9EpHVROwHU1DaWtst2S9qG+N8Nzlp4WWSc+6R85S0P1dVHqfSgm7Rb2bTbItvjcXhR2g2kqOVKx1J6k8zVbfP+leoSxkGx2h7LxztJlD8h6FCOZ/VjtXdq25ymWY9ptSv61uSi2yr+4Rj43T5JHLzIrRfHIujtCy/dthFiqQyD8zrqhgZ7qUo/40FJsbL2q7W/YYchUdqdMlXC5SEDJQhbq/CbHTKuEEj90edXfRWi4Gk4yvAUqTMdADsp35ikckj91I7Vn2e6bTpnTUaG5hUtweLJcHVw9PQch6VZ6Dhudot12aQ1dIEWa2hXEhEllLgSe4Cga7OBPBwYHDjGMbYr6pQRNp03ZrM669arVChuu/OphkJJ8tunlUt0pSgjLxYLVew2LtAYleEctqcT8SPRXMfevq0WO12VtTdpgRoiVHKy02AVnuo8z9akaUEBr2O9L0beI8dtx1xyMpIQ2kqUodQANycZrk07JVeLyq4R2HmrZCiiJFW62UF9SilS1AHfhHAgA7b8XlVqIzWMb0GaUpQKUpQc9wkCJAkyVcmWlOH6AmoL2bsqZ0LZi4SXHowfcUeZU58ZP3VUpqNlcjT1zYaGVuRHUJA6koIFcuiZDcnR9lea+RcFkgdvgG1BN1omS48GM7JluoZYaSVuOLOEpSOZJrXdLjEtUF2bcJLceM0MrccOAP8AP0qqR4czWk1qfd2HItgZWFxLe6MLlKHJ14dE9kH1NBttDEjVVzYvtxaUza4547ZCdThSz0kLHQ4+UdAc86tcmQzDjOyJLiW2WUFxxxWwSkDJJ+lbQAOVVPU6vx29xdLsqPgBKZdzIG3ghWEtE9CtX/Kk0GzSTDlwekamnNlL08BMNCs5ZijdAweRVniPqB0qsarce1XrezWlghVsiTCp3B/tFtDicPok8CP4lq7VedSzXYFr8OBwpmyVCPEyPhStQPxEfupAKj5JNVz2eW9t2RIvLJWqGlsQbetXN1pCsuPerjmVZ6gCqLyBis0pUClKUClKUClKUClKUClKUClKUGCMjFVNqw36yeOxpmbb/wAPdcU43GntLPuqlHJCFJO6ckkJI2zzq20oKtE0iZE5q46mnKu8to8TLSmwiMwe6G99/wBSiTVoGwrNcV4uUez2yTcJiiGY7ZWrAyT2AHUk7D1oMXq6R7PapNxlk+FHQVkAZKj0SB1JOAPWozRtqfhW5ybcf9qXJz3qZk54FEbNg9kDCfoT1qGi++alvEGJdGwlq2hE+e0FApTKVu0we4Qk8R7nhNXkcqCs6q0zK1DcIWbkqNbW23ESmWk4ceCsZAV+UEAgnngnvViix2okZqPHbS2y0kIbQkYCUjYAVtpQKUpQKUpQKUpQKUpQKUpQKUpQKUpQKUpQKouv7mwi7W2HJBdZiJNxXHSd5DoUER2gOpU4rI/gq9VxO2i3PXRu6OwmFz2m/DbkKQCtKck4B+p+9BxaTtblqtQEvhM+UtUqatO4U8vdW/YbJHkkVNVgDFZoFKUoFKUoFKUoFKUoFKUoFKUoFKUoFKUoFKUoFKUoFKUoFKUoFKUoFKUoFKUoFKUoFKUoFKUoP//Z"
- }
- ]
- } as CustomStampSettings);
- }
- });
-}
-
-{% endhighlight %}
-{% highlight ts tabtitle="Server-Backed" %}
-
-import { PdfViewer, Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, TextSearch, FormFields, FormDesigner, PageOrganizer, StampSettings, DynamicStampItem} from '@syncfusion/ej2-pdfviewer';
-
-PdfViewer.Inject(Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, TextSearch, FormFields, FormDesigner, PageOrganizer);
-
-let pdfviewer: PdfViewer = new PdfViewer();
-pdfviewer.serviceUrl = 'https://services.syncfusion.com/js/production/api/pdfviewer';
-pdfviewer.documentPath = "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf";
-pdfviewer.appendTo('#PdfViewer');
-
-let dynamicStamp = document.getElementById('dynamicStamp');
-if (dynamicStamp) {
- dynamicStamp.addEventListener('click', function () {
- if (pdfviewer) {
- pdfviewer.annotation.addAnnotation("Stamp", {
- offset: { x: 200, y: 140 },
- pageNumber: 1
- } as StampSettings, DynamicStampItem.Approved);
- }
- });
-}
-let signStamp = document.getElementById('signStamp');
-if (signStamp) {
- signStamp.addEventListener('click', function () {
- if (pdfviewer) {
- pdfviewer.annotation.addAnnotation("Stamp", {
- offset: { x: 200, y: 240 },
- pageNumber: 1
- } as StampSettings, undefined, SignStampItem.Witness);
- }
- });
-}
-let standardBusinessStamp = document.getElementById('standardBusinessStamp');
-if (standardBusinessStamp) {
- standardBusinessStamp.addEventListener('click', function () {
- if (pdfviewer) {
- pdfviewer.annotation.addAnnotation("Stamp", {
- offset: { x: 200, y: 340 },
- pageNumber: 1
- } as StampSettings, undefined, undefined, StandardBusinessStampItem.Approved);
- }
- });
-}
-
-let customStamp = document.getElementById('customStamp');
-if (customStamp) {
- customStamp.addEventListener('click', function () {
- if (pdfviewer) {
- pdfviewer.annotation.addAnnotation('Stamp',
- {
- offset: { x: 100, y: 440 },
- width: 46,
- author: 'Guest',
- height: 100,
- isLock: true,
- pageNumber: 1,
- customStamps: [
- {
- customStampName: "Image",
- customStampImageSource:
- "data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wCEAAkGBwgHBgkIBwgKCgkLDRYPDQwMDRsUFRAWIB0iIiAdHx8kKDQsJCYxJx8fLT0tMTU3Ojo6Iys/RD84QzQ5OjcBCgoKDQwNGg8PGjclHyU3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3N//AABEIAIIAqwMBIgACEQEDEQH/xAAbAAEAAgMBAQAAAAAAAAAAAAAABQYBAwQHAv/EAEEQAAEDAwIEAwYDBAYLAAAAAAECAwQABREGIRIxQVETYXEHFCIygZEVQmIjUnKCJCUzU6HRFhc1c5KisbKzwvD/xAAVAQEBAAAAAAAAAAAAAAAAAAAAAf/EABQRAQAAAAAAAAAAAAAAAAAAAAD/2gAMAwEAAhEDEQA/APcaUpQKUpQKUpQKUpQKUpQKVzXGdFtsN2ZPfbYjNJ4nHHDgJFfEK5Q5ttbuUaQhcNxvxUPcklPfflQdlYJxURpe/salthuMNpxEYvuNtKc28VKVcPGB2JB577Vyz7pNuUxy26eWlCml8Mu4OI4kR/0oB2Wvp2T17EJK43qDbloakOqL7m6I7TanHVjOMhCQTjzxgVut89i4Mqdj8Y4VlC0OIKFIUOYKTuOn0INRZZtWkrVLuDpIIHHJlPK4nX1dOJR5kk4A5DYDArVoWbHuVgTPjvF5Ul5xx5zhIBc4jkJyBlI+UHqE0FjpSlApSlApSlApSlApSlApSlApSlArClAczgVmqr7QZLptkezxHi1KvD4ihxKsFprBU6v6IB+pFBTdUKf1uUuFa0WpyUIVoYBx706chchXdKEhZSPLNXXVTsOw6NdjNxkvJS0iLEidHnDhLaPME4z5ZzVHk6kTHu1vTpyE1Jf8L3Oww1ZDaGc4XJXjklXDhP6UlWd63ybrL1rq1mNa1hLcAKEeQgcTbbvyuScHnw5KGweZJPIVRYoDT6okfSlnfWhmCwlu43FGAUKxu2j9atyT+UHvirZBixLZBaiQ2kR4zCMIQnZKRWuz2yLZ7czBgo4GWh13KidypR6qJJJPevOvaFqCXqC4HSGmzxlxQbmvJJAPXwwe2M8R9R3FQc1xde9qOqEW+C44jTFuVxPvtnHvCvI+e4HYZPavV4sdmLGajxmktMtJCENpGAkDkBUbpixRNO2dm3Q0/Cj4lrPNazzUf/uWKlkkEZByKDNKUoFKUoFKUoFKUoFKwahZ2p7dFfMZhTs+ZnHu0FHirB/VjZHqogUE3WOIYzUApzUlwBKUxLOwQCFL/bv467DCEn6qr5i6btk5ht+ZOlXlCxlLkiTxtr8whGG8fy0HdK1FZorymHbjH8dPNlC+NY/lTk1XNTe0m12SCXBFnrkOpX7uh6ItkKUBzPGEnhzjcA1bokKLAZS1BjMx20jAQy2EjHoK85i6PuOovaFNv+pWPDt8J/ggMKUCXktq+BX8HNXmT2G9HLF1trSyW2GrUFgbluT3eCIRIS26tS/iSjwgCcDl35Z3qBlSb/edVcN58e4tojKafiW2MfDQpRBXF8X5UnZPGsq5ZAr0TV2j52oL9Anx7wqCxHYWypLbeXAFH4lNqz8KiNs8x0qy2e1QrNbmYFuZDUdkYSkHOT1JPUk7k0HhsG6u3SHPeisLFwnucE95hOPdmc8DUNhR/OrCR5Ak9NvX9F6cRp20IZIR706AX1I5DA2Qn9KRsPvzJqGmXG0N6pfk3KTEhW2ykBsLKUh2Y4nKlY6lKCAOuVmuafry5T5rFs0vaHQ5JSVIm3FBaQhvq7wfNwjurAPnQZ9pms1WtlVmtDqRcnxwrdK+ERknqT0Vj7DftUN7OA1BilywWx65TnU8PjOAtMsJJzlbhBypXMhPFgADbrF6B0sNSagkzrk+5cbTDeUQ5IHwy3T+bHbYE/y9yK9sabQ02lDSAhCRhKUjAAoIaFaZ8gh++zg8vIKYsUFphB+/Ev8AmONuVTYGBgcqzSoFKUoFKUoFKUoFcV4mOW+2yJbEN6Y40gqTHYGVuHsK7awRmg8rd/1gameJn2n8Ptv5YQn+78f+8cSFLI57AJ8/Oy2eyalhxkRo79htEVI2YgQ1uEH+JSgD68NW/FQ2r7yqxWCTNZR4knZqM1/ePLPChP3IoKRc4l91FqJ3TkfUst2Aygfiz7TDTaEA8mkEAnjPXfAH2NohaPehR2Y8bVF9QwygNttJMcJSkDAAAZru0hY02CyMxFK8SWv9rMfPN55W6lE9d9vQCpughmrLNZVxI1Fc19kupYUn/wAYP+NdQVMjD+khEhsfM40nhUPMp3z9D9K76xQRN/uNxjWj3qwW9F0krKfDa8YISUn83F25VVocf2kXdR/EJlrskZQxiM14ryR5ZJA9c/SrHo973m2SFjPhCfKSzn9wPLCceXbyxUpPmRrdDemTHUMx2UFbjizgJAoPGrbpyJBRPvEi53STfhc34MRCVMrckLSvCT8aFEEjBUQdhUlfbHcrcItuYvc+VqbUBDcpf7PgDSfnJPBxBCQcDBGcnlUn7Om4kly+aonhbPBPkeGiRsIqCEqUcHkSMZ9K5bRqqMbjJ1E5FkTrndFe72m2sAF1MVBI4iD8iVKyoqO2w7VRbrJpRdkt7MGDe56GGhgJ8Njn1P8AZ9fPNd5gXNKQEXt0q7uRmz/0AqFja29znGFq2EmxuqaLzDrkhK2XUj5gF7YUNvhqsX+66nvtqlarsrsmDa7aUvQIqQULuCUqHiLdGPk4c8I686g9BMK8/lu7IxyzCB/9q4bpJkWeP7xd9TQojGeHjdipRk9hlW5/yrF21raoEGM/HcM+TMSDEhwyFuv55YA5DfcnYVx2fTD9wm/jeskMS7goYYhY42IKeyQeajtlR68tqCUjtXWVHakQL/FejupC23PcwsLSeoKVgEVsLWomsFMm1yAM5C2HGir6hSsfY1B6ILViuV50utSWkRpHvNvQTgGO6OLCe/CviB7bVMXjVMC2vCG0VTrk4MtQIeHHleZHJCf1KwKDTcNSqskB2XqSCYjTQ3fYcDzSj0SOSgSdhlP1r50FqherbM5cVQVQwmQtkNlfFxBON8/XB8wa4JNsfUzJ1Jq/wXFQWnH4tvbPEzFCUk8RyPjd2+bkOQ7nHs0iSLRY7dBkKUoy4gnYV8yHFEFxPoCtOPU+VBdaUpQKUpQKqF4H4xry027YxrYyq4yB3cPwND/vV9BVvNVTRf8ATrhqC9KIUJU4x2T2aZHAB/xcZ+tBa6UpQKr+r7lIjRWrdaz/AFrcleBF2z4W3xOq8kDf1wOtSV5ukSz216fOc4GGhk4GSo9EpHVROwHU1DaWtst2S9qG+N8Nzlp4WWSc+6R85S0P1dVHqfSgm7Rb2bTbItvjcXhR2g2kqOVKx1J6k8zVbfP+leoSxkGx2h7LxztJlD8h6FCOZ/VjtXdq25ymWY9ptSv61uSi2yr+4Rj43T5JHLzIrRfHIujtCy/dthFiqQyD8zrqhgZ7qUo/40FJsbL2q7W/YYchUdqdMlXC5SEDJQhbq/CbHTKuEEj90edXfRWi4Gk4yvAUqTMdADsp35ikckj91I7Vn2e6bTpnTUaG5hUtweLJcHVw9PQch6VZ6Dhudot12aQ1dIEWa2hXEhEllLgSe4Cga7OBPBwYHDjGMbYr6pQRNp03ZrM669arVChuu/OphkJJ8tunlUt0pSgjLxYLVew2LtAYleEctqcT8SPRXMfevq0WO12VtTdpgRoiVHKy02AVnuo8z9akaUEBr2O9L0beI8dtx1xyMpIQ2kqUodQANycZrk07JVeLyq4R2HmrZCiiJFW62UF9SilS1AHfhHAgA7b8XlVqIzWMb0GaUpQKUpQc9wkCJAkyVcmWlOH6AmoL2bsqZ0LZi4SXHowfcUeZU58ZP3VUpqNlcjT1zYaGVuRHUJA6koIFcuiZDcnR9lea+RcFkgdvgG1BN1omS48GM7JluoZYaSVuOLOEpSOZJrXdLjEtUF2bcJLceM0MrccOAP8AP0qqR4czWk1qfd2HItgZWFxLe6MLlKHJ14dE9kH1NBttDEjVVzYvtxaUza4547ZCdThSz0kLHQ4+UdAc86tcmQzDjOyJLiW2WUFxxxWwSkDJJ+lbQAOVVPU6vx29xdLsqPgBKZdzIG3ghWEtE9CtX/Kk0GzSTDlwekamnNlL08BMNCs5ZijdAweRVniPqB0qsarce1XrezWlghVsiTCp3B/tFtDicPok8CP4lq7VedSzXYFr8OBwpmyVCPEyPhStQPxEfupAKj5JNVz2eW9t2RIvLJWqGlsQbetXN1pCsuPerjmVZ6gCqLyBis0pUClKUClKUClKUClKUClKUClKUGCMjFVNqw36yeOxpmbb/wAPdcU43GntLPuqlHJCFJO6ckkJI2zzq20oKtE0iZE5q46mnKu8to8TLSmwiMwe6G99/wBSiTVoGwrNcV4uUez2yTcJiiGY7ZWrAyT2AHUk7D1oMXq6R7PapNxlk+FHQVkAZKj0SB1JOAPWozRtqfhW5ybcf9qXJz3qZk54FEbNg9kDCfoT1qGi++alvEGJdGwlq2hE+e0FApTKVu0we4Qk8R7nhNXkcqCs6q0zK1DcIWbkqNbW23ESmWk4ceCsZAV+UEAgnngnvViix2okZqPHbS2y0kIbQkYCUjYAVtpQKUpQKUpQKUpQKUpQKUpQKUpQKUpQKUpQKouv7mwi7W2HJBdZiJNxXHSd5DoUER2gOpU4rI/gq9VxO2i3PXRu6OwmFz2m/DbkKQCtKck4B+p+9BxaTtblqtQEvhM+UtUqatO4U8vdW/YbJHkkVNVgDFZoFKUoFKUoFKUoFKUoFKUoFKUoFKUoFKUoFKUoFKUoFKUoFKUoFKUoFKUoFKUoFKUoFKUoFKUoP//Z"
- }
- ]
- } as CustomStampSettings);
- }
- });
-}
-
-{% endhighlight %}
-{% endtabs %}
-
-## Edit the existing sticky note annotation programmatically
-
-To modify existing sticky note annotation in the Syncfusion PDF viewer programmatically, you can use the **editAnnotation()** method.
-
-Here is an example of how you can use the **editAnnotation()** method:
-
-```html
-
-```
-
-{% tabs %}
-{% highlight ts tabtitle="Standalone" %}
-
-import { PdfViewer, Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, TextSearch, FormFields, FormDesigner, PageOrganizer} from '@syncfusion/ej2-pdfviewer';
-
-PdfViewer.Inject(Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, TextSearch, FormFields, FormDesigner, PageOrganizer);
-
-let pdfviewer: PdfViewer = new PdfViewer();
-pdfviewer.documentPath = "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf";
-pdfviewer.resourceUrl = "https://cdn.syncfusion.com/ej2/25.1.35/dist/ej2-pdfviewer-lib";
-
-pdfviewer.appendTo('#PdfViewer');
-let editAnnotation = document.getElementById('editAnnotation');
-if (editAnnotation) {
- editAnnotation.addEventListener('click', function () {
- if (pdfviewer) {
- for (let i = 0; i < pdfviewer.annotationCollection.length; i++) {
- if (pdfviewer.annotationCollection[i].shapeAnnotationType === "stamp") {
- var width = pdfviewer.annotationCollection[i].bounds.width;
- var height = pdfviewer.annotationCollection[i].bounds.height;
- pdfviewer.annotationCollection[i].bounds = { x: 100, y: 100, width: width, height: height };
- pdfviewer.annotationCollection[i].annotationSettings.isLock = true;
- pdfviewer.annotation.editAnnotation(pdfviewer.annotationCollection[i]);
- }
- }
- }
- });
-}
-{% endhighlight %}
-{% highlight ts tabtitle="Server-Backed" %}
-
-import { PdfViewer, Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, TextSearch, FormFields, FormDesigner, PageOrganizer} from '@syncfusion/ej2-pdfviewer';
-
-PdfViewer.Inject(Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, TextSearch, FormFields, FormDesigner, PageOrganizer);
-
-let pdfviewer: PdfViewer = new PdfViewer();
-pdfviewer.serviceUrl = 'https://services.syncfusion.com/js/production/api/pdfviewer';
-pdfviewer.documentPath = "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf";
-
-pdfviewer.appendTo('#PdfViewer');
-
-let editAnnotation = document.getElementById('editAnnotation');
-if (editAnnotation) {
- editAnnotation.addEventListener('click', function () {
- if (pdfviewer) {
- for (let i = 0; i < pdfviewer.annotationCollection.length; i++) {
- if (pdfviewer.annotationCollection[i].shapeAnnotationType === "stamp") {
- var width = pdfviewer.annotationCollection[i].bounds.width;
- var height = pdfviewer.annotationCollection[i].bounds.height;
- pdfviewer.annotationCollection[i].bounds = { x: 100, y: 100, width: width, height: height };
- pdfviewer.annotationCollection[i].annotationSettings.isLock = true;
- pdfviewer.annotation.editAnnotation(pdfviewer.annotationCollection[i]);
- }
- }
- }
- });
-}
-
-{% endhighlight %}
-{% endtabs %}
-
-## Setting default properties during control initialization
-
-The properties of the stamp annotation can be set before creating the control using the StampSettings.
-
-After editing the default opacity using the Edit Opacity tool, they will be changed to the selected values.
-Refer to the following code sample to set the default sticky note annotation settings.
-
-{% tabs %}
-{% highlight ts tabtitle="Standalone" %}
-
-import { PdfViewer, Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, TextSearch, FormFields, FormDesigner, PageOrganizer} from '@syncfusion/ej2-pdfviewer';
-
-PdfViewer.Inject(Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, TextSearch, FormFields, FormDesigner, PageOrganizer);
-
-let pdfviewer: PdfViewer = new PdfViewer();
-pdfviewer.documentPath = "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf";
-pdfviewer.resourceUrl = "https://cdn.syncfusion.com/ej2/25.1.35/dist/ej2-pdfviewer-lib";
-pdfviewer.stampSettings = {opacity: 0.3, author: 'Guest User'}
-
-pdfviewer.appendTo('#PdfViewer');
-
-{% endhighlight %}
-{% highlight ts tabtitle="Server-Backed" %}
-
-import { PdfViewer, Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, TextSearch, FormFields, FormDesigner, PageOrganizer} from '@syncfusion/ej2-pdfviewer';
-
-PdfViewer.Inject(Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, TextSearch, FormFields, FormDesigner, PageOrganizer);
-
-let pdfviewer: PdfViewer = new PdfViewer();
-pdfviewer.serviceUrl = 'https://services.syncfusion.com/js/production/api/pdfviewer';
-pdfviewer.documentPath = "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf";
-pdfviewer.stampSettings = {opacity: 0.3, author: 'Guest User'}
-
-pdfviewer.appendTo('#PdfViewer');
-
-{% endhighlight %}
-{% endtabs %}
\ No newline at end of file
diff --git a/ej2-javascript/pdfviewer/ts/annotations/sticky-notes-annotation.md b/ej2-javascript/pdfviewer/ts/annotations/sticky-notes-annotation.md
deleted file mode 100644
index d634bf4b6..000000000
--- a/ej2-javascript/pdfviewer/ts/annotations/sticky-notes-annotation.md
+++ /dev/null
@@ -1,254 +0,0 @@
----
-layout: post
-title: Sticky notes in ##Platform_Name## PDF Viewer control | Syncfusion
-description: Learn here all about Sticky notes in Syncfusion ##Platform_Name## PDF Viewer control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: PDF Viewer
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Sticky notes in ##Platform_Name## PDF Viewer control
-
-The PDF Viewer control provides the options to add, edit, and delete the sticky note annotations in the PDF document.
-
-
-
-## Adding a sticky note annotation to the PDF document
-
-Sticky note annotations can be added to the PDF document using the annotation toolbar.
-
-* Click the **Comments** button in the PDF Viewer toolbar. A toolbar appears below it.
-* Click the position where you want to add sticky note annotation in the PDF document.
-* Sticky note annotation will be added in the clicked positions.
-
- 
-
- Annotation comments can be added to the PDF document using the comment panel.
-
-* Select a Sticky note annotation in the PDF document and right-click it.
-* Select the Comment option in the context menu that appears.
-* Now, you can add Comments, Reply, and Status using the Comment Panel.
-* Now, you can add Comments, Reply, and Status using the Comment Panel.
-
-
-
-## Adding a sticky note annotation to the PDF document Programmatically
-
-With the PDF Viewer library, you can add a sticky note annotation to the PDF Viewer control programmatically using the [**addAnnotation()**](https://helpej2.syncfusion.com/documentation/api/pdfviewer/annotation/#annotation) method.
-
-Here's a example of how you can utilize the **addAnnotation()** method to include a sticky note annotation programmatically:
-
-```html
-
-```
-
-{% tabs %}
-{% highlight ts tabtitle="Standalone" %}
-
-import { PdfViewer, Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, TextSearch, FormFields, FormDesigner, PageOrganizer, StickyNotesSettings} from '@syncfusion/ej2-pdfviewer';
-
-PdfViewer.Inject(Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, TextSearch, FormFields, FormDesigner, PageOrganizer);
-
-let pdfviewer: PdfViewer = new PdfViewer();
-pdfviewer.documentPath = "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf";
-pdfviewer.resourceUrl = "https://cdn.syncfusion.com/ej2/25.1.35/dist/ej2-pdfviewer-lib";
-pdfviewer.appendTo('#PdfViewer');
-
-let stickyNote = document.getElementById('stickyNote');
-if (stickyNote) {
- stickyNote.addEventListener('click', function () {
- if (pdfviewer) {
- pdfviewer.annotation.addAnnotation("StickyNotes", {
- offset: { x: 100, y: 200 },
- pageNumber: 1,
- isLock: false
- } as StickyNotesSettings );
- }
- });
-}
-
-{% endhighlight %}
-{% highlight ts tabtitle="Server-Backed" %}
-
-import { PdfViewer, Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, TextSearch, FormFields, FormDesigner, PageOrganizer, StickyNotesSettings} from '@syncfusion/ej2-pdfviewer';
-
-PdfViewer.Inject(Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, TextSearch, FormFields, FormDesigner, PageOrganizer);
-
-let pdfviewer: PdfViewer = new PdfViewer();
-pdfviewer.serviceUrl = 'https://services.syncfusion.com/js/production/api/pdfviewer';
-pdfviewer.documentPath = "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf";
-pdfviewer.appendTo('#PdfViewer');
-
-let stickyNote = document.getElementById('stickyNote');
-if (stickyNote) {
- stickyNote.addEventListener('click', function () {
- if (pdfviewer) {
- pdfviewer.annotation.addAnnotation("StickyNotes", {
- offset: { x: 100, y: 200 },
- pageNumber: 1,
- isLock: false
- } as StickyNotesSettings );
- }
- });
-}
-
-{% endhighlight %}
-{% endtabs %}
-
-## Edit the existing sticky note annotation programmatically
-
-To modify existing sticky note annotation in the Syncfusion PDF viewer programmatically, you can use the **editAnnotation()** method.
-
-Here is an example of how you can use the **editAnnotation()** method:
-
-```html
-
-```
-
-{% tabs %}
-{% highlight ts tabtitle="Standalone" %}
-
-import { PdfViewer, Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, TextSearch, FormFields, FormDesigner, PageOrganizer} from '@syncfusion/ej2-pdfviewer';
-
-PdfViewer.Inject(Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, TextSearch, FormFields, FormDesigner, PageOrganizer);
-
-let pdfviewer: PdfViewer = new PdfViewer();
-pdfviewer.documentPath = "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf";
-pdfviewer.resourceUrl = "https://cdn.syncfusion.com/ej2/25.1.35/dist/ej2-pdfviewer-lib";
-pdfviewer.appendTo('#PdfViewer');
-
-let stickyNote = document.getElementById('stickyNote');
-if (stickyNote) {
- stickyNote.addEventListener('click', function () {
- if (pdfviewer) {
- for (let i = 0; i < pdfviewer.annotationCollection.length; i++) {
- if (pdfviewer.annotationCollection[i].shapeAnnotationType === "sticky") {
- var width = pdfviewer.annotationCollection[i].bounds.width;
- var height = pdfviewer.annotationCollection[i].bounds.height;
- pdfviewer.annotationCollection[i].bounds = { x: 100, y: 100, width: width, height: height };
- pdfviewer.annotation.editAnnotation(pdfviewer.annotationCollection[i]);
- }
- }
- }
- });
-}
-
-{% endhighlight %}
-{% highlight ts tabtitle="Server-Backed" %}
-
-import { PdfViewer, Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, TextSearch, FormFields, FormDesigner, PageOrganizer} from '@syncfusion/ej2-pdfviewer';
-
-PdfViewer.Inject(Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, TextSearch, FormFields, FormDesigner, PageOrganizer);
-
-let pdfviewer: PdfViewer = new PdfViewer();
-pdfviewer.serviceUrl = 'https://services.syncfusion.com/js/production/api/pdfviewer';
-pdfviewer.documentPath = "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf";
-pdfviewer.appendTo('#PdfViewer');
-
-let stickyNote = document.getElementById('stickyNote');
-if (stickyNote) {
- stickyNote.addEventListener('click', function () {
- if (pdfviewer) {
- for (let i = 0; i < pdfviewer.annotationCollection.length; i++) {
- if (pdfviewer.annotationCollection[i].shapeAnnotationType === "sticky") {
- var width = pdfviewer.annotationCollection[i].bounds.width;
- var height = pdfviewer.annotationCollection[i].bounds.height;
- pdfviewer.annotationCollection[i].bounds = { x: 100, y: 100, width: width, height: height };
- pdfviewer.annotation.editAnnotation(pdfviewer.annotationCollection[i]);
- }
- }
- }
- });
-}
-{% endhighlight %}
-{% endtabs %}
-
-## Editing the properties of the sticky note annotation
-
-### Editing opacity
-
-The opacity of the annotation can be edited using the range slider provided in the Edit Opacity tool.
-
-
-
-### Editing comments
-
-The comment, comment reply, and comment status of the annotation can be edited using the Comment Panel.
-
-* Open the comment panel using the Comment Panel button showing in the annotation toolbar.
-
- 
-
-You can modify or delete the comments or comments replay and it’s status using the menu option provided in the comment panel.
-
- 
-
-## Setting default properties during the control initialization
-
-The properties of the sticky note annotation can be set before creating the control using the StickyNoteSettings.
-
-After editing the default opacity using the Edit Opacity tool, they will be changed to the selected values. Refer to the following code sample to set the default sticky note annotation settings.
-
-{% tabs %}
-{% highlight ts tabtitle="Standalone" %}
-
-import { PdfViewer, Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, TextSearch, FormFields, FormDesigner, PageOrganizer} from '@syncfusion/ej2-pdfviewer';
-
-PdfViewer.Inject(Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, TextSearch, FormFields, FormDesigner, PageOrganizer);
-
-let pdfviewer: PdfViewer = new PdfViewer();
-pdfviewer.documentPath = "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf";
-pdfviewer.resourceUrl = "https://cdn.syncfusion.com/ej2/25.1.35/dist/ej2-pdfviewer-lib";
-pdfviewer.stickyNotesSettings = {author: 'Syncfusion'};
-pdfviewer.appendTo('#PdfViewer');
-
-{% endhighlight %}
-{% highlight ts tabtitle="Server-Backed" %}
-
-import { PdfViewer, Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, TextSearch, FormFields, FormDesigner, PageOrganizer} from '@syncfusion/ej2-pdfviewer';
-
-PdfViewer.Inject(Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, TextSearch, FormFields, FormDesigner, PageOrganizer);
-
-let pdfviewer: PdfViewer = new PdfViewer();
-pdfviewer.serviceUrl = 'https://services.syncfusion.com/js/production/api/pdfviewer';
-pdfviewer.documentPath = "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf";
-pdfviewer.stickyNotesSettings = {author: 'Syncfusion'};
-pdfviewer.appendTo('#PdfViewer');
-
-{% endhighlight %}
-{% endtabs %}
-
-## Disabling sticky note annotations
-
-The PDF Viewer control provides an option to disable the sticky note annotations feature. The code sample for disabling the feature is as follows.
-
-{% tabs %}
-{% highlight ts tabtitle="Standalone" %}
-
-import { PdfViewer, Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, TextSearch, FormFields, FormDesigner, PageOrganizer} from '@syncfusion/ej2-pdfviewer';
-
-PdfViewer.Inject(Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, TextSearch, FormFields, FormDesigner, PageOrganizer);
-
-let pdfviewer: PdfViewer = new PdfViewer();
-pdfviewer.documentPath = "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf";
-pdfviewer.resourceUrl = "https://cdn.syncfusion.com/ej2/25.1.35/dist/ej2-pdfviewer-lib";
-pdfviewer.enableStickyNotesAnnotation = false;
-pdfviewer.appendTo('#PdfViewer');
-
-{% endhighlight %}
-{% highlight ts tabtitle="Server-Backed" %}
-
-import { PdfViewer, Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, TextSearch, FormFields, FormDesigner, PageOrganizer} from '@syncfusion/ej2-pdfviewer';
-
-PdfViewer.Inject(Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, TextSearch, FormFields, FormDesigner, PageOrganizer);
-
-let pdfviewer: PdfViewer = new PdfViewer();
-pdfviewer.serviceUrl = 'https://services.syncfusion.com/js/production/api/pdfviewer';
-pdfviewer.documentPath = "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf";
-pdfviewer.enableStickyNotesAnnotation = false;
-pdfviewer.appendTo('#PdfViewer');
-
-{% endhighlight %}
-{% endtabs %}
\ No newline at end of file
diff --git a/ej2-javascript/pdfviewer/ts/annotations/text-markup-annotation.md b/ej2-javascript/pdfviewer/ts/annotations/text-markup-annotation.md
deleted file mode 100644
index b0d46cdd8..000000000
--- a/ej2-javascript/pdfviewer/ts/annotations/text-markup-annotation.md
+++ /dev/null
@@ -1,1091 +0,0 @@
----
-layout: post
-title: Text markup annotation in ##Platform_Name## Pdfviewer control | Syncfusion
-description: Learn here all about Text markup annotation in Syncfusion ##Platform_Name## Pdfviewer control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: Text markup annotation
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Text markup annotation in ##Platform_Name## Pdfviewer control
-
-The PDF Viewer control provides the options to add, edit, and delete text markup annotations such as highlight, underline, strikethrough and squiggly annotations in the PDF document.
-
-
-
-## Highlight a text
-
-There are two ways to highlight a text in the PDF document:
-
-1. Using the context menu
- * Select a text in the PDF document and right-click it.
- * Select **Highlight** option in the context menu that appears.
-
-
-
-
-2. Using the annotation toolbar
- * Click the **Edit Annotation** button in the PDF Viewer toolbar. A toolbar appears below it.
- * Select the **Highlight** button in the annotation toolbar. It enables the highlight mode.
- * Select the text and the highlight annotation will be added.
- * You can also select the text and apply the highlight annotation using the **Highlight** button.
-
-
-
-In the pan mode, if the highlight mode is entered, the PDF Viewer control will switch to text select mode to enable the text selection for highlighting the text.
-
-Refer to the following code snippet to switch to highlight mode.
-
-{% tabs %}
-{% highlight ts tabtitle="index.ts" %}
-import { PdfViewer, Toolbar, Magnification, Navigation, LinkAnnotation,ThumbnailView, BookmarkView,
- TextSelection, Annotation, FormDesigner, FormFields } from '@syncfusion/ej2-pdfviewer';
-
-PdfViewer.Inject( Toolbar,Magnification, Navigation, LinkAnnotation,ThumbnailView,
- BookmarkView, TextSelection, Annotation, FormDesigner, FormFields);
-
-let pdfviewer: PdfViewer = new PdfViewer({
- documentPath:'https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf',
- resourceUrl:"https://cdn.syncfusion.com/ej2/23.1.43/dist/ej2-pdfviewer-lib"
-});
-pdfviewer.appendTo('#PdfViewer');
-
-document.getElementById('set').addEventListener('click', ()=> {
- pdfviewer.annotation.setAnnotationMode('Highlight');
-});
-{% endhighlight %}
-{% highlight html tabtitle="index.html" %}
-
-
-
-
- EJ2 PDF Viewer
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Loading....
-
-
-
-
-
-
-
-
-
-{% endhighlight %}
-{% endtabs %}
-
-N> To set up the **server-backed PDF Viewer**,
-Add the below `serviceUrl` in the `index.ts` file
-`pdfviewer.serviceUrl = 'https://services.syncfusion.com/js/production/api/pdfviewer';`
-
-{% previewsample "page.domainurl/code-snippet/pdfviewer/text-markup-annotation/highlight-mode-cs1" %}
-
-Refer to the following code snippet to switch back to normal mode from highlight mode.
-
-{% tabs %}
-{% highlight ts tabtitle="index.ts" %}
-import { PdfViewer, Toolbar, Magnification, Navigation, LinkAnnotation,ThumbnailView, BookmarkView,
- TextSelection, Annotation, FormDesigner, FormFields } from '@syncfusion/ej2-pdfviewer';
-
-PdfViewer.Inject( Toolbar,Magnification, Navigation, LinkAnnotation,ThumbnailView,
- BookmarkView, TextSelection, Annotation, FormDesigner, FormFields);
-
-let pdfviewer: PdfViewer = new PdfViewer({
- documentPath:'https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf',
- resourceUrl:"https://cdn.syncfusion.com/ej2/23.1.43/dist/ej2-pdfviewer-lib"
-});
-pdfviewer.appendTo('#PdfViewer');
-
-document.getElementById('set').addEventListener('click', ()=> {
- pdfviewer.annotation.setAnnotationMode('Highlight');
-});
-
-document.getElementById('setNone').addEventListener('click', ()=> {
- pdfviewer.annotation.setAnnotationMode('None');
-});
-{% endhighlight %}
-{% highlight html tabtitle="index.html" %}
-
-
-
-
- EJ2 PDF Viewer
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Loading....
-
-
-
-
-
-
-
-
-
-
-{% endhighlight %}
-{% endtabs %}
-
-N> To set up the **server-backed PDF Viewer**,
-Add the below `serviceUrl` in the `index.ts` file
-`pdfviewer.serviceUrl = 'https://services.syncfusion.com/js/production/api/pdfviewer';`
-
-{% previewsample "page.domainurl/code-snippet/pdfviewer/text-markup-annotation/highlight-normal-mode-cs1" %}
-
-
-## Highlight a text programmatically
-
-The PDF Viewer library enables you to programmatically highlight text within the PDF Viewer control using the [**addAnnotation()**](https://helpej2.syncfusion.com/documentation/api/pdfviewer/annotation/#annotation) method.
-
-Here's an example of how you can use the **addAnnotation()** method to apply highlighting programmatically:
-
-```html
-
-```
-
-{% tabs %}
-{% highlight ts tabtitle="Standalone" %}
-
-import { PdfViewer, Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, TextSearch, FormFields, FormDesigner, PageOrganizer, HighlightSettings} from '@syncfusion/ej2-pdfviewer';
-
-PdfViewer.Inject(Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, TextSearch, FormFields, FormDesigner, PageOrganizer);
-
-let pdfviewer: PdfViewer = new PdfViewer();
-pdfviewer.documentPath = "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf";
-pdfviewer.resourceUrl = "https://cdn.syncfusion.com/ej2/25.1.35/dist/ej2-pdfviewer-lib";
-pdfviewer.appendTo('#PdfViewer');
-
-let highlight = document.getElementById('highlight');
-if (highlight) {
- highlight.addEventListener('click', function () {
- if (pdfviewer) {
- pdfviewer.annotation.addAnnotation("Highlight", {
- bounds: [{ x: 97, y: 110, width: 350, height: 14 }],
- pageNumber: 1
- } as HighlightSettings);
- }
- });
-}
-
-{% endhighlight %}
-{% highlight ts tabtitle="Server-Backed" %}
-
-import { PdfViewer, Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, TextSearch, FormFields, FormDesigner, PageOrganizer, HighlightSettings} from '@syncfusion/ej2-pdfviewer';
-
-PdfViewer.Inject(Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, TextSearch, FormFields, FormDesigner, PageOrganizer);
-
-let pdfviewer: PdfViewer = new PdfViewer();
-pdfviewer.serviceUrl = 'https://services.syncfusion.com/js/production/api/pdfviewer';
-pdfviewer.documentPath = "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf";
-pdfviewer.appendTo('#PdfViewer');
-
-let highlight = document.getElementById('highlight');
-if (highlight) {
- highlight.addEventListener('click', function () {
- if (pdfviewer) {
- pdfviewer.annotation.addAnnotation("Highlight", {
- bounds: [{ x: 97, y: 110, width: 350, height: 14 }],
- pageNumber: 1
- } as HighlightSettings);
- }
- });
-}
-
-{% endhighlight %}
-{% endtabs %}
-
-## Underline a text
-
-There are two ways to underline a text in the PDF document:
-
-1. Using the context menu
- * Select a text in the PDF document and right-click it.
- * Select **Underline** option in the context menu that appears.
-
-
-
-
-2. Using the annotation toolbar
- * Click the **Edit Annotation** button in the PDF Viewer toolbar. A toolbar appears below it.
- * Select the **Underline** button in the annotation toolbar. It enables the underline mode.
- * Select the text and the underline annotation will be added.
- * You can also select the text and apply the underline annotation using the **Underline** button.
-
-
-
-In the pan mode, if the underline mode is entered, the PDF Viewer control will switch to text select mode to enable the text selection for underlining the text.
-
-Refer to the following code snippet to switch to underline mode.
-
-{% tabs %}
-{% highlight ts tabtitle="index.ts" %}
-import { PdfViewer, Toolbar, Magnification, Navigation, LinkAnnotation,ThumbnailView, BookmarkView,
- TextSelection, Annotation, FormDesigner, FormFields } from '@syncfusion/ej2-pdfviewer';
-
-PdfViewer.Inject( Toolbar,Magnification, Navigation, LinkAnnotation,ThumbnailView,
- BookmarkView, TextSelection, Annotation, FormDesigner, FormFields);
-
-let pdfviewer: PdfViewer = new PdfViewer({
- documentPath:'https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf',
- resourceUrl:"https://cdn.syncfusion.com/ej2/23.1.43/dist/ej2-pdfviewer-lib"
-});
-pdfviewer.appendTo('#PdfViewer');
-
-document.getElementById('set').addEventListener('click', ()=> {
- pdfviewer.annotation.setAnnotationMode('Underline');
-});
-{% endhighlight %}
-{% highlight html tabtitle="index.html" %}
-
-
-
-
- EJ2 PDF Viewer
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Loading....
-
-
-
-
-
-
-
-
-{% endhighlight %}
-{% endtabs %}
-
-N> To set up the **server-backed PDF Viewer**,
-Add the below `serviceUrl` in the `index.ts` file
-`pdfviewer.serviceUrl = 'https://services.syncfusion.com/js/production/api/pdfviewer';`
-
-{% previewsample "page.domainurl/code-snippet/pdfviewer/text-markup-annotation/underline-mode-cs1" %}
-
-Refer to the following code snippet to switch back to normal mode from underline mode.
-
-{% tabs %}
-{% highlight ts tabtitle="index.ts" %}
-import { PdfViewer, Toolbar, Magnification, Navigation, LinkAnnotation,ThumbnailView, BookmarkView,
- TextSelection, Annotation, FormDesigner, FormFields } from '@syncfusion/ej2-pdfviewer';
-
-PdfViewer.Inject( Toolbar,Magnification, Navigation, LinkAnnotation,ThumbnailView,
- BookmarkView, TextSelection, Annotation, FormDesigner, FormFields);
-
-let pdfviewer: PdfViewer = new PdfViewer({
- documentPath:'https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf',
- resourceUrl:"https://cdn.syncfusion.com/ej2/23.1.43/dist/ej2-pdfviewer-lib"
-});
-pdfviewer.appendTo('#PdfViewer');
-
-document.getElementById('set').addEventListener('click', ()=> {
- pdfviewer.annotation.setAnnotationMode('Underline');
-});
-
-document.getElementById('setNone').addEventListener('click', ()=> {
- pdfviewer.annotation.setAnnotationMode('None');
-});
-{% endhighlight %}
-{% highlight html tabtitle="index.html" %}
-
-
-
-
- EJ2 PDF Viewer
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Loading....
-
-
-
-
-
-
-
-
-
-
-{% endhighlight %}
-{% endtabs %}
-
-N> To set up the **server-backed PDF Viewer**,
-Add the below `serviceUrl` in the `index.ts` file
-`pdfviewer.serviceUrl = 'https://services.syncfusion.com/js/production/api/pdfviewer';`
-
-{% previewsample "page.domainurl/code-snippet/pdfviewer/text-markup-annotation/underline-normal-mode-cs1" %}
-
-## Underline a text programmatically
-
-The PDF Viewer library enables you to programmatically Underline text within the PDF Viewer control using the [**addAnnotation()**](https://helpej2.syncfusion.com/documentation/api/pdfviewer/annotation/#annotation) method.
-
-Here's an example of how you can use the **addAnnotation()** method to apply Underline programmatically:
-
-```html
-
-```
-
-{% tabs %}
-{% highlight ts tabtitle="Standalone" %}
-
-import { PdfViewer, Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, TextSearch, FormFields, FormDesigner, PageOrganizer, UnderlineSettings} from '@syncfusion/ej2-pdfviewer';
-
-PdfViewer.Inject(Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, TextSearch, FormFields, FormDesigner, PageOrganizer);
-
-let pdfviewer: PdfViewer = new PdfViewer();
-pdfviewer.documentPath = "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf";
-pdfviewer.resourceUrl = "https://cdn.syncfusion.com/ej2/25.1.35/dist/ej2-pdfviewer-lib";
-pdfviewer.appendTo('#PdfViewer');
-
-let underline = document.getElementById('underline');
-if (underline) {
- underline.addEventListener('click', function () {
- if (pdfviewer) {
- pdfviewer.annotation.addAnnotation("Underline", {
- bounds: [{ x: 97, y: 110, width: 350, height: 14 }],
- pageNumber: 1
- } as UnderlineSettings);
- }
- });
-}
-
-{% endhighlight %}
-{% highlight ts tabtitle="Server-Backed" %}
-
-import { PdfViewer, Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, TextSearch, FormFields, FormDesigner, PageOrganizer, UnderlineSettings} from '@syncfusion/ej2-pdfviewer';
-
-PdfViewer.Inject(Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, TextSearch, FormFields, FormDesigner, PageOrganizer);
-
-let pdfviewer: PdfViewer = new PdfViewer();
-pdfviewer.serviceUrl = 'https://services.syncfusion.com/js/production/api/pdfviewer';
-pdfviewer.documentPath = "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf";
-pdfviewer.appendTo('#PdfViewer');
-
-let underline = document.getElementById('underline');
-if (underline) {
- underline.addEventListener('click', function () {
- if (pdfviewer) {
- pdfviewer.annotation.addAnnotation("Underline", {
- bounds: [{ x: 97, y: 110, width: 350, height: 14 }],
- pageNumber: 1
- } as UnderlineSettings);
- }
- });
-}
-
-{% endhighlight %}
-{% endtabs %}
-
-## Strikethrough a text
-
-There are two ways to strikethrough a text in the PDF document:
-
-1. Using the context menu
- * Select a text in the PDF document and right-click it.
- * Select **Strikethrough** option in the context menu that appears.
-
-
-
-
-2. Using the annotation toolbar
- * Click the **Edit Annotation** button in the PDF Viewer toolbar. A toolbar appears below it.
- * Select the **Strikethrough** button in the annotation toolbar. It enables the strikethrough mode.
- * Select the text and the strikethrough annotation will be added.
- * You can also select the text and apply the strikethrough annotation using the **Strikethrough** button.
-
-
-
-In the pan mode, if the strikethrough mode is entered, the PDF Viewer control will switch to text select mode to enable the text selection for striking through the text.
-
-Refer to the following code snippet to switch to strikethrough mode.
-
-{% tabs %}
-{% highlight ts tabtitle="index.ts" %}
-import { PdfViewer, Toolbar, Magnification, Navigation, LinkAnnotation,ThumbnailView, BookmarkView,
- TextSelection, Annotation, FormDesigner, FormFields } from '@syncfusion/ej2-pdfviewer';
-
-PdfViewer.Inject( Toolbar,Magnification, Navigation, LinkAnnotation,ThumbnailView,
- BookmarkView, TextSelection, Annotation, FormDesigner, FormFields);
-
-let pdfviewer: PdfViewer = new PdfViewer({
- documentPath:'https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf',
- resourceUrl:"https://cdn.syncfusion.com/ej2/23.1.43/dist/ej2-pdfviewer-lib"
-});
-pdfviewer.appendTo('#PdfViewer');
-
-document.getElementById('set').addEventListener('click', ()=> {
- pdfviewer.annotation.setAnnotationMode('Strikethrough');
-});
-{% endhighlight %}
-{% highlight html tabtitle="index.html" %}
-
-
-
-
- EJ2 PDF Viewer
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Loading....
-
-
-
-
-
-
-
-
-{% endhighlight %}
-{% endtabs %}
-
-N> To set up the **server-backed PDF Viewer**,
-Add the below `serviceUrl` in the `index.ts` file
-`pdfviewer.serviceUrl = 'https://services.syncfusion.com/js/production/api/pdfviewer';`
-
-{% previewsample "page.domainurl/code-snippet/pdfviewer/text-markup-annotation/strikethrough-mode-cs1" %}
-
-Refer to the following code snippet to switch back to normal mode from underline mode.
-
-{% tabs %}
-{% highlight ts tabtitle="index.ts" %}
-import { PdfViewer, Toolbar, Magnification, Navigation, LinkAnnotation,ThumbnailView,BookmarkView,
-TextSelection, Annotation} from '@syncfusion/ej2-pdfviewer';
-
-PdfViewer.Inject(Toolbar,Magnification,Navigation, LinkAnnotation,ThumbnailView,BookmarkView,
-TextSelection, Annotation);
-
-let pdfviewer: PdfViewer = new PdfViewer({
- documentPath:'https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf',
- resourceUrl:"https://cdn.syncfusion.com/ej2/23.1.43/dist/ej2-pdfviewer-lib"
-});
-
-pdfviewer.appendTo('#PdfViewer');
-
-document.getElementById('set').addEventListener('click', ()=> {
- pdfviewer.annotation.setAnnotationMode('Strikethrough');
-});
-
-document.getElementById('setNone').addEventListener('click', ()=> {
- pdfviewer.annotation.setAnnotationMode('None');
-});
-{% endhighlight %}
-{% highlight html tabtitle="index.html" %}
-
-
-
-
- EJ2 PDF Viewer
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Loading....
-
-
-
-
-
-
-
-
-
-
-{% endhighlight %}
-{% endtabs %}
-
-N> To set up the **server-backed PDF Viewer**,
-Add the below `serviceUrl` in the `index.ts` file
-`pdfviewer.serviceUrl = 'https://services.syncfusion.com/js/production/api/pdfviewer';`
-
-{% previewsample "page.domainurl/code-snippet/pdfviewer/text-markup-annotation/strikethrough-normal-mode-cs1" %}
-
-## Strikethrough a text programmatically
-
-The PDF Viewer library enables you to programmatically Strikethrough text within the PDF Viewer control using the [**addAnnotation()**](https://helpej2.syncfusion.com/documentation/api/pdfviewer/annotation/#annotation) method.
-
-Here's an example of how you can use the **addAnnotation()** method to apply Strikethrough programmatically:
-
-```html
-
-```
-
-{% tabs %}
-{% highlight ts tabtitle="Standalone" %}
-
-import { PdfViewer, Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, TextSearch, FormFields, FormDesigner, PageOrganizer, StrikethroughSettings} from '@syncfusion/ej2-pdfviewer';
-
-PdfViewer.Inject(Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, TextSearch, FormFields, FormDesigner, PageOrganizer);
-
-let pdfviewer: PdfViewer = new PdfViewer();
-pdfviewer.documentPath = "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf";
-pdfviewer.resourceUrl = "https://cdn.syncfusion.com/ej2/25.1.35/dist/ej2-pdfviewer-lib";
-pdfviewer.appendTo('#PdfViewer');
-
-let strikethrough = document.getElementById('strikethrough');
-if (strikethrough) {
- strikethrough.addEventListener('click', function () {
- if (pdfviewer) {
- pdfviewer.annotation.addAnnotation("Strikethrough", {
- bounds: [{ x: 97, y: 110, width: 350, height: 14 }],
- pageNumber: 1
- } as StrikethroughSettings);
- }
- });
-}
-
-{% endhighlight %}
-{% highlight ts tabtitle="Server-Backed" %}
-
-import { PdfViewer, Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, TextSearch, FormFields, FormDesigner, PageOrganizer, StrikethroughSettings} from '@syncfusion/ej2-pdfviewer';
-
-PdfViewer.Inject(Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, TextSearch, FormFields, FormDesigner, PageOrganizer);
-
-let pdfviewer: PdfViewer = new PdfViewer();
-pdfviewer.serviceUrl = 'https://services.syncfusion.com/js/production/api/pdfviewer';
-pdfviewer.documentPath = "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf";
-pdfviewer.appendTo('#PdfViewer');
-
-let strikethrough = document.getElementById('strikethrough');
-if (strikethrough) {
- strikethrough.addEventListener('click', function () {
- if (pdfviewer) {
- pdfviewer.annotation.addAnnotation("Strikethrough", {
- bounds: [{ x: 97, y: 110, width: 350, height: 14 }],
- pageNumber: 1
- } as StrikethroughSettings);
- }
- });
-}
-
-{% endhighlight %}
-{% endtabs %}
-
-## Squiggly a text
-
-There are two ways to add squiggly to a text in the PDF document:
-
-1. Using the context menu
- * Select a text in the PDF document and right-click it.
- * Select **Squiggly** option in the context menu that appears.
-
-
-
-2. Using the annotation toolbar
- * Click the **Edit Annotation** button in the PDF Viewer toolbar. A toolbar appears below it.
- * Select the **Squiggly** button in the annotation toolbar. It enables the squiggly mode.
- * Select the text and the squiggly annotation will be added.
- * You can also select the text and apply the squiggly annotation using the **Squiggly** button.
-
-
-
-In the pan mode, if the squiggly mode is entered, the PDF Viewer control will switch to text select mode to enable the text selection for adding squiggly to the text.
-
-Refer to the following code snippet to switch to squiggly mode.
-
-{% tabs %}
-{% highlight ts tabtitle="index.ts" %}
-import { PdfViewer, Toolbar, Magnification, Navigation, LinkAnnotation,ThumbnailView, BookmarkView,
- TextSelection, Annotation, FormDesigner, FormFields } from '@syncfusion/ej2-pdfviewer';
-
-PdfViewer.Inject( Toolbar,Magnification, Navigation, LinkAnnotation,ThumbnailView,
- BookmarkView, TextSelection, Annotation, FormDesigner, FormFields);
-
-let pdfviewer: PdfViewer = new PdfViewer({
- documentPath:'https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf',
- resourceUrl:"https://cdn.syncfusion.com/ej2/30.1.37/dist/ej2-pdfviewer-lib"
-});
-pdfviewer.appendTo('#PdfViewer');
-
-document.getElementById('set').addEventListener('click', ()=> {
- pdfviewer.annotation.setAnnotationMode('Squiggly');
-});
-{% endhighlight %}
-{% highlight html tabtitle="index.html" %}
-
-
-
-
- EJ2 PDF Viewer
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Loading....
-
-
-
-
-
-
-
-
-{% endhighlight %}
-{% endtabs %}
-
-N> To set up the **server-backed PDF Viewer**,
-Add the below `serviceUrl` in the `index.ts` file
-`pdfviewer.serviceUrl = 'https://services.syncfusion.com/js/production/api/pdfviewer';`
-
-{% previewsample "page.domainurl/code-snippet/pdfviewer/text-markup-annotation/squiggly-mode-cs1" %}
-
-Refer to the following code snippet to switch back to normal mode from underline mode.
-
-{% tabs %}
-{% highlight ts tabtitle="index.ts" %}
-import { PdfViewer, Toolbar, Magnification, Navigation, LinkAnnotation,ThumbnailView,BookmarkView,
-TextSelection, Annotation} from '@syncfusion/ej2-pdfviewer';
-
-PdfViewer.Inject(Toolbar,Magnification,Navigation, LinkAnnotation,ThumbnailView,BookmarkView,
-TextSelection, Annotation);
-
-let pdfviewer: PdfViewer = new PdfViewer({
- documentPath:'https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf',
- resourceUrl:"https://cdn.syncfusion.com/ej2/30.1.37/dist/ej2-pdfviewer-lib"
-});
-
-pdfviewer.appendTo('#PdfViewer');
-
-document.getElementById('set').addEventListener('click', ()=> {
- pdfviewer.annotation.setAnnotationMode('Squiggly');
-});
-
-document.getElementById('setNone').addEventListener('click', ()=> {
- pdfviewer.annotation.setAnnotationMode('None');
-});
-{% endhighlight %}
-{% highlight html tabtitle="index.html" %}
-
-
-
-
- EJ2 PDF Viewer
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Loading....
-
-
-
-
-
-
-
-
-
-
-{% endhighlight %}
-{% endtabs %}
-
-N> To set up the **server-backed PDF Viewer**,
-Add the below `serviceUrl` in the `index.ts` file
-`pdfviewer.serviceUrl = 'https://services.syncfusion.com/js/production/api/pdfviewer';`
-
-{% previewsample "page.domainurl/code-snippet/pdfviewer/text-markup-annotation/squiggly-normal-mode-cs1" %}
-
-## Squiggly a text programmatically
-
-The PDF Viewer library enables you to programmatically Squiggly text within the PDF Viewer control using the [**addAnnotation()**](https://helpej2.syncfusion.com/documentation/api/pdfviewer/annotation/#annotation) method.
-
-Here's an example of how you can use the **addAnnotation()** method to apply Squiggly programmatically:
-
-```html
-
-```
-
-{% tabs %}
-{% highlight ts tabtitle="Standalone" %}
-
-import { PdfViewer, Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, TextSearch, FormFields, FormDesigner, PageOrganizer, SquigglySettings} from '@syncfusion/ej2-pdfviewer';
-
-PdfViewer.Inject(Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, TextSearch, FormFields, FormDesigner, PageOrganizer);
-
-let pdfviewer: PdfViewer = new PdfViewer();
-pdfviewer.documentPath = "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf";
-pdfviewer.resourceUrl = "https://cdn.syncfusion.com/ej2/30.1.37/dist/ej2-pdfviewer-lib";
-pdfviewer.appendTo('#PdfViewer');
-
-let squiggly = document.getElementById('squiggly');
-if (squiggly) {
- squiggly.addEventListener('click', function () {
- if (pdfviewer) {
- pdfviewer.annotation.addAnnotation("Squiggly", {
- bounds: [{ x: 97, y: 110, width: 350, height: 14 }],
- pageNumber: 1
- } as SquigglySettings);
- }
- });
-}
-
-{% endhighlight %}
-{% highlight ts tabtitle="Server-Backed" %}
-
-import { PdfViewer, Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, TextSearch, FormFields, FormDesigner, PageOrganizer, SquigglySettings} from '@syncfusion/ej2-pdfviewer';
-
-PdfViewer.Inject(Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, TextSearch, FormFields, FormDesigner, PageOrganizer);
-
-let pdfviewer: PdfViewer = new PdfViewer();
-pdfviewer.serviceUrl = 'https://services.syncfusion.com/js/production/api/pdfviewer';
-pdfviewer.documentPath = "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf";
-pdfviewer.appendTo('#PdfViewer');
-
-let squiggly = document.getElementById('squiggly');
-if (squiggly) {
- squiggly.addEventListener('click', function () {
- if (pdfviewer) {
- pdfviewer.annotation.addAnnotation("Squiggly", {
- bounds: [{ x: 97, y: 110, width: 350, height: 14 }],
- pageNumber: 1
- } as SquigglySettings);
- }
- });
-}
-
-{% endhighlight %}
-{% endtabs %}
-
-## Deleting a text markup annotation
-
-The selected annotation can be deleted by the following ways:
-
-1. Using Delete key
- * Select the annotation to be deleted.
- * Click the Delete key in the keyboard. The selected annotation will be deleted.
-
-2. Using the annotation toolbar
- * Select the annotation to be deleted.
- * Click the **Delete Annotation** button in the annotation toolbar. The selected annotation will be deleted.
-
-
-
-## Editing the properties of the text markup annotation
-
-The color and the opacity of the text markup annotation can be edited using the Edit Color tool and the Edit Opacity tool in the annotation toolbar.
-
-### Editing color
-
-The color of the annotation can be edited using the color palette provided in the Edit Color tool.
-
-
-
-### Editing opacity
-
-The opacity of the annotation can be edited using the range slider provided in the Edit Opacity tool.
-
-
-
-## Setting default properties during control initialization
-
-The properties of the text markup annotation can be set before creating the control using highlightSettings, underlineSettings, strikethroughSettings and squigglySettings.
-
->After editing the default color and opacity using the Edit Color tool and Edit Opacity tool, they will be changed to the selected values.
-
-Refer to the following code snippet to set the default annotation settings.
-
-{% tabs %}
-{% highlight ts tabtitle="Standalone" %}
-
-import { PdfViewer, Toolbar, Magnification, Navigation, LinkAnnotation,ThumbnailView,BookmarkView,
-TextSelection, Annotation} from '@syncfusion/ej2-pdfviewer';
-
-PdfViewer.Inject(Toolbar,Magnification,Navigation, LinkAnnotation,ThumbnailView,BookmarkView,
-TextSelection, Annotation);
-
-let pdfviewer: PdfViewer = new PdfViewer({ documentPath:'https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf',
-highlightSettings: {author: 'Guest User', subject: 'Important', color: '#ffff00', opacity: 0.9, modifiedDate: ''},
-underlineSettings: {author: 'Guest User', subject: 'Points to be remembered', color: '#00ffff', opacity: 0.9, modifiedDate: ''},
-strikethroughSettings: {author: 'Guest User', subject: 'Not Important', color: '#ff00ff', opacity: 0.9, modifiedDate: ''},
-squigglySettings: {author: 'Guest User', subject: 'Corrections', color: '#00ff00', opacity: 0.9, modifiedDate: ''} });
-pdfviewer.appendTo('#PdfViewer');
-
-{% endhighlight %}
-{% highlight ts tabtitle="Server-Backed" %}
-
-import { PdfViewer, Toolbar, Magnification, Navigation, LinkAnnotation,ThumbnailView,BookmarkView,
-TextSelection, Annotation} from '@syncfusion/ej2-pdfviewer';
-
-PdfViewer.Inject(Toolbar,Magnification,Navigation, LinkAnnotation,ThumbnailView,BookmarkView,
-TextSelection, Annotation);
-
-let pdfviewer: PdfViewer = new PdfViewer({ documentPath:'https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf',
-highlightSettings: {author: 'Guest User', subject: 'Important', color: '#ffff00', opacity: 0.9, modifiedDate: ''},
-underlineSettings: {author: 'Guest User', subject: 'Points to be remembered', color: '#00ffff', opacity: 0.9, modifiedDate: ''},
-strikethroughSettings: {author: 'Guest User', subject: 'Not Important', color: '#ff00ff', opacity: 0.9, modifiedDate: ''},
-squigglySettings: {author: 'Guest User', subject: 'Corrections', color: '#00ff00', opacity: 0.9, modifiedDate: ''} });
-pdfviewer.serviceUrl = 'https://services.syncfusion.com/js/production/api/pdfviewer';
-pdfviewer.appendTo('#PdfViewer');
-
-{% endhighlight %}
-{% endtabs %}
-
-## Performing undo and redo
-
-The PDF Viewer performs undo and redo for the changes made in the PDF document. In text markup annotation, undo and redo actions are provided for:
-
-* Inclusion of the text markup annotations.
-* Deletion of the text markup annotations.
-* Change of either color or opacity of the text markup annotations.
-
-Undo and redo actions can be done by the following ways:
-
-1. Using keyboard shortcuts:
- After performing a text markup annotation action, you can undo it by using Ctrl + Z shortcut and redo by using Ctrl + Y shortcut.
-2. Using toolbar:
- Undo and redo can be done using the **Undo** tool and **Redo** tool provided in the toolbar.
-
-Refer to the following code snippet for calling undo and redo actions from the client-side.
-
-{% tabs %}
-{% highlight ts tabtitle="index.ts" %}
-import { PdfViewer, Toolbar, Magnification, Navigation, LinkAnnotation,ThumbnailView, BookmarkView,
- TextSelection, Annotation, FormDesigner, FormFields } from '@syncfusion/ej2-pdfviewer';
-
-PdfViewer.Inject( Toolbar,Magnification, Navigation, LinkAnnotation,ThumbnailView,
- BookmarkView, TextSelection, Annotation, FormDesigner, FormFields);
-
-let pdfviewer: PdfViewer = new PdfViewer({
- documentPath:'https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf',
- resourceUrl:"https://cdn.syncfusion.com/ej2/23.1.43/dist/ej2-pdfviewer-lib"
-});
-pdfviewer.appendTo('#PdfViewer');
-
-document.getElementById('undo').addEventListener('click', ()=> {
- pdfviewer.undo();
-});
-
-document.getElementById('redo').addEventListener('click', ()=> {
- pdfviewer.redo();
-});
-{% endhighlight %}
-{% highlight html tabtitle="index.html" %}
-
-
-
-
- EJ2 PDF Viewer
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Loading....
-
-
-
-
-
-
-
-
-
-{% endhighlight %}
-{% endtabs %}
-
-N> To set up the **server-backed PDF Viewer**,
-Add the below `serviceUrl` in the `index.ts` file
-`pdfviewer.serviceUrl = 'https://services.syncfusion.com/js/production/api/pdfviewer';`
-
-{% previewsample "page.domainurl/code-snippet/pdfviewer/text-markup-annotation/undo-redo-cs1" %}
-
-## Saving the text markup annotation
-
-When you click the download tool in the toolbar, the text markup annotations will be saved in the PDF document. This action will not affect the original document.
-
-## Printing the text markup annotation
-
-When the print tool is selected in the toolbar, the PDF document will be printed along with the text markup annotations added to the pages. This action will not affect the original document.
-
-## Disabling text markup annotation
-
-The PDF Viewer control provides an option to disable the text markup annotation feature. The code snippet for disabling the feature is as follows.
-
-{% tabs %}
-{% highlight ts tabtitle="Standalone" %}
-
-import { PdfViewer, Toolbar, Magnification, Navigation, LinkAnnotation,ThumbnailView,BookmarkView,
-TextSelection, Annotation} from '@syncfusion/ej2-pdfviewer';
-
-PdfViewer.Inject(Toolbar,Magnification,Navigation, LinkAnnotation,ThumbnailView,BookmarkView,
-TextSelection, Annotation);
-
-let pdfviewer: PdfViewer = new PdfViewer({ documentPath:'https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf', enableTextMarkupAnnotation: false });
-pdfviewer.appendTo('#PdfViewer');
-
-{% endhighlight %}
-{% highlight ts tabtitle="Server-Backed" %}
-
-import { PdfViewer, Toolbar, Magnification, Navigation, LinkAnnotation,ThumbnailView,BookmarkView,
-TextSelection, Annotation} from '@syncfusion/ej2-pdfviewer';
-
-PdfViewer.Inject(Toolbar,Magnification,Navigation, LinkAnnotation,ThumbnailView,BookmarkView,
-TextSelection, Annotation);
-
-let pdfviewer: PdfViewer = new PdfViewer({ documentPath:'https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf', enableTextMarkupAnnotation: false });
-pdfviewer.serviceUrl = 'https://services.syncfusion.com/js/production/api/pdfviewer';
-pdfviewer.appendTo('#PdfViewer');
-
-{% endhighlight %}
-{% endtabs %}
-
-## See also
-
-* [Toolbar items](../toolbar)
-* [Feature Modules](../feature-module)
diff --git a/ej2-javascript/pdfviewer/ts/download.md b/ej2-javascript/pdfviewer/ts/download.md
deleted file mode 100644
index 5a2d56c21..000000000
--- a/ej2-javascript/pdfviewer/ts/download.md
+++ /dev/null
@@ -1,142 +0,0 @@
----
-layout: post
-title: Download in ##Platform_Name## Pdfviewer control | Syncfusion
-description: Learn here all about Download in Syncfusion ##Platform_Name## Pdfviewer control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: Download
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-# Download in ##Platform_Name## Pdfviewer control
-
-The PDF Viewer supports downloading the loaded PDF file. You can enable/disable the download using the following code snippet.
-
-```html
-
-
-
-
- Essential JS 2
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-```
-
-{% tabs %}
-{% highlight ts tabtitle="Standalone" %}
-
-import { PdfViewer, Toolbar,Magnification,Navigation, Annotation, LinkAnnotation,ThumbnailView,BookmarkView,
-TextSelection, TextSearch, Print} from '@syncfusion/ej2-pdfviewer';
-
-PdfViewer.Inject(Toolbar,Magnification,Navigation, Annotation, LinkAnnotation,ThumbnailView,BookmarkView,
-TextSelection, TextSearch, Print);
-
-let pdfviewer: PdfViewer = new PdfViewer({enableDownload: true});
-pdfviewer.appendTo('#PdfViewer');
-pdfviewer.load('https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf', null);
-
-{% endhighlight %}
-{% highlight ts tabtitle="Server-Backed" %}
-
-import { PdfViewer, Toolbar,Magnification,Navigation, Annotation, LinkAnnotation,ThumbnailView,BookmarkView,
-TextSelection, TextSearch, Print} from '@syncfusion/ej2-pdfviewer';
-
-PdfViewer.Inject(Toolbar,Magnification,Navigation, Annotation, LinkAnnotation,ThumbnailView,BookmarkView,
-TextSelection, TextSearch, Print);
-
-let pdfviewer: PdfViewer = new PdfViewer({enableDownload: true});
-pdfviewer.serviceUrl = 'https://services.syncfusion.com/js/production/api/pdfviewer';
-pdfviewer.appendTo('#PdfViewer');
-pdfviewer.load('https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf', null);
-
-{% endhighlight %}
-{% endtabs %}
-
-
-
-You can invoke download action using following code snippet.,
-
-{% tabs %}
-{% highlight ts tabtitle="Standalone" %}
-
-
-import { PdfViewer, Toolbar, Magnification, Navigation, Annotation, LinkAnnotation,ThumbnailView,BookmarkView, TextSelection} from '@syncfusion/ej2-pdfviewer';
-
-PdfViewer.Inject(Toolbar,Magnification,Navigation, Annotation, LinkAnnotation,ThumbnailView,BookmarkView, TextSelection);
-
-let pdfviewer: PdfViewer = new PdfViewer();
-pdfviewer.appendTo('#PdfViewer');
-pdfviewer.load('https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf', null);
-pdfviewer.download();
-
-{% endhighlight %}
-{% highlight ts tabtitle="Server-Backed" %}
-
-import { PdfViewer, Toolbar, Magnification, Navigation, Annotation, LinkAnnotation,ThumbnailView,BookmarkView, TextSelection} from '@syncfusion/ej2-pdfviewer';
-
-PdfViewer.Inject(Toolbar,Magnification,Navigation, Annotation, LinkAnnotation,ThumbnailView,BookmarkView, TextSelection);
-
-let pdfviewer: PdfViewer = new PdfViewer();
-pdfviewer.serviceUrl = 'https://services.syncfusion.com/js/production/api/pdfviewer';
-pdfviewer.appendTo('#PdfViewer');
-pdfviewer.load('https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf', null);
-pdfviewer.download();
-
-{% endhighlight %}
-{% endtabs %}
-
-## How to get the base64 string while downloading the PDF document
-
-The [downloadEnd](https://helpej2.syncfusion.com/documentation/api/pdfviewer/#downloadend) event of the PDF viewer allows you to get the downloaded document as a base64 string.
-
-The following code illustrates how to get the downloaded document as a base64 string.
-
-```
-
-
-
-
-```
-
-```ts
-
-document.getElementById('download').addEventListener('click', function () {
- //API to perform download action.
- viewer.download();
- viewer.downloadEnd = function (args) {
- pdfstream = args.downloadDocument;
- //Print the document as a base64 string in the console window.
- console.log(pdfstream);
- };
-});
-
-document.getElementById('load').addEventListener('click', function () {
- //Load the base64 string in the viewer.
- viewer.load(pdfstream, null);
-});
-
-```
-
-## See also
-
-* [Toolbar items](./toolbar)
-* [Feature Modules](./feature-module)
\ No newline at end of file
diff --git a/ej2-javascript/pdfviewer/ts/feature-module.md b/ej2-javascript/pdfviewer/ts/feature-module.md
deleted file mode 100644
index 370de4489..000000000
--- a/ej2-javascript/pdfviewer/ts/feature-module.md
+++ /dev/null
@@ -1,52 +0,0 @@
----
-layout: post
-title: Feature module in ##Platform_Name## Pdfviewer Control | Syncfusion
-description: Learn here all about Feature module in Syncfusion Essential ##Platform_Name## Pdfviewer control, its elements and more.
-platform: ej2-javascript
-control: Feature module
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Feature module in ##Platform_Name## Pdfviewer Control
-
-The PDF Viewer features are segregated into individual feature-wise modules to enable selectively referencing in the application. The required modules should be injected to extend its functionality. The following are the selective modules of PDF Viewer that can be included as required:
-
-The available PdfViewer modules are:
-
-* **Toolbar**:- Built-in toolbar for better user interaction.
-* **Magnification**:- Perform zooming operation for better viewing experience.
-* **Navigation**:- Easy navigation across the PDF pages.
-* **LinkAnnotation**:- Easy navigation within and outside of the PDF document.
-* **ThumbnailView**:- Easy navigation with in the PDF document.
-* **BookmarkView**:- Easy navigation based on the bookmark content of the PDF document.
-* **TextSelection**:- Select and copy text from a PDF file.
-* **TextSearch**:- Search a text easily across the PDF document.
-* **Print**:- Print the entire document or a specific page directly from the browser.
-* **Annotation**:- Annotations can be added or edited in the PDF document.
-* **FormFields**:- Preserve the form fields in the PDF document.
-* **FormDesigner**:- Form fields can be added or edited in the PDF document.
-
->In addition to injecting the required modules in your application, enable corresponding properties to extend the functionality for a PDF Viewer instance.
-Refer to the following table.
-
-| Module | Dependent modules to be injected for extending the functionality of PDF Viewer in your application | Property to enable the functionality for a PDF Viewer instance |
-|---|---|---|
-|Toolbar|`PdfViewer.Inject(Toolbar)`|`let pdfViewer: PdfViewer = new PdfViewer({ enableToolbar: true });`|
-|Magnification|`PdfViewer.Inject(Magnification)`|`let pdfViewer: PdfViewer = new PdfViewer({ enableMagnification: true });`|
-|Navigation|`PdfViewer.Inject(Navigation)`|`let pdfViewer: PdfViewer = new PdfViewer({ enableNavigation: true });`|
-|LinkAnnotation|`PdfViewer.Inject(LinkAnnotation)`|`let pdfViewer: PdfViewer = new PdfViewer({ enableHyperlink: true });`|
-|ThumbnailView|`PdfViewer.Inject(ThumbnailView)`|`let pdfViewer: PdfViewer = new PdfViewer({ enableThumbnail: true });`|
-|BookmarkView|`PdfViewer.Inject(BookmarkView)`|`let pdfViewer: PdfViewer = new PdfViewer({ enableBookmark: true });`|
-|TextSelection|`PdfViewer.Inject(TextSelection)`|`let pdfViewer: PdfViewer = new PdfViewer({ enableTextSelection: true });`|
-|TextSearch|`PdfViewer.Inject(TextSearch)`|`let pdfViewer: PdfViewer = new PdfViewer({ enableTextSearch: true });`|
-|Print|`PdfViewer.Inject(Print)`|`let pdfViewer: PdfViewer = new PdfViewer({ enablePrint: true });`|
-|Annotation|`PdfViewer.Inject(Annotation)`|`let pdfViewer: PdfViewer = new PdfViewer({ enableAnnotation: true });`|
-|FormFields|`PdfViewer.Inject(FormFields)`|`let pdfViewer: PdfViewer = new PdfViewer({ enableFormFields: true });`|
-|FormDesigner|`PdfViewer.Inject(FormDesigner)`|`let pdfViewer: PdfViewer = new PdfViewer({ enableFormDesigner: true });`|
-
-## See also
-
-* [Toolbar items](./toolbar)
-* [Toolbar customization](./how-to/customization)
\ No newline at end of file
diff --git a/ej2-javascript/pdfviewer/ts/form-designer/create-programmatically.md b/ej2-javascript/pdfviewer/ts/form-designer/create-programmatically.md
deleted file mode 100644
index 14d81565c..000000000
--- a/ej2-javascript/pdfviewer/ts/form-designer/create-programmatically.md
+++ /dev/null
@@ -1,1170 +0,0 @@
----
-layout: post
-title: Create programmatically in ##Platform_Name## Pdfviewer control | Syncfusion
-description: Learn here all about Create programmatically in Syncfusion ##Platform_Name## Pdfviewer control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: Create programmatically
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Create programmatically in ##Platform_Name## Pdfviewer control
-
-The PDF Viewer control provides the option to add, edit and delete the Form Fields. The Form Fields type supported by the PDF Viewer Control are:
-
- * Textbox
- * Password
- * CheckBox
- * RadioButton
- * ListBox
- * DropDown
- * SignatureField
- * InitialField
-
-## Add a form field to PDF document programmatically
-
-Using addFormField method, the form fields can be added to the PDF document programmatically. We need to pass two parameters in this method. They are Form Field Type and Properties of Form Field Type. To add form field programmatically, Use the following code.
-
-{% tabs %}
-{% highlight ts tabtitle="index.ts" %}
-import { PdfViewer, Toolbar, Magnification, Navigation, LinkAnnotation,ThumbnailView, BookmarkView,
- TextSelection, Annotation, FormDesigner, FormFields, TextFieldSettings, RadioButtonFieldSettings,
- CheckBoxFieldSettings, InitialFieldSettings, SignatureFieldSettings } from '@syncfusion/ej2-pdfviewer';
-
-PdfViewer.Inject( Toolbar,Magnification, Navigation, LinkAnnotation, ThumbnailView,
- BookmarkView, TextSelection, Annotation, FormDesigner, FormFields );
-
-let pdfviewer: PdfViewer = new PdfViewer({
- documentPath:'https://cdn.syncfusion.com/content/pdf/form-designer.pdf',
- resourceUrl:"https://cdn.syncfusion.com/ej2/23.1.43/dist/ej2-pdfviewer-lib"
-});
-pdfviewer.appendTo('#PdfViewer');
-
-pdfviewer.documentLoad = function (args) {
- pdfviewer.formDesignerModule.addFormField("Textbox", { name: "First Name", bounds: { X: 146, Y: 229, Width: 150, Height: 24 }as TextFieldSettings });
- pdfviewer.formDesignerModule.addFormField("Textbox", { name: "Middle Name", bounds: { X: 338, Y: 229, Width: 150, Height: 24 }as TextFieldSettings});
- pdfviewer.formDesignerModule.addFormField('Textbox', {name: 'Last Name',bounds: { X: 530, Y: 229, Width: 150, Height: 24 }as TextFieldSettings,});
- pdfviewer.formDesignerModule.addFormField('RadioButton', {bounds: { X: 148, Y: 289, Width: 18, Height: 18 },name: 'Gender',isSelected: false}as RadioButtonFieldSettings);
- pdfviewer.formDesignerModule.addFormField('RadioButton', {bounds: { X: 292, Y: 289, Width: 18, Height: 18 },name: 'Gender',isSelected: false,}as RadioButtonFieldSettings);
- pdfviewer.formDesignerModule.addFormField('Textbox', {name: 'DOB Month',bounds: { X: 146, Y: 320, Width: 35, Height: 24 }as TextFieldSettings,});
- pdfviewer.formDesignerModule.addFormField('Textbox', {name: 'DOB Date',bounds: { X: 193, Y: 320, Width: 35, Height: 24 }as TextFieldSettings,});
- pdfviewer.formDesignerModule.addFormField('Textbox', {name: 'DOB Year',bounds: { X: 242, Y: 320, Width: 35, Height: 24 }as TextFieldSettings,});
- pdfviewer.formDesignerModule.addFormField('InitialField', {name: 'Agree',bounds: { X: 148, Y: 408, Width: 200, Height: 43 },} as InitialFieldSettings);
- pdfviewer.formDesignerModule.addFormField('InitialField', {name: 'Do Not Agree',bounds: { X: 148, Y: 466, Width: 200, Height: 43 },} as InitialFieldSettings);
- pdfviewer.formDesignerModule.addFormField('CheckBox', {name: 'Text Message',bounds: { X: 56, Y: 664, Width: 20, Height: 20 },isChecked: false,}as CheckBoxFieldSettings);
- pdfviewer.formDesignerModule.addFormField('CheckBox', {name: 'Email',bounds: { X: 242, Y: 664, Width: 20, Height: 20 },isChecked: false,}as CheckBoxFieldSettings);
- pdfviewer.formDesignerModule.addFormField('CheckBox', {name: 'Appointment Reminder',bounds: { X: 56, Y: 740, Width: 20, Height: 20 },isChecked: false,}as CheckBoxFieldSettings);
- pdfviewer.formDesignerModule.addFormField('CheckBox', {name: 'Request for Customerservice',bounds: { X: 56, Y: 778, Width: 20, Height: 20 },isChecked: false,}as CheckBoxFieldSettings);
- pdfviewer.formDesignerModule.addFormField('CheckBox', {name: 'Information Billing',bounds: { X: 290, Y: 740, Width: 20, Height: 20 },isChecked: false,}as CheckBoxFieldSettings);
- pdfviewer.formDesignerModule.addFormField('Textbox', {name: 'My Email',bounds: { X: 146, Y: 850, Width: 200, Height: 24 }as TextFieldSettings,});
- pdfviewer.formDesignerModule.addFormField('Textbox', {name: 'My Phone',bounds: { X: 482, Y: 850, Width: 200, Height: 24 }as TextFieldSettings,});
- pdfviewer.formDesignerModule.addFormField('SignatureField', {name: 'Sign',bounds: { X: 57, Y: 923, Width: 200, Height: 43 },}as SignatureFieldSettings);
- pdfviewer.formDesignerModule.addFormField('Textbox', {name: 'DOS Month',bounds: { X: 386, Y: 923, Width: 35, Height: 24 }as TextFieldSettings,});
- pdfviewer.formDesignerModule.addFormField('Textbox', {name: 'DOS Date',bounds: { X: 434, Y: 923, Width: 35, Height: 24 }as TextFieldSettings} );
- pdfviewer.formDesignerModule.addFormField('Textbox', {name: 'DOS Year',bounds: { X: 482, Y: 923, Width: 35, Height: 24 }as TextFieldSettings,});
-}
-{% endhighlight %}
-{% highlight html tabtitle="index.html" %}
-
-
-
-
- EJ2 PDF Viewer
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Loading....
-
-
-
-
-
-{% endhighlight %}
-{% endtabs %}
-
-N> To set up the **server-backed PDF Viewer**,
-Add the below `serviceUrl` in the `index.ts` file
-`pdfviewer.serviceUrl = 'https://services.syncfusion.com/js/production/api/pdfviewer';`
-
-{% previewsample "page.domainurl/code-snippet/pdfviewer/addformfield-cs3" %}
-
-## Edit/Update form field programmatically
-
-Using updateFormField method, Form Field can be updated programmatically. We should get the Form Field object/Id from FormFieldCollections property that you would like to edit and pass it as a parameter to updateFormField method. The second parameter should be the properties that you would like to update for Form Field programmatically. We have updated the value and background Color properties of Textbox Form Field.
-
-{% tabs %}
-{% highlight ts tabtitle="index.ts" %}
-import { PdfViewer, Toolbar, Magnification, Navigation, LinkAnnotation,ThumbnailView, BookmarkView,
- TextSelection, Annotation, FormDesigner, FormFields, TextFieldSettings,
- RadioButtonFieldSettings, CheckBoxFieldSettings, InitialFieldSettings, SignatureFieldSettings} from '@syncfusion/ej2-pdfviewer';
-
-PdfViewer.Inject(Toolbar,Magnification, Navigation, LinkAnnotation,ThumbnailView,BookmarkView,
-TextSelection, Annotation, FormDesigner, FormFields);
-
-let pdfviewer: PdfViewer = new PdfViewer({
- documentPath:'https://cdn.syncfusion.com/content/pdf/form-designer.pdf',
- resourceUrl:"https://cdn.syncfusion.com/ej2/23.1.43/dist/ej2-pdfviewer-lib"
-});
-pdfviewer.appendTo('#PdfViewer');
-
-pdfviewer.documentLoad = function (args) {
-pdfviewer.formDesignerModule.addFormField("Textbox", { name: "First Name", bounds: { X: 146, Y: 229, Width: 150, Height: 24 }as TextFieldSettings });
-pdfviewer.formDesignerModule.addFormField("Textbox", { name: "Middle Name", bounds: { X: 338, Y: 229, Width: 150, Height: 24 }as TextFieldSettings});
-pdfviewer.formDesignerModule.addFormField('Textbox', {name: 'Last Name',bounds: { X: 530, Y: 229, Width: 150, Height: 24 }as TextFieldSettings,});
-pdfviewer.formDesignerModule.addFormField('RadioButton', {bounds: { X: 148, Y: 289, Width: 18, Height: 18 },name: 'Gender',isSelected: false}as RadioButtonFieldSettings);
-pdfviewer.formDesignerModule.addFormField('RadioButton', {bounds: { X: 292, Y: 289, Width: 18, Height: 18 },name: 'Gender',isSelected: false,}as RadioButtonFieldSettings);
-pdfviewer.formDesignerModule.addFormField('Textbox', {name: 'DOB Month',bounds: { X: 146, Y: 320, Width: 35, Height: 24 }as TextFieldSettings,});
-pdfviewer.formDesignerModule.addFormField('Textbox', {name: 'DOB Date',bounds: { X: 193, Y: 320, Width: 35, Height: 24 }as TextFieldSettings,});
-pdfviewer.formDesignerModule.addFormField('Textbox', {name: 'DOB Year',bounds: { X: 242, Y: 320, Width: 35, Height: 24 }as TextFieldSettings,});
-pdfviewer.formDesignerModule.addFormField('InitialField', {name: 'Agree',bounds: { X: 148, Y: 408, Width: 200, Height: 43 },} as InitialFieldSettings);
-pdfviewer.formDesignerModule.addFormField('InitialField', {name: 'Do Not Agree',bounds: { X: 148, Y: 466, Width: 200, Height: 43 },} as InitialFieldSettings);
-pdfviewer.formDesignerModule.addFormField('CheckBox', {name: 'Text Message',bounds: { X: 56, Y: 664, Width: 20, Height: 20 },isChecked: false,}as CheckBoxFieldSettings);
-pdfviewer.formDesignerModule.addFormField('CheckBox', {name: 'Email',bounds: { X: 242, Y: 664, Width: 20, Height: 20 },isChecked: false,}as CheckBoxFieldSettings);
-pdfviewer.formDesignerModule.addFormField('CheckBox', {name: 'Appointment Reminder',bounds: { X: 56, Y: 740, Width: 20, Height: 20 },isChecked: false,}as CheckBoxFieldSettings);
-pdfviewer.formDesignerModule.addFormField('CheckBox', {name: 'Request for Customerservice',bounds: { X: 56, Y: 778, Width: 20, Height: 20 },isChecked: false,}as CheckBoxFieldSettings);
-pdfviewer.formDesignerModule.addFormField('CheckBox', {name: 'Information Billing',bounds: { X: 290, Y: 740, Width: 20, Height: 20 },isChecked: false,}as CheckBoxFieldSettings);
-pdfviewer.formDesignerModule.addFormField('Textbox', {name: 'My Email',bounds: { X: 146, Y: 850, Width: 200, Height: 24 }as TextFieldSettings,});
-pdfviewer.formDesignerModule.addFormField('Textbox', {name: 'My Phone',bounds: { X: 482, Y: 850, Width: 200, Height: 24 }as TextFieldSettings,});
-pdfviewer.formDesignerModule.addFormField('SignatureField', {name: 'Sign',bounds: { X: 57, Y: 923, Width: 200, Height: 43 },}as SignatureFieldSettings);
-pdfviewer.formDesignerModule.addFormField('Textbox', {name: 'DOS Month',bounds: { X: 386, Y: 923, Width: 35, Height: 24 }as TextFieldSettings,});
-pdfviewer.formDesignerModule.addFormField('Textbox', {name: 'DOS Date',bounds: { X: 434, Y: 923, Width: 35, Height: 24 }as TextFieldSettings} );
-pdfviewer.formDesignerModule.addFormField('Textbox', {name: 'DOS Year',bounds: { X: 482, Y: 923, Width: 35, Height: 24 }as TextFieldSettings,});
-pdfviewer.formDesignerModule.updateFormField(pdfviewer.formFieldCollections[0], { backgroundColor: 'red' } as TextFieldSettings);
-}
-{% endhighlight %}
-{% highlight html tabtitle="index.html" %}
-
-
-
-
- EJ2 PDF Viewer
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-{% endhighlight %}
-{% endtabs %}
-
-N> To set up the **server-backed PDF Viewer**,
-Add the below `serviceUrl` in the `index.ts` file
-`pdfviewer.serviceUrl = 'https://services.syncfusion.com/js/production/api/pdfviewer';`
-
-{% previewsample "page.domainurl/code-snippet/pdfviewer/deleteformfield-cs3" %}
-
-## Saving the form fields
-
-When the download icon is selected on the toolbar, the Form Fields will be saved in the PDF document and this action will not affect the original document. Refer the below GIF for further reference.
-
-
-
-You can invoke download action using following code snippet.
-
-{% tabs %}
-{% highlight ts tabtitle="Standalone" %}
-
-import { PdfViewer, Toolbar, Magnification, Navigation, Annotation, LinkAnnotation,ThumbnailView,BookmarkView, TextSelection} from '@syncfusion/ej2-pdfviewer';
-
-PdfViewer.Inject(Toolbar,Magnification,Navigation, Annotation, LinkAnnotation,ThumbnailView,BookmarkView, TextSelection);
-
-let pdfviewer: PdfViewer = new PdfViewer();
-pdfviewer.appendTo('#PdfViewer');
-pdfviewer.load('https://cdn.syncfusion.com/content/pdf/form-designer.pdf', null);
-pdfviewer.download();
-
-{% endhighlight %}
-{% highlight ts tabtitle="Server-Backed" %}
-
-import { PdfViewer, Toolbar, Magnification, Navigation, Annotation, LinkAnnotation,ThumbnailView,BookmarkView, TextSelection} from '@syncfusion/ej2-pdfviewer';
-
-PdfViewer.Inject(Toolbar,Magnification,Navigation, Annotation, LinkAnnotation,ThumbnailView,BookmarkView, TextSelection);
-
-let pdfviewer: PdfViewer = new PdfViewer();
-pdfviewer.serviceUrl = 'https://services.syncfusion.com/js/production/api/pdfviewer';
-pdfviewer.appendTo('#PdfViewer');
-pdfviewer.load('https://cdn.syncfusion.com/content/pdf/form-designer.pdf', null);
-pdfviewer.download();
-
-
-{% endhighlight %}
-{% endtabs %}
-
-## Printing the form fields
-
-When the print icon is selected on the toolbar, the PDF document will be printed along with the Form Fields added to the pages and this action will not affect the original document. Refer the below GIF for further reference.
-
-
-
-You can invoke print action using the following code snippet.,
-
-{% tabs %}
-{% highlight ts tabtitle="Standalone" %}
-
-import { PdfViewer, Toolbar, Magnification, Navigation, Annotation, LinkAnnotation,ThumbnailView,BookmarkView, TextSelection} from '@syncfusion/ej2-pdfviewer';
-
-import { PdfViewer, Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, ThumbnailView,
- BookmarkView, TextSelection, TextSearch, FormFields, FormDesigner} from '@syncfusion/ej2-pdfviewer';
-
-PdfViewer.Inject( Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, ThumbnailView,
- BookmarkView, TextSelection, TextSearch, FormFields, FormDesigner);
-
-let pdfviewer: PdfViewer = new PdfViewer();
-pdfviewer.appendTo('#PdfViewer');
-pdfviewer.load('https://cdn.syncfusion.com/content/pdf/form-designer.pdf', null);
-pdfviewer.print.print();
-
-{% endhighlight %}
-{% highlight ts tabtitle="Server-Backed" %}
-
-import { PdfViewer, Toolbar, Magnification, Navigation, Annotation, LinkAnnotation,ThumbnailView,BookmarkView, TextSelection} from '@syncfusion/ej2-pdfviewer';
-
-
-import { PdfViewer, Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, ThumbnailView,
- BookmarkView, TextSelection, TextSearch, FormFields, FormDesigner} from '@syncfusion/ej2-pdfviewer';
-
-PdfViewer.Inject( Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, ThumbnailView,
- BookmarkView, TextSelection, TextSearch, FormFields, FormDesigner);
-
-let pdfviewer: PdfViewer = new PdfViewer();
-pdfviewer.serviceUrl = 'https://services.syncfusion.com/js/production/api/pdfviewer';
-pdfviewer.appendTo('#PdfViewer');
-pdfviewer.load('https://cdn.syncfusion.com/content/pdf/form-designer.pdf', null);
-pdfviewer.print.print();
-
-{% endhighlight %}
-{% endtabs %}
-
-## setFormFieldMode programmatically
-
-The **setFormFieldMode** method is a function in the Syncfusion PDF Viewer library that allows you to add a form field dynamically by passing the type of the form field. You can pass the form fields as a parameter like below.
-
-```
-
-
-```
-
-{% tabs %}
-{% highlight js tabtitle="Standalone" %}
-
-import { PdfViewer, Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, ThumbnailView,
- BookmarkView, TextSelection, TextSearch, FormFields, FormDesigner} from '@syncfusion/ej2-pdfviewer';
-
-PdfViewer.Inject( Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, ThumbnailView,
- BookmarkView, TextSelection, TextSearch, FormFields, FormDesigner);
-
-let pdfviewer: PdfViewer = new PdfViewer();
-pdfviewer.documentPath = 'https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf';
-pdfviewer.appendTo('#PdfViewer');
-
-document.getElementById('addPasswordField').addEventListener('click', function () {
- pdfviewer.formDesignerModule.setFormFieldMode("Password");
-});
-
-{% endhighlight %}
-{% highlight js tabtitle="Server-Backed" %}
-
-import { PdfViewer, Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, ThumbnailView,
- BookmarkView, TextSelection, TextSearch, FormFields, FormDesigner} from '@syncfusion/ej2-pdfviewer';
-
-PdfViewer.Inject( Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, ThumbnailView,
- BookmarkView, TextSelection, TextSearch, FormFields, FormDesigner);
-
-let pdfviewer: PdfViewer = new PdfViewer();
-pdfviewer.documentPath = 'https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf';
-pdfviewer.serviceUrl = 'https://services.syncfusion.com/js/production/api/pdfviewer';
-pdfviewer.appendTo('#PdfViewer');
-
-document.getElementById('addPasswordField').addEventListener('click', function () {
- pdfviewer.formDesignerModule.setFormFieldMode("Password");
-});
-{% endhighlight %}
-{% endtabs %}
-
-## Open the existing PDF document
-
-We can open the already saved PDF document contains Form Fields in it by clicking the open icon in the toolbar. Refer the below GIF for further reference.
-
-
-
-## Validate form fields
-
-The form fields in the PDF Document will be validated when the `enableFormFieldsValidation` is set to true and hook the validateFormFields. The validateFormFields will be triggered when the PDF document is downloaded or printed with the non-filled form fields. The non-filled fields will be obtained in the `nonFillableFields` property of the event arguments of validateFormFields.
-
-Add the following code snippet to validate the form fields,
-
-{% tabs %}
-{% highlight ts tabtitle="Standalone" %}
-
-import { PdfViewer, Toolbar, Magnification, Navigation, LinkAnnotation,ThumbnailView, BookmarkView,
-TextSelection, Annotation, FormDesigner, FormFields, TextFieldSettings} from '@syncfusion/ej2-pdfviewer';
-
-PdfViewer.Inject(Toolbar,Magnification, Navigation, LinkAnnotation,ThumbnailView,BookmarkView,
-TextSelection, Annotation, FormDesigner, FormFields);
-
-let pdfviewer: PdfViewer = new PdfViewer({ documentPath:'https://cdn.syncfusion.com/content/pdf/form-designer.pdf' });
-pdfviewer.appendTo('#PdfViewer');
-pdfviewer.enableFormFieldsValidation = true;
-viewer.validateFormFields= function (args) {
-var nonfilledFormFields = args.nonFillableFields;
-}
-
-{% endhighlight %}
-{% highlight ts tabtitle="Server-Backed" %}
-
-import { PdfViewer, Toolbar, Magnification, Navigation, LinkAnnotation,ThumbnailView, BookmarkView,
-TextSelection, Annotation, FormDesigner, FormFields, TextFieldSettings} from '@syncfusion/ej2-pdfviewer';
-
-PdfViewer.Inject(Toolbar,Magnification, Navigation, LinkAnnotation,ThumbnailView,BookmarkView,
-TextSelection, Annotation, FormDesigner, FormFields);
-
-let pdfviewer: PdfViewer = new PdfViewer({ documentPath:'https://cdn.syncfusion.com/content/pdf/form-designer.pdf' });
-pdfviewer.serviceUrl = 'https://services.syncfusion.com/js/production/api/pdfviewer';
-pdfviewer.appendTo('#PdfViewer');
-pdfviewer.enableFormFieldsValidation = true;
-viewer.validateFormFields= function (args) {
-var nonfilledFormFields = args.nonFillableFields;
-}
-
-{% endhighlight %}
-{% endtabs %}
-
-## Export and import form fields
-
-The PDF Viewer control provides the support to export and import the form field data in the following formats using the `importFormFields`, `exportFormFields`, and `exportFormFieldsAsObject` methods.
-
-* FDF
-* XFDF
-* JSON
-
-### Export and import as FDF
-
-Using the `exportFormFields` method, the form field data can be exported in the specified data format. This method accepts two parameters:
-
-* The first one must be the destination path for the exported data. If the path is not specified, it will ask for the location while exporting.
-* The second parameter should be the format type of the form data.
-
-The following code explains how to export the form field data as FDF.
-
-```ts
-
-
-
-
-
-
-// Event triggers on Export FDF button click.
-document.getElementById('exportFdf').addEventListener('click', ()=> {
- // Data must be the desired path for the exported document.
- viewer.exportFormFields('Data', FormFieldDataFormat.Fdf);
-});
-
-// Event triggers on Import FDF button click.
-document.getElementById('importFdf').addEventListener('click', ()=> {
- // The file for importing the form field should be placed in the desired location, and the path should be provided correctly
- viewer.importFormFields('File', FormFieldDataFormat.Fdf);
-});
-
-```
-
-### Export and import as XFDF
-
-The following code explains how to export the form field data as XFDF.
-
-```ts
-
-
-
-
-
-
-// Event triggers on Export XFDF button click.
-document.getElementById('exportXfdf').addEventListener('click', ()=> {
- // Data must be the desired path for the exported document.
- viewer.exportFormFields('Data', FormFieldDataFormat.Xfdf);
-});
-
-// Event triggers on Import XFDF button click.
-document.getElementById('importXfdf').addEventListener('click', ()=> {
- // The file for importing the form field should be placed in the desired location, and the path should be provided correctly
- viewer.importFormFields('File', FormFieldDataFormat.Xfdf);
-});
-
-```
-
-### Export and import as JSON
-
-The following code explains how to export the form field data as JSON.
-
-```ts
-
-
-
-
-
-
-// Event triggers on Export JSON button click.
-document.getElementById('exportJson').addEventListener('click', ()=> {
- // Data must be the desired path for the exported document.
- viewer.exportFormFields('Data', FormFieldDataFormat.Json);
-});
-
-// Event triggers on Import JSON button click.
-document.getElementById('importJson').addEventListener('click', ()=> {
- // The file for importing the form field should be placed in the desired location, and the path should be provided correctly
- viewer.importFormFields('File', FormFieldDataFormat.Json);
-});
-
-```
-
-### Export and import as Object
-
-The PDF Viewer control supports exporting the form field data as an object, and the exported data will be imported into the current PDF document from the object.
-
-The following code shows how to export the form field data as an object and import the form field data from that object into the current PDF document via a button click.
-
-```ts
-
-
-
-
-
-
-let exportedData;
-
-// Event triggers on Export Object button click.
-document.getElementById('exportDataAsObject').addEventListener('click', ()=> {
- // Export the form field data to an FDF object.
- viewer.exportFormFieldsAsObject(FormFieldDataFormat.Fdf).then(value => {
- exportedData = value;
- });
-
- // // Export the form field data to an XFDF object.
- // viewer.exportFormFieldsAsObject(FormFieldDataFormat.Xfdf).then(value =>{
- // exportedData = value;
- // })
-
- // // Export the form field data to an JSON object.
- // viewer.exportFormFieldsAsObject(FormFieldDataFormat.Json).then(value =>{
- // exportedData = value;
- // })
-});
-
-// Event triggers on Import Data button click.
-document.getElementById('importData').addEventListener('click', ()=> {
- // Import the form field data from the FDF object into the current PDF document.
- viewer.importFormFields(exportedData, FormFieldDataFormat.Fdf);
-
- //// Import the form field data from the XFDF object into the current PDF document.
- //viewer.importFormFields (exportedData, FormFieldDataFormat.Xfdf);
-
- //// Import the form field data from the FDF object into the current PDF document.
- //viewer.importFormFields (exportedData, FormFieldDataFormat.Json);
-});
-```
-## Form field properties
-
-Form field properties in Syncfusion PDF Viewer allow you to customize and interact with form fields embedded within PDF documents. This documentation provides an overview of the form field properties supported by the Syncfusion PDF Viewer and explains how to use them effectively.
-
- * Textbox
- * Password
- * CheckBox
- * RadioButton
- * ListBox
- * DropDown
- * SignatureField
- * InitialField
-
-### Signature and initial fields settings
-
-Using the `updateFormField` method, the form fields can be updated programmatically.
-
-The following code example explains how to update the signature field properties on a button click.
-
-```ts
-
-document.getElementById('updateProperties').addEventListener('click',function() {
- var formField = viewer.retrieveFormFields();
- viewer.formDesignerModule.updateFormField(formField[0], {
- name: 'Initial',
- isReadOnly: true,
- visibility: 'visible',
- isRequired: false,
- isPrint: true,
- tooltip: 'Initial',
- thickness: 4
- });
-});
-
-```
-
-The following code example explains how to update the properties of the signature field added to the document from the form designer toolbar.
-
-```ts
-
-// Properties to customize the signature field settings
-viewer.signatureFieldSettings = {
- // Set the name of the form field element.
- name: 'Signature',
- // Specify whether the signature field is in read-only or read-write mode.
- isReadOnly: false,
- // Set the visibility of the form field.
- visibility: 'visible',
- // Specify whether the field is mandatory or not.
- isRequired: false,
- // Specify whether to print the signature field.
- isPrint: true,
- // Set the text to be displayed as a tooltip.
- tooltip: 'Signature',
- // Set the thickness of the Signature field. To hide the borders, set the value to 0 (zero).
- thickness: 4,
- // Specify the properties of the signature Dialog Settings in the signature field.
- signatureDialogSettings: {
- displayMode: DisplayMode.Draw | DisplayMode.Upload | DisplayMode.Text,
- hideSaveSignature: false,
- },
- // Specify the properties of the signature indicator in the signature field.
- signatureIndicatorSettings: {
- opacity: 1,
- backgroundColor: '#237ba2',
- height: 50,
- fontSize: 15,
- text: 'Signature Field',
- color: 'white'
- },
-};
-
-```
-
-
-
-The following code example explains how to update the properties of the initial field added to the document from the form designer toolbar.
-
-```ts
-
-// Properties to customize the initial field settings
-viewer.initialFieldSettings = {
- // Set the name of the form field element.
- name: 'Initial',
- // Specify whether the initial field is in read-only or read-write mode.
- isReadOnly: false,
- // Set the visibility of the form field.
- visibility: 'visible',
- // Specify whether the field is mandatory or not.
- isRequired: false,
- // Specify whether to print the initial field.
- isPrint: true,
- // Set the text to be displayed as a tooltip.
- tooltip: 'Initial',
- // Set the thickness of the initial field. To hide the borders, set the value to 0 (zero).
- thickness: 4,
- // Specifies the properties of the initial indicator in the initial field.
- initialIndicatorSettings: {
- opacity: 1,
- backgroundColor: '#237ba2',
- height: 50,
- fontSize: 15,
- text: 'Initial Field',
- color: 'white'
- },
- // Specify the properties of the initial Dialog Settings in the intial field.
- initialDialogSettings: {
- displayMode: DisplayMode.Draw | DisplayMode.Upload | DisplayMode.Text,
- hideSaveSignature: false
- }
-};
-
-```
-
-
-
-### Textbox field settings
-
-Using the `updateFormField` method, the form fields can be updated programmatically.
-
-The following code example explains how to update the Textbox field properties on a button click.
-
-```html
-
-
-```
-
-```ts
-
-document.getElementById('updateProperties').addEventListener('click',function() {
- var formField = viewer.retrieveFormFields();
- viewer.formDesignerModule.updateFormField(formField[0], {
- name: 'Textbox',
- isReadOnly: true,
- visibility: 'visible',
- isRequired: false,
- isPrint: true,
- tooltip: 'Textbox',
- thickness: 4,
- value:'Textbox',
- fontFamily: 'Courier',
- fontSize: 10,
- fontStyle: 'None',
- color: 'black',
- borderColor: 'black',
- backgroundColor: 'white',
- alignment: 'Left',
- maxLength: 0,
- isMultiline: false,
- bounds: { X: 146, Y: 229, Width: 150, Height: 24 }
- });
-});
-
-
-```
-
-The following code example explains how to update the properties of the Textbox field added to the document from the form designer toolbar.
-
-```ts
-
-// Properties to customize the Textbox field settings
-viewer.textFieldSettings = {
- // Set the name of the form field element.
- name: 'Textbox',
- // Specify whether the Textbox field is in read-only or read-write mode.
- isReadOnly: false,
- // Set the visibility of the form field.
- visibility: 'visible',
- // Specify whether the field is mandatory or not.
- isRequired: false,
- // Specify whether to print the Textbox field.
- isPrint: true,
- // Set the text to be displayed as a tooltip.
- tooltip: 'Textbox',
- // Set the thickness of the Textbox field. To hide the borders, set the value to 0 (zero).
- thickness: 4,
- // Set the value of the form field element.
- value:'Textbox',
- // Set the font family of the textbox field.
- fontFamily: 'Courier',
- // Set the font size of the textbox field.
- fontSize: 10,
- // Specify the font style
- fontStyle: 'None',
- // Set the font color of the textbox field.
- color: 'black',
- // Set the border color of the textbox field.
- borderColor: 'black',
- // Set the background color of the textbox field.
- backgroundColor: 'White',
- // Set the alignment of the text.
- alignment: 'Left',
- // Set the maximum character length.
- maxLength: 0,
- // Allows multiline input in the text field. FALSE, by default.
- isMultiline: false
-};
-
-```
-
-
-
-### Password field settings
-
-Using the `updateFormField` method, the form fields can be updated programmatically.
-
-The following code example explains how to update the Password field properties on a button click.
-
-```html
-
-
-```
-
-```ts
-
-document.getElementById('updateProperties').addEventListener('click',function() {
- var formField = viewer.retrieveFormFields();
- viewer.formDesignerModule.updateFormField(formField[0], {
- name: 'Password',
- isReadOnly: true,
- visibility: 'visible',
- isRequired: false,
- isPrint: true,
- tooltip: 'Password',
- thickness: 4,
- value:'Password',
- fontFamily: 'Courier',
- fontSize: 10,
- fontStyle: 'None',
- color: 'black',
- borderColor: 'black',
- backgroundColor: 'white',
- alignment: 'Left',
- maxLength: 0,
- bounds: { X: 148, Y: 229, Width: 150, Height: 24 }
- });
-});
-
-
-```
-
-The following code example explains how to update the properties of the Password field added to the document from the form designer toolbar.
-
-```ts
-
-// Properties to customize the Password field settings
-viewer.passwordFieldSettings = {
- // Set the name of the form field element.
- name: 'Password',
- // Specify whether the Password field is in read-only or read-write mode.
- isReadOnly: false,
- // Set the visibility of the form field.
- visibility: 'visible',
- // Specify whether the field is mandatory or not.
- isRequired: false,
- // Specify whether to print the Password field.
- isPrint: true,
- // Set the text to be displayed as a tooltip.
- tooltip: 'Password',
- // Set the thickness of the Password field. To hide the borders, set the value to 0 (zero).
- thickness: 4,
- // Set the value of the form field element.
- value:'Password',
- // Set the font family of the Password field.
- fontFamily: 'Courier',
- // Set the font size of the Password field.
- fontSize: 10,
- // Specify the font style
- fontStyle: 'None',
- // Set the font color of the Password field.
- color: 'black',
- // Set the border color of the Password field.
- borderColor: 'black',
- // Set the background color of the Password field.
- backgroundColor: 'white',
- // Set the alignment of the text.
- alignment: 'Left',
- // Set the maximum character length.
- maxLength: 0,
-};
-
-```
-
-
-
-### CheckBox field settings
-
-Using the `updateFormField` method, the form fields can be updated programmatically.
-
-The following code example explains how to update the CheckBox field properties on a button click.
-
-```html
-
-
-```
-
-```ts
-
-document.getElementById('updateProperties').addEventListener('click',function() {
- var formField = viewer.retrieveFormFields();
- viewer.formDesignerModule.updateFormField(formField[0], {
- name: 'CheckBox',
- isReadOnly: true,
- visibility: 'visible',
- isRequired: false,
- isPrint: true,
- tooltip: 'CheckBox',
- thickness: 4,
- isChecked: true,
- backgroundColor: 'white',
- borderColor: 'black',
- value: 'CheckBox',
- });
-});
-
-
-```
-
-The following code example explains how to update the properties of the CheckBox field added to the document from the form designer toolbar.
-
-```ts
-
-// Properties to customize the CheckBox field settings
-viewer.checkBoxFieldSettings = {
- // Set the name of the form field element.
- name: 'CheckBox',
- // Specify whether the CheckBox field is in read-only or read-write mode.
- isReadOnly: false,
- // Set the visibility of the form field.
- visibility: 'visible',
- // Specify whether the field is mandatory or not.
- isRequired: false,
- // Specify whether to print the CheckBox field.
- isPrint: true,
- // Set the text to be displayed as a tooltip.
- tooltip: 'CheckBox',
- // Set the thickness of the CheckBox field. To hide the borders, set the value to 0 (zero).
- thickness: 4,
- // Specifies whether the check box is in checked state or not.
- isChecked: true,
- // Set the background color of the check box in hexadecimal string format.
- backgroundColor: 'white',
- // Set the border color of the check box field.
- borderColor: 'black',
- // Set the value of
-};
-
-```
-
-
-
-### RadioButton field settings
-
-Using the `updateFormField` method, the form fields can be updated programmatically.
-
-The following code example explains how to update the RadioButton field properties on a button click.
-
-```html
-
-
-```
-
-```ts
-
-document.getElementById('updateProperties').addEventListener('click',function() {
- var formField = viewer.retrieveFormFields();
- viewer.formDesignerModule.updateFormField(formField[0], {
- name: 'RadioButton',
- isReadOnly: true,
- visibility: 'visible',
- isRequired: false,
- isPrint: true,
- tooltip: 'RadioButton',
- thickness: 4,
- isSelected: true,
- backgroundColor: 'white',
- borderColor: 'black',
- value: 'RadioButton'
- });
-});
-
-
-```
-
-The following code example explains how to update the properties of the RadioButton field added to the document from the form designer toolbar.
-
-```ts
-
-// Properties to customize the RadioButton field settings
-viewer.radioButtonFieldSettings = {
- // Set the name of the form field element.
- name: 'RadioButton',
- // Specify whether the RadioButton field is in read-only or read-write mode.
- isReadOnly: false,
- // Set the visibility of the form field.
- visibility: 'visible',
- // Specify whether the field is mandatory or not.
- isRequired: false,
- // Specify whether to print the RadioButton field.
- isPrint: true,
- // Set the text to be displayed as a tooltip.
- tooltip: 'RadioButton',
- // Set the thickness of the RadioButton field. To hide the borders, set the value to 0 (zero).
- thickness: 4,
- // Specifies whether the radio button is in checked state or not.
- isSelected: true,
- // Set the background color of the radio button in hexadecimal string format.
- backgroundColor: 'white',
- // Set the border color of the radio button field.
- borderColor: 'black',
- // Set the value of the form field element.
- value: 'RadioButton'
-};
-
-```
-
-
-
-### ListBox field settings
-
-Using the `updateFormField` method, the form fields can be updated programmatically.
-
-The following code example explains how to update the ListBox field properties on a button click.
-
-```html
-
-
-```
-
-```ts
-
-document.getElementById('updateProperties').addEventListener('click',function() {
- var formField = viewer.retrieveFormFields();
- var customOptions = [{itemName:'item1',itemValue:'item1'}, {itemName:'item2',itemValue:'item2'}, {itemName:'item3',itemValue:'item3'}]
- viewer.formDesignerModule.updateFormField(formField[0], {
- name: 'ListBox',
- isReadOnly: false,
- visibility: 'visible',
- isRequired: false,
- isPrint: true,
- tooltip: 'ListBox',
- thickness: 4,
- fontFamily: 'Courier',
- fontSize: 10,
- fontStyle: 'None',
- color: 'black',
- borderColor: 'black',
- backgroundColor: 'white',
- alignment: 'Left',
- options: customOptions,
- });
-});
-
-
-```
-
-The following code example explains how to update the properties of the Listbox field added to the document from the form designer toolbar.
-
-```ts
-
-// Properties to customize the Listbox field settings
-viewer.listBoxFieldSettings = {
- var customOptions = [{itemName:'item1',itemValue:'item1'}, {itemName:'item2',itemValue:'item2'}, {itemName:'item3',itemValue:'item3'}]
- // Set the name of the form field element.
- name: 'ListBox',
- // Specify whether the ListBox field is in read-only or read-write mode.
- isReadOnly: false,
- // Set the visibility of the form field.
- visibility: 'visible',
- // Specify whether the field is mandatory or not.
- isRequired: false,
- // Specify whether to print the ListBox field.
- isPrint: true,
- // Set the text to be displayed as a tooltip.
- tooltip: 'ListBox',
- // Set the thickness of the ListBox field. To hide the borders, set the value to 0 (zero).
- thickness: 4,
- // Set the value of the form field element.
- value:'ListBox',
- // Set the font family of the ListBox field.
- fontFamily: 'Courier',
- // Set the font size of the ListBox field.
- fontSize: 10,
- // Specify the font style
- fontStyle: 'None',
- // Set the font color of the ListBox field.
- color: 'black',
- // Set the border color of the ListBox field.
- borderColor: 'black',
- // Set the background color of the ListBox field.
- backgroundColor: 'White',
- // Set the alignment of the text.
- alignment: 'Left',
- // Set the listbox items.
- options: customOptions
-};
-
-```
-
-
-
-### DropDown field settings
-
-Using the `updateFormField` method, the form fields can be updated programmatically.
-
-The following code example explains how to update the DropDown field properties on a button click.
-
-```html
-
-
-```
-
-```ts
-
-document.getElementById('updateProperties').addEventListener('click',function() {
- var formField = viewer.retrieveFormFields();
- var customOptions = [{itemName:'item1',itemValue:'item1'}, {itemName:'item2',itemValue:'item2'}, {itemName:'item3',itemValue:'item3'}]
- viewer.formDesignerModule.updateFormField(formField[0], {
- name: 'DropDown',
- isReadOnly: false,
- visibility: 'visible',
- isRequired: false,
- isPrint: true,
- tooltip: 'DropDown',
- thickness: 4,
- fontFamily: 'Courier',
- fontSize: 10,
- fontStyle: 'None',
- color: 'black',
- borderColor: 'black',
- backgroundColor: 'white',
- alignment: 'Left',
- options: customOptions,
- });
-});
-
-
-```
-
-The following code example explains how to update the properties of the Dropdown field added to the document from the form designer toolbar.
-
-```ts
-
-// Properties to customize the Dropdown field settings
-viewer.listBoxFieldSettings = {
- var customOptions = [{itemName:'item1',itemValue:'item1'}, {itemName:'item2',itemValue:'item2'}, {itemName:'item3',itemValue:'item3'}]
- // Set the name of the form field element.
- name: 'DropDown',
- // Specify whether the DropDown field is in read-only or read-write mode.
- isReadOnly: false,
- // Set the visibility of the form field.
- visibility: 'visible',
- // Specify whether the field is mandatory or not.
- isRequired: false,
- // Specify whether to print the DropDown field.
- isPrint: true,
- // Set the text to be displayed as a tooltip.
- tooltip: 'DropDown',
- // Set the thickness of the DropDown field. To hide the borders, set the value to 0 (zero).
- thickness: 4,
- // Set the value of the form field element.
- value:'DropDown',
- // Set the font family of the DropDown field.
- fontFamily: 'Courier',
- // Set the font size of the DropDown field.
- fontSize: 10,
- // Specify the font style
- fontStyle: 'None',
- // Set the font color of the DropDown field.
- color: 'black',
- // Set the border color of the DropDown field.
- borderColor: 'black',
- // Set the background color of the DropDown field.
- backgroundColor: 'White',
- // Set the alignment of the text.
- alignment: 'Left',
- // Set the DropDown items.
- options: customOptions
-};
-
-```
-
-
\ No newline at end of file
diff --git a/ej2-javascript/pdfviewer/ts/form-designer/create-with-user-interface-interaction.md b/ej2-javascript/pdfviewer/ts/form-designer/create-with-user-interface-interaction.md
deleted file mode 100644
index 09997c4bf..000000000
--- a/ej2-javascript/pdfviewer/ts/form-designer/create-with-user-interface-interaction.md
+++ /dev/null
@@ -1,84 +0,0 @@
----
-layout: post
-title: User interaction in ##Platform_Name## Pdfviewer control | Syncfusion
-description: Learn here all about Create with user interface interaction in Syncfusion ##Platform_Name## Pdfviewer control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: Create with user interface interaction
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Create with user interface interaction
-
-The PDF viewer control provides the option for interaction with Form Fields such as Drag and resize. you can draw a Form Field dynamically by clicking the Form Field icon on the toolbar and draw it in the PDF document. The Form Fields type supported by the PDF Viewer Control are:
-
- * Textbox
- * Password
- * CheckBox
- * RadioButton
- * ListBox
- * DropDown
- * SignatureField
- * InitialField
-
-## Enable or Disable form designer toolbar
-
-We should inject FormDesigner module and set enableFormDesignerToolbar as true to enable the Form designer icon on the toolbar. By default, enableFormDesignerToolbar is set as true. Use the following code to inject FormDesigner module and to enable the enableFormDesignerToolbar property.
-
-```ts
-import { PdfViewer } from '@syncfusion/ej2-pdfviewer';
-PdfViewer.Inject(FormDesigner);
-
-let pdfviewer: PdfViewer = new PdfViewer();
-pdfviewer.enableFormDesignerToolbar= true;
-
-```
-
-## Add the form field dynamically
-
-Click the Form Field icon on the toolbar and then click on to the PDF document to draw a Form Field. Refer the below GIF for further reference.
-
-
-
-## Drag the form field
-
-We provide options to drag the Form Field which is currently selected in the PDF document. Refer the below GIF for further reference.
-
-
-
-## Resize the form field
-
-We provide options to resize the Form Field which is currently selected in the PDF document. Refer the below GIF for further reference.
-
-
-
-## Edit or Update the form field dynamically
-
-The properties of the Form Fields can be edited using the Form Field Properties window. It can be opened by selecting the Properties option in the context menu that appears on the right by clicking the Form Field object. Refer the below image for the properties available to customize the appearance of the Form Field.
-
-
-
-
-
-
-
-## Clipboard operation with form field
-
-The PDF Viewer control supports the clipboard operations such as cut, copy and paste for Form Fields. You can right click on the Form Field object to view the context menu and select to the clipboard options that you would like to perform. Refer the below image for the options in the context menu.
-
-
-
-## Undo and Redo
-
-We provided support to undo/redo the Form Field actions that are performed at runtime. Use the following code example to perform undo/redo actions.
-
-```ts
-import { PdfViewer } from '@syncfusion/ej2-pdfviewer';
-PdfViewer.Inject(FormDesigner);
-
-let pdfviewer: PdfViewer = new PdfViewer();
-pdfviewer.undo();
-pdfviewer.redo();
-
-```
\ No newline at end of file
diff --git a/ej2-javascript/pdfviewer/ts/form-designer/form-field-events.md b/ej2-javascript/pdfviewer/ts/form-designer/form-field-events.md
deleted file mode 100644
index cc4cce4f5..000000000
--- a/ej2-javascript/pdfviewer/ts/form-designer/form-field-events.md
+++ /dev/null
@@ -1,199 +0,0 @@
----
-layout: post
-title: Form Field Events in ##Platform_Name## Pdfviewer control | Syncfusion
-description: Learn here all about different form field in Syncfusion ##Platform_Name## Pdfviewer component of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: Form Field Events
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# PDF Viewer Form Field events
-
-The PDF Viewer control provides the support to different Form Field events. The Form Field events supported by the PDF Viewer Control are:
-
-| Form Field events | Description |
-|---|---|
-| [formFieldAdd](https://helpej2.syncfusion.com/javascript/documentation/api/pdfviewer/formFieldAddArgs/) | Event trigger when a form field is added.|
-| [formFieldClick](https://helpej2.syncfusion.com/javascript/documentation/api/pdfviewer/formFieldClickArgs/) | Events trigger when the form field is selected.|
-| [formFieldDoubleClick](https://helpej2.syncfusion.com/javascript/documentation/api/pdfviewer/formFieldDoubleClickArgs/) | Events trigger when the form field is double-clicked.|
-| [formFieldFocusOut](https://helpej2.syncfusion.com/javascript/documentation/api/pdfviewer/formFieldFocusOutEventArgs/) | Events trigger when focus out from the form fields.|
-| [formFieldMouseLeave](https://helpej2.syncfusion.com/javascript/documentation/api/pdfviewer/formFieldMouseLeaveArgs/) | Events trigger when the mouse cursor leaves the form field.|
-| [formFieldMouseOver](https://helpej2.syncfusion.com/javascript/documentation/api/pdfviewer/formFieldMouseoverArgs/) | Events trigger when the mouse cursor is over a form field.|
-| [formFieldMove](https://helpej2.syncfusion.com/javascript/documentation/api/pdfviewer/formFieldMoveArgs/) | Events trigger when a form field is moved.|
-| [formFieldPropertiesChange](https://helpej2.syncfusion.com/javascript/documentation/api/pdfviewer/formFieldPropertiesChangeArgs/) | Events trigger when a property of form field is changed.|
-| [formFieldRemove](https://helpej2.syncfusion.com/javascript/documentation/api/pdfviewer/formFieldRemoveArgs/) | Events trigger when a form field is removed.|
-| [formFieldResize](https://helpej2.syncfusion.com/javascript/documentation/api/pdfviewer/formFieldResizeArgs/) | Events trigger when a form field is resized.|
-| [formFieldSelect](https://helpej2.syncfusion.com/javascript/documentation/api/pdfviewer/formFieldSelectArgs/) | Events trigger when a form field is selected.|
-| [formFieldUnselect](https://helpej2.syncfusion.com/javascript/documentation/api/pdfviewer/formFieldUnselectArgs/) | Events trigger when a form field is unselected.|
-| [validateFormFields](https://helpej2.syncfusion.com/javascript/documentation/api/pdfviewer/validateFormFieldsArgs/) | Events trigger when validation is failed.|
-
-## formFieldAdd event
-
-The [formFieldAdd](https://helpej2.syncfusion.com/javascript/documentation/api/pdfviewer/formFieldAddArgs/) event is triggered when a new form field is added, either programmatically or through user interaction. The event arguments provide the necessary information about the form field addition.
-
-{% tabs %}
-{% highlight ts tabtitle="index.ts" %}
-{% include code-snippet/pdfviewer/formfieldaddevent-cs2/index.ts %}
-{% endhighlight %}
-{% highlight html tabtitle="index.html" %}
-{% include code-snippet/pdfviewer/formfieldaddevent-cs2/index.html %}
-{% endhighlight %}
-{% endtabs %}
-
-## formFieldClick event
-
-The [formFieldClick](https://helpej2.syncfusion.com/javascript/documentation/api/pdfviewer/formFieldClickArgs/) event is triggered when a form field is clicked. The event arguments provide the necessary information about the form field click event.
-
-{% tabs %}
-{% highlight ts tabtitle="index.ts" %}
-{% include code-snippet/pdfviewer/formfieldclickevent-cs2/index.ts %}
-{% endhighlight %}
-{% highlight html tabtitle="index.html" %}
-{% include code-snippet/pdfviewer/formfieldclickevent-cs2/index.html %}
-{% endhighlight %}
-{% endtabs %}
-
-## formFieldDoubleClick event
-
-The [formFieldDoubleClick](https://helpej2.syncfusion.com/javascript/documentation/api/pdfviewer/formFieldDoubleClickArgs/) event is triggered when a form field is double-clicked. The event arguments provide the necessary information about the form field double-click event.
-
-{% tabs %}
-{% highlight ts tabtitle="index.ts" %}
-{% include code-snippet/pdfviewer/formfielddoubleclickevent-cs2/index.ts %}
-{% endhighlight %}
-{% highlight html tabtitle="index.html" %}
-{% include code-snippet/pdfviewer/formfielddoubleclickevent-cs2/index.html %}
-{% endhighlight %}
-{% endtabs %}
-
-## formFieldFocusOut event
-
-The [formFieldFocusOut](https://helpej2.syncfusion.com/javascript/documentation/api/pdfviewer/formFieldFocusOutEventArgs/) event is triggered when a form field loses focus. The event arguments provide the necessary information about the form field focus out event.
-
-{% tabs %}
-{% highlight ts tabtitle="index.ts" %}
-{% include code-snippet/pdfviewer/formfieldfocusoutevent-cs2/index.ts %}
-{% endhighlight %}
-{% highlight html tabtitle="index.html" %}
-{% include code-snippet/pdfviewer/formfieldfocusoutevent-cs2/index.html %}
-{% endhighlight %}
-{% endtabs %}
-
-## formFieldMouseLeave event
-
-The [formFieldMouseLeave](https://helpej2.syncfusion.com/javascript/documentation/api/pdfviewer/formFieldMouseLeaveArgs/) event is triggered when the mouse leaves a form field. The event arguments provide the necessary information about the form field mouse leave event.
-
-{% tabs %}
-{% highlight ts tabtitle="index.ts" %}
-{% include code-snippet/pdfviewer/formfieldmouseleaveevent-cs2/index.ts %}
-{% endhighlight %}
-{% highlight html tabtitle="index.html" %}
-{% include code-snippet/pdfviewer/formfieldmouseleaveevent-cs2/index.html %}
-{% endhighlight %}
-{% endtabs %}
-
-## formFieldMouseOver event
-
-The [formFieldMouseOver](https://helpej2.syncfusion.com/javascript/documentation/api/pdfviewer/formFieldMouseoverArgs/) event is triggered when the mouse hovers over a form field. The event arguments provide the necessary information about the form field mouse over event.
-
-{% tabs %}
-{% highlight ts tabtitle="index.ts" %}
-{% include code-snippet/pdfviewer/formfieldmouseoverevent-cs2/index.ts %}
-{% endhighlight %}
-{% highlight html tabtitle="index.html" %}
-{% include code-snippet/pdfviewer/formfieldmouseoverevent-cs2/index.html %}
-{% endhighlight %}
-{% endtabs %}
-
-## formFieldMove event
-
-The [formFieldMove](https://helpej2.syncfusion.com/javascript/documentation/api/pdfviewer/formFieldMoveArgs/) event is triggered when the mouse moves inside a form field. The event arguments provide the necessary information about the form field mouse move event.
-
-{% tabs %}
-{% highlight ts tabtitle="index.ts" %}
-{% include code-snippet/pdfviewer/formfieldmoveevent-cs2/index.ts %}
-{% endhighlight %}
-{% highlight html tabtitle="index.html" %}
-{% include code-snippet/pdfviewer/formfieldmoveevent-cs2/index.html %}
-{% endhighlight %}
-{% endtabs %}
-
-## formFieldPropertiesChange event
-
-The [formFieldPropertiesChange](https://helpej2.syncfusion.com/javascript/documentation/api/pdfviewer/formFieldPropertiesChangeArgs/) event is triggered when the properties of a form field are changed. The event arguments provide the necessary information about which property of the form field has been changed.
-
-{% tabs %}
-{% highlight ts tabtitle="index.ts" %}
-{% include code-snippet/pdfviewer/formfieldpropertieschangeevent-cs2/index.ts %}
-{% endhighlight %}
-{% highlight html tabtitle="index.html" %}
-{% include code-snippet/pdfviewer/formfieldpropertieschangeevent-cs2/index.html %}
-{% endhighlight %}
-{% endtabs %}
-
-## formFieldRemove event
-
-The [formFieldRemove](https://helpej2.syncfusion.com/javascript/documentation/api/pdfviewer/formFieldRemoveArgs/) event is triggered when a form field is removed from the PDF. The event arguments provide the necessary information about which form field has been removed.
-
-{% tabs %}
-{% highlight ts tabtitle="index.ts" %}
-{% include code-snippet/pdfviewer/formfieldremoveevent-cs2/index.ts %}
-{% endhighlight %}
-{% highlight html tabtitle="index.html" %}
-{% include code-snippet/pdfviewer/formfieldremoveevent-cs2/index.html %}
-{% endhighlight %}
-{% endtabs %}
-
-## formFieldResize event
-
-The [formFieldResize](https://helpej2.syncfusion.com/javascript/documentation/api/pdfviewer/formFieldResizeArgs/) events are triggered when a form field in a PDF is resized. These events provide the relevant details about the specific form field that has been resized.
-
-{% tabs %}
-{% highlight ts tabtitle="index.ts" %}
-{% include code-snippet/pdfviewer/formfieldresizeevent-cs2/index.ts %}
-{% endhighlight %}
-{% highlight html tabtitle="index.html" %}
-{% include code-snippet/pdfviewer/formfieldresizeevent-cs2/index.html %}
-{% endhighlight %}
-{% endtabs %}
-
-## formFieldSelect event
-
-The [formFieldSelect](https://helpej2.syncfusion.com/javascript/documentation/api/pdfviewer/formFieldSelectArgs/) events are triggered when a form field in a PDF is selected. These events provide the necessary details about the specific form field that has been selected.
-
-{% tabs %}
-{% highlight ts tabtitle="index.ts" %}
-{% include code-snippet/pdfviewer/formfieldselectevent-cs2/index.ts %}
-{% endhighlight %}
-{% highlight html tabtitle="index.html" %}
-{% include code-snippet/pdfviewer/formfieldselectevent-cs2/index.html %}
-{% endhighlight %}
-{% endtabs %}
-
-## formFieldUnselect event
-
-The [formFieldUnselect](https://helpej2.syncfusion.com/javascript/documentation/api/pdfviewer/formFieldUnselectArgs/) events are triggered when a form field in a PDF is unselected. These events provide the necessary details about the specific form field that has been unselected.
-
-{% tabs %}
-{% highlight ts tabtitle="index.ts" %}
-{% include code-snippet/pdfviewer/formfieldunselectevent-cs2/index.ts %}
-{% endhighlight %}
-{% highlight html tabtitle="index.html" %}
-{% include code-snippet/pdfviewer/formfieldunselectevent-cs2/index.html %}
-{% endhighlight %}
-{% endtabs %}
-
-## validateFormFields event
-
-The [validateFormFields](https://helpej2.syncfusion.com/javascript/documentation/api/pdfviewer/validateFormFieldsArgs/) events are triggered when a required form field is left unfilled before downloading the PDF. These events provide the necessary information for validating which form fields are incomplete.
-
-{% tabs %}
-{% highlight ts tabtitle="index.ts" %}
-{% include code-snippet/pdfviewer/formfieldvalidationevent-cs2/index.ts %}
-{% endhighlight %}
-{% highlight html tabtitle="index.html" %}
-{% include code-snippet/pdfviewer/formfieldvalidationevent-cs2/index.html %}
-{% endhighlight %}
-{% endtabs %}
\ No newline at end of file
diff --git a/ej2-javascript/pdfviewer/ts/formdesigner/programmatically-work-with-form-field.md b/ej2-javascript/pdfviewer/ts/formdesigner/programmatically-work-with-form-field.md
deleted file mode 100644
index 4545dc0d0..000000000
--- a/ej2-javascript/pdfviewer/ts/formdesigner/programmatically-work-with-form-field.md
+++ /dev/null
@@ -1,116 +0,0 @@
----
-layout: post
-title: Programmatically work with form field in ##Platform_Name## Pdfviewer control | Syncfusion
-description: Learn here all about Programmatically work with form field in Syncfusion ##Platform_Name## Pdfviewer control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: Programmatically work with form field
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Programmatically work with form field in ##Platform_Name## Pdfviewer control
-
-The PDF Viewer control provides the option to add, edit and delete the Form Fields. The Form Fields type supported by the PDF Viewer Control are:
-
- * Textbox
- * Password
- * CheckBox
- * RadioButton
- * ListBox
- * DropDown
- * SignatureField
- * InitialField
-
-## Add a form field to PDF document programmatically
-
-Using addFormField method, the form fields can be added to the PDF document programmatically. We need to pass two parameters in this method. They are Form Field Type and Properties of Form Field Type. To add form field programmatically, Use the following code.
-
-{% tabs %}
-{% highlight ts tabtitle="index.ts" %}
-{% include code-snippet/pdfviewer/addformfield-cs4/index.ts %}
-{% endhighlight %}
-{% highlight html tabtitle="index.html" %}
-{% include code-snippet/pdfviewer/addformfield-cs4/index.html %}
-{% endhighlight %}
-{% endtabs %}
-
-{% previewsample "page.domainurl/code-snippet/pdfviewer/addformfield-cs4" %}
-
-## Edit/Update form field programmatically
-
-Using updateFormField method, Form Field can be updated programmatically. We should get the Form Field object/Id from FormFieldCollections property that you would like to edit and pass it as a parameter to updateFormField method. The second parameter should be the properties that you would like to update for Form Field programmatically. We have updated the value and background Color properties of Textbox Form Field.
-
-{% tabs %}
-{% highlight ts tabtitle="index.ts" %}
-{% include code-snippet/pdfviewer/updateformfield-cs4/index.ts %}
-{% endhighlight %}
-{% highlight html tabtitle="index.html" %}
-{% include code-snippet/pdfviewer/updateformfield-cs4/index.html %}
-{% endhighlight %}
-{% endtabs %}
-
-{% previewsample "page.domainurl/code-snippet/pdfviewer/updateformfield-cs4" %}
-
-## Delete form field programmatically
-
-Using deleteFormField method, the form field can be deleted programmatically. We should retrieve the Form Field object/Id from FormFieldCollections property that you would like to delete and pass it as a parameter to deleteFormField method. To delete a Form Field programmatically, use the following code.
-
-{% tabs %}
-{% highlight ts tabtitle="index.ts" %}
-{% include code-snippet/pdfviewer/deleteformfield-cs4/index.ts %}
-{% endhighlight %}
-{% highlight html tabtitle="index.html" %}
-{% include code-snippet/pdfviewer/deleteformfield-cs4/index.html %}
-{% endhighlight %}
-{% endtabs %}
-
-{% previewsample "page.domainurl/code-snippet/pdfviewer/deleteformfield-cs4" %}
-
-## Saving the form fields
-
-When the download icon is selected on the toolbar, the Form Fields will be saved in the PDF document and this action will not affect the original document. Refer the below GIF for further reference.
-
-
-
-You can invoke download action using following code snippet.
-
-```ts
-import { PdfViewer, Toolbar, Magnification, Navigation, Annotation, LinkAnnotation,ThumbnailView,BookmarkView, TextSelection} from '@syncfusion/ej2-pdfviewer';
-
-PdfViewer.Inject(Toolbar,Magnification,Navigation, Annotation, LinkAnnotation,ThumbnailView,BookmarkView, TextSelection);
-
-let pdfviewer: PdfViewer = new PdfViewer();
-pdfviewer.serviceUrl = 'https://services.syncfusion.com/js/production/api/pdfviewer';
-pdfviewer.appendTo('#PdfViewer');
-pdfviewer.load('PDF_Succinctly.pdf', null);
-pdfviewer.download();
-
-```
-
-## Printing the form fields
-
-When the print icon is selected on the toolbar, the PDF document will be printed along with the Form Fields added to the pages and this action will not affect the original document. Refer the below GIF for further reference.
-
-
-
-You can invoke print action using the following code snippet.,
-
-```ts
-import { PdfViewer, Toolbar, Magnification, Navigation, Annotation, LinkAnnotation,ThumbnailView,BookmarkView, TextSelection} from '@syncfusion/ej2-pdfviewer';
-
-PdfViewer.Inject(Toolbar,Magnification,Navigation, Annotation, LinkAnnotation,ThumbnailView,BookmarkView, TextSelection);
-
-let pdfviewer: PdfViewer = new PdfViewer();
-pdfviewer.serviceUrl = 'https://services.syncfusion.com/js/production/api/pdfviewer';
-pdfviewer.appendTo('#PdfViewer');
-pdfviewer.load('PDF_Succinctly.pdf', null);
-pdfviewer.print.print();
-
-```
-
-## Open the existing PDF document
-
-We can open the already saved PDF document contains Form Fields in it by clicking the open icon in the toolbar. Refer the below GIF for further reference.
-
-
\ No newline at end of file
diff --git a/ej2-javascript/pdfviewer/ts/formdesigner/user-interaction-with-form-fields.md b/ej2-javascript/pdfviewer/ts/formdesigner/user-interaction-with-form-fields.md
deleted file mode 100644
index 4329853ce..000000000
--- a/ej2-javascript/pdfviewer/ts/formdesigner/user-interaction-with-form-fields.md
+++ /dev/null
@@ -1,84 +0,0 @@
----
-layout: post
-title: User interaction with form fields in ##Platform_Name## Pdfviewer control | Syncfusion
-description: Learn here all about User interaction with form fields in Syncfusion ##Platform_Name## Pdfviewer control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: User interaction with form fields
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# User interaction with form fields in ##Platform_Name## Pdfviewer control
-
-The PDF viewer control provides the option for interaction with Form Fields such as Drag and resize. you can draw a Form Field dynamically by clicking the Form Field icon on the toolbar and draw it in the PDF document. The Form Fields type supported by the PDF Viewer Control are:
-
- * Textbox
- * Password
- * CheckBox
- * RadioButton
- * ListBox
- * DropDown
- * SignatureField
- * InitialField
-
-## Enable or Disable form designer toolbar
-
-We should inject FormDesigner module and set enableFormDesignerToolbar as true to enable the Form designer icon on the toolbar. By default, enableFormDesignerToolbar is set as true. Use the following code to inject FormDesigner module and to enable the enableFormDesignerToolbar property.
-
-```ts
-import { PdfViewer } from '@syncfusion/ej2-pdfviewer';
-PdfViewer.Inject(FormDesigner);
-
-let pdfviewer: PdfViewer = new PdfViewer();
-pdfviewer.enableFormDesignerToolbar= true;
-
-```
-
-## Add the form field dynamically
-
-Click the Form Field icon on the toolbar and then click on to the PDF document to draw a Form Field. Refer the below GIF for further reference.
-
-
-
-## Drag the form field
-
-We provide options to drag the Form Field which is currently selected in the PDF document. Refer the below GIF for further reference.
-
-
-
-## Resize the form field
-
-We provide options to resize the Form Field which is currently selected in the PDF document. Refer the below GIF for further reference.
-
-
-
-## Edit or Update the form field dynamically
-
-The properties of the Form Fields can be edited using the Form Field Properties window. It can be opened by selecting the Properties option in the context menu that appears on the right by clicking the Form Field object. Refer the below image for the properties available to customize the appearance of the Form Field.
-
-
-
-
-
-
-
-## Clipboard operation with form field
-
-The PDF Viewer control supports the clipboard operations such as cut, copy and paste for Form Fields. You can right click on the Form Field object to view the context menu and select to the clipboard options that you would like to perform. Refer the below image for the options in the context menu.
-
-
-
-## Undo and Redo
-
-We provided support to undo/redo the Form Field actions that are performed at runtime. Use the following code example to perform undo/redo actions.
-
-```ts
-import { PdfViewer } from '@syncfusion/ej2-pdfviewer';
-PdfViewer.Inject(FormDesigner);
-
-let pdfviewer: PdfViewer = new PdfViewer();
-pdfviewer.undo();
-pdfviewer.redo();
-
-```
\ No newline at end of file
diff --git a/ej2-javascript/pdfviewer/ts/getting-started-with-server-backed.md b/ej2-javascript/pdfviewer/ts/getting-started-with-server-backed.md
deleted file mode 100644
index 81af731c3..000000000
--- a/ej2-javascript/pdfviewer/ts/getting-started-with-server-backed.md
+++ /dev/null
@@ -1,224 +0,0 @@
----
-layout: post
-title: Getting started with ##Platform_Name## PDF Viewer control | Syncfusion
-description: Checkout and learn about Getting started with ##Platform_Name## PDF Viewer control of Syncfusion Essential JS 2 and more details.
-platform: ej2-javascript
-control: PDF Viewer
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Getting started in ##Platform_Name## PDF Viewer control
-
-This section briefly explains how to create **PDF Viewer** component and configure its available functionalities in TypeScript using the 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/).
-
-## 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
-
-Add the components CSS in the `~/src/styles/styles.css` file, as shown below:
-
-{% tabs %}
-{% highlight css tabtitle="style.css" %}
-
-@import '../../node_modules/@syncfusion/ej2-base/styles/material.css';
-@import '../../node_modules/@syncfusion/ej2-buttons/styles/material.css';
-@import '../../node_modules/@syncfusion/ej2-dropdowns/styles/material.css';
-@import '../../node_modules/@syncfusion/ej2-inputs/styles/material.css';
-@import '../../node_modules/@syncfusion/ej2-navigations/styles/material.css';
-@import '../../node_modules/@syncfusion/ej2-popups/styles/material.css';
-@import '../../node_modules/@syncfusion/ej2-splitbuttons/styles/material.css';
-@import "../../node_modules/@syncfusion/ej2-pdfviewer/styles/material.css";
-@import "../../node_modules/@syncfusion/ej2-notifications/styles/material.css";
-
-{% endhighlight %}
-{% endtabs %}
-
-## Adding PDF Viewer component
-
-* Add the PDF Viewer component following code in the `app.ts`
-
-{% tabs %}
-{% highlight ts tabtitle="app.ts" %}
-
-import { PdfViewer, Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, TextSearch, FormFields, FormDesigner} from '@syncfusion/ej2-pdfviewer';
-
-PdfViewer.Inject(Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, TextSearch, FormFields, FormDesigner);
-
-let pdfviewer: PdfViewer = new PdfViewer();
-pdfviewer.serviceUrl = 'https://services.syncfusion.com/js/production/api/pdfviewer';
-pdfviewer.appendTo('#PdfViewer');
-pdfviewer.load('https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf', null);
-
-{% endhighlight %}
-{% endtabs %}
-
-N> From 23.1 version, it is must to call **pdfviewer.dataBind();** before load function. Refer [here](./troubleshooting/document-loading-issues) for more details.
-
-* Add an HTML div element to act as the PDF Viewer element `index.html` using the following code.
-
-{% tabs %}
-{% highlight html tabtitle="index.html" %}
-
-
-
-
-
- Essential JS 2
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-{% endhighlight %}
-{% endtabs %}
-
-## Run the 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 %}
-
-Output will be displayed as follows.
-
-{% tabs %}
-{% highlight ts tabtitle="index.ts" %}
-{% include code-snippet/pdfviewer/getting-started-cs1/index.ts %}
-{% endhighlight %}
-{% highlight html tabtitle="index.html" %}
-{% include code-snippet/pdfviewer/getting-started-cs1/index.html %}
-{% endhighlight %}
-{% endtabs %}
-
-N> We have provided the support to dynamically change the `serviceURL`. So, after changing the `serviceURL` dynamically, you need invoke the `pdfViewer.dataBind()` method to update the `serviceURL` quickly. This will effectively change the `serviceURL` dynamically. Ensure that this step is performed after version 23.1.36.
-document.getElementById('load').addEventListener('click', function () {
- pdfViewer.serviceUrl = "https://services.syncfusion.com/angular/production/api/pdfviewer";
- pdfViewer.documentPath = "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf";
- pdfViewer.dataBind();
- pdfViewer.load(pdfViewer.documentPath, null);
-});
-
-N> The Web API hosted link https://services.syncfusion.com/js/production/api/pdfviewer utilized in the PDF viewer'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-PDFViewer-WebServices) or [Docker image](https://hub.docker.com/r/syncfusion/pdfviewer-server) for hosting your own web service and use for the serviceUrl property. **We strongly recommend using the standalone mode.**
-
-{% previewsample "page.domainurl/code-snippet/pdfviewer/getting-started-cs1" %}
-
-## Module injection
-
-To create PDF Viewer with additional features, inject the required modules. The following modules are used to extend PdfViewer's basic functionality:-
-
-* `LinkAnnotation`:- Inject this module to use PDF Viewer link annotation.
-* `BookmarkView`:- Inject this module to use bookmark view of the PDF Viewer.
-* `Magnification`:- Inject this module to magnify the PDF Document.
-* `Navigation`:- Inject this module to use page navigation on PDF Document.
-* `TextSelection`:- Inject this module to use text selection with the PDF Document.
-* `ThumbnailView`:- Inject this module to use thumbnail view of the PDF Viewer
-* `Toolbar`:- Inject this module to enable the user interface for toolbar option in PDF Viewer.
-* `Print`:- Inject this module to use pdfviewer print feature.
-* `Annotation`:- Inject this module to use pdfviewer annotation feature.
-* `TextSearch`:- Inject this module to use pdfviewer text search feature.
-* `FormFields`:- Inject this module to use pdfviewer form fields feature.
-* `FormDesigner`:- Inject this module to use pdfviewer form designer feature.
-
-These modules should be injected into the PDF Viewer using `PdfViewer.Inject` method.
-
-> For PDF Viewer serviceUrl creation, follow the steps provided in the [link](https://ej2.syncfusion.com/documentation/pdfviewer/how-to/create-pdfviewer-service)
-
-## How to run the PDF Viewer web service
-
-1.Download the sample from the [Web service sample in GitHub](https://github.com/SyncfusionExamples/EJ2-PDFViewer-WebServices) link.
-
-2.Navigate to the `ASP.NET Core` folder and open it in the command prompt.
-
-3.Navigate to the appropriate subfolder based on your .NET version:
-
- - .NET 6.0 → `PdfViewerWebService_6.0`
- - .NET 8.0 → `PdfViewerWebService_8.0`
-
-4.Use the below command to restore the required packages.
-
-```
- dotnet restore
-```
-
-5.Use the below command to run the web service.
-
-```
- dotnet run
-```
-
-6.You can see that the PDF Viewer server instance runs in the localhost with the port number `localhost:5001` and navigate to the PDF Viewer Web control `localhost:5001/pdfviewer` which returns the default get response method. We can bind the link to the [serviceUrl](https://helpej2.syncfusion.com/documentation/api/pdfviewer/#serviceurl) property of PDF Viewer as below.
-
-{% tabs %}
-{% highlight ts tabtitle="app.ts" %}
-
-let pdfviewer: PdfViewer = new PdfViewer();
-pdfviewer.serviceUrl = 'https://localhost:5001/pdfviewer';
-pdfviewer.appendTo('#PdfViewer');
-pdfviewer.load('PDF_Succinctly.pdf', null);
-
-{% endhighlight %}
-{% endtabs %}
-
-N> When configuring the server-backed PDF viewer, it's essential to understand that there is no need to include the pdfium.js and pdfium.wasm files. Unlike the standalone PDF viewer, which relies on these files for local rendering, the server-backed PDF viewer fetches and renders PDFs directly from the server. Consequently, you can exclude the copy command for deployment process, as they are not required to load and display PDFs in this context.
-
-> You can refer to our [JavaScript PDF Viewer](https://www.syncfusion.com/javascript-ui-controls/js-pdf-viewer) feature tour page for its groundbreaking feature representations. You can also explore our [JavaScript PDF Viewer example](https://ej2.syncfusion.com/demos/#/material/pdfviewer/default.html) to understand how to explains core features of PDF Viewer.
-
-N> For hosting the web service on the Linux platform, ensure to include the [SkiaSharp.NativeAssets.Linux](https://nuget.org/packages/SkiaSharp.NativeAssets.Linux/3.116.1). Additionally, for AWS environments, utilize the following packages:
-
-| **Amazon Web Services (AWS)** |**NuGet package name** |
-| --- | --- |
-| AWS Lambda|[SkiaSharp.NativeAssets.Linux](https://nuget.org/packages/SkiaSharp.NativeAssets.Linux/3.116.1)|
-| AWS Elastic Beanstalk |[SkiaSharp.NativeAssets.Linux.NoDependencies v3.116.1](https://www.nuget.org/packages/SkiaSharp.NativeAssets.Linux.NoDependencies/3.116.1)|
\ No newline at end of file
diff --git a/ej2-javascript/pdfviewer/ts/getting-started.md b/ej2-javascript/pdfviewer/ts/getting-started.md
deleted file mode 100644
index d85fe7b37..000000000
--- a/ej2-javascript/pdfviewer/ts/getting-started.md
+++ /dev/null
@@ -1,221 +0,0 @@
----
-layout: post
-title: Getting started with ##Platform_Name## PDF Viewer control | Syncfusion
-description: Checkout and learn about Getting started with ##Platform_Name## PDF Viewer control of Syncfusion Essential JS 2 and more details.
-platform: ej2-javascript
-control: PDF Viewer
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Getting started in ##Platform_Name## PDF Viewer control
-
-This section briefly explains how to create **PDF Viewer** component and configure its available functionalities in TypeScript using the 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/).
-
-## 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
-
-Add the components CSS in the `~/src/styles/styles.css` file, as shown below:
-
-{% tabs %}
-{% highlight css tabtitle="style.css" %}
-
-@import '../../node_modules/@syncfusion/ej2-base/styles/material.css';
-@import '../../node_modules/@syncfusion/ej2-buttons/styles/material.css';
-@import '../../node_modules/@syncfusion/ej2-dropdowns/styles/material.css';
-@import '../../node_modules/@syncfusion/ej2-inputs/styles/material.css';
-@import '../../node_modules/@syncfusion/ej2-navigations/styles/material.css';
-@import '../../node_modules/@syncfusion/ej2-popups/styles/material.css';
-@import '../../node_modules/@syncfusion/ej2-splitbuttons/styles/material.css';
-@import "../../node_modules/@syncfusion/ej2-pdfviewer/styles/material.css";
-@import "../../node_modules/@syncfusion/ej2-notifications/styles/material.css";
-
-{% endhighlight %}
-{% endtabs %}
-
-## Adding PDF Viewer component
-
-* Add the PDF Viewer component following code in the `app.ts`
-
-{% tabs %}
-{% highlight ts tabtitle="app.ts" %}
-import { PdfViewer, Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, TextSearch, FormFields, FormDesigner} from '@syncfusion/ej2-pdfviewer';
-
-PdfViewer.Inject(Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, TextSearch, FormFields, FormDesigner);
-
-let pdfviewer: PdfViewer = new PdfViewer();
-pdfviewer.documentPath = "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf";
-pdfviewer.resourceUrl = "https://cdn.syncfusion.com/ej2/26.2.11/dist/ej2-pdfviewer-lib";
-pdfviewer.appendTo('#PdfViewer');
-{% endhighlight %}
-{% endtabs %}
-
-### Steps to Load PDF Viewer with Local Resources
-
-To configure the PDF Viewer to use local files for `documentPath` and `resourceUrl` instead of files hosted on a CDN, follow these steps:
-
-**Step 1:** Ensure that your application includes the `ej2-pdfviewer-lib` folder. This folder must contain the `pdfium.js`, `pdfium.wasm` files, and the PDF file that you intend to display. Place these files in your project's `dist` directory.
-
-**Step 2:** Assign local file paths to the `documentPath` and `resourceUrl` properties within the PDF Viewer setup. The `documentPath` should refer to your PDF file, while the `resourceUrl` should point to the directory containing the supporting resources.
-
-By following these steps, you will configure your PDF Viewer to load the required resources locally. See the code snippet below for reference.
-
-{% tabs %}
-{% highlight ts tabtitle="app.ts" %}
-
-pdfviewer.documentPath = window.location.origin + "/pdfsuccinctly.pdf";
-pdfviewer.resourceUrl = window.location.origin + "/ej2-pdfviewer-lib";
-
-{% endhighlight %}
-{% endtabs %}
-
-View the sample in GitHub to [load PDF Viewer with local resources](https://github.com/SyncfusionExamples/typescript-pdf-viewer-examples/tree/master/How%20to/Refer%20resource%20url%20locally)
-
-* Add an HTML div element to act as the PDF Viewer element `index.html` using the following code.
-
-{% tabs %}
-{% highlight html tabtitle="index.html" %}
-
-
-
-
- Essential JS 2
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-{% endhighlight %}
-{% endtabs %}
-
-## Run the 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 %}
-
-Output will be displayed as follows.
-
-{% tabs %}
-{% highlight ts tabtitle="index.ts" %}
-import { PdfViewer, Toolbar, Magnification, Navigation, Annotation, LinkAnnotation,
- ThumbnailView, BookmarkView, TextSelection, TextSearch, FormFields, FormDesigner} from '@syncfusion/ej2-pdfviewer';
-
-PdfViewer.Inject( Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, ThumbnailView,
- BookmarkView, TextSelection, TextSearch, FormFields, FormDesigner );
-
-let pdfviewer: PdfViewer = new PdfViewer();
-pdfviewer.documentPath = "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf";
-pdfviewer.resourceUrl="https://cdn.syncfusion.com/ej2/26.2.11/dist/ej2-pdfviewer-lib";
-pdfviewer.appendTo('#PdfViewer');
-{% endhighlight %}
-{% highlight html tabtitle="index.html" %}
-
-
-
-
- EJ2 PDF Viewer
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Loading....
-
-
-
-
-
-{% endhighlight %}
-{% endtabs %}
-
-{% previewsample "page.domainurl/code-snippet/pdfviewer/getting-started-cs2" %}
-
-## Module injection
-
-To create PDF Viewer with additional features, inject the required modules. The following modules are used to extend PDF Viewer's basic functionality:-
-
-* `LinkAnnotation`:- Inject this module to use PDF Viewer link annotation.
-* `BookmarkView`:- Inject this module to use bookmark view of the PDF Viewer.
-* `Magnification`:- Inject this module to magnify the PDF Document.
-* `Navigation`:- Inject this module to use page navigation on PDF Document.
-* `TextSelection`:- Inject this module to use text selection with the PDF Document.
-* `ThumbnailView`:- Inject this module to use thumbnail view of the PDF Viewer
-* `Toolbar`:- Inject this module to enable the user interface for toolbar option in PDF Viewer.
-* `Print`:- Inject this module to use pdfviewer print feature.
-* `Annotation`:- Inject this module to use pdfviewer annotation feature.
-* `TextSearch`:- Inject this module to use pdfviewer text search feature.
-* `FormFields`:- Inject this module to use pdfviewer form fields feature.
-* `FormDesigner`:- Inject this module to use pdfviewer form designer feature.
-
-These modules should be injected into the PDF Viewer using `PdfViewer.Inject` method.
-
-> You can refer to our [JavaScript PDF Viewer](https://www.syncfusion.com/javascript-ui-controls/js-pdf-viewer) feature tour page for its groundbreaking feature representations. You can also explore our [JavaScript PDF Viewer example](https://ej2.syncfusion.com/demos/#/material/pdfviewer/default.html) to understand how to explains core features of PDF Viewer.
diff --git a/ej2-javascript/pdfviewer/ts/globalization.md b/ej2-javascript/pdfviewer/ts/globalization.md
deleted file mode 100644
index 3e99069b5..000000000
--- a/ej2-javascript/pdfviewer/ts/globalization.md
+++ /dev/null
@@ -1,588 +0,0 @@
----
-layout: post
-title: Globalization in ##Platform_Name## Pdfviewer control | Syncfusion
-description: Learn here all about Globalization in Syncfusion ##Platform_Name## Pdfviewer control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: Globalization
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Globalization in ##Platform_Name## Pdfviewer control
-
-The text contents provided in the PDF Viewer can be localized using the collection of localized strings for different cultures. By default, the PDF Viewer is localized in “__en-US__”.
-
-The following table shows the default text values used in PDF Viewer in 'en-US' culture:
-
-|Keywords|Values|
-|---|---|
-|PdfViewer|PDF Viewer|
-|Cancel|Cancel|
-|Download file|Download file|
-|Download|Download|
-|Enter Password|This document is password protected. Please enter a password.|
-|File Corrupted|File corrupted|
-|File Corrupted Content|The file is corrupted and cannot be opened.|
-|Fit Page|Fit page|
-|Fit Width|Fit width|
-|Automatic|Automatic|
-|Go To First Page|Show first page|
-|Invalid Password|Incorrect password. Please try again.|
-|Next Page|Show next page|
-|OK|OK|
-|Open|Open file|
-|Page Number|Current page number|
-|Previous Page|Show previous page|
-|Go To Last Page|Show last page|
-|Zoom|Zoom|
-|Zoom In|Zoom in|
-|Zoom Out|Zoom out|
-|Page Thumbnails|Page thumbnails|
-|Bookmarks|Bookmarks|
-|Print|Print file|
-|Password Protected|Password required|
-|Copy|Copy|
-|Text Selection|Text selection tool|
-|Panning|Pan mode|
-|Text Search|Find text|
-|Find in document|Find in document|
-|Match case|Match case|
-|Apply|Apply|
-|GoToPage|Go to page|
-|No Matches|Viewer has finished searching the document. No more matches were found|
-|No Text Found|No Text Found|
-|Undo|Undo|
-|Redo|Redo|
-|Annotation|Add or Edit annotations|
-|Highlight|Highlight Text|
-|Underline|Underline Text|
-|Strikethrough|Strikethrough Text|
-|Delete|Delete annotation|
-|Opacity|Opacity|
-|Color edit|Change Color|
-|Opacity edit|Change Opacity|
-|Highlight context|Highlight|
-|Underline context|Underline|
-|Strikethrough context|Strike through|
-|Server error|Web-service is not listening. PDF Viewer depends on web-service for all it's features. Please start the web service to continue.|
-|Open text|Open|
-|First text|First Page|
-|Previous text|Previous Page|
-|Next text|Next Page|
-|Last text|Last Page|
-|Zoom in text|Zoom In|
-|Zoom out text|Zoom Out|
-|Selection text|Selection|
-|Pan text|Pan|
-|Print text|Print|
-|Search text|Search|
-|Annotation Edit text|Edit Annotation|
-|Line Thickness|Line Thickness|
-|Line Properties|Line Properties|
-|Start Arrow|Start Arrow |
-|End Arrow|End Arrow|
-|Line Style|Line Style|
-|Fill Color|Fill Color|
-|Line Color|Line Color|
-|None|None|
-|Open Arrow|Open Arrow|
-|Closed Arrow|Closed Arrow|
-|Round Arrow|Round Arrow|
-|Square Arrow|Square Arrow|
-|Diamond Arrow|Diamond Arrow|
-|Cut|Cut|
-|Paste|Paste|
-|Delete Context|Delete Context|
-|Properties|Properties|
-|Add Stamp|Add Stamp|
-|Add Shapes|Add Shapes|
-|Stroke edit|Stroke Edit|
-|Change thickness|Change Thickness|
-|Add line|Add Line|
-|Add arrow|Add Arrow|
-|Add rectangle|Add Rectangle|
-|Add circle|Add Circle|
-|Add polygon|Add Polygon|
-|Add Comments|Add Comments|
-|Comments| Comments|
-|No Comments Yet|No Comments Yet|
-|Accepted| Accepted|
-|Completed| Completed|
-|Cancelled| Cancelled|
-|Rejected| Rejected|
-|Leader Length|Leader Length|
-|Scale Ratio|Scale Ratio|
-|Calibrate| Calibrate|
-|Calibrate Distance|Calibrate Distance|
-|Calibrate Perimeter|Calibrate Perimeter|
-|Calibrate Area|Calibrate Area|
-|Calibrate Radius|Calibrate Radius|
-|Calibrate Volume|Calibrate Volume|
-|Depth|Depth|
-|Closed|Closed|
-|Round|Round|
-|Square|Square|
-|Diamond|Diamond|
-|Edit|Edit|
-|Comment|Comment|
-|Comment Panel|Comment Panel|
-|Set Status|Set Status|
-|Post|Post|
-|Page|Page|
-|Add a comment|Add a comment|
-|Add a reply|Add a reply|
-|Import Annotations|Import Annotations|
-|Export Annotations|Export Annotations|
-|Add|Add|
-|Clear|Clear|
-|Bold|Bold|
-|Italic|Italic|
-|Strikethroughs|Strikethroughs|
-|Underlines|Underlines|
-|Superscript|Superscript|
-|Subscript|Subscript|
-|Align left|Align Left|
-|Align right|Align Right|
-|Center|Center|
-|Justify|Justify|
-|Font color|Font Color|
-|Text Align|Text Align|
-|Text Properties|Text Properties|
-|Draw Signature|Draw Signature|
-|Create| Create|
-|Font family|Font Family|
-|Font size|Font Size|
-|Free Text|Free Text|
-|Import Failed|Import Failed|
-|File not found|File Not Found|
-|Export Failed|Export Failed|
-|Dynamic|Dynamic|
-|Standard Business|Standard Business|
-|Sign Here|Sign Here|
-|Custom Stamp|Custom Stamp|
-|InitialFieldDialogHeaderText|Initial Field Dialog Header Text|
-|HandwrittenInitialDialogHeaderText|Handwritten Initial Dialog Header Text|
-|SignatureFieldDialogHeaderText|Signature Field Dialog Header Text|
-|HandwrittenSignatureDialogHeaderText|Handwritten Signature Dialog Header Text|
-|Draw-hand Signature|Draw-hand Signature|
-|Type Signature|Type Signature|
-|Upload Signature|Upload Signature|
-|Browse Signature Image|Browse Signature Image|
-|Save Signature|Save Signature|
-|Save Initial|Save Initial|
-|highlight|highlight|
-|underline|underline|
-|strikethrough|strikethrough|
-|FormDesigner|Form Designer|
-|SubmitForm|Submit Form|
-|Search text|Search Text|
-|Draw Ink|Draw Ink|
-|Revised|Revised|
-|Reviewed|Reviewed|
-|Received|Received|
-|Confidential|Confidential|
-|Approved|Approved|
-|Not Approved|Not Approved|
-|Witness|Witness|
-|Initial Here|Initial Here|
-|Draft|Draft|
-|Final|Final|
-|For Public Release|For Public Release|
-|Not For Public Release|Not For Public Release|
-|For Comment|For Comment|
-|Void|Void|
-|Preliminary Results|Preliminary Results|
-|Information Only|Information Only|
-|Enter Signature as Name|Enter Signature as Name|
-|Textbox|Textbox|
-|Password|Password|
-|Check Box|Check Box|
-|Radio Button|Radio Button|
-|Dropdown|Dropdown|
-|List Box|List Box|
-|Signature|Signature|
-|Delete FormField|Delete FormField|
-|FormDesigner Edit text|Form Designer Edit Text|
-|in|in|
-|m|m|
-|ft_in|ft_in|
-|ft|ft|
-|p|p|
-|cm|cm|
-|mm|mm|
-|pt|pt|
-|cu|cu|
-|sq|sq|
-|General|General|
-|Appearance|Appearance|
-|Options|Options|
-|Textbox Properties|Textbox Properties|
-|Name|Name|
-|Tooltip|Tooltip|
-|Value|Value|
-|Form Field Visibility|Form Field Visibility|
-|Read Only|Read Only|
-|Required|Required|
-|Checked|Checked|
-|Show Printing|Show Printing|
-|Formatting|Formatting|
-|Fill|Fill|
-|Border|Border|
-|Border Color|Border Color|
-|Thickness|Thickness|
-|Max Length|Max Length|
-|List Item|List Item|
-|Export Value|Export Value|
-|Dropdown Item List|Dropdown Item List|
-|List Box Item List|List Box Item List|
-|Delete Item|Delete Item|
-|Up|Up|
-|Down|Down|
-|Multiline|Multiline|
-|Initial|Initial|
-|Export XFDF|Export XFDF|
-|Import XFDF|Import XFDF|
-|Organize Pages|Organize Pages|
-|Insert Right|Insert Right|
-|Insert Left|Insert Left|
-|Total|Total|
-|Pages|Pages|
-|Rotate Right|Rotate Right|
-|Rotate Left|Rotate Left|
-|Delete Page|Delete Page|
-|Delete Pages|Delete Pages|
-|Copy Page|Copy Page|
-|Copy Pages|Copy Pages|
-|Save|Save|
-|Save As|Save As|
-|Select All|Select All|
-|Import Document|Import Document|
-|Match any word|Match any word|
-|Client error|Client-side error is found. Please check the custom headers provided in the AjaxRequestSettings property and web action methods in the ServerActionSettings property|
-|Cors policy error|Unable to retrieve the document due to an invalid URL or access restrictions. Please check the document URL and try again|
-|No More Matches|Viewer has finished searching the document. No more matches were found|
-|No Search Matches|No matches found|
-|No More Search Matches|No more matches found|
-|Exact Matches|EXACT MATCHES|
-|Total Matches|TOTAL MATCHES|
-
-The different locale value for the PDF Viewer can be specified using the locale property.
-
-```html
-
-
-
-
- Essential JS 2
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-```
-
-{% tabs %}
-{% highlight ts tabtitle="Standalone" %}
-
-import { PdfViewer, Toolbar, Magnification, Navigation, Annotation, LinkAnnotation,ThumbnailView,BookmarkView, TextSelection} from '@syncfusion/ej2-pdfviewer';
-
-PdfViewer.Inject(Toolbar,Magnification,Navigation, Annotation, LinkAnnotation,ThumbnailView,BookmarkView, TextSelection);
-
-let pdfviewer: PdfViewer = new PdfViewer({locale: 'ar-AE'});
-pdfviewer.appendTo('#PdfViewer');
-pdfviewer.load('https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf', null);
-
-{% endhighlight %}
-{% highlight ts tabtitle="Server-Backed" %}
-
-import { PdfViewer, Toolbar, Magnification, Navigation, Annotation, LinkAnnotation,ThumbnailView,BookmarkView, TextSelection} from '@syncfusion/ej2-pdfviewer';
-
-PdfViewer.Inject(Toolbar,Magnification,Navigation, Annotation, LinkAnnotation,ThumbnailView,BookmarkView, TextSelection);
-
-let pdfviewer: PdfViewer = new PdfViewer({locale: 'ar-AE'});
-pdfviewer.serviceUrl = 'https://services.syncfusion.com/js/production/api/pdfviewer';
-pdfviewer.appendTo('#PdfViewer');
-pdfviewer.load('https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf', null);
-
-{% endhighlight %}
-{% endtabs %}
-
-You have to map the text content based on locale like following script in sample level.,
-
-```
-
-```
diff --git a/ej2-javascript/pdfviewer/ts/interaction-mode.md b/ej2-javascript/pdfviewer/ts/interaction-mode.md
deleted file mode 100644
index 2afb9b2a8..000000000
--- a/ej2-javascript/pdfviewer/ts/interaction-mode.md
+++ /dev/null
@@ -1,110 +0,0 @@
----
-layout: post
-title: Interaction mode in ##Platform_Name## Pdfviewer control | Syncfusion
-description: Learn here all about Interaction mode in Syncfusion ##Platform_Name## Pdfviewer control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: Interaction mode
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Interaction mode in ##Platform_Name## Pdfviewer control
-
-The PDF Viewer provides interaction mode for easy interaction with the loaded PDF document. Selection mode and panning mode are the two interactions modes.
-
-## Selection mode
-
-In this mode, the text selection can be performed in the PDF document loaded in PDF Viewer. The panning and scrolling of the pages by touch cannot be performed in this mode. It allows users to select and copy text from the PDF files. This is helpful for copying and sharing text content. You can enable/disable the text selection using the following code snippet.
-
-```html
-
-
-
-
- Essential JS 2
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-```
-
-{% tabs %}
-{% highlight ts tabtitle="Standalone" %}
-
-import { PdfViewer, Toolbar, Magnification, Navigation, Annotation, LinkAnnotation,ThumbnailView,BookmarkView, TextSelection} from '@syncfusion/ej2-pdfviewer';
-
-PdfViewer.Inject(Toolbar,Magnification,Navigation, Annotation, LinkAnnotation,ThumbnailView,BookmarkView, TextSelection);
-
-let pdfviewer: PdfViewer = new PdfViewer({enableTextSelection: true, documentPath:'https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf'});
-pdfviewer.appendTo('#PdfViewer');
-
-{% endhighlight %}
-{% highlight ts tabtitle="Server-Backed" %}
-
-import { PdfViewer, Toolbar, Magnification, Navigation, Annotation, LinkAnnotation,ThumbnailView,BookmarkView, TextSelection} from '@syncfusion/ej2-pdfviewer';
-
-PdfViewer.Inject(Toolbar,Magnification,Navigation, Annotation, LinkAnnotation,ThumbnailView,BookmarkView, TextSelection);
-
-let pdfviewer: PdfViewer = new PdfViewer({enableTextSelection: true, documentPath:'https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf'});
-pdfviewer.serviceUrl = 'https://services.syncfusion.com/js/production/api/pdfviewer';
-pdfviewer.appendTo('#PdfViewer');
-
-{% endhighlight %}
-{% endtabs %}
-
-
-
-## Panning Mode
-
-In this mode, the panning and scrolling of the pages by touch can be performed in the PDF document loaded in the PDF Viewer, but the text selection cannot be performed.
-
-
-
-You can switch the interaction mode of PDF Viewer by using the following code snippet.,
-
-{% tabs %}
-{% highlight ts tabtitle="Standalone" %}
-
-import { PdfViewer, Toolbar, Magnification, Annotation, Navigation, LinkAnnotation,ThumbnailView,BookmarkView, TextSelection} from '@syncfusion/ej2-pdfviewer';
-
-PdfViewer.Inject(Toolbar,Magnification,Navigation, Annotation, LinkAnnotation,ThumbnailView,BookmarkView, TextSelection);
-
-let pdfviewer: PdfViewer = new PdfViewer({documentPath:'https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf', interactionMode: InteractionMode.Pan});
-pdfviewer.appendTo('#PdfViewer');
-
-{% endhighlight %}
-{% highlight ts tabtitle="Server-Backed" %}
-
-import { PdfViewer, Toolbar, Magnification, Annotation, Navigation, LinkAnnotation,ThumbnailView,BookmarkView, TextSelection} from '@syncfusion/ej2-pdfviewer';
-
-PdfViewer.Inject(Toolbar,Magnification,Navigation, Annotation, LinkAnnotation,ThumbnailView,BookmarkView, TextSelection);
-
-let pdfviewer: PdfViewer = new PdfViewer({documentPath:'https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf', interactionMode: InteractionMode.Pan});
-pdfviewer.serviceUrl = 'https://services.syncfusion.com/js/production/api/pdfviewer';
-pdfviewer.appendTo('#PdfViewer');
-
-{% endhighlight %}
-{% endtabs %}
-
-## See also
-
-* [Toolbar items](./toolbar)
-* [Feature Modules](./feature-module)
\ No newline at end of file
diff --git a/ej2-javascript/pdfviewer/ts/magnification.md b/ej2-javascript/pdfviewer/ts/magnification.md
deleted file mode 100644
index 2542e7b6e..000000000
--- a/ej2-javascript/pdfviewer/ts/magnification.md
+++ /dev/null
@@ -1,87 +0,0 @@
----
-layout: post
-title: Magnification in ##Platform_Name## Pdfviewer control | Syncfusion
-description: Learn here all about Magnification in Syncfusion ##Platform_Name## Pdfviewer control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: Magnification
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Magnification in ##Platform_Name## Pdfviewer control
-
-The magnification tools of the PDF Viewer contains ZoomIn, ZoomOut, Zoom, FitPage, and FitWidth tools in the default toolbar. The PDF Viewer also has an option to show or hide the magnification tools in the default toolbar.
-
-The following code snippet describes how to enable the magnification in PDF Viewer.
-
-```html
-
-
-
-
- Essential JS 2
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-```
-
-{% tabs %}
-{% highlight ts tabtitle="Standalone" %}
-
-import { PdfViewer, Toolbar, Magnification, Navigation, Annotation, LinkAnnotation,ThumbnailView,BookmarkView, TextSelection} from '@syncfusion/ej2-pdfviewer';
-
-PdfViewer.Inject(Toolbar,Magnification,Navigation, Annotation, LinkAnnotation,ThumbnailView,BookmarkView, TextSelection);
-
-let pdfviewer: PdfViewer = new PdfViewer({enableMagnification: true, documentPath:'https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf'});
-pdfviewer.appendTo('#PdfViewer');
-
-{% endhighlight %}
-{% highlight ts tabtitle="Server-Backed" %}
-
-
-import { PdfViewer, Toolbar, Magnification, Navigation, Annotation, LinkAnnotation,ThumbnailView,BookmarkView, TextSelection} from '@syncfusion/ej2-pdfviewer';
-
-PdfViewer.Inject(Toolbar,Magnification,Navigation, Annotation, LinkAnnotation,ThumbnailView,BookmarkView, TextSelection);
-
-let pdfviewer: PdfViewer = new PdfViewer({enableMagnification: true, documentPath:'https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf'});
-pdfviewer.serviceUrl = 'https://services.syncfusion.com/js/production/api/pdfviewer';
-pdfviewer.appendTo('#PdfViewer');
-
-{% endhighlight %}
-{% endtabs %}
-
-The following magnification options are available in the default toolbar of PDF Viewer,
-
-* [**ZoomIn**](https://ej2.syncfusion.com/documentation/api/pdfviewer/magnification/#zoomin):- Zoom in from the current zoom value of PDF pages.
-* [**ZoomOut**](https://ej2.syncfusion.com/documentation/api/pdfviewer/magnification/#zoomout):- Zoom out from the current zoom value of PDF pages.
-* [**Zoom**](https://ej2.syncfusion.com/documentation/api/pdfviewer/magnification/#zoomto):- Zoom to specific zoom value of PDF pages.
-* [**FitPage**](https://ej2.syncfusion.com/documentation/api/pdfviewer/magnification/#fittopage):- Fits the page width with in the available view port size.
-* [**FitWidth**](https://ej2.syncfusion.com/documentation/api/pdfviewer/magnification/#fittowidth):- Fits the view port width based on the page content size.
-
-
-
->PDF Viewer can support the zoom value ranges from 10 to 400.
-
-## See also
-
-* [Toolbar items](./toolbar)
-* [Feature Modules](./feature-module)
diff --git a/ej2-javascript/pdfviewer/ts/mobile-toolbar.md b/ej2-javascript/pdfviewer/ts/mobile-toolbar.md
deleted file mode 100644
index 3ef70c97e..000000000
--- a/ej2-javascript/pdfviewer/ts/mobile-toolbar.md
+++ /dev/null
@@ -1,134 +0,0 @@
----
-layout: post
-title: Mobile Toolbar Interface in ##Platform_Name## Pdfviewer control | Syncfusion
-description: Learn All About the Mobile Toolbar Interface in Syncfusion ##Platform_Name## Pdfviewer control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: Mobile Toolbar Interface
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-# Mobile Toolbar Interface in ##Platform_Name## Pdfviewer control
-
-The Mobile PDF Viewer offers a variety of features for viewing, searching, annotating, and managing PDF documents on mobile devices. It includes essential tools like search, download, bookmarking, annotation, and page organization. Users also have the option to enable desktop toolbar features in mobile mode, providing a more extensive set of actions.
-
-## Mobile Mode Toolbar Configuration
-In mobile mode, the toolbar is optimized for ease of use on small screens, presenting users with the most common actions for interacting with a PDF document. Below are the key features available in mobile mode:
-
-
-
-### Main Toolbar Options:
-
-**OpenOption:** Tap to load a PDF document.
-
-**SearchOption:** Access the search bar to find text within the document.
-
-
-
-**UndoRedoTool:** Quickly undo or redo any annotations made.
-
-**OrganizePagesTool:** Enable or disable page organization features to modify document pages.
-
-
-
-**AnnotationEditTool:** Activate or deactivate annotation editing to add or modify annotations.
-
-
-
-
-N> In mobile mode, the annotation toolbar is conveniently displayed at the bottom of the viewer.
-
-### More Options Menu:
-When you open the "more options" menu, you will see additional actions such as:
-
-**DownloadOption:** Tap to download the currently opened PDF document.
-
-**BookmarkOption:** Allows you to view bookmarks within the document.
-
-
-
-## Enabling Desktop Mode in Mobile
-
-The desktop version of the toolbar can be enabled on mobile devices by using the `enableDesktopMode` API. This API allows you to bring desktop-like features to the mobile PDF viewer, providing access to additional toolbar actions that are typically available on desktop platforms.
-
-### Steps to Enable Desktop Mode:
-
-**Step 1:** Set `enableDesktopMode` to true in the API configuration.
-
-**Step 2:** This will replace the mobile toolbar with the desktop toolbar layout, allowing access to more actions and controls.
-
-{% tabs %}
-{% highlight ts tabtitle="Standalone" %}
-
-import { PdfViewer, Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, TextSearch, FormFields, FormDesigner, PageOrganizer} from '@syncfusion/ej2-pdfviewer';
-
-PdfViewer.Inject(Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, TextSearch, FormFields, FormDesigner, PageOrganizer);
-
-let pdfviewer: PdfViewer = new PdfViewer();
-pdfviewer.documentPath = "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf";
-pdfviewer.resourceUrl = "https://cdn.syncfusion.com/ej2/25.1.35/dist/ej2-pdfviewer-lib";
-pdfviewer.enableDesktopMode = true;
-pdfviewer.appendTo('#PdfViewer');
-
-{% endhighlight %}
-{% highlight ts tabtitle="Server-Backed" %}
-
-import { PdfViewer, Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, TextSearch, FormFields, FormDesigner, PageOrganizer} from '@syncfusion/ej2-pdfviewer';
-
-PdfViewer.Inject(Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, TextSearch, FormFields, FormDesigner, PageOrganizer);
-
-let pdfviewer: PdfViewer = new PdfViewer();
-pdfviewer.serviceUrl = 'https://services.syncfusion.com/js/production/api/pdfviewer';
-pdfviewer.documentPath = "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf";
-pdfviewer.enableDesktopMode = true;
-pdfviewer.appendTo('#PdfViewer');
-
-{% endhighlight %}
-{% endtabs %}
-
-## Enable Scrolling in Desktop Mode with Touch Gestures
-
-To ensure smooth scrolling of PDF documents on a mobile device in desktop mode, it is important to enable touch gesture scrolling. You can achieve this by setting the `enableTextSelection` option to **false**.
-
-{% tabs %}
-{% highlight ts tabtitle="Standalone" %}
-
-import { PdfViewer, Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, TextSearch, FormFields, FormDesigner, PageOrganizer} from '@syncfusion/ej2-pdfviewer';
-
-PdfViewer.Inject(Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, TextSearch, FormFields, FormDesigner, PageOrganizer);
-
-let pdfviewer: PdfViewer = new PdfViewer();
-pdfviewer.documentPath = "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf";
-pdfviewer.resourceUrl = "https://cdn.syncfusion.com/ej2/25.1.35/dist/ej2-pdfviewer-lib";
-pdfviewer.enableDesktopMode = true;
-pdfviewer.enableTextSelection = false;
-pdfviewer.appendTo('#PdfViewer');
-
-{% endhighlight %}
-{% highlight ts tabtitle="Server-Backed" %}
-
-import { PdfViewer, Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, TextSearch, FormFields, FormDesigner, PageOrganizer} from '@syncfusion/ej2-pdfviewer';
-
-PdfViewer.Inject(Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, TextSearch, FormFields, FormDesigner, PageOrganizer);
-
-let pdfviewer: PdfViewer = new PdfViewer();
-pdfviewer.serviceUrl = 'https://services.syncfusion.com/js/production/api/pdfviewer';
-pdfviewer.documentPath = "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf";
-pdfviewer.enableDesktopMode = true;
-pdfviewer.enableTextSelection = false;
-pdfviewer.appendTo('#PdfViewer');
-
-{% endhighlight %}
-{% endtabs %}
-
-## Print Option Not Available
-
-The Print option is not available in mobile mode by default. However, if you need to use the print functionality on mobile devices, we recommend enabling the desktop toolbar on mobile using the `enableDesktopMode` API.
-
-### How to Use Print on Mobile:
-
-**Enable Desktop Mode:** Set `enableDesktopMode` to true to load the desktop version of the toolbar on your mobile device.
-
-**Print Option:** Once desktop mode is enabled, the print option will be available, allowing you to print the document directly from your mobile device.
-
-N> In mobile mode, the print functionality will not be available unless desktop mode is enabled.
\ No newline at end of file
diff --git a/ej2-javascript/pdfviewer/ts/navigation.md b/ej2-javascript/pdfviewer/ts/navigation.md
deleted file mode 100644
index df21c3925..000000000
--- a/ej2-javascript/pdfviewer/ts/navigation.md
+++ /dev/null
@@ -1,359 +0,0 @@
----
-layout: post
-title: Navigation in ##Platform_Name## Pdfviewer control | Syncfusion
-description: Learn here all about Navigation in Syncfusion ##Platform_Name## Pdfviewer control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: Navigation
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Navigation in ##Platform_Name## Pdfviewer control
-
-The ASP.NET Core PDF Viewer supports different internal and external navigations.
-
-## Toolbar page navigation option
-
-The default toolbar of PDF Viewer contains the following navigation options
-
-* [**Go to page**](https://ej2.syncfusion.com/documentation/api/pdfviewer/navigation/#gotopage):- Navigates to the specific page of a PDF document.
-* [**Show next page**](https://ej2.syncfusion.com/documentation/api/pdfviewer/navigation/#gotonextpage):- Navigates to the next page of PDF a document.
-* [**Show previous page**](https://ej2.syncfusion.com/documentation/api/pdfviewer/navigation/#gotopreviouspage):- Navigates to the previous page of a PDF document.
-* [**Show first page**](https://ej2.syncfusion.com/documentation/api/pdfviewer/navigation/#gotofirstpage):- Navigates to the first page of a PDF document.
-* [**Show last page**](https://ej2.syncfusion.com/documentation/api/pdfviewer/navigation/#gotolastpage):- Navigates to the last page of a PDF document.
-
-```html
-
-
-
-
- Essential JS 2
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-```
-
-You can enable/disable page navigation option in PDF Viewer using the following code snippet.,
-
-{% tabs %}
-{% highlight ts tabtitle="Standalone" %}
-
-
-import { PdfViewer, Toolbar, Magnification, Navigation, LinkAnnotation,ThumbnailView,BookmarkView, TextSelection} from '@syncfusion/ej2-pdfviewer';
-
-PdfViewer.Inject(Toolbar,Magnification,Navigation, LinkAnnotation,ThumbnailView,BookmarkView, TextSelection);
-
-let pdfviewer: PdfViewer = new PdfViewer({enableNavigation: true, documentPath:'https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf'});
-pdfviewer.appendTo('#PdfViewer');
-
-{% endhighlight %}
-{% highlight ts tabtitle="Server-Backed" %}
-
-
-import { PdfViewer, Toolbar, Magnification, Navigation, LinkAnnotation,ThumbnailView,BookmarkView, TextSelection} from '@syncfusion/ej2-pdfviewer';
-
-PdfViewer.Inject(Toolbar,Magnification,Navigation, LinkAnnotation,ThumbnailView,BookmarkView, TextSelection);
-
-let pdfviewer: PdfViewer = new PdfViewer({enableNavigation: true, documentPath:'https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf'});
-pdfviewer.serviceUrl = 'https://services.syncfusion.com/js/production/api/pdfviewer';
-pdfviewer.appendTo('#PdfViewer');
-
-{% endhighlight %}
-{% endtabs %}
-
-
-
-Also, you can programmatically perform page navigation options as follows.
-
-```html
-
-
-
-
- Essential JS 2
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-```
-
-{% tabs %}
-{% highlight ts tabtitle="Standalone" %}
-
-import {PdfViewer, Toolbar, Magnification, Navigation, LinkAnnotation, BookmarkView, ThumbnailView, Print TextSelection, TextSearch, Annotation, FormFields } from '@syncfusion/ej2-pdfviewer';
-
-PdfViewer.Inject(Toolbar,Magnification,Navigation, LinkAnnotation,ThumbnailView,BookmarkView, TextSelection, TextSearch, Annotation, FormFields );
-
-let viewer: PdfViewer = new PdfViewer();
-viewer.appendTo('#pdfViewer');
-viewer.load('https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf', null);
-
-// Go To First Page
-document.getElementById('goToFirstPage').addEventListener('click', () => {
- viewer.navigation.goToFirstPage();
-});
-// Go To Last Page
-document.getElementById('goToLastPage').addEventListener('click', () => {
- viewer.navigation.goToLastPage();
-});
-// Go To Next Page
-document.getElementById('goToNextPage').addEventListener('click', () => {
- viewer.navigation.goToNextPage();
-});
-// Go To Page
-document.getElementById('goToPage').addEventListener('click', () => {
- viewer.navigation.goToPage(4);
-});
-// Go To Previous Page
-document.getElementById('goToPreviousPage').addEventListener('click', () => {
- viewer.navigation.goToPreviousPage();
-});
-
-{% endhighlight %}
-{% highlight ts tabtitle="Server-Backed" %}
-
-import {PdfViewer, Toolbar, Magnification, Navigation, LinkAnnotation, BookmarkView, ThumbnailView, Print TextSelection, TextSearch, Annotation, FormFields } from '@syncfusion/ej2-pdfviewer';
-
-PdfViewer.Inject(Toolbar,Magnification,Navigation, LinkAnnotation,ThumbnailView,BookmarkView, TextSelection, TextSearch, Annotation, FormFields );
-
-let viewer: PdfViewer = new PdfViewer();
-viewer.serviceUrl =
- 'https://services.syncfusion.com/js/production/api/pdfviewer';
-viewer.appendTo('#pdfViewer');
-viewer.load('https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf', null);
-
-// Go To First Page
-document.getElementById('goToFirstPage').addEventListener('click', () => {
- viewer.navigation.goToFirstPage();
-});
-// Go To Last Page
-document.getElementById('goToLastPage').addEventListener('click', () => {
- viewer.navigation.goToLastPage();
-});
-// Go To Next Page
-document.getElementById('goToNextPage').addEventListener('click', () => {
- viewer.navigation.goToNextPage();
-});
-// Go To Page
-document.getElementById('goToPage').addEventListener('click', () => {
- viewer.navigation.goToPage(4);
-});
-// Go To Previous Page
-document.getElementById('goToPreviousPage').addEventListener('click', () => {
- viewer.navigation.goToPreviousPage();
-});
-
-{% endhighlight %}
-{% endtabs %}
-
-Find the [here](https://stackblitz.com/edit/5dqbkd?file=index.ts) to perform the page navigation options programmatically.
-
-## Bookmark navigation
-
-The Bookmarks saved in PDF files are loaded and made ready for easy navigation.
-You can enable/disable bookmark navigation by using the following code snippet.,
-
-{% tabs %}
-{% highlight ts tabtitle="Standalone" %}
-
-
-import { PdfViewer, Toolbar, Magnification, Navigation, LinkAnnotation, Annotation, ThumbnailView,BookmarkView, TextSelection} from '@syncfusion/ej2-pdfviewer';
-
-PdfViewer.Inject(Toolbar,Magnification,Navigation, Annotation, LinkAnnotation,ThumbnailView,BookmarkView, TextSelection);
-
-let pdfviewer: PdfViewer = new PdfViewer({enableBookmark: true, documentPath:'https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf'});
-pdfviewer.appendTo('#PdfViewer');
-
-{% endhighlight %}
-{% highlight ts tabtitle="Server-Backed" %}
-
-import { PdfViewer, Toolbar, Magnification, Navigation, LinkAnnotation, Annotation, ThumbnailView,BookmarkView, TextSelection} from '@syncfusion/ej2-pdfviewer';
-
-PdfViewer.Inject(Toolbar,Magnification,Navigation, Annotation, LinkAnnotation,ThumbnailView,BookmarkView, TextSelection);
-
-let pdfviewer: PdfViewer = new PdfViewer({enableBookmark: true, documentPath:'https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf'});
-pdfviewer.serviceUrl = 'https://services.syncfusion.com/js/production/api/pdfviewer';
-pdfviewer.appendTo('#PdfViewer');
-
-{% endhighlight %}
-{% endtabs %}
-
-
-
-To perform bookmark navigation, you can use the **goToBookmark** method. It's important to note that the **goToBookmark** method will throw an error if the specified bookmark does not exist in the PDF document.
-
-Here is an example of how to use the **goToBookmark** method:
-
-```
-
-```
-
-```ts
-document.getElementById('gotobookmark').addEventListener('click', () => {
- viewer.bookmark.goToBookmark(x, y);
-});
-```
-
-x - Specifies the pageIndex for Navigate.
-
-y - Specifies the Y coordinates value of the Page.
-
-Also, you can use the **getBookmarks** method to retrieve a list of all the bookmarks in a PDF document. This method returns a List of Bookmark objects, which contain information about each bookmark.
-
-Here is an example of how to use the getBookmarks method:
-
-```
-
-```
-
-```ts
-document.getElementById('getBookmarks').addEventListener('click', () => {
- var getBookmarks = viewer.bookmark.getBookmarks();
- console.log(getBookmarks)
-});
-```
-
-## Thumbnail navigation
-
-Thumbnails is the miniature representation of actual pages in PDF files. This feature displays thumbnails of the pages and allows navigation.
-You can enable/disable thumbnail navigation by using the following code snippet.,
-
-{% tabs %}
-{% highlight ts tabtitle="Standalone" %}
-
-import { PdfViewer, Toolbar, Magnification, Navigation, Annotation, LinkAnnotation,ThumbnailView,BookmarkView, TextSelection} from '@syncfusion/ej2-pdfviewer';
-
-PdfViewer.Inject(Toolbar,Magnification,Navigation, Annotation, LinkAnnotation,ThumbnailView,BookmarkView, TextSelection);
-
-let pdfviewer: PdfViewer = new PdfViewer({enableThumbnail: true, documentPath:'https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf'});
-pdfviewer.appendTo('#PdfViewer');
-
-{% endhighlight %}
-{% highlight ts tabtitle="Server-Backed" %}
-
-
-import { PdfViewer, Toolbar, Magnification, Navigation, Annotation, LinkAnnotation,ThumbnailView,BookmarkView, TextSelection} from '@syncfusion/ej2-pdfviewer';
-
-PdfViewer.Inject(Toolbar,Magnification,Navigation, Annotation, LinkAnnotation,ThumbnailView,BookmarkView, TextSelection);
-
-let pdfviewer: PdfViewer = new PdfViewer({enableThumbnail: true, documentPath:'https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf'});
-pdfviewer.serviceUrl = 'https://services.syncfusion.com/js/production/api/pdfviewer';
-pdfviewer.appendTo('#PdfViewer');
-
-{% endhighlight %}
-{% endtabs %}
-
-
-
-## Hyperlink navigation
-
-Hyperlink navigation features enables navigation to the URLs (website links) in a PDF file.
-
-
-
-## Table of content navigation
-
-Table of contents navigation allows users to navigate to different parts of a PDF file that are listed in the table of contents section.
-
-You can enable/disable link navigation by using the following code snippet.,
-
-{% tabs %}
-{% highlight ts tabtitle="Standalone" %}
-
-import { PdfViewer, Toolbar, Magnification, Navigation, Annotation, LinkAnnotation,ThumbnailView,BookmarkView, TextSelection} from '@syncfusion/ej2-pdfviewer';
-
-PdfViewer.Inject(Toolbar,Magnification,Navigation, Annotation, LinkAnnotation,ThumbnailView,BookmarkView, TextSelection);
-
-let pdfviewer: PdfViewer = new PdfViewer({enableHyperlink: true, documentPath:'https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf'});
-pdfviewer.appendTo('#PdfViewer');
-
-{% endhighlight %}
-{% highlight ts tabtitle="Server-Backed" %}
-
-
-import { PdfViewer, Toolbar, Magnification, Navigation, Annotation, LinkAnnotation,ThumbnailView,BookmarkView, TextSelection} from '@syncfusion/ej2-pdfviewer';
-
-PdfViewer.Inject(Toolbar,Magnification,Navigation, Annotation, LinkAnnotation,ThumbnailView,BookmarkView, TextSelection);
-
-let pdfviewer: PdfViewer = new PdfViewer({enableHyperlink: true, documentPath:'https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf'});
-pdfviewer.serviceUrl = 'https://services.syncfusion.com/js/production/api/pdfviewer';
-pdfviewer.appendTo('#PdfViewer');
-
-{% endhighlight %}
-{% endtabs %}
-
-You can change the open state of the hyperlink in the PDF Viewer by using the following code snippet,
-
-{% tabs %}
-{% highlight ts tabtitle="Standalone" %}
-
-import { PdfViewer, Toolbar, Magnification, Navigation, Annotation, LinkAnnotation,ThumbnailView,BookmarkView, TextSelection} from '@syncfusion/ej2-pdfviewer';
-
-PdfViewer.Inject(Toolbar,Magnification,Navigation, Annotation, LinkAnnotation,ThumbnailView,BookmarkView, TextSelection);
-
-let pdfviewer: PdfViewer = new PdfViewer({enableHyperlink: true, documentPath:'https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf', hyperlinkOpenState:'NewTab'});
-pdfviewer.appendTo('#PdfViewer');
-
-{% endhighlight %}
-{% highlight ts tabtitle="Server-Backed" %}
-
-
-import { PdfViewer, Toolbar, Magnification, Navigation, Annotation, LinkAnnotation,ThumbnailView,BookmarkView, TextSelection} from '@syncfusion/ej2-pdfviewer';
-
-PdfViewer.Inject(Toolbar,Magnification,Navigation, Annotation, LinkAnnotation,ThumbnailView,BookmarkView, TextSelection);
-
-let pdfviewer: PdfViewer = new PdfViewer({enableHyperlink: true, documentPath:'https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf', hyperlinkOpenState:'NewTab'});
-pdfviewer.serviceUrl = 'https://services.syncfusion.com/js/production/api/pdfviewer';
-pdfviewer.appendTo('#PdfViewer');
-
-
-{% endhighlight %}
-{% endtabs %}
-
-
-
-## See also
-
-* [Toolbar items](https://ej2.syncfusion.com/documentation/pdfviewer/toolbar/)
-* [Feature Modules](https://ej2.syncfusion.com/documentation/pdfviewer/feature-module/)
\ No newline at end of file
diff --git a/ej2-javascript/pdfviewer/ts/open-pdf-file/from-amazon-s3.md b/ej2-javascript/pdfviewer/ts/open-pdf-file/from-amazon-s3.md
deleted file mode 100644
index 400a24bed..000000000
--- a/ej2-javascript/pdfviewer/ts/open-pdf-file/from-amazon-s3.md
+++ /dev/null
@@ -1,203 +0,0 @@
----
-layout: post
-title: Open PDF files from AWS S3 in ##Platform_Name## Pdfviewer control | Syncfusion
-description: Learn here all about Open PDF files from AWS S3 in Syncfusion ##Platform_Name## Pdfviewer control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: Open PDF files from AWS S3
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Open PDF file from AWS S3
-
-PDF Viewer allows to load PDF file from AWS S3 using either the Standalone or Server-backed PDF Viewer. Below are the steps and a sample to demonstrate how to open a PDF from AWS S3.
-
-## Using Standalone PDF Viewer
-
-To load a PDF file from AWS S3 in a PDF Viewer, you can follow the steps below.
-
-**Step 1:** Create a PDF Viewer sample in TypeScript
-
-Follow the instructions provided in this [link](https://ej2.syncfusion.com/documentation/pdfviewer/getting-started) to create a simple PDF Viewer sample in typescript. This will set up the basic structure of your PDF Viewer application.
-
-**Step 2:** Modify the `src/app/app.ts` File in the TypeScript Project
-
-1. Import the required namespaces at the top of the file:
-
-```typescript
-import * as AWS from 'aws-sdk';
-```
-
-2. Configures AWS SDK with the region, access key, and secret access key. This configuration allows the application to interact with AWS services like S3.
-
-N> Replace **Your Region** with the actual Region of your AWS S3 account and **Your Access Key** with the actual Access Key of your AWS S3 account and **Your Security Access Key** with the actual Security Access Key of your AWS S3 account.
-
-```typescript
-AWS.config.update({
- region: '**Your Region**', // Update this your region
- accessKeyId: '*Your Access Key*', // Update this with your access key id
- secretAccessKey: '*Your Security Access Key*', // Update this with your secret access key
-});
-```
-
-3. Sets the parameters for fetching the PDF document from S3, including the bucket name and file key. Then Uses the getObject method of the S3 instance to retrieve the document. Converts the document data to a Base64 string and loads it into the Syncfusion PDF Viewer then load Base64 string generated into the viewer.load method.
-
-N> Replace **Your Bucket Name** with the actual Bucket name of your AWS S3 account and **Your Key** with the actual File Key of your AWS S3 account.
-
-```typescript
-private s3 = new AWS.S3();
-
-pdfviewer.created = function () {
- const getObjectParams = {
- Bucket: '**Your Bucket Name**',
- Key: '**Your Key**',
- };
- s3.getObject(getObjectParams, (err, data) => {
- if (err) {
- console.error('Error fetching document:', err);
- } else {
- if (data && data.Body) {
- const bytes = new Uint8Array(data.Body as ArrayBuffer);
- let binary = '';
- bytes.forEach((byte) => (binary += String.fromCharCode(byte)));
- const base64String = window.btoa(binary);
- setTimeout(() => {
- pdfviewer.load("data:application/pdf;base64,"+base64String, "");
- }, 2000);
- }
- }
- });
-}
-```
-
-N> The **npm install aws-sdk** package must be installed in your application to use the previous code example.
-
-[View sample in GitHub](https://github.com/SyncfusionExamples/open-save-pdf-documents-in-aws-s3/tree/master/Open%20and%20Save%20PDF%20in%20AWS%20S3%20using%20Standalone).
-
-## Using Server-Backed PDF Viewer
-
-To load a PDF file from AWS S3 in a PDF Viewer, you can follow the steps below
-
-**Step 1:** Create a Simple PDF Viewer Sample in Typescript
-
-Start by following the steps provided in this [link](https://ej2.syncfusion.com/documentation/pdfviewer/getting-started) to create a simple PDF viewer sample in Typescript. This will give you a basic setup of the PDF viewer component.
-
-**Step 2:** Modify the `PdfViewerController.cs` File in the Web Service Project
-
-1. Create a web service project in .NET Core 3.0 or above. You can refer to this [link](https://www.syncfusion.com/kb/11063/how-to-create-pdf-viewer-web-service-in-net-core-3-0-and-above) for instructions on how to create a web service project.
-
-2. Open the `PdfViewerController.cs` file in your web service project.
-
-3. Import the required namespaces at the top of the file:
-
-```csharp
-using System.IO;
-using Amazon;
-using Amazon.S3;
-using Amazon.S3.Model;
-```
-
-4. Add the following private fields and constructor parameters to the `PdfViewerController` 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 PdfViewerController(IWebHostEnvironment hostingEnvironment, IMemoryCache cache, IConfiguration configuration)
-{
- _hostingEnvironment = hostingEnvironment;
- _cache = cache;
- _configuration = configuration;
- _accessKey = _configuration.GetValue("AccessKey");
- _secretKey = _configuration.GetValue("SecretKey");
- _bucketName = _configuration.GetValue("BucketName");
-}
-```
-
-5. Modify the [Load()](https://helpej2.syncfusion.com/documentation/api/pdfviewer/#load) method to load the PDF files from AWS S3.
-
-```csharp
-
-public async Task Load([FromBody] Dictionary jsonObject)
-{
- // Initialize the PDF viewer object with memory cache object
- PdfRenderer pdfviewer = new PdfRenderer(_cache);
- MemoryStream stream = new MemoryStream();
- object jsonResult = new object();
-
- if (jsonObject != null && jsonObject.ContainsKey("document"))
- {
- if (bool.Parse(jsonObject["isFileName"]))
- {
- RegionEndpoint bucketRegion = RegionEndpoint.USEast1;
-
- // Configure the AWS SDK with your access credentials and other settings
- var s3Client = new AmazonS3Client(_accessKey, _secretKey, bucketRegion);
-
- string document = jsonObject["document"];
-
- // Specify the document name or retrieve it from a different source
- var response = await s3Client.GetObjectAsync(_bucketName, document);
-
- Stream responseStream = response.ResponseStream;
- responseStream.CopyTo(stream);
- stream.Seek(0, SeekOrigin.Begin);
- }
- else
- {
- byte[] bytes = Convert.FromBase64String(jsonObject["document"]);
- stream = new MemoryStream(bytes);
- }
- }
-
- jsonResult = pdfviewer.Load(stream, jsonObject);
-
- return Content(JsonConvert.SerializeObject(jsonResult));
-}
-```
-
-6. 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:** Set the PDF Viewer Properties in Typescript PDF viewer component
-
-Modify the [serviceUrl](https://helpej2.syncfusion.com/documentation/api/pdfviewer/#serviceurl) property of the PDF viewer component with the accurate URL of your web service project, replacing `https://localhost:44396/pdfviewer` with the actual URL of your server. Set the `documentPath` property of the PDF viewer component to the desired name of the PDF file you wish to load from AWS S3. Ensure that you correctly pass the document name from the files available in your AWS S3 bucket to the documentPath property.
-
-```typescript
-
-import { PdfViewer, Toolbar, Magnification, Navigation, LinkAnnotation,ThumbnailView,
- BookmarkView, TextSelection, Annotation, FormFields, FormDesigner} from '@syncfusion/ej2-pdfviewer';
-
-PdfViewer.Inject( Toolbar,Magnification,Navigation, LinkAnnotation,ThumbnailView,
- BookmarkView, TextSelection, Annotation, FormFields, FormDesigner);
-
-let viewer: PdfViewer = new PdfViewer();
-// Replace the "localhost:44396" with the actual URL of your server
-viewer.serviceUrl = 'https://localhost:44396/pdfviewer';
-viewer.appendTo('#pdfViewer');
-viewer.load('PDF_Succinctly.pdf', null);
-
-```
-
-N> The **AWSSDK.S3** NuGet package must be installed in your application to use the previous code example.
-
-[View sample in GitHub](https://github.com/SyncfusionExamples/open-save-pdf-documents-in-aws-s3/tree/master/Open%20and%20Save%20PDF%20in%20AWS%20S3%20using%20Server-Backend)
\ No newline at end of file
diff --git a/ej2-javascript/pdfviewer/ts/open-pdf-file/from-azure-active-directory.md b/ej2-javascript/pdfviewer/ts/open-pdf-file/from-azure-active-directory.md
deleted file mode 100644
index 1be036745..000000000
--- a/ej2-javascript/pdfviewer/ts/open-pdf-file/from-azure-active-directory.md
+++ /dev/null
@@ -1,259 +0,0 @@
----
-layout: post
-title: Open PDF From AAD in ##Platform_Name## Pdfviewer control | Syncfusion
-description: Learn how to Open PDF From AAD in Syncfusion ##Platform_Name## Pdfviewer control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: PDF Viewer
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Open PDF From Azure Active Directory in Viewer
-
-### **Overview**
-
-The Syncfusion PDF Viewer allows you to load and save PDF files directly from Azure Active Directory (AAD). Below are the steps to securely load and store PDF documents from and to AAD using the PDF Viewer.
-
-### **Steps to Open the PDF File from Azure Active Directory**
-
----
-
-### **Step 1: Register an Application in Azure Active Directory (AAD)**
-
-1. **Go to the Azure Portal**:
- - Navigate to [Azure Portal](https://portal.azure.com).
-
-2. **Register your Application**:
- - In the Azure portal, go to **Azure Active Directory** > **App registrations** > **New registration**.
- - Register your application and note down the **Application (client) ID** and **Directory (tenant) ID**.
-
- 
-
-3. **Create a Client Secret**:
- - In the registered application, go to **Certificates & secrets**.
- - Click **New client secret**.
- - Provide a description and set an expiration period.
- - Click **Add**.
- - Copy the client secret value immediately, as it will be hidden later. Store it securely.
-
- 
-
----
-
-### **Step 2: Create the Azure Storage Account**
-
-1. **Create a Storage Account**:
- - In the Azure portal, use the search bar to search for **Storage accounts**.
- - Create a new storage account by filling in the required details (e.g., name, location, resource group, etc.).
-
- 
-
----
-
-### **Step 3: Assign Role to the Application**
-
-1. **Go to your Storage Account**:
- - Navigate to **Access control (IAM)** > **Add role assignment** in your Azure Storage Account.
-
-2. **Assign Role**:
- - Assign the **Storage Blob Data Contributor** role to your registered application.
- - In the **Assign access to** dropdown, select **User, group, or service principal**.
- - Click on **Select members** and search for your registered application by name or client ID.
- - Select your application and click **Select**.
- - Click **Review + assign** to finalize the role assignment.
-
- 
----
-
-### **Step 4: Upload the PDF Document to the Azure Storage Account**
-
-1. **Navigate to Data Storage**:
- - In the Azure portal, go to **Data storage** > **Containers**.
-
-2. **Upload the PDF File**:
- - Create a new container and upload the PDF document you want to access in the PDF Viewer.
-
- 
----
-
-### **Step 5: Server-Side Configuration**
-
-1. **Configure Server-Side Code**:
- - Open the server-side application (e.g., ASP.NET Core) and configure the following details in the `PdfViewerController` file:
- - `tenantId` (your Azure AD tenant ID),
- - `clientId` (your registered application client ID),
- - `clientSecret` (your registered application client secret),
- - `blobServiceEndpoint` (your storage account blob service URL),
- - `containerName` (your container name in Azure Blob Storage).
-
-2. **Run the Web Service**:
- - After configuring the necessary details, run the web service to make it accessible.
-
----
-
-### **Step 6: Client-Side Configuration**
-
-1. **Run the TS Sample**:
- - Start the TS sample that includes the Syncfusion PDF Viewer.
-
-2. **Load PDF from AAD**:
- - When the user clicks the **Load from AAD** button, the JS client will make an HTTP request to the server-side API to fetch the PDF from Azure Blob Storage.
- - The server will retrieve the PDF from Azure, convert it to a base64 string, and return it to the client.
-
-3. **Display PDF in the PDF Viewer**:
- - Once the base64 string is received, the PDF Viewer will load the PDF using the `viewer.load()` method.
-
----
-
-### **Step 7: Save the PDF Document to Azure**
-
-1. **Save PDF to AAD**:
- - The user can click the **Save to AAD** button to upload any modifications to the PDF back to Azure Blob Storage.
- - This action sends the modified PDF to the server, where it is converted into a byte array and saved to the specified Azure Blob container.
-
----
-
-### **Server-Side Code Snippets**
-```cs
-string tenantId = "Provide the tenant id here";
-string clientId = "Provide the clientid here";
-string clientSecret = "Provide the client secret here";
-string blobServiceEndpoint = "https://your-storage-account.blob.core.windows.net";
-string containerName = "Provide the container name here";
-
-
-
-[HttpPost("LoadFromAAD")]
-[Route("[controller]/LoadFromAAD")]
-public async Task LoadFromAAD(string fileName)
-{
- var clientSecretCredential = new ClientSecretCredential(tenantId, clientId, clientSecret);
- var blobServiceClient = new BlobServiceClient(new Uri(blobServiceEndpoint), clientSecretCredential);
- var containerClient = blobServiceClient.GetBlobContainerClient(containerName);
- var blobClient = containerClient.GetBlobClient(fileName);
-
- // Download the PDF file to a local stream
- using MemoryStream pdfStream = new MemoryStream();
- await blobClient.DownloadToAsync(pdfStream);
- var base64 = Convert.ToBase64String(pdfStream.ToArray());
- return Content("data:application/pdf;base64," + base64);
-}
-
-[AcceptVerbs("SaveToAAD")]
-[HttpPost("SaveToAAD")]
-[Route("[controller]/SaveToAAD")]
-public async Task SaveToAAD([FromBody] Dictionary jsonObject)
-{
- PdfRenderer pdfviewer = new PdfRenderer(_cache);
- var fileName = jsonObject.ContainsKey("documentId") ? jsonObject["documentId"] : "Test.pdf";
- string documentBase = pdfviewer.GetDocumentAsBase64(jsonObject);
- string convertedBase = documentBase.Substring(documentBase.LastIndexOf(',') + 1);
- // Decode the Base64 string to a byte array
- byte[] byteArray = Convert.FromBase64String(convertedBase);
- // Create a MemoryStream from the byte array
- MemoryStream stream = new MemoryStream(byteArray);
- // Create a new BlobServiceClient using the DefaultAzureCredential
- var clientSecretCredential = new ClientSecretCredential(tenantId, clientId, clientSecret);
- var blobServiceClient = new BlobServiceClient(new Uri(blobServiceEndpoint), clientSecretCredential);
- // Get a reference to the container
- var containerClient = blobServiceClient.GetBlobContainerClient(containerName);
- // Get a reference to the blob
- var blobClient = containerClient.GetBlobClient(fileName);
- //FileStream uploadFileStream = new FileStream();
- await blobClient.UploadAsync(stream, true);
- stream.Close();
- return Content(string.Empty);
-}
-
-```
-
-
-
-### **Client-side Code Snippets**
-
-```ts
-import { PdfViewer, Toolbar, TextSelection, TextSearch, Print, Navigation, Magnification, Annotation, FormDesigner, FormFields, CustomToolbarItemModel } from '@syncfusion/ej2-pdfviewer';
-import { ComboBox } from "@syncfusion/ej2-dropdowns";
-
-// Inject required modules for PDF Viewer functionality
-PdfViewer.Inject(
- TextSelection,
- TextSearch,
- Print,
- Navigation,
- Toolbar,
- Magnification,
- Annotation,
- FormDesigner,
- FormFields
-);
-
-// Define custom toolbar items
-let toolItem1: CustomToolbarItemModel = {
- id: 'loadFromAAD',
- text: 'Load From AAD',
- tooltipText: 'Custom toolbar item',
- align: 'left'
-};
-
-let toolItem2: CustomToolbarItemModel = {
- id: 'saveToAAD',
- text: 'Save To AAD',
- tooltipText: 'Custom toolbar item',
- align: 'left'
-};
-
-// Initialize the PDF Viewer with custom toolbar items
-let pdfviewer: PdfViewer = new PdfViewer({
- serviceUrl: 'https://localhost:44308/pdfviewer',
- toolbarSettings: {
- toolbarItems: [
- toolItem1,
- toolItem2,
- 'OpenOption',
- 'PageNavigationTool',
- 'MagnificationTool',
- 'PanTool',
- 'SelectionTool',
- 'SearchOption',
- 'PrintOption',
- 'DownloadOption',
- 'UndoRedoTool',
- 'AnnotationEditTool',
- 'FormDesignerEditTool',
- 'CommentTool',
- 'SubmitForm',
- ]
- }
-});
-
-// Render the PDF Viewer in the DOM
-pdfviewer.appendTo('#PdfViewer');
-
-// Handle toolbar clicks
-pdfviewer.toolbarClick = (args: { item?: { id: string } }) => {
- if (args.item) {
- if (args.item.id === 'loadFromAAD') {
- // Handle 'Load From AAD' logic
- const xhr = new XMLHttpRequest();
- xhr.open('POST', `https://localhost:44308/pdfviewer/LoadFromAAD?fileName=pdf-succinctly.pdf`, true);
- xhr.onreadystatechange = () => {
- if (xhr.readyState === 4 && xhr.status === 200) {
- const data = xhr.responseText;
- console.log(data); // Handle the response
- pdfviewer.load(data,''); // Load the document
- }
- };
- xhr.send();
- } else if (args.item.id === 'saveToAAD') {
- // Handle 'Save To AAD' logic
- pdfviewer.serverActionSettings.download = "SaveToAAD";
- pdfviewer.download(); // Trigger download
- }
- }
-};
-
-```
-
-[View sample in GitHub](https://github.com/SyncfusionExamples/open-save-pdf-documents-in-aad).
\ No newline at end of file
diff --git a/ej2-javascript/pdfviewer/ts/open-pdf-file/from-azure-blob-storage.md b/ej2-javascript/pdfviewer/ts/open-pdf-file/from-azure-blob-storage.md
deleted file mode 100644
index b02f07d97..000000000
--- a/ej2-javascript/pdfviewer/ts/open-pdf-file/from-azure-blob-storage.md
+++ /dev/null
@@ -1,208 +0,0 @@
----
-layout: post
-title: Open PDF from Azure Blob Storage in ##Platform_Name## Pdfviewer | Syncfusion
-description: Learn here all about Open PDF files from Azure Blob Storage in Syncfusion ##Platform_Name## Pdfviewer control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: Open PDF files from Azure Blob Storage
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Open PDF file from Azure Blob Storage
-
-PDF Viewer allows to load PDF file from Azure Blob Storage using either the Standalone or Server-backed PDF Viewer. Below are the steps and a sample to demonstrate how to open a PDF from Azure Blob Storage.
-
-## Using Standalone PDF Viewer
-
-To load a PDF file from Azure Blob Storage in a PDF Viewer, you can follow the steps below
-
-**Step 1:** Create a Simple PDF Viewer Sample in Typescript
-
-Start by following the steps provided in this [link](https://ej2.syncfusion.com/documentation/pdfviewer/getting-started) to create a simple PDF viewer sample in Typescript. This will give you a basic setup of the PDF viewer component.
-
-**Step 2:** Modify the `src/app/app.ts` File in the Angular Project
-
-1. Add the following private properties to the `app.ts`, and assign the values from the configuration to the corresponding properties
-
-N> Replace **Your account name in Azure** with the actual account name for your Azure Blob Storage account and **Your container name in Azure** with the actual container name and **Your Blob name in Azure** with the actual container name.
-
-```typescript
-private accountName: string = "*Your account name in Azure*";
-private containerName: string = "*Your container name in Azure*";
-private blobName: string = "*Your Blob name in Azure*";
-```
-
-2. Constructs the URL to the PDF in Azure Blob Storage. Calls fetchAndConvertToBase64 to fetch the PDF and convert it to a base64 string. Then Loads the base64 string into the PDF Viewer.
-
-```typescript
-pdfviewer.created = function () {
- const url = 'https://'+accountName+'.blob.core.windows.net/'+containerName+'/'+blobName;
- fetchAndConvertToBase64(url).then(base64String => {
- if (base64String) {
- setTimeout(() => {
- pdfviewer.load("data:application/pdf;base64,"+base64String, "");
- }, 2000);
- } else {
- console.error('Failed to fetch and convert file to base64.');
- }
- }).catch(error => console.error('Error:', error));
-}
-```
-
-3. Then it retrieves the PDF file from the given URL and converts the fetched Blob to a base64 string using blobToBase64.
-
-```typescript
-function fetchAndConvertToBase64(url : any) {
- return new Promise(function(resolve, reject) {
- fetch(url).then(function(response) {
- if (!response.ok) {
- throw new Error('HTTP error! Status: ' + response.status);
- }
- return response.blob();
- }).then(function(blob) {
- blobToBase64(blob).then(function(base64String) {
- resolve(base64String);
- });
- }).catch(function(error) {
- console.error('Error fetching file:', error);
- reject(null);
- });
- });
-}
-```
-
-4. Uses FileReader to convert a Blob to a base64 string. Resolves the promise with the base64 string or rejects it in case of an error.
-
-```typescript
-function blobToBase64(blob : any) {
- return new Promise(function(resolve, reject) {
- var reader = new FileReader();
- reader.onload = function() {
- var base64String = reader.result ? reader.result.toString().split(',')[1] : '';
- resolve(base64String);
- };
- reader.onerror = function(error) {
- reject(error);
- };
- reader.readAsDataURL(blob);
- });
-}
-```
-
-[View sample in GitHub](https://github.com/SyncfusionExamples/open-save-pdf-documents-in-azure-blob-storage/tree/master/Open%20and%20Save%20PDF%20in%20Azure%20Blob%20Storage%20using%20Standalone).
-
-## Using Server-Backed PDF Viewer
-
-To load a PDF file from Azure Blob Storage in a PDF Viewer, you can follow the steps below
-
-**Step 1:** Create a Simple PDF Viewer Sample in Typescript
-
-Start by following the steps provided in this [link](https://ej2.syncfusion.com/documentation/pdfviewer/getting-started) to create a simple PDF viewer sample in Typescript. This will give you a basic setup of the PDF viewer component.
-
-**Step 2:** Modify the `PdfViewerController.cs` File in the Web Service Project
-
-1. Create a web service project in .NET Core 3.0 or above. You can refer to this [link](https://www.syncfusion.com/kb/11063/how-to-create-pdf-viewer-web-service-in-net-core-3-0-and-above) for instructions on how to create a web service project.
-
-2. Open the `PdfViewerController.cs` file in your web service project.
-
-3. Import the required namespaces at the top of the file:
-
-```csharp
-using System.IO;
-using Azure.Storage.Blobs;
-using Azure.Storage.Blobs.Specialized;
-```
-
-4. Add the following private fields and constructor parameters to the `PdfViewerController` 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 PdfViewerController(IConfiguration configuration, ILogger logger)
-{
- _storageConnectionString = configuration.GetValue("connectionString");
- _storageContainerName = configuration.GetValue("containerName");
- _logger = logger;
-}
-```
-
-5. Modify the [Load()](https://helpej2.syncfusion.com/documentation/api/pdfviewer/#load) method to load the PDF files from Azure Blob Storage
-
-```csharp
-
-[HttpPost("Load")]
-[Microsoft.AspNetCore.Cors.EnableCors("MyPolicy")]
-[Route("[controller]/Load")]
-//Post action for Loading the PDF documents
-
-public IActionResult Load([FromBody] Dictionary jsonObject)
-{
- PdfRenderer pdfviewer = new PdfRenderer(_cache);
- MemoryStream stream = new MemoryStream();
- object jsonResult = new object();
-
- if (jsonObject != null && jsonObject.ContainsKey("document"))
- {
- if (bool.TryParse(jsonObject["isFileName"], out bool isFileName) && isFileName)
- {
- BlobServiceClient blobServiceClient = new BlobServiceClient(_storageConnectionString);
- string fileName = jsonObject["document"];
- BlobContainerClient containerClient = blobServiceClient.GetBlobContainerClient(_storageContainerName);
- BlockBlobClient blockBlobClient = containerClient.GetBlockBlobClient(fileName);
- blockBlobClient.DownloadTo(stream);
- }
- else
- {
- byte[] bytes = Convert.FromBase64String(jsonObject["document"]);
- stream = new MemoryStream(bytes);
- }
- }
- jsonResult = pdfviewer.Load(stream, jsonObject);
- return Content(JsonConvert.SerializeObject(jsonResult));
-}
-```
-
-6. 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:** Set the PDF Viewer Properties in Typescript PDF viewer component
-
-Modify the [serviceUrl](https://helpej2.syncfusion.com/documentation/api/pdfviewer/#serviceurl) property of the PDF viewer component with the accurate URL of your web service project, replacing `https://localhost:44396/pdfviewer` with the actual URL of your server. Set the `documentPath` property of the PDF viewer component to the desired name of the PDF file you wish to load from Azure Blob Storage. Ensure that you correctly pass the document name from the files available in your azure contanier to the documentPath property.
-
-```typescript
-
-import { PdfViewer, Toolbar, Magnification, Navigation, LinkAnnotation,ThumbnailView,
- BookmarkView, TextSelection, Annotation, FormFields, FormDesigner} from '@syncfusion/ej2-pdfviewer';
-
-PdfViewer.Inject( Toolbar,Magnification,Navigation, LinkAnnotation,ThumbnailView,
- BookmarkView, TextSelection, Annotation, FormFields, FormDesigner);
-
-let viewer: PdfViewer = new PdfViewer();
-// Replace the "localhost:44396" with the actual URL of your server
-viewer.serviceUrl = 'https://localhost:44396/pdfviewer';
-viewer.appendTo('#pdfViewer');
-viewer.load('PDF_Succinctly.pdf', null);
-
-```
-
-N> The **Azure.Storage.Blobs** NuGet package must be installed in your application to use the previous code example.
-
-[View sample in GitHub](https://github.com/SyncfusionExamples/open-save-pdf-documents-in-azure-blob-storage/tree/master/Open%20and%20Save%20PDF%20in%20Azure%20Blob%20Storage%20using%20Server-Backend).
\ No newline at end of file
diff --git a/ej2-javascript/pdfviewer/ts/open-pdf-file/from-box-cloud-file-storage.md b/ej2-javascript/pdfviewer/ts/open-pdf-file/from-box-cloud-file-storage.md
deleted file mode 100644
index 8a39f4696..000000000
--- a/ej2-javascript/pdfviewer/ts/open-pdf-file/from-box-cloud-file-storage.md
+++ /dev/null
@@ -1,157 +0,0 @@
----
-layout: post
-title: Open PDF files from Box cloud file storage in ##Platform_Name## Pdfviewer control | Syncfusion
-description: Learn here all about Open PDF files from Box cloud file storage in Syncfusion ##Platform_Name## Pdfviewer control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: Open PDF files from Box cloud file storage
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Open PDF file from Box cloud file storage
-
-To load a PDF file from Box cloud file storage in a PDF Viewer, 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.
-
-**Step 2:** Create a Simple PDF Viewer Sample in Typescript
-
-Start by following the steps provided in this [link](https://ej2.syncfusion.com/documentation/pdfviewer/getting-started) to create a simple PDF viewer sample in Typescript. This will give you a basic setup of the PDF viewer component.
-
-**Step 3:** Modify the `PdfViewerController.cs` File in the Web Service Project
-
-1. Create a web service project in .NET Core 3.0 or above. You can refer to this [link](https://www.syncfusion.com/kb/11063/how-to-create-pdf-viewer-web-service-in-net-core-3-0-and-above) for instructions on how to create a web service project.
-
-2. Open the `PdfViewerController.cs` file in your web service project.
-
-3. 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;
-```
-
-4. Add the following private fields and constructor parameters to the `PdfViewerController` 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 PdfViewerController(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");
-}
-```
-
-5. Modify the [Load()](https://helpej2.syncfusion.com/documentation/api/pdfviewer/#load) method to load the PDF files from Box cloud file storage.
-
-```csharp
-[HttpPost("Load")]
-[Microsoft.AspNetCore.Cors.EnableCors("MyPolicy")]
-[Route("[controller]/Load")]
-//Post action for Loading the PDF documents
-
-
-public async Task Load([FromBody] Dictionary jsonObject)
-{
- //Initialize the PDF viewer object with memory cache object
- PdfRenderer pdfviewer = new PdfRenderer(_cache);
-
- MemoryStream stream = new MemoryStream();
- object jsonResult = new object();
- if (jsonObject != null && jsonObject.ContainsKey("document"))
- {
- if (bool.Parse(jsonObject["isFileName"]))
- {
- string objectName = jsonObject["document"];
-
- // 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;
- }
- else
- {
- byte[] bytes = Convert.FromBase64String(jsonObject["document"]);
- stream = new MemoryStream(bytes);
- }
- }
- jsonResult = pdfviewer.Load(stream, jsonObject);
- return Content(JsonConvert.SerializeObject(jsonResult));
-}
-```
-
-6. 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:** Set the PDF Viewer Properties in Typescript PDF viewer component
-
-Modify the `serviceUrl` property of the PDF viewer component with the accurate URL of your web service project, replacing `https://localhost:44396/pdfviewer` with the actual URL of your server. Set the `documentPath` property of the PDF viewer component to the desired name of the PDF file you wish to load from Box cloud file storage. Ensure that you correctly pass the document name from the files available in your box folder to the documentPath property.
-
-```typescript
-
-import { PdfViewer, Toolbar, Magnification, Navigation, LinkAnnotation,ThumbnailView,
- BookmarkView, TextSelection, Annotation, FormFields, FormDesigner} from '@syncfusion/ej2-pdfviewer';
-
-PdfViewer.Inject( Toolbar,Magnification,Navigation, LinkAnnotation,ThumbnailView,
- BookmarkView, TextSelection, Annotation, FormFields, FormDesigner);
-
-let viewer: PdfViewer = new PdfViewer();
-// Replace the "localhost:44396" with the actual URL of your server
-viewer.serviceUrl = 'https://localhost:44396/pdfviewer';
-viewer.appendTo('#pdfViewer');
-viewer.load('PDF_Succinctly.pdf', null);
-
-```
-
-N> The **Box.V2.Core** NuGet package must be installed in your application to use the previous code example.
-
-N> Replace `PDF_Succinctly.pdf` with the actual document name that you want to load from Box cloud file storage. Make sure to pass the document name from the box folder to the `documentPath` property of the PDF viewer component
-
-[View sample in GitHub](https://github.com/SyncfusionExamples/open-save-pdf-documents-in-box-cloud-file-storage)
\ No newline at end of file
diff --git a/ej2-javascript/pdfviewer/ts/open-pdf-file/from-dropbox-cloud-file-storage.md b/ej2-javascript/pdfviewer/ts/open-pdf-file/from-dropbox-cloud-file-storage.md
deleted file mode 100644
index dc873617c..000000000
--- a/ej2-javascript/pdfviewer/ts/open-pdf-file/from-dropbox-cloud-file-storage.md
+++ /dev/null
@@ -1,193 +0,0 @@
----
-layout: post
-title: Open PDF from Dropbox cloud storage in ##Platform_Name## Pdfviewer | Syncfusion
-description: Learn here all about Open PDF files from Dropbox cloud file storage in Syncfusion ##Platform_Name## Pdfviewer control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: Open PDF files from Dropbox cloud file storage
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Open PDF file from Dropbox cloud file storage
-
-PDF Viewer allows to load PDF file from Drop Box using either the Standalone or Server-backed PDF Viewer. Below are the steps and a sample to demonstrate how to open a PDF from Drop Box.
-
-## Using Standalone PDF Viewer
-
-To load a PDF file from Dropbox cloud file storage in a PDF Viewer, 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.
-
-**Step 2:** Create a Simple PDF Viewer Sample in Typescript
-
-Start by following the steps provided in this [link](https://ej2.syncfusion.com/documentation/pdfviewer/getting-started) to create a simple PDF viewer sample in Typescript. This will give you a basic setup of the PDF viewer component.
-
-**Step 3:** Modify the `src/app/app.ts` File in the Angular Project
-
-1. Import the required namespaces at the top of the file:
-
-```typescript
-import { Dropbox } from 'dropbox';
-```
-
-2. Create an instance of the Dropbox class using an access token for authentication. Next, call the filesDownload method of this Dropbox instance to download the file located at /PDF_Succinctly.pdf. Upon successfully downloading the file, extract the file blob from the response. Convert this file blob to a Base64 string using the blobToBase64 method. Finally, load the Base64 string into a PDF viewer control.
-
-N> Replace **Your Access Token** with the actual Access Token of your Drop Box account.
-
-```typescript
-pdfviewer.created = function () {
- let dbx = new Dropbox({ accessToken: 'Your Access Token' });
- dbx.filesDownload({ path: '/PDF_Succinctly.pdf' }).then(async (response) => {
- const blob = await (response.result as any).fileBlob;
- const base64String = await blobToBase64(blob);
- setTimeout(() => {
- pdfviewer.load(base64String, "");
- }, 2000);
- });
-}
-
-function blobToBase64(blob: Blob): Promise {
- return new Promise((resolve, reject) => {
- const reader = new FileReader();
- reader.readAsDataURL(blob);
- reader.onloadend = () => {
- resolve(reader.result as string);
- };
- });
-}
-```
-
-N> The **npm install dropbox** package must be installed in your application to use the previous code example.
-
-[View sample in GitHub](https://github.com/SyncfusionExamples/open-save-pdf-documents-in-dropbox-cloud-file-storage/tree/master/Open%20and%20Save%20PDF%20in%20Drop%20Box%20using%20Standalone)
-
-## Using Server-Backed PDF Viewer
-
-To load a PDF file from Dropbox cloud file storage in a PDF Viewer, 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.
-
-**Step 2:** Create a Simple PDF Viewer Sample in Typescript
-
-Start by following the steps provided in this [link](https://ej2.syncfusion.com/documentation/pdfviewer/getting-started) to create a simple PDF viewer sample in Typescript. This will give you a basic setup of the PDF viewer component.
-
-**Step 3:** Modify the `PdfViewerController.cs` File in the Web Service Project
-
-1. Create a web service project in .NET Core 3.0 or above. You can refer to this [link](https://www.syncfusion.com/kb/11063/how-to-create-pdf-viewer-web-service-in-net-core-3-0-and-above) for instructions on how to create a web service project.
-
-2. Open the `PdfViewerController.cs` file in your web service project.
-
-3. Import the required namespaces at the top of the file:
-
-```csharp
-using System.IO;
-using Dropbox.Api;
-using Dropbox.Api.Files;
-```
-
-4. Add the following private fields and constructor parameters to the `PdfViewerController` 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 PdfViewerController(IWebHostEnvironment hostingEnvironment, IMemoryCache cache, IConfiguration configuration)
-{
- _hostingEnvironment = hostingEnvironment;
- _cache = cache;
- _configuration = configuration;
- _accessToken = _configuration.GetValue("AccessToken");
- _folderName = _configuration.GetValue("FolderName");
-}
-```
-
-5. Modify the [Load()](https://helpej2.syncfusion.com/documentation/api/pdfviewer/#load) method to load the PDF files from Dropbox cloud file storage.
-
-```csharp
- [HttpPost("Load")]
-[Microsoft.AspNetCore.Cors.EnableCors("MyPolicy")]
-[Route("[controller]/Load")]
-//Post action for Loading the PDF documents
-
-public async Task Load([FromBody] Dictionary jsonObject)
-{
- //Initialize the PDF viewer object with memory cache object
- PdfRenderer pdfviewer = new PdfRenderer(_cache);
- MemoryStream stream = new MemoryStream();
- object jsonResult = new object();
- if (jsonObject != null && jsonObject.ContainsKey("document"))
- {
- if (bool.Parse(jsonObject["isFileName"]))
- {
- // Get the file name from the jsonObject, which should contain the Dropbox file name
- string fileName = jsonObject["document"];
-
- using (var dropBox = new DropboxClient(_accessToken))
- {
- using (var response = await dropBox.Files.DownloadAsync(_folderName + "/" + fileName))
- {
- var byteArray = await response.GetContentAsByteArrayAsync();
-
- // Load the PDF file into the PDF viewer
- stream = new MemoryStream(byteArray);
- }
- }
- }
- else
- {
- byte[] bytes = Convert.FromBase64String(jsonObject["document"]);
- stream = new MemoryStream(bytes);
- }
- }
- jsonResult = pdfviewer.Load(stream, jsonObject);
- return Content(JsonConvert.SerializeObject(jsonResult));
-}
-```
-
-6. 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:** Set the PDF Viewer Properties in Typescript PDF viewer component
-
-Modify the [serviceUrl](https://helpej2.syncfusion.com/documentation/api/pdfviewer/#serviceurl) property of the PDF viewer component with the accurate URL of your web service project, replacing `https://localhost:44396/pdfviewer` with the actual URL of your server. Set the `documentPath` property of the PDF viewer component to the desired name of the PDF file you wish to load from Dropbox cloud file storage. Ensure that you correctly pass the document name from the files available in your dropbox folder to the documentPath property.
-
-```typescript
-
-import { PdfViewer, Toolbar, Magnification, Navigation, LinkAnnotation,ThumbnailView,
- BookmarkView, TextSelection, Annotation, FormFields, FormDesigner} from '@syncfusion/ej2-pdfviewer';
-
-PdfViewer.Inject( Toolbar,Magnification,Navigation, LinkAnnotation,ThumbnailView,
- BookmarkView, TextSelection, Annotation, FormFields, FormDesigner);
-
-let viewer: PdfViewer = new PdfViewer();
-// Replace the "localhost:44396" with the actual URL of your server
-viewer.serviceUrl = 'https://localhost:44396/pdfviewer';
-viewer.appendTo('#pdfViewer');
-viewer.load('PDF_Succinctly.pdf', null);
-
-```
-
-N> The **Dropbox.Api** NuGet package must be installed in your application to use the previous code example.
-
-[View sample in GitHub](https://github.com/SyncfusionExamples/open-save-pdf-documents-in-dropbox-cloud-file-storage/tree/master/Open%20and%20Save%20PDF%20in%20Drop%20Box%20using%20Server-Backed)
diff --git a/ej2-javascript/pdfviewer/ts/open-pdf-file/from-google-cloud-storage.md b/ej2-javascript/pdfviewer/ts/open-pdf-file/from-google-cloud-storage.md
deleted file mode 100644
index 955a691fd..000000000
--- a/ej2-javascript/pdfviewer/ts/open-pdf-file/from-google-cloud-storage.md
+++ /dev/null
@@ -1,138 +0,0 @@
----
-layout: post
-title: Open PDF files from Google Cloud Storage in ##Platform_Name## Pdfviewer control | Syncfusion
-description: Learn here all about Open PDF files from Google Cloud Storage in Syncfusion ##Platform_Name## Pdfviewer control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: Open PDF files from Google Cloud Storage
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Open PDF file from Google Cloud Storage
-
-To load a PDF file from Google Cloud Storage in a PDF Viewer, you can follow the steps below
-
-**Step 1:** Create a Simple PDF Viewer Sample in Typescript
-
-Start by following the steps provided in this [link](https://ej2.syncfusion.com/documentation/pdfviewer/getting-started) to create a simple PDF viewer sample in Typescript. This will give you a basic setup of the PDF viewer component.
-
-**Step 2:** Modify the `PdfViewerController.cs` File in the Web Service Project
-
-1. Create a web service project in .NET Core 3.0 or above. You can refer to this [link](https://www.syncfusion.com/kb/11063/how-to-create-pdf-viewer-web-service-in-net-core-3-0-and-above) for instructions on how to create a web service project.
-
-2. Open the `PdfViewerController.cs` file in your web service project.
-
-3. Import the required namespaces at the top of the file:
-
-```csharp
-using System.IO;
-using Google.Cloud.Storage.V1;
-using Google.Apis.Auth.OAuth2;
-```
-
-4. Add the following private fields and constructor parameters to the `PdfViewerController` 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 PdfViewerController(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;
-
-
-```
-
-5. Modify the [Load()](https://helpej2.syncfusion.com/documentation/api/pdfviewer/#load) method to load the PDF files from Google Cloud Storage.
-
-```csharp
-[HttpPost("Load")]
-[Microsoft.AspNetCore.Cors.EnableCors("MyPolicy")]
-[Route("[controller]/Load")]
-//Post action for Loading the PDF documents
-
-public IActionResult Load([FromBody] Dictionary jsonObject)
-{
- PdfRenderer pdfviewer = new PdfRenderer(_cache);
- MemoryStream stream = new MemoryStream();
- object jsonResult = new object();
-
- if (jsonObject != null && jsonObject.ContainsKey("document"))
- {
- if (bool.Parse(jsonObject["isFileName"]))
- {
- string bucketName = _bucketName;
- string objectName = jsonObject["document"];
- _storageClient.DownloadObject(bucketName, objectName, stream);
- stream.Position = 0;
- }
- else
- {
- byte[] bytes = Convert.FromBase64String(jsonObject["document"]);
- stream = new MemoryStream(bytes);
- }
- }
- jsonResult = pdfviewer.Load(stream, jsonObject);
- return Content(JsonConvert.SerializeObject(jsonResult));
-}
-```
-
-6. 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:** Set the PDF Viewer Properties in Typescript PDF viewer component
-
-Modify the [serviceUrl](https://helpej2.syncfusion.com/documentation/api/pdfviewer/#serviceurl) property of the PDF viewer component with the accurate URL of your web service project, replacing `https://localhost:44396/pdfviewer` with the actual URL of your server. Set the `documentPath` property of the PDF viewer component to the desired name of the PDF file you wish to load from Google Cloud Storage. Ensure that you correctly pass the document name from the files available in your bucket to the documentPath property.
-
-```typescript
-
-import { PdfViewer, Toolbar, Magnification, Navigation, LinkAnnotation,ThumbnailView,
- BookmarkView, TextSelection, Annotation, FormFields, FormDesigner} from '@syncfusion/ej2-pdfviewer';
-
-PdfViewer.Inject( Toolbar,Magnification,Navigation, LinkAnnotation,ThumbnailView,
- BookmarkView, TextSelection, Annotation, FormFields, FormDesigner);
-
-let viewer: PdfViewer = new PdfViewer();
-// Replace the "localhost:44396" with the actual URL of your server
-viewer.serviceUrl = 'https://localhost:44396/pdfviewer';
-viewer.appendTo('#pdfViewer');
-viewer.load('PDF_Succinctly.pdf', null);
-
-```
-
-N> The **Google.Cloud.Storage.V1** NuGet package must be installed in your application to use the previous code example.
-
-[View sample in GitHub](https://github.com/SyncfusionExamples/open-save-pdf-documents-in-google-cloud-storage)
\ No newline at end of file
diff --git a/ej2-javascript/pdfviewer/ts/open-pdf-file/from-google-drive.md b/ej2-javascript/pdfviewer/ts/open-pdf-file/from-google-drive.md
deleted file mode 100644
index b7f9c9696..000000000
--- a/ej2-javascript/pdfviewer/ts/open-pdf-file/from-google-drive.md
+++ /dev/null
@@ -1,172 +0,0 @@
----
-layout: post
-title: Open PDF files from Google Drive in ##Platform_Name## Pdfviewer control | Syncfusion
-description: Learn here all about Open PDF files from Google Drive in Syncfusion ##Platform_Name## Pdfviewer control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: Open PDF files from Google Drive
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Open PDF file from Google Drive
-
-To load a PDF file from Google Drive in a PDF Viewer, 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).
-
-**Step 2:** Create a Simple PDF Viewer Sample in Typescript
-
-Start by following the steps provided in this [link](https://ej2.syncfusion.com/documentation/pdfviewer/getting-started) to create a simple PDF viewer sample in Typescript. This will give you a basic setup of the PDF viewer component.
-
-**Step 3:** Modify the `PdfViewerController.cs` File in the Web Service Project
-
-1. Create a web service project in .NET Core 3.0 or above. You can refer to this [link](https://www.syncfusion.com/kb/11063/how-to-create-pdf-viewer-web-service-in-net-core-3-0-and-above) for instructions on how to create a web service project.
-
-2. Open the `PdfViewerController.cs` file in your web service project.
-
-3. Import the required namespaces at the top of the file:
-
-```csharp
-using System.IO;
-using Google.Apis.Drive.v3;
-using Google.Apis.Util.Store;
-```
-
-4. Add the following private fields and constructor parameters to the `PdfViewerController` 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 PdfViewerController(IWebHostEnvironment hostingEnvironment, IMemoryCache cache, IConfiguration configuration)
-{
- _hostingEnvironment = hostingEnvironment;
- _cache = cache;
- _configuration = configuration;
- folderId = _configuration.GetValue("FolderId");
- credentialPath = _configuration.GetValue("CredentialPath");
- applicationName = _configuration.GetValue("ApplicationName");
-}
-```
-
-5. Modify the [Load()](https://helpej2.syncfusion.com/documentation/api/pdfviewer/#load) method to load the PDF files from Google Drive.
-
-```csharp
-[HttpPost("Load")]
-[Microsoft.AspNetCore.Cors.EnableCors("MyPolicy")]
-[Route("[controller]/Load")]
-//Post action for Loading the PDF documents
-public async Task Load([FromBody] Dictionary jsonObject)
-{
- //Initialize the PDF viewer object with memory cache object
- PdfRenderer pdfviewer = new PdfRenderer(_cache);
- MemoryStream stream = new MemoryStream();
- object jsonResult = new object();
-
- if (jsonObject != null && jsonObject.ContainsKey("document"))
- {
- if (bool.Parse(jsonObject["isFileName"]))
- {
- string objectName = jsonObject["document"];
-
- 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 PDF files in Google Drive
- listRequest.Q = "mimeType='application/pdf' 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;
- }
- else
- {
- byte[] bytes = Convert.FromBase64String(jsonObject["document"]);
- stream = new MemoryStream(bytes);
- }
- }
- jsonResult = pdfviewer.Load(stream, jsonObject);
- return Content(JsonConvert.SerializeObject(jsonResult));
-}
-```
-
-6. 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:** Set the PDF Viewer Properties in Typescript PDF viewer component
-
-Modify the [serviceUrl](https://helpej2.syncfusion.com/documentation/api/pdfviewer/#serviceurl) property of the PDF viewer component with the accurate URL of your web service project, replacing `https://localhost:44396/pdfviewer` with the actual URL of your server. Set the `documentPath` property of the PDF viewer component to the desired name of the PDF file you wish to load from Google Drive. Ensure that you correctly pass the document name from the files available in your drive folder to the documentPath property.
-
-```typescript
-
-import { PdfViewer, Toolbar, Magnification, Navigation, LinkAnnotation,ThumbnailView,
- BookmarkView, TextSelection, Annotation, FormFields, FormDesigner} from '@syncfusion/ej2-pdfviewer';
-
-PdfViewer.Inject( Toolbar,Magnification,Navigation, LinkAnnotation,ThumbnailView,
- BookmarkView, TextSelection, Annotation, FormFields, FormDesigner);
-
-let viewer: PdfViewer = new PdfViewer();
-// Replace the "localhost:44396" with the actual URL of your server
-viewer.serviceUrl = 'https://localhost:44396/pdfviewer';
-viewer.appendTo('#pdfViewer');
-viewer.load('PDF_Succinctly.pdf', null);
-
-```
-
-N> The **Google.Apis.Drive.v3** NuGet package must be installed in your application to use the previous code example.
-
-[View sample in GitHub](https://github.com/SyncfusionExamples/open-save-pdf-documents-in-google-drive)
\ No newline at end of file
diff --git a/ej2-javascript/pdfviewer/ts/open-pdf-file/from-one-drive.md b/ej2-javascript/pdfviewer/ts/open-pdf-file/from-one-drive.md
deleted file mode 100644
index 5d7cdf78f..000000000
--- a/ej2-javascript/pdfviewer/ts/open-pdf-file/from-one-drive.md
+++ /dev/null
@@ -1,173 +0,0 @@
----
-layout: post
-title: Open PDF files from One Drive in ##Platform_Name## Pdfviewer control | Syncfusion
-description: Learn here all about Open PDF files from One Drive in Syncfusion ##Platform_Name## Pdfviewer control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: Open PDF files from One Drive
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Open PDF file from One Drive
-
-To load a PDF file from One Drive in a PDF Viewer, 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.
-
-**Step 2:** Create a Simple PDF Viewer Sample in Typescript
-
-Start by following the steps provided in this [link](https://ej2.syncfusion.com/documentation/pdfviewer/getting-started) to create a simple PDF viewer sample in Typescript. This will give you a basic setup of the PDF viewer component.
-
-**Step 3:** Modify the `PdfViewerController.cs` File in the Web Service Project
-
-1. Create a web service project in .NET Core 3.0 or above. You can refer to this [link](https://www.syncfusion.com/kb/11063/how-to-create-pdf-viewer-web-service-in-net-core-3-0-and-above) for instructions on how to create a web service project.
-
-2. Open the `PdfViewerController.cs` file in your web service project.
-
-3. Import the required namespaces at the top of the file:
-
-```csharp
-using System.IO;
-using Microsoft.Graph;
-using Microsoft.Identity.Client;
-using Helpers;
-```
-
-4. Add the following private fields and constructor parameters to the `PdfViewerController` 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 PdfViewerController(IWebHostEnvironment hostingEnvironment, IMemoryCache cache, IConfiguration configuration)
-{
- _hostingEnvironment = hostingEnvironment;
- _cache = cache;
- _configuration = configuration;
- folderName = _configuration.GetValue("FolderName");
- tenantId = _configuration.GetValue("TenantId");
- applicationId = _configuration.GetValue("ApplicationId");
-}
-```
-
-5. Modify the [Load()](https://helpej2.syncfusion.com/documentation/api/pdfviewer/#load) method to load the PDF files from One Drive.
-
-```csharp
-[HttpPost("Load")]
-[Microsoft.AspNetCore.Cors.EnableCors("MyPolicy")]
-[Route("[controller]/Load")]
-//Post action for Loading the PDF documents
-public async Task Load([FromBody] Dictionary jsonObject)
-{
- // Initialize the PDF viewer object with memory cache object
- PdfRenderer pdfviewer = new PdfRenderer(_cache);
- MemoryStream stream = new MemoryStream();
- object jsonResult = new object();
- if (jsonObject != null && jsonObject.ContainsKey("document"))
- {
- if (bool.Parse(jsonObject["isFileName"]))
- {
- string objectName = jsonObject["document"];
- 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);
- }
- }
- }
- else
- {
- byte[] bytes = Convert.FromBase64String(jsonObject["document"]);
- stream = new MemoryStream(bytes);
- }
- }
- jsonResult = pdfviewer.Load(stream, jsonObject);
- return Content(JsonConvert.SerializeObject(jsonResult));
-}
-```
-
-6. 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:** Set the PDF Viewer Properties in Typescript PDF viewer component
-
-Modify the [serviceUrl](https://helpej2.syncfusion.com/documentation/api/pdfviewer/#serviceurl) property of the PDF viewer component with the accurate URL of your web service project, replacing `https://localhost:44396/pdfviewer` with the actual URL of your server. Set the `documentPath` property of the PDF viewer component to the desired name of the PDF file you wish to load from One Drive. Ensure that you correctly pass the document name from the files available in your drive folder to the documentPath property.
-
-```typescript
-
-import { PdfViewer, Toolbar, Magnification, Navigation, LinkAnnotation,ThumbnailView,
- BookmarkView, TextSelection, Annotation, FormFields, FormDesigner} from '@syncfusion/ej2-pdfviewer';
-
-PdfViewer.Inject( Toolbar,Magnification,Navigation, LinkAnnotation,ThumbnailView,
- BookmarkView, TextSelection, Annotation, FormFields, FormDesigner);
-
-let viewer: PdfViewer = new PdfViewer();
-// Replace the "localhost:44396" with the actual URL of your server
-viewer.serviceUrl = 'https://localhost:44396/pdfviewer';
-viewer.appendTo('#pdfViewer');
-viewer.load('PDF_Succinctly.pdf', null);
-
-```
-
-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.
-
-[View sample in GitHub](https://github.com/SyncfusionExamples/open-save-pdf-documents-in-one-drive)
\ No newline at end of file
diff --git a/ej2-javascript/pdfviewer/ts/open-pdf-files.md b/ej2-javascript/pdfviewer/ts/open-pdf-files.md
deleted file mode 100644
index 1f4bb481a..000000000
--- a/ej2-javascript/pdfviewer/ts/open-pdf-files.md
+++ /dev/null
@@ -1,232 +0,0 @@
----
-layout: post
-title: Open PDF files ##Platform_Name## Pdfviewer control | Syncfusion
-description: This page helps you to learn about how to load PDF files from various locations in Syncfusion ##Platform_Name## Pdfviewer control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: Open PDF files
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Open PDF files
-
-You might need to open and view the PDF files from various location. In this section, you can find the information about how to open PDF files from URL, database and as base64 string.
-
-## Opening a PDF from URL
-
-If you have your PDF files in the web, you can open it in the viewer using URL.
-
-**Step 1:** Create a Simple PDF Viewer Sample in Typescript
-
-Start by following the steps provided in this [link](https://ej2.syncfusion.com/documentation/pdfviewer/getting-started) to create a simple PDF viewer sample in Typescript. This will give you a basic setup of the PDF viewer component.
-
-**Step 2:** Modify the `PdfViewerController.cs` File in the Web Service Project
-
-1. Create a web service project in .NET Core 3.0 or above. You can refer to this [link](https://www.syncfusion.com/kb/11063/how-to-create-pdf-viewer-web-service-in-net-core-3-0-and-above) for instructions on how to create a web service project.
-
-2. Open the `PdfViewerController.cs` file in your web service project.
-
-3. Modify the [Load()](https://helpej2.syncfusion.com/documentation/api/pdfviewer/#load) method to open it in the viewer using URL
-
-```csharp
-
-public IActionResult Load([FromBody] Dictionary jsonData)
-{
- // Initialize the PDF viewer object with memory cache object
- PdfRenderer pdfviewer = new PdfRenderer(_cache);
- MemoryStream stream = new MemoryStream();
- object jsonResult = new object();
-
- if (jsonObject != null && jsonObject.ContainsKey("document"))
- {
- if (bool.Parse(jsonObject["isFileName"]))
- {
- string documentPath = GetDocumentPath(jsonData["document"]);
- if (!string.IsNullOrEmpty(documentPath))
- {
- byte[] bytes = System.IO.File.ReadAllBytes(documentPath);
- stream = new MemoryStream(bytes);
- }
- else
- {
- string fileName = jsonData["document"].Split(new string[] { "://" }, StringSplitOptions.None)[0];
- if (fileName == "http" || fileName == "https")
- {
- WebClient WebClient = new WebClient();
- byte[] pdfDoc = WebClient.DownloadData(jsonData["document"]);
- stream = new MemoryStream(pdfDoc);
- }
- else
- {
- return this.Content(jsonData["document"] + " is not found");
- }
- }
- }
- else
- {
- byte[] bytes = Convert.FromBase64String(jsonObject["document"]);
- stream = new MemoryStream(bytes);
- }
- }
- jsonResult = pdfviewer.Load(stream, jsonObject);
- return Content(JsonConvert.SerializeObject(jsonResult));
-}
-
-```
-
-**Step 3:** Set the PDF Viewer Properties in React PDF viewer component
-
-Modify the [serviceUrl](https://helpej2.syncfusion.com/documentation/api/pdfviewer/#serviceurl) property of the PDF viewer component with the accurate URL of your web service project, replacing `https://localhost:44396/pdfviewer` with the actual URL of your server.Modify the documentPath with the correct PDF Document URL want to load.
-
-```typescript
-
-import { PdfViewer, Toolbar, Magnification, Navigation, LinkAnnotation,ThumbnailView,
- BookmarkView, TextSelection, Annotation, FormFields, FormDesigner} from '@syncfusion/ej2-pdfviewer';
-
-PdfViewer.Inject( Toolbar,Magnification,Navigation, LinkAnnotation,ThumbnailView,
- BookmarkView, TextSelection, Annotation, FormFields, FormDesigner);
-
-let viewer: PdfViewer = new PdfViewer();
-// Replace correct PDF Document URL want to load
-viewer.documentPath="https://cdn.syncfusion.com/content/PDFViewer/flutter-succinctly.pdf"
-// Replace the "localhost:44396" with the actual URL of your server
-viewer.serviceUrl = 'https://localhost:44396/pdfviewer';
-viewer.appendTo('#pdfViewer');
-
-```
-
-[View sample in GitHub](https://github.com/SyncfusionExamples/typescript-pdf-viewer-examples/tree/master/Save%20and%20Load/Load%20PDF%20file%20from%20URL)
-
-## Opening a PDF from base64 data
-
-The following code steps how the PDF file can be loaded in PDF Viewer as base64 string.
-
-**Step 1:** Create a Simple PDF Viewer Sample in Angular
-
-Start by following the steps provided in this [link](https://ej2.syncfusion.com/angular/documentation/pdfviewer/getting-started) to create a simple PDF viewer sample in Angular. This will give you a basic setup of the PDF viewer component.
-
-**Step 2:** Use the following code snippet to load PDF document using base64 string.
-
-```
-
-```
-
-```ts
-// Load PDF document from Base64 string
-document.getElementById('load').addEventListener('click', () => {
- viewer.load(
- 'data:application/pdf;base64,'+ AddBase64String, null);
-}
-```
-
-[View sample in GitHub](https://github.com/SyncfusionExamples/typescript-pdf-viewer-examples/tree/master/Save%20and%20Load/Load%20PDF%20file%20from%20base64%20string)
-
-## Opening a PDF from database
-
-To load a PDF file from SQL Server database in a PDF Viewer, you can follow the steps below
-
-**Step 1:** Create a Simple PDF Viewer Sample in Typescript
-
-Start by following the steps provided in this [link](https://ej2.syncfusion.com/documentation/pdfviewer/getting-started) to create a simple PDF viewer sample in Typescript. This will give you a basic setup of the PDF viewer component.
-
-**Step 2:** Modify the `PdfViewerController.cs` File in the Web Service Project
-
-1. Create a web service project in .NET Core 3.0 or above. You can refer to this [link](https://www.syncfusion.com/kb/11063/how-to-create-pdf-viewer-web-service-in-net-core-3-0-and-above) for instructions on how to create a web service project.
-
-2. Open the `PdfViewerController.cs` file in your web service project.
-
-3. Import the required namespaces at the top of the file:
-
-```csharp
-using System.IO;
-using System.Data.SqlClient;
-```
-
-4. Add the following private fields and constructor parameters to the `PdfViewerController` class, In the constructor, assign the values from the configuration to the corresponding fields
-
-```csharp
-private IConfiguration _configuration;
-public readonly string _connectionString;
-
-public PdfViewerController(IWebHostEnvironment hostingEnvironment, IMemoryCache cache, IConfiguration configuration)
-{
- _hostingEnvironment = hostingEnvironment;
- _cache = cache;
- _configuration = configuration;
- _connectionString = _configuration.GetValue("ConnectionString");
-}
-```
-
-5. Modify the [Load()](https://helpej2.syncfusion.com/documentation/api/pdfviewer/#load) method to open it in the viewer using URL
-
-```csharp
-
-public IActionResult Load([FromBody] Dictionary jsonData)
-{
- // Initialize the PDF viewer object with memory cache object
- PdfRenderer pdfviewer = new PdfRenderer(_cache);
- MemoryStream stream = new MemoryStream();
- object jsonResult = new object();
-
- if (jsonObject != null && jsonObject.ContainsKey("document"))
- {
- if (bool.Parse(jsonObject["isFileName"]))
- {
- string documentPath = GetDocumentPath(jsonData["document"]);
- if (!string.IsNullOrEmpty(documentPath))
- {
- byte[] bytes = System.IO.File.ReadAllBytes(documentPath);
- stream = new MemoryStream(bytes);
- }
- string documentName = jsonObject["document"];
-
- string connectionString = _connectionString;
- System.Data.SqlClient.SqlConnection connection = new System.Data.SqlClient.SqlConnection(connectionString);
-
- //Searches for the PDF document from the database
- string query = "SELECT FileData FROM Table WHERE FileName = '" + documentName + "'";
- System.Data.SqlClient.SqlCommand command = new System.Data.SqlClient.SqlCommand(query, connection);
- connection.Open();
-
- using (SqlDataReader reader = command.ExecuteReader())
- {
- if (reader.Read())
- {
- byte[] byteArray = (byte[])reader["FileData"];
- stream = new MemoryStream(byteArray);
- }
- }
- }
- else
- {
- byte[] bytes = Convert.FromBase64String(jsonObject["document"]);
- stream = new MemoryStream(bytes);
- }
- }
- jsonResult = pdfviewer.Load(stream, jsonObject);
- return Content(JsonConvert.SerializeObject(jsonResult));
-}
-
-```
-
-6. 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 for SQL server"
-}
-```
-
-N> Replace **Your Connection string from SQL server** with the actual connection string for your SQL Server database
-
-N> The **System.Data.SqlClient** package must be installed in your application to use the previous code example. You need to modify the connectionString variable in the previous code example as per the connection string of your database.
-
-[View sample in GitHub](https://github.com/SyncfusionExamples/open-save-pdf-documents-in-database)
\ No newline at end of file
diff --git a/ej2-javascript/pdfviewer/ts/organize-pdf.md b/ej2-javascript/pdfviewer/ts/organize-pdf.md
deleted file mode 100644
index 4cfc4f0fa..000000000
--- a/ej2-javascript/pdfviewer/ts/organize-pdf.md
+++ /dev/null
@@ -1,228 +0,0 @@
----
-layout: post
-title: Organize Pages in ##Platform_Name## PDF Viewer control | Syncfusion
-description: Learn here all about Organize Pages in Syncfusion ##Platform_Name## PDF Viewer control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: PDF Viewer
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Organize Pages in ##Platform_Name## PDF Viewer control
-
-The PDF Viewer allows you to manage your PDF documents efficiently by organizing pages seamlessly. Whether you need to add new pages, remove unnecessary ones, rotate pages, move pages within the document, and copy or duplicate pages, the PDF Viewer facilitates these tasks effortlessly.
-
-## Getting started
-
-To access the organize pages feature, simply open the PDF document in the PDF Viewer and navigate to the left vertical toolbar. Look for the `Organize Pages` option to begin utilizing these capabilities.
-
-
-
-The page organization support enables you to perform various actions such as rotating, rearranging, inserting, copying, and deleting pages within a PDF document using organize pages dialog.
-
-### Rotating PDF pages
-
-You can adjust the orientation of PDF pages to ensure proper alignment. The rotate icon offers the following options:
-
-* `Rotate clockwise`: Rotate the selected pages 90 degrees clockwise.
-* `Rotate counter-clockwise`: Rotate the selected pages 90 degrees counter-clockwise.
-
-### Rearranging PDF pages
-
-You can easily change the sequence of pages within your document using the drag and drop method:
-
-* `Drag and drop`: Click and drag a page thumbnail to the desired position within the document, then release it to rearrange the page order.
-
-
-
-### Inserting new pages
-
-Effortlessly add new pages to your document with the following options:
-
-* `Insert blank page left`: Insert a blank page to the left of the selected page using the respective icon.
-* `Insert blank page right`: Insert a blank page to the right of the selected page using the corresponding icon.
-
-### Deleting PDF pages
-
-Removing unwanted pages from your document is straight forward:
-
-* `Select pages to delete`: Click on the page thumbnails you wish to remove. You can select multiple pages at once.
-* `Delete selected pages`: Use the delete option in the organize pages pane to remove the selected pages from the document.
-
-### Copying PDF pages
-
-Duplicate the pages within your PDF document effortlessly:
-
-* `Select pages to copy`: Click on the page thumbnails you wish to duplicate. Use the copy option to create duplicates. When a page is copied, the duplicate is automatically added to the right of the selected page. Multiple copies can be made using the toolbar action.
-
-
-
-### Importing a PDF Document
-
-Seamlessly import a PDF document into your existing document:
-
-* `Import PDF document`: Click the **Import Document** button to import a PDF. If a page is selected, the imported document’s thumbnail will be inserted to the right of the selected page. If multiple or no pages are selected, the thumbnail will be added as the first page. When **Save** or **Save As** is clicked, the imported PDF will be merged with the current document. You can insert a blank page to the left or right of the imported thumbnail, delete it, or drag and drop it to reposition as needed.
-
-
-
-### Selecting all pages
-
-Make comprehensive adjustments by selecting all pages simultaneously. This facilitates efficient editing and formatting across the entire document.
-
-
-
-### Zooming Page Thumbnails
-
-Adjust the size of page thumbnails within the organizer panel for better visibility and precision when editing. The zoom functionality allows you to:
-
-* Increase or decrease the size of page thumbnails using the zoom slider
-* See more details on pages when zoomed in
-* View more pages simultaneously when zoomed out
-
-This feature is especially useful when working with documents containing complex layouts or small details that need careful examination during organization.
-
-
-
-### Real-time updates
-
-Witness instant changes in page organization reflected within the PDF Viewer. Simply click the **Save** button to preserve your modifications.
-
-### SaveAs functionality
-
-Safeguard your edits by utilizing the **Save As** feature. This enables you to download the modified version of the PDF document for future reference, ensuring that your changes are securely stored.
-
-## API's supported
-
-**enablePageOrganizer:** This API enables or disables the page organizer feature in the PDF Viewer. By default, it is set to `true`, indicating that the page organizer is enabled.
-
-{% tabs %}
-{% highlight ts tabtitle="Standalone" %}
-
-import { PdfViewer, Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, TextSearch, FormFields, FormDesigner, PageOrganizer} from '@syncfusion/ej2-pdfviewer';
-
-PdfViewer.Inject(Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, TextSearch, FormFields, FormDesigner, PageOrganizer);
-
-let pdfviewer: PdfViewer = new PdfViewer();
-pdfviewer.documentPath = "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf";
-pdfviewer.resourceUrl = "https://cdn.syncfusion.com/ej2/25.1.35/dist/ej2-pdfviewer-lib";
-pdfviewer.enablePageOrganizer = true;
-pdfviewer.appendTo('#PdfViewer');
-
-{% endhighlight %}
-{% highlight ts tabtitle="Server-Backed" %}
-
-import { PdfViewer, Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, TextSearch, FormFields, FormDesigner, PageOrganizer} from '@syncfusion/ej2-pdfviewer';
-
-PdfViewer.Inject(Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, TextSearch, FormFields, FormDesigner, PageOrganizer);
-
-let pdfviewer: PdfViewer = new PdfViewer();
-pdfviewer.serviceUrl = 'https://services.syncfusion.com/js/production/api/pdfviewer';
-pdfviewer.documentPath = "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf";
-pdfviewer.enablePageOrganizer = true;
-pdfviewer.appendTo('#PdfViewer');
-
-{% endhighlight %}
-{% endtabs %}
-
-**isPageOrganizerOpen:** This API determines whether the page organizer dialog will be displayed automatically when a document is loaded into the PDF Viewer. By default, it is set to `false`, meaning the dialog is not displayed initially.
-
-{% tabs %}
-{% highlight ts tabtitle="Standalone" %}
-
-import { PdfViewer, Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, TextSearch, FormFields, FormDesigner, PageOrganizer} from '@syncfusion/ej2-pdfviewer';
-
-PdfViewer.Inject(Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, TextSearch, FormFields, FormDesigner, PageOrganizer);
-
-let pdfviewer: PdfViewer = new PdfViewer();
-pdfviewer.documentPath = "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf";
-pdfviewer.resourceUrl = "https://cdn.syncfusion.com/ej2/25.1.35/dist/ej2-pdfviewer-lib";
-pdfviewer.isPageOrganizerOpen = true;
-pdfviewer.appendTo('#PdfViewer');
-
-{% endhighlight %}
-{% highlight ts tabtitle="Server-Backed" %}
-
-import { PdfViewer, Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, TextSearch, FormFields, FormDesigner, PageOrganizer} from '@syncfusion/ej2-pdfviewer';
-
-PdfViewer.Inject(Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, TextSearch, FormFields, FormDesigner, PageOrganizer);
-
-let pdfviewer: PdfViewer = new PdfViewer();
-pdfviewer.serviceUrl = 'https://services.syncfusion.com/js/production/api/pdfviewer';
-pdfviewer.documentPath = "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf";
-pdfviewer.isPageOrganizerOpen = true;
-pdfviewer.appendTo('#PdfViewer');
-
-{% endhighlight %}
-{% endtabs %}
-
-**pageOrganizerSettings:** This API allows control over various page management functionalities within the PDF Viewer. It includes options to enable or disable actions such as deleting, inserting, rotating, copying, importing and rearranging pages, as well as configuring thumbnail zoom settings. By default, all these actions are enabled and standard zoom settings are applied.
-
-{% tabs %}
-{% highlight ts tabtitle="Standalone" %}
-
-import { PdfViewer, Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, TextSearch, FormFields, FormDesigner, PageOrganizer} from '@syncfusion/ej2-pdfviewer';
-
-PdfViewer.Inject(Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, TextSearch, FormFields, FormDesigner, PageOrganizer);
-
-let pdfviewer: PdfViewer = new PdfViewer();
-pdfviewer.documentPath = "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf";
-pdfviewer.resourceUrl = "https://cdn.syncfusion.com/ej2/25.1.35/dist/ej2-pdfviewer-lib";
-pdfviewer.pageOrganizerSettings = {canDelete: true, canInsert: true, canRotate: true, canCopy: true, canRearrange: true, canImport: true, imageZoom: 1, showImageZoomingSlider: true, imageZoomMin: 1, imageZoomMax: 5}
-pdfviewer.appendTo('#PdfViewer');
-
-{% endhighlight %}
-{% highlight ts tabtitle="Server-Backed" %}
-
-import { PdfViewer, Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, TextSearch, FormFields, FormDesigner, PageOrganizer} from '@syncfusion/ej2-pdfviewer';
-
-PdfViewer.Inject(Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, TextSearch, FormFields, FormDesigner, PageOrganizer);
-
-let pdfviewer: PdfViewer = new PdfViewer();
-pdfviewer.serviceUrl = 'https://services.syncfusion.com/js/production/api/pdfviewer';
-pdfviewer.documentPath = "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf";
-pdfviewer.pageOrganizerSettings = {canDelete: true, canInsert: true, canRotate: true, canCopy: true, canRearrange: true, canImport: true, imageZoom: 1, showImageZoomingSlider: true, imageZoomMin: 1, imageZoomMax: 5};
-pdfviewer.appendTo('#PdfViewer');
-
-{% endhighlight %}
-{% endtabs %}
-
-**openPageOrganizer:** This API opens the page organizer dialog within the PDF Viewer, providing access to manage PDF pages.
-
-```html
-
-```
-
-```ts
-document.getElementById('openPageOrganizer').addEventListener('click', function () {
- viewer.pageOrganizer.openPageOrganizer();
-}
-```
-
-**closePageOrganizer:** This API closes the currently open page organizer dialog within the PDF Viewer, if it is present. It allows users to dismiss the dialog when done with page organization tasks.
-
-```html
-
-```
-
-```ts
-document.getElementById('closePageOrganizer').addEventListener('click', function () {
- viewer.pageOrganizer.openPageOrganizer();
-}
-```
-
-## Keyboard shortcuts
-
-The following keyboard shortcuts are available at the organize pages dialog.
-
-* **Ctrl+Z** : Undo the last action performed.
-* **Ctrl+Y** : Redo the action that was undone
-* **Ctrl+Scroll** : Zoom in and zoom out page thumbnails for better visibility.
-
-
-
-#### Conclusion
-
-With the Organize Pages feature in the PDF Viewer, managing your PDF documents has never been easier. Whether you are adding new content, adjusting page orientation, moving the pages, duplicating the pages, or removing unnecessary pages, this feature provides the tools you need to streamline your document management workflow. Explore these capabilities today and take control of your PDF documents with ease!
-
-[View sample in GitHub](https://github.com/SyncfusionExamples/typescript-pdf-viewer-examples/tree/master/How%20to/Organize%20pdf)
\ No newline at end of file
diff --git a/ej2-javascript/pdfviewer/ts/print.md b/ej2-javascript/pdfviewer/ts/print.md
deleted file mode 100644
index 2b4274ec3..000000000
--- a/ej2-javascript/pdfviewer/ts/print.md
+++ /dev/null
@@ -1,144 +0,0 @@
----
-layout: post
-title: Print in ##Platform_Name## Pdfviewer control | Syncfusion
-description: Learn here all about Print in Syncfusion ##Platform_Name## Pdfviewer control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: Print
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-# Print in ##Platform_Name## Pdfviewer control
-
-The PDF Viewer supports printing the loaded PDF file. You can enable/disable the print using the following code snippet.
-
-```html
-
-
-
-
- Essential JS 2
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-```
-
-{% tabs %}
-{% highlight ts tabtitle="Standalone" %}
-
-import { PdfViewer, Toolbar, Magnification, Navigation, Annotation, LinkAnnotation,ThumbnailView,BookmarkView, TextSelection} from '@syncfusion/ej2-pdfviewer';
-
-PdfViewer.Inject(Toolbar,Magnification,Navigation, Annotation, LinkAnnotation,ThumbnailView,BookmarkView, TextSelection);
-
-let pdfviewer: PdfViewer = new PdfViewer({enablePrint: true, documentPath:'https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf'});
-pdfviewer.appendTo('#PdfViewer');
-
-{% endhighlight %}
-{% highlight ts tabtitle="Server-Backed" %}
-
-import { PdfViewer, Toolbar, Magnification, Navigation, Annotation, LinkAnnotation,ThumbnailView,BookmarkView, TextSelection} from '@syncfusion/ej2-pdfviewer';
-
-PdfViewer.Inject(Toolbar,Magnification,Navigation, Annotation, LinkAnnotation,ThumbnailView,BookmarkView, TextSelection);
-
-let pdfviewer: PdfViewer = new PdfViewer({enablePrint: true, documentPath:'https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf'});
-pdfviewer.serviceUrl = 'https://services.syncfusion.com/js/production/api/pdfviewer';
-pdfviewer.appendTo('#PdfViewer');
-
-{% endhighlight %}
-{% endtabs %}
-
-
-
-You can invoke print action using the following code snippet.,
-
-{% tabs %}
-{% highlight ts tabtitle="Standalone" %}
-
-import { PdfViewer, Toolbar, Magnification, Navigation, Annotation, LinkAnnotation,ThumbnailView,BookmarkView, TextSelection} from '@syncfusion/ej2-pdfviewer';
-
-PdfViewer.Inject(Toolbar,Magnification,Navigation, Annotation, LinkAnnotation,ThumbnailView,BookmarkView, TextSelection);
-
-let pdfviewer: PdfViewer = new PdfViewer();
-pdfviewer.appendTo('#PdfViewer');
-pdfviewer.load('https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf', null);
-pdfviewer.print.print();
-
-
-{% endhighlight %}
-{% highlight ts tabtitle="Server-Backed" %}
-
-import { PdfViewer, Toolbar, Magnification, Navigation, Annotation, LinkAnnotation,ThumbnailView,BookmarkView, TextSelection} from '@syncfusion/ej2-pdfviewer';
-
-PdfViewer.Inject(Toolbar,Magnification,Navigation, Annotation, LinkAnnotation,ThumbnailView,BookmarkView, TextSelection);
-
-let pdfviewer: PdfViewer = new PdfViewer();
-pdfviewer.serviceUrl = 'https://services.syncfusion.com/js/production/api/pdfviewer';
-pdfviewer.appendTo('#PdfViewer');
-pdfviewer.load('https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf', null);
-pdfviewer.print.print();
-
-{% endhighlight %}
-{% endtabs %}
-
-## Customizing Print Quality using printScaleFactor API
-
-The PDF Viewer allows you to adjust the print quality using the [printScaleFactor](https://helpej2.syncfusion.com/typescript/documentation/api/pdfviewer/#printScaleFactor) API. The quality of the print improves as the print quality value increases from 0.5 to 5.
-
-When the value is less than 0.5, the PDF is printed at a standard quality. When the value exceeds 5, the PDF is still printed at the standard quality. In standard quality, printScaleFactor value is set to 1 as default value.
-The effective range for print quality is between 0.5 and 5. Higher values within this range will result in better print quality, but also increase the print time.
-
-By default, the printScaleFactor is set to 1.
-
-* **The following code snippet demonstrates how to customize print quality using the printScaleFactor API in the PDF Viewer.**
-{% tabs %}
-{% highlight ts tabtitle="Standalone" %}
-
-import { PdfViewer, Toolbar, Magnification, Navigation, Annotation, LinkAnnotation,ThumbnailView,BookmarkView, TextSelection} from '@syncfusion/ej2-pdfviewer';
-
-PdfViewer.Inject(Toolbar,Magnification,Navigation, Annotation, LinkAnnotation,ThumbnailView,BookmarkView, TextSelection);
-
-let pdfviewer: PdfViewer = new PdfViewer({enablePrint: true, documentPath:'https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf'});
-//pdf with low quality. By changing values you can change the quality of the pdf.
-pdfviewer.printScaleFactor = 0.5;
-pdfviewer.appendTo('#PdfViewer');
-
-{% endhighlight %}
-{% highlight ts tabtitle="Server-Backed" %}
-
-import { PdfViewer, Toolbar, Magnification, Navigation, Annotation, LinkAnnotation,ThumbnailView,BookmarkView, TextSelection} from '@syncfusion/ej2-pdfviewer';
-
-PdfViewer.Inject(Toolbar,Magnification,Navigation, Annotation, LinkAnnotation,ThumbnailView,BookmarkView, TextSelection);
-
-let pdfviewer: PdfViewer = new PdfViewer({enablePrint: true, documentPath:'https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf'});
-pdfviewer.serviceUrl = 'https://services.syncfusion.com/js/production/api/pdfviewer';
-//pdf with low quality. By changing values you can change the quality of the pdf.
-pdfviewer.printScaleFactor = 0.5;
-pdfviewer.appendTo('#PdfViewer');
-
-{% endhighlight %}
-{% endtabs %}
-
-[View sample in GitHub](https://github.com/SyncfusionExamples/typescript-pdf-viewer-examples/tree/master/How%20to/Customization%20%20of%20Print%20Quality)
-
-## See also
-
-* [Toolbar items](./toolbar)
-* [Feature Modules](./feature-module)
\ No newline at end of file
diff --git a/ej2-javascript/pdfviewer/ts/save-pdf-file/to-amazon-s3.md b/ej2-javascript/pdfviewer/ts/save-pdf-file/to-amazon-s3.md
deleted file mode 100644
index bbfe21bb4..000000000
--- a/ej2-javascript/pdfviewer/ts/save-pdf-file/to-amazon-s3.md
+++ /dev/null
@@ -1,218 +0,0 @@
----
-layout: post
-title: Save PDF files to AWS S3 ##Platform_Name## Pdfviewer control | Syncfusion
-description: Learn here all about how to Save PDF files to AWS S3 in Syncfusion ##Platform_Name## Pdfviewer control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: Save PDF files to AWS S3
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Save PDF file to AWS S3
-
-PDF Viewer allows to save PDF file to AWS S3 using either the Standalone or Server-backed PDF Viewer. Below are the steps and a sample to demonstrate how to save PDF to AWS S3.
-
-## Using Standalone PDF Viewer
-
-To save a PDF file to AWS S3, you can follow the steps below:
-
-**Step 1:** Create a PDF Viewer sample in TypeScript
-
-Follow the instructions provided in this [link](https://ej2.syncfusion.com/documentation/pdfviewer/getting-started) to create a simple PDF Viewer sample in typescript. This will set up the basic structure of your PDF Viewer application.
-
-**Step 2:** Modify the `src/app/app.ts` File in the Angular Project
-
-1. Import the required namespaces at the top of the file:
-
-```typescript
-import * as AWS from 'aws-sdk';
-```
-
-2. Configures AWS SDK with the region, access key, and secret access key. This configuration allows the application to interact with AWS services like S3.
-
-N> Replace **Your Region** with the actual Region of your AWS S3 account and **Your Access Key** with the actual Access Key of your AWS S3 account and **Your Security Access Key** with the actual Security Access Key of your AWS S3 account.
-
-```typescript
-AWS.config.update({
- region: '**Your Region**', // Update this your region
- accessKeyId: '*Your Access Key*', // Update this with your access key id
- secretAccessKey: '*Your Security Access Key*', // Update this with your secret access key
-});
-```
-
-3. Configure a custom toolbar item for the download function to save a PDF file in Azure Blob Storage.
-
-```typescript
-let toolItem1: CustomToolbarItemModel = {
- prefixIcon: 'e-icons e-pv-download-document-icon',
- id: 'download_pdf',
- tooltipText: 'Download file',
- align: 'right'
-};
-
-pdfviewer.toolbarSettings = { toolbarItems: [ 'OpenOption', 'PageNavigationTool', 'MagnificationTool', 'PanTool', 'SelectionTool', 'SearchOption', 'PrintOption', toolItem1, 'UndoRedoTool', 'AnnotationEditTool', 'FormDesignerEditTool', 'CommentTool', 'SubmitForm']}
-
-pdfviewer.toolbarClick = function (args) {
- if (args.item && args.item.id === 'download_pdf') {
- saveDocument();
- }
-};
-```
-
-4. Retrieve the PDF viewer instance and save the current PDF as a Blob. Then, read the Blob using a FileReader to convert it into an ArrayBuffer, and upload the ArrayBuffer to AWS S3 using the putObject method of the S3 instance.
-
-N> Replace **Your Bucket Name** with the actual Bucket name of your AWS S3 account and **Your Key** with the actual File Key of your AWS S3 account.
-
-```typescript
-let s3 = new AWS.S3();
-
-function saveDocument() {
- pdfviewer.saveAsBlob().then((value: Blob) => {
- const reader = new FileReader();
- reader.onload = () => {
- const uint8Array = new Uint8Array(reader.result as ArrayBuffer);
- const putObjectParams = {
- Bucket: '**Your Bucket Name**',
- Key: '**Your Key**',
- Body: uint8Array,
- ContentType: 'application/pdf',
- };
- s3.putObject(putObjectParams, (err, data) => {
- if (err) {
- console.error('Error uploading document:', err);
- } else {
- console.log('Document uploaded successfully:', data);
- }
- });
- };
- reader.readAsArrayBuffer(value);
- });
-}
-```
-
-N> The **npm install aws-sdk** package must be installed in your application to use the previous code example.
-
-[View sample in GitHub](https://github.com/SyncfusionExamples/open-save-pdf-documents-in-aws-s3/tree/master/Open%20and%20Save%20PDF%20in%20AWS%20S3%20using%20Standalone).
-
-## Using Server-Backed PDF Viewer
-
-To save a PDF file to AWS S3, you can follow the steps below:
-
-**Step 1:** Create a PDF Viewer sample in TypeScript
-
-Follow the instructions provided in this [link](https://ej2.syncfusion.com/documentation/pdfviewer/getting-started) to create a simple PDF Viewer sample in typescript. This will set up the basic structure of your PDF Viewer application.
-
-**Step 2:** Modify the `PdfViewerController.cs` File in the Web Service Project
-
-1. Create a web service project in .NET Core 3.0 or above. You can refer to this [link](https://www.syncfusion.com/kb/11063/how-to-create-pdf-viewer-web-service-in-net-core-3-0-and-above) for instructions on how to create a web service project.
-
-2. Open the `PdfViewerController.cs` file in your web service project.
-
-3. Import the required namespaces at the top of the file:
-
-```csharp
-using System.IO;
-using Amazon;
-using Amazon.S3;
-using Amazon.S3.Model;
-```
-
-4. Add the following private fields and constructor parameters to the `PdfViewerController` 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 PdfViewerController(IWebHostEnvironment hostingEnvironment, IMemoryCache cache, IConfiguration configuration)
-{
- _hostingEnvironment = hostingEnvironment;
- _cache = cache;
- _configuration = configuration;
- _accessKey = _configuration.GetValue("AccessKey");
- _secretKey = _configuration.GetValue("SecretKey");
- _bucketName = _configuration.GetValue("BucketName");
-}
-```
-
-5. Modify the [Download()](https://helpej2.syncfusion.com/documentation/api/pdfviewer/#download) method to save the downloaded PDF files to AWS S3 bucket
-
-```csharp
-
-[HttpPost("Download")]
-[Microsoft.AspNetCore.Cors.EnableCors("MyPolicy")]
-[Route("[controller]/Download")]
-//Post action for downloading the PDF documents
-
-public IActionResult Download([FromBody] Dictionary jsonObject)
-{
- // Initialize the PDF Viewer object with memory cache object
- PdfRenderer pdfviewer = new PdfRenderer(_cache);
- string documentBase = pdfviewer.GetDocumentAsBase64(jsonObject);
- 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;
- string documentName = jsonObject["documentId"];
- string result = Path.GetFileNameWithoutExtension(documentName);
- byte[] bytes = Convert.FromBase64String(documentBase.Split(",")[1]);
- using (MemoryStream stream = new MemoryStream(bytes))
- {
- var request = new PutObjectRequest
- {
- BucketName = bucketName,
- Key = result + "_downloaded.pdf",
- InputStream = stream,
- };
- // Upload the PDF document to AWS S3
- var response = s3Client.PutObjectAsync(request).Result;
- }
- return Content(documentBase);
-}
-```
-
-6. 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:** Set the PDF Viewer Properties in Typescript PDF viewer component
-
-Modify the [serviceUrl](https://helpej2.syncfusion.com/documentation/api/pdfviewer/#serviceurl) property of the PDF viewer component with the accurate URL of your web service project, replacing `https://localhost:44396/pdfviewer` with the actual URL of your server. Set the `documentPath` property of the PDF viewer component to the desired name of the PDF file you wish to load from AWS S3. Ensure that you correctly pass the document name from the files available in your AWS S3 bucket to the documentPath property.
-
-```typescript
-
-import { PdfViewer, Toolbar, Magnification, Navigation, LinkAnnotation,ThumbnailView,
- BookmarkView, TextSelection, Annotation, FormFields, FormDesigner} from '@syncfusion/ej2-pdfviewer';
-
-PdfViewer.Inject( Toolbar,Magnification,Navigation, LinkAnnotation,ThumbnailView,
- BookmarkView, TextSelection, Annotation, FormFields, FormDesigner);
-
-let viewer: PdfViewer = new PdfViewer();
-// Replace the "localhost:44396" with the actual URL of your server
-viewer.serviceUrl = 'https://localhost:44396/pdfviewer';
-viewer.appendTo('#pdfViewer');
-viewer.load('PDF_Succinctly.pdf', null);
-
-```
-
-N> The **AWSSDK.S3** NuGet package must be installed in your application to use the previous code example.
-
-[View sample in GitHub](https://github.com/SyncfusionExamples/open-save-pdf-documents-in-aws-s3/tree/master/Open%20and%20Save%20PDF%20in%20AWS%20S3%20using%20Server-Backend)
\ No newline at end of file
diff --git a/ej2-javascript/pdfviewer/ts/save-pdf-file/to-azure-active-directory.md b/ej2-javascript/pdfviewer/ts/save-pdf-file/to-azure-active-directory.md
deleted file mode 100644
index 48cbf4113..000000000
--- a/ej2-javascript/pdfviewer/ts/save-pdf-file/to-azure-active-directory.md
+++ /dev/null
@@ -1,259 +0,0 @@
----
-layout: post
-title: Save PDF To AAD ##Platform_Name## Pdfviewer | Syncfusion
-description: Learn how to Save PDF To AAD in Syncfusion ##Platform_Name## Pdfviewer control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: PDF Viewer
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Save PDF To Azure Active Directory in Viewer
-
-### **Overview**
-
-The Syncfusion PDF Viewer allows you to load and save PDF files directly from Azure Active Directory (AAD). Below are the steps to securely load and store PDF documents from and to AAD using the PDF Viewer.
-
-### **Steps to Open the PDF File from Azure Active Directory**
-
----
-
-### **Step 1: Register an Application in Azure Active Directory (AAD)**
-
-1. **Go to the Azure Portal**:
- - Navigate to [Azure Portal](https://portal.azure.com).
-
-2. **Register your Application**:
- - In the Azure portal, go to **Azure Active Directory** > **App registrations** > **New registration**.
- - Register your application and note down the **Application (client) ID** and **Directory (tenant) ID**.
-
- 
-
-3. **Create a Client Secret**:
- - In the registered application, go to **Certificates & secrets**.
- - Click **New client secret**.
- - Provide a description and set an expiration period.
- - Click **Add**.
- - Copy the client secret value immediately, as it will be hidden later. Store it securely.
-
- 
-
----
-
-### **Step 2: Create the Azure Storage Account**
-
-1. **Create a Storage Account**:
- - In the Azure portal, use the search bar to search for **Storage accounts**.
- - Create a new storage account by filling in the required details (e.g., name, location, resource group, etc.).
-
- 
-
----
-
-### **Step 3: Assign Role to the Application**
-
-1. **Go to your Storage Account**:
- - Navigate to **Access control (IAM)** > **Add role assignment** in your Azure Storage Account.
-
-2. **Assign Role**:
- - Assign the **Storage Blob Data Contributor** role to your registered application.
- - In the **Assign access to** dropdown, select **User, group, or service principal**.
- - Click on **Select members** and search for your registered application by name or client ID.
- - Select your application and click **Select**.
- - Click **Review + assign** to finalize the role assignment.
-
- 
----
-
-### **Step 4: Upload the PDF Document to the Azure Storage Account**
-
-1. **Navigate to Data Storage**:
- - In the Azure portal, go to **Data storage** > **Containers**.
-
-2. **Upload the PDF File**:
- - Create a new container and upload the PDF document you want to access in the PDF Viewer.
-
- 
----
-
-### **Step 5: Server-Side Configuration**
-
-1. **Configure Server-Side Code**:
- - Open the server-side application (e.g., ASP.NET Core) and configure the following details in the `PdfViewerController` file:
- - `tenantId` (your Azure AD tenant ID),
- - `clientId` (your registered application client ID),
- - `clientSecret` (your registered application client secret),
- - `blobServiceEndpoint` (your storage account blob service URL),
- - `containerName` (your container name in Azure Blob Storage).
-
-2. **Run the Web Service**:
- - After configuring the necessary details, run the web service to make it accessible.
-
----
-
-### **Step 6: Client-Side Configuration**
-
-1. **Run the TS Sample**:
- - Start the TS sample that includes the Syncfusion PDF Viewer.
-
-2. **Load PDF from AAD**:
- - When the user clicks the **Load from AAD** button, the JS client will make an HTTP request to the server-side API to fetch the PDF from Azure Blob Storage.
- - The server will retrieve the PDF from Azure, convert it to a base64 string, and return it to the client.
-
-3. **Display PDF in the PDF Viewer**:
- - Once the base64 string is received, the PDF Viewer will load the PDF using the `viewer.load()` method.
-
----
-
-### **Step 7: Save the PDF Document to Azure**
-
-1. **Save PDF to AAD**:
- - The user can click the **Save to AAD** button to upload any modifications to the PDF back to Azure Blob Storage.
- - This action sends the modified PDF to the server, where it is converted into a byte array and saved to the specified Azure Blob container.
-
----
-
-### **Server-Side Code Snippets**
-```cs
-string tenantId = "Provide the tenant id here";
-string clientId = "Provide the clientid here";
-string clientSecret = "Provide the client secret here";
-string blobServiceEndpoint = "https://your-storage-account.blob.core.windows.net";
-string containerName = "Provide the container name here";
-
-
-
-[HttpPost("LoadFromAAD")]
-[Route("[controller]/LoadFromAAD")]
-public async Task LoadFromAAD(string fileName)
-{
- var clientSecretCredential = new ClientSecretCredential(tenantId, clientId, clientSecret);
- var blobServiceClient = new BlobServiceClient(new Uri(blobServiceEndpoint), clientSecretCredential);
- var containerClient = blobServiceClient.GetBlobContainerClient(containerName);
- var blobClient = containerClient.GetBlobClient(fileName);
-
- // Download the PDF file to a local stream
- using MemoryStream pdfStream = new MemoryStream();
- await blobClient.DownloadToAsync(pdfStream);
- var base64 = Convert.ToBase64String(pdfStream.ToArray());
- return Content("data:application/pdf;base64," + base64);
-}
-
-[AcceptVerbs("SaveToAAD")]
-[HttpPost("SaveToAAD")]
-[Route("[controller]/SaveToAAD")]
-public async Task SaveToAAD([FromBody] Dictionary jsonObject)
-{
- PdfRenderer pdfviewer = new PdfRenderer(_cache);
- var fileName = jsonObject.ContainsKey("documentId") ? jsonObject["documentId"] : "Test.pdf";
- string documentBase = pdfviewer.GetDocumentAsBase64(jsonObject);
- string convertedBase = documentBase.Substring(documentBase.LastIndexOf(',') + 1);
- // Decode the Base64 string to a byte array
- byte[] byteArray = Convert.FromBase64String(convertedBase);
- // Create a MemoryStream from the byte array
- MemoryStream stream = new MemoryStream(byteArray);
- // Create a new BlobServiceClient using the DefaultAzureCredential
- var clientSecretCredential = new ClientSecretCredential(tenantId, clientId, clientSecret);
- var blobServiceClient = new BlobServiceClient(new Uri(blobServiceEndpoint), clientSecretCredential);
- // Get a reference to the container
- var containerClient = blobServiceClient.GetBlobContainerClient(containerName);
- // Get a reference to the blob
- var blobClient = containerClient.GetBlobClient(fileName);
- //FileStream uploadFileStream = new FileStream();
- await blobClient.UploadAsync(stream, true);
- stream.Close();
- return Content(string.Empty);
-}
-
-```
-
-
-
-### **Client-side Code Snippets**
-
-```ts
-import { PdfViewer, Toolbar, TextSelection, TextSearch, Print, Navigation, Magnification, Annotation, FormDesigner, FormFields, CustomToolbarItemModel } from '@syncfusion/ej2-pdfviewer';
-import { ComboBox } from "@syncfusion/ej2-dropdowns";
-
-// Inject required modules for PDF Viewer functionality
-PdfViewer.Inject(
- TextSelection,
- TextSearch,
- Print,
- Navigation,
- Toolbar,
- Magnification,
- Annotation,
- FormDesigner,
- FormFields
-);
-
-// Define custom toolbar items
-let toolItem1: CustomToolbarItemModel = {
- id: 'loadFromAAD',
- text: 'Load From AAD',
- tooltipText: 'Custom toolbar item',
- align: 'left'
-};
-
-let toolItem2: CustomToolbarItemModel = {
- id: 'saveToAAD',
- text: 'Save To AAD',
- tooltipText: 'Custom toolbar item',
- align: 'left'
-};
-
-// Initialize the PDF Viewer with custom toolbar items
-let pdfviewer: PdfViewer = new PdfViewer({
- serviceUrl: 'https://localhost:44308/pdfviewer',
- toolbarSettings: {
- toolbarItems: [
- toolItem1,
- toolItem2,
- 'OpenOption',
- 'PageNavigationTool',
- 'MagnificationTool',
- 'PanTool',
- 'SelectionTool',
- 'SearchOption',
- 'PrintOption',
- 'DownloadOption',
- 'UndoRedoTool',
- 'AnnotationEditTool',
- 'FormDesignerEditTool',
- 'CommentTool',
- 'SubmitForm',
- ]
- }
-});
-
-// Render the PDF Viewer in the DOM
-pdfviewer.appendTo('#PdfViewer');
-
-// Handle toolbar clicks
-pdfviewer.toolbarClick = (args: { item?: { id: string } }) => {
- if (args.item) {
- if (args.item.id === 'loadFromAAD') {
- // Handle 'Load From AAD' logic
- const xhr = new XMLHttpRequest();
- xhr.open('POST', `https://localhost:44308/pdfviewer/LoadFromAAD?fileName=pdf-succinctly.pdf`, true);
- xhr.onreadystatechange = () => {
- if (xhr.readyState === 4 && xhr.status === 200) {
- const data = xhr.responseText;
- console.log(data); // Handle the response
- pdfviewer.load(data,''); // Load the document
- }
- };
- xhr.send();
- } else if (args.item.id === 'saveToAAD') {
- // Handle 'Save To AAD' logic
- pdfviewer.serverActionSettings.download = "SaveToAAD";
- pdfviewer.download(); // Trigger download
- }
- }
-};
-
-```
-
-[View sample in GitHub](https://github.com/SyncfusionExamples/open-save-pdf-documents-in-aad).
\ No newline at end of file
diff --git a/ej2-javascript/pdfviewer/ts/save-pdf-file/to-azure-blob-storage.md b/ej2-javascript/pdfviewer/ts/save-pdf-file/to-azure-blob-storage.md
deleted file mode 100644
index aab612eb6..000000000
--- a/ej2-javascript/pdfviewer/ts/save-pdf-file/to-azure-blob-storage.md
+++ /dev/null
@@ -1,195 +0,0 @@
----
-layout: post
-title: Save PDF to Azure Blob Storage ##Platform_Name## Pdfviewer | Syncfusion
-description: Learn here all about how to Save PDF files to Azure Blob Storage in Syncfusion ##Platform_Name## Pdfviewer control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: Save PDF files to Azure Blob Storage
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Save PDF file to Azure Blob Storage
-
-PDF Viewer allows to save PDF file to Azure Blob Storage using either the Standalone or Server-backed PDF Viewer. Below are the steps and a sample to demonstrate how to save PDF to Azure Blob Storage.
-
-## Using Standalone PDF Viewer
-
-To save a PDF file to Azure Blob Storage, you can follow the steps below
-
-**Step 1:** Create a PDF Viewer sample in Typescript
-
-Follow the instructions provided in this [link](https://ej2.syncfusion.com/documentation/pdfviewer/getting-started) to create a simple PDF Viewer sample in Typescript. This will set up the basic structure of your PDF Viewer application.
-
-**Step 2:** Modify the `src/app/app.ts` File in the Angular Project
-
-1. Import the required namespaces at the top of the file:
-
-```typescript
-import { BlockBlobClient } from "@azure/storage-blob";
-```
-
-2. Add the following private properties to the `app.ts`, and assign the values from the configuration to the corresponding properties
-
-N> Replace **Your SAS Url in Azure** with the actual SAS url for your Azure Blob Storage account.
-
-```typescript
-private SASUrl: string = "*Your SAS Url in Azure*";
-```
-
-3. Configure a custom toolbar item for the download function to save a PDF file in Azure Blob Storage.
-
-```typescript
-let toolItem1: CustomToolbarItemModel = {
- prefixIcon: 'e-icons e-pv-download-document-icon',
- id: 'download_pdf',
- tooltipText: 'Download file',
- align: 'right'
-};
-
-pdfviewer.toolbarSettings = { toolbarItems: [ 'OpenOption', 'PageNavigationTool', 'MagnificationTool', 'PanTool', 'SelectionTool', 'SearchOption', 'PrintOption', toolItem1, 'UndoRedoTool', 'AnnotationEditTool', 'FormDesignerEditTool', 'CommentTool', 'SubmitForm']}
-
-pdfviewer.toolbarClick = function (args) {
- if (args.item && args.item.id === 'download_pdf') {
- saveDocument();
- }
-};
-```
-
-4. Retrieve the PDF viewer instance and save the current PDF as a Blob. Then, read the Blob as an ArrayBuffer and upload the ArrayBuffer to Azure Blob Storage using 'BlockBlobClient'.
-
-```typescript
-function saveDocument() {
- pdfviewer.saveAsBlob().then(function (value) {
- var reader = new FileReader();
- reader.onload = async () => {
- if (reader.result) {
- const arrayBuffer: any = reader.result;
- const blobClient = new BlockBlobClient(SASUrl);
- // Upload data to the blob
- const uploadBlobResponse = await blobClient.upload(arrayBuffer, arrayBuffer.byteLength);
- console.log(`Upload blob successfully`, uploadBlobResponse.requestId);
- }
- };
- reader.readAsArrayBuffer(value);
- });
-};
-```
-
-N> The **npm install @azure/storage-blob** package must be installed in your application to use the previous code example.
-
-[View sample in GitHub](https://github.com/SyncfusionExamples/open-save-pdf-documents-in-azure-blob-storage/tree/master/Open%20and%20Save%20PDF%20in%20Azure%20Blob%20Storage%20using%20Standalone).
-
-## Using Server-Backed PDF Viewer
-
-To save a PDF file to Azure Blob Storage, you can follow the steps below
-
-**Step 1:** Create a PDF Viewer sample in Typescript
-
-Follow the instructions provided in this [link](https://ej2.syncfusion.com/documentation/pdfviewer/getting-started) to create a simple PDF Viewer sample in Typescript. This will set up the basic structure of your PDF Viewer application.
-
-**Step 2:** Modify the `PdfViewerController.cs` File in the Web Service Project
-
-1. Create a web service project in .NET Core 3.0 or above. You can refer to this [link](https://www.syncfusion.com/kb/11063/how-to-create-pdf-viewer-web-service-in-net-core-3-0-and-above) for instructions on how to create a web service project.
-
-2. Open the `PdfViewerController.cs` file in your web service project.
-
-3. Import the required namespaces at the top of the file:
-
-```csharp
-using System.IO;
-using Azure.Storage.Blobs;
-using Azure.Storage.Blobs.Specialized;
-```
-
-4. Add the following private fields and constructor parameters to the `PdfViewerController` 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 PdfViewerController(IConfiguration configuration, ILogger logger)
-{
- _storageConnectionString = configuration.GetValue("connectionString");
- _storageContainerName = configuration.GetValue("containerName");
- _logger = logger;
-}
-```
-
-5. Modify the [Download()](https://helpej2.syncfusion.com/documentation/api/pdfviewer/#download) method to save the downloaded PDF files to Azure Blob Storage container
-
-```csharp
-
-[HttpPost("Download")]
-[Microsoft.AspNetCore.Cors.EnableCors("MyPolicy")]
-[Route("[controller]/Download")]
-//Post action for downloading the PDF documents
-
-public IActionResult Download([FromBody] Dictionary jsonObject)
-{
- // Initialize the PDF Viewer object with memory cache object
- PdfRenderer pdfviewer = new PdfRenderer(_cache);
-
- string documentBase = pdfviewer.GetDocumentAsBase64(jsonObject);
- string document = jsonObject["documentId"];
-
- BlobServiceClient blobServiceClient = new BlobServiceClient(_storageConnectionString);
- BlobContainerClient containerClient = blobServiceClient.GetBlobContainerClient(_storageContainerName);
-
- string result = Path.GetFileNameWithoutExtension(document);
- // Get a reference to the blob
- BlobClient blobClient = containerClient.GetBlobClient(result + "_downloaded.pdf");
-
- // Convert the document base64 string to bytes
- byte[] bytes = Convert.FromBase64String(documentBase.Split(",")[1]);
-
- // Upload the document to Azure Blob Storage
- using (MemoryStream stream = new MemoryStream(bytes))
- {
- blobClient.Upload(stream, true);
- }
- return Content(documentBase);
-}
-```
-
-6. 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:** Set the PDF Viewer Properties in JavaScript PDF viewer component
-
-Modify the [serviceUrl](https://helpej2.syncfusion.com/documentation/api/pdfviewer/#serviceurl) property of the PDF viewer component with the accurate URL of your web service project, replacing `https://localhost:44396/pdfviewer` with the actual URL of your server. Set the `documentPath` property of the PDF viewer component to the desired name of the PDF file you wish to load from Azure Blob Storage. Ensure that you correctly pass the document name from the files available in your azure contanier to the documentPath property.
-```typescript
-
-import { PdfViewer, Toolbar, Magnification, Navigation, LinkAnnotation,ThumbnailView,
- BookmarkView, TextSelection, Annotation, FormFields, FormDesigner} from '@syncfusion/ej2-pdfviewer';
-
-PdfViewer.Inject( Toolbar,Magnification,Navigation, LinkAnnotation,ThumbnailView,
- BookmarkView, TextSelection, Annotation, FormFields, FormDesigner);
-
-let viewer: PdfViewer = new PdfViewer();
-// Replace the "localhost:44396" with the actual URL of your server
-viewer.serviceUrl = 'https://localhost:44396/pdfviewer';
-viewer.appendTo('#pdfViewer');
-viewer.load('PDF_Succinctly.pdf', null);
-
-```
-
-N> The **Azure.Storage.Blobs** NuGet package must be installed in your application to use the previous code example.
-
-[View sample in GitHub](https://github.com/SyncfusionExamples/open-save-pdf-documents-in-azure-blob-storage/tree/master/Open%20and%20Save%20PDF%20in%20Azure%20Blob%20Storage%20using%20Server-Backend).
\ No newline at end of file
diff --git a/ej2-javascript/pdfviewer/ts/save-pdf-file/to-box-cloud-file-storage.md b/ej2-javascript/pdfviewer/ts/save-pdf-file/to-box-cloud-file-storage.md
deleted file mode 100644
index 4f82d179a..000000000
--- a/ej2-javascript/pdfviewer/ts/save-pdf-file/to-box-cloud-file-storage.md
+++ /dev/null
@@ -1,143 +0,0 @@
----
-layout: post
-title: Save PDF files to Box cloud file storage ##Platform_Name## Pdfviewer control | Syncfusion
-description: Learn here all about how to Save PDF files to Box cloud file storage in Syncfusion ##Platform_Name## Pdfviewer control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: Save PDF files to Box cloud file storage
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Save PDF file to Box cloud file storage
-
-To save a PDF file 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.
-
-**Step 2:** Create a PDF Viewer sample in TypeScript
-
-Follow the instructions provided in this [link](https://ej2.syncfusion.com/documentation/pdfviewer/getting-started) to create a simple PDF Viewer sample in typescript. This will set up the basic structure of your PDF Viewer application.
-
-**Step 3:** Modify the `PdfViewerController.cs` File in the Web Service Project
-
-1. Create a web service project in .NET Core 3.0 or above. You can refer to this [link](https://www.syncfusion.com/kb/11063/how-to-create-pdf-viewer-web-service-in-net-core-3-0-and-above) for instructions on how to create a web service project.
-
-2. Open the `PdfViewerController.cs` file in your web service project.
-
-3. 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;
-```
-
-4. Add the following private fields and constructor parameters to the `PdfViewerController` 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 PdfViewerController(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");
-}
-```
-
-5. Modify the [Download()](https://helpej2.syncfusion.com/documentation/api/pdfviewer/#download) method to save the downloaded PDF files to Box cloud file storage bucket
-
-```csharp
-[HttpPost("Download")]
-[Microsoft.AspNetCore.Cors.EnableCors("MyPolicy")]
-[Route("[controller]/Download")]
-//Post action for downloading the PDF documents
-
-public async Task Download([FromBody] Dictionary jsonObject)
-{
- //Initialize the PDF Viewer object with memory cache object
- PdfRenderer pdfviewer = new PdfRenderer(_cache);
-
- string documentBase = pdfviewer.GetDocumentAsBase64(jsonObject);
- byte[] documentBytes = Convert.FromBase64String(documentBase.Split(",")[1]);
-
- string documentId = jsonObject["documentId"];
- string result = Path.GetFileNameWithoutExtension(documentId);
- string fileName = result + "_downloaded.pdf";
-
- // 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 = fileName,
- Parent = new BoxFolderRequest { Id = _folderID },
- };
-
- using (var stream = new MemoryStream(documentBytes))
- {
- var boxFile = await client.FilesManager.UploadAsync(fileRequest, stream);
- }
- return Content(documentBase);
-}
-```
-
-6. 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:** Set the PDF Viewer Properties in Typescript PDF viewer component
-
-Modify the `serviceUrl` property of the PDF viewer component with the accurate URL of your web service project, replacing `https://localhost:44396/pdfviewer` with the actual URL of your server. Set the `documentPath` property of the PDF viewer component to the desired name of the PDF file you wish to load from Box cloud file storage. Ensure that you correctly pass the document name from the files available in your box folder to the documentPath property.
-
-```typescript
-
-import { PdfViewer, Toolbar, Magnification, Navigation, LinkAnnotation,ThumbnailView,
- BookmarkView, TextSelection, Annotation, FormFields, FormDesigner} from '@syncfusion/ej2-pdfviewer';
-
-PdfViewer.Inject( Toolbar,Magnification,Navigation, LinkAnnotation,ThumbnailView,
- BookmarkView, TextSelection, Annotation, FormFields, FormDesigner);
-
-let viewer: PdfViewer = new PdfViewer();
-// Replace the "localhost:44396" with the actual URL of your server
-viewer.serviceUrl = 'https://localhost:44396/pdfviewer';
-viewer.appendTo('#pdfViewer');
-viewer.load('PDF_Succinctly.pdf', null);
-
-```
-
-N> The **Box.V2.Core** NuGet package must be installed in your application to use the previous code example.
-
-N> Replace `PDF_Succinctly.pdf` with the actual document name that you want to load from Box cloud file storage. Make sure to pass the document name from the box folder to the `documentPath` property of the PDF viewer component
-
-[View sample in GitHub](https://github.com/SyncfusionExamples/open-save-pdf-documents-in-box-cloud-file-storage)
\ No newline at end of file
diff --git a/ej2-javascript/pdfviewer/ts/save-pdf-file/to-dropbox-cloud-file-storage.md b/ej2-javascript/pdfviewer/ts/save-pdf-file/to-dropbox-cloud-file-storage.md
deleted file mode 100644
index 19cbc9851..000000000
--- a/ej2-javascript/pdfviewer/ts/save-pdf-file/to-dropbox-cloud-file-storage.md
+++ /dev/null
@@ -1,207 +0,0 @@
----
-layout: post
-title: Save PDF to Dropbox cloud storage ##Platform_Name## Pdfviewer | Syncfusion
-description: Learn here all about how to Save PDF to Dropbox cloud file storage in Syncfusion ##Platform_Name## Pdfviewer control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: Save PDF files to Dropbox cloud file storage
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Save PDF file to Dropbox cloud file storage
-
-PDF Viewer allows to load PDF file from Drop Box using either the Standalone or Server-backed PDF Viewer. Below are the steps and a sample to demonstrate how to open a PDF from Drop Box.
-
-## Using Standalone PDF Viewer
-
-To load a PDF file from Dropbox cloud file storage in a PDF Viewer, 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.
-
-**Step 2:** Create a Simple PDF Viewer Sample in Typescript
-
-Start by following the steps provided in this [link](https://ej2.syncfusion.com/documentation/pdfviewer/getting-started) to create a simple PDF viewer sample in Typescript. This will give you a basic setup of the PDF viewer component.
-
-**Step 3:** Modify the `src/app/app.ts` File in the Angular Project
-
-1. Import the required namespaces at the top of the file:
-
-```typescript
-import { Dropbox } from 'dropbox';
-```
-
-2. Configure a custom toolbar item for the download function to save a PDF file in Azure Blob Storage.
-
-```typescript
-let toolItem1: CustomToolbarItemModel = {
- prefixIcon: 'e-icons e-pv-download-document-icon',
- id: 'download_pdf',
- tooltipText: 'Download file',
- align: 'right'
-};
-
-pdfviewer.toolbarSettings = { toolbarItems: [ 'OpenOption', 'PageNavigationTool', 'MagnificationTool', 'PanTool', 'SelectionTool', 'SearchOption', 'PrintOption', toolItem1, 'UndoRedoTool', 'AnnotationEditTool', 'FormDesignerEditTool', 'CommentTool', 'SubmitForm']}
-
-pdfviewer.toolbarClick = function (args) {
- if (args.item && args.item.id === 'download_pdf') {
- saveDocument();
- }
-};
-```
-
-3. Retrieve the PDF viewer instance and save the current PDF as a Blob. Then, read the Blob using a FileReader to convert it into an ArrayBuffer, and upload the ArrayBuffer to Drop Box using the filesUpload method of the Drop Box instance.
-
-N> Replace **Your Access Token** with the actual Access Token of your Drop Box account.
-
-```typescript
-function saveDocument() {
- pdfviewer.saveAsBlob().then(function (value) {
- var reader = new FileReader();
- reader.onload = async () => {
- if (reader.result) {
- const dbx = new Dropbox({ accessToken: 'Your Access Token' });
- if(reader && reader.result){
- const uint8Array = new Uint8Array(reader.result as ArrayBuffer);
- dbx.filesUpload({ path: '/' + pdfviewer.fileName, contents: uint8Array })
- .then(response => {
- console.log(response);
- })
- .catch(error => {
- console.error(error);
- });
- }
- }
- };
- reader.readAsArrayBuffer(value);
- });
-}
-```
-
-N> The **npm install dropbox** package must be installed in your application to use the previous code example.
-
-[View sample in GitHub](https://github.com/SyncfusionExamples/open-save-pdf-documents-in-dropbox-cloud-file-storage/tree/master/Open%20and%20Save%20PDF%20in%20Drop%20Box%20using%20Standalone)
-
-## Using Server-Backed PDF Viewer
-
-To save a PDF file 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.
-
-**Step 2:** Create a PDF Viewer sample in TypeScript
-
-Follow the instructions provided in this [link](https://ej2.syncfusion.com/documentation/pdfviewer/getting-started) to create a simple PDF Viewer sample in typescript. This will set up the basic structure of your PDF Viewer application.
-
-**Step 3:** Modify the `PdfViewerController.cs` File in the Web Service Project
-
-1. Create a web service project in .NET Core 3.0 or above. You can refer to this [link](https://www.syncfusion.com/kb/11063/how-to-create-pdf-viewer-web-service-in-net-core-3-0-and-above) for instructions on how to create a web service project.
-
-2. Open the `PdfViewerController.cs` file in your web service project.
-
-3. Import the required namespaces at the top of the file:
-
-```csharp
-using System.IO;
-using Dropbox.Api;
-using Dropbox.Api.Files;
-```
-
-4. Add the following private fields and constructor parameters to the `PdfViewerController` 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 PdfViewerController(IWebHostEnvironment hostingEnvironment, IMemoryCache cache, IConfiguration configuration)
-{
- _hostingEnvironment = hostingEnvironment;
- _cache = cache;
- _configuration = configuration;
- _accessToken = _configuration.GetValue("AccessToken");
- _folderName = _configuration.GetValue("FolderName");
-}
-```
-
-5. Modify the [Download()](https://helpej2.syncfusion.com/documentation/api/pdfviewer/#download) method to save the downloaded PDF files to Dropbox cloud file storage bucket
-
-```csharp
-
-[HttpPost("Download")]
-[Microsoft.AspNetCore.Cors.EnableCors("MyPolicy")]
-[Route("[controller]/Download")]
-//Post action for downloading the PDF documents
-
-public async Task Download([FromBody] Dictionary jsonObject)
-{
- //Initialize the PDF Viewer object with memory cache object
- PdfRenderer pdfviewer = new PdfRenderer(_cache);
-
- string documentBase = pdfviewer.GetDocumentAsBase64(jsonObject);
- byte[] documentBytes = Convert.FromBase64String(documentBase.Split(",")[1]);
-
- string documentId = jsonObject["documentId"];
- string result = Path.GetFileNameWithoutExtension(documentId);
- string fileName = result + "_downloaded.pdf";
-
- using (var dropBox = new DropboxClient(_accessToken))
- {
- using (var stream = new MemoryStream(documentBytes))
- {
- // Upload the document to Dropbox
- var uploadedFile = await dropBox.Files.UploadAsync(
- _folderName + "/" + fileName,
- WriteMode.Overwrite.Instance,
- body: stream
- );
- }
- }
- return Content(documentBase);
-}
-```
-
-6. 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:** Set the PDF Viewer Properties in Typescript PDF viewer component
-
-Modify the `serviceUrl` property of the PDF viewer component with the accurate URL of your web service project, replacing `https://localhost:44396/pdfviewer` with the actual URL of your server. Set the `documentPath` property of the PDF viewer component to the desired name of the PDF file you wish to load from Dropbox cloud file storage. Ensure that you correctly pass the document name from the files available in your dropbox folder to the documentPath property.
-
-```typescript
-
-import { PdfViewer, Toolbar, Magnification, Navigation, LinkAnnotation,ThumbnailView,
- BookmarkView, TextSelection, Annotation, FormFields, FormDesigner} from '@syncfusion/ej2-pdfviewer';
-
-PdfViewer.Inject( Toolbar,Magnification,Navigation, LinkAnnotation,ThumbnailView,
- BookmarkView, TextSelection, Annotation, FormFields, FormDesigner);
-
-let viewer: PdfViewer = new PdfViewer();
-// Replace the "localhost:44396" with the actual URL of your server
-viewer.serviceUrl = 'https://localhost:44396/pdfviewer';
-viewer.appendTo('#pdfViewer');
-viewer.load('PDF_Succinctly.pdf', null);
-
-```
-
-N> The **Dropbox.Api** NuGet package must be installed in your application to use the previous code example.
-
-[View sample in GitHub](https://github.com/SyncfusionExamples/open-save-pdf-documents-in-dropbox-cloud-file-storage/tree/master/Open%20and%20Save%20PDF%20in%20Drop%20Box%20using%20Server-Backed)
diff --git a/ej2-javascript/pdfviewer/ts/save-pdf-file/to-google-cloud-storage.md b/ej2-javascript/pdfviewer/ts/save-pdf-file/to-google-cloud-storage.md
deleted file mode 100644
index 051b30c6b..000000000
--- a/ej2-javascript/pdfviewer/ts/save-pdf-file/to-google-cloud-storage.md
+++ /dev/null
@@ -1,132 +0,0 @@
----
-layout: post
-title: Save PDF files to Google Cloud Storage ##Platform_Name## Pdfviewer control | Syncfusion
-description: Learn here all about how to Save PDF files to Google Cloud Storage in Syncfusion ##Platform_Name## Pdfviewer control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: Save PDF files to Google Cloud Storage
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Save PDF file to Google Cloud Storage
-
-To save a PDF file to Google Cloud Storage, you can follow the steps below:
-
-**Step 1:** Create a PDF Viewer sample in TypeScript
-
-Follow the instructions provided in this [link](https://ej2.syncfusion.com/documentation/pdfviewer/getting-started) to create a simple PDF Viewer sample in typescript. This will set up the basic structure of your PDF Viewer application.
-
-**Step 2:** Modify the `PdfViewerController.cs` File in the Web Service Project
-
-1. Create a web service project in .NET Core 3.0 or above. You can refer to this [link](https://www.syncfusion.com/kb/11063/how-to-create-pdf-viewer-web-service-in-net-core-3-0-and-above) for instructions on how to create a web service project.
-
-2. Open the `PdfViewerController.cs` file in your web service project.
-
-3. Import the required namespaces at the top of the file:
-
-```csharp
-using System.IO;
-using Google.Cloud.Storage.V1;
-using Google.Apis.Auth.OAuth2;
-```
-
-4. Add the following private fields and constructor parameters to the `PdfViewerController` 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 PdfViewerController(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;
-
-
-```
-
-5. Modify the [Download()](https://helpej2.syncfusion.com/documentation/api/pdfviewer/#download) method to save the downloaded PDF files to Google Cloud Storage bucket
-
-```csharp
-[HttpPost("Download")]
-[Microsoft.AspNetCore.Cors.EnableCors("MyPolicy")]
-[Route("[controller]/Download")]
-//Post action for downloading the PDF documents
-public IActionResult Download([FromBody] Dictionary jsonObject)
-{
- //Initialize the PDF Viewer object with memory cache object
- PdfRenderer pdfviewer = new PdfRenderer(_cache);
- string documentBase = pdfviewer.GetDocumentAsBase64(jsonObject);
- string bucketName = _bucketName;
- string fileName = jsonObject["documentId"];
-
- // Convert the base64 string back to bytes
- string result = Path.GetFileNameWithoutExtension(fileName);
- byte[] documentBytes = Convert.FromBase64String(documentBase.Split(",")[1]);
-
- // Upload the document to Google Cloud Storage
- using (var memoryStream = new MemoryStream(documentBytes))
- {
- _storageClient.UploadObject(bucketName, result + "_downloaded.pdf", null, memoryStream);
- }
- return Content(documentBase);
-}
-```
-
-6. 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:** Set the PDF Viewer Properties in Typescript PDF viewer component
-
-Modify the [serviceUrl](https://helpej2.syncfusion.com/documentation/api/pdfviewer/#serviceurl) property of the PDF viewer component with the accurate URL of your web service project, replacing `https://localhost:44396/pdfviewer` with the actual URL of your server. Set the `documentPath` property of the PDF viewer component to the desired name of the PDF file you wish to load from Google Cloud Storage. Ensure that you correctly pass the document name from the files available in your bucket to the documentPath property.
-
-```typescript
-
-import { PdfViewer, Toolbar, Magnification, Navigation, LinkAnnotation,ThumbnailView,
- BookmarkView, TextSelection, Annotation, FormFields, FormDesigner} from '@syncfusion/ej2-pdfviewer';
-
-PdfViewer.Inject( Toolbar,Magnification,Navigation, LinkAnnotation,ThumbnailView,
- BookmarkView, TextSelection, Annotation, FormFields, FormDesigner);
-
-let viewer: PdfViewer = new PdfViewer();
-// Replace the "localhost:44396" with the actual URL of your server
-viewer.serviceUrl = 'https://localhost:44396/pdfviewer';
-viewer.appendTo('#pdfViewer');
-viewer.load('PDF_Succinctly.pdf', null);
-
-```
-
-N> The **Google.Cloud.Storage.V1** NuGet package must be installed in your application to use the previous code example.
-
-[View sample in GitHub](https://github.com/SyncfusionExamples/open-save-pdf-documents-in-google-cloud-storage)
\ No newline at end of file
diff --git a/ej2-javascript/pdfviewer/ts/save-pdf-file/to-google-drive.md b/ej2-javascript/pdfviewer/ts/save-pdf-file/to-google-drive.md
deleted file mode 100644
index a300441aa..000000000
--- a/ej2-javascript/pdfviewer/ts/save-pdf-file/to-google-drive.md
+++ /dev/null
@@ -1,161 +0,0 @@
----
-layout: post
-title: Save PDF files to Google Drive ##Platform_Name## Pdfviewer control | Syncfusion
-description: Learn here all about how to Save PDF files to Google Drive in Syncfusion ##Platform_Name## Pdfviewer control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: Save PDF files to Google Drive
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Save PDF file to Google Drive
-
-To save a PDF file 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).
-
-**Step 2:** Create a PDF Viewer sample in TypeScript
-
-Follow the instructions provided in this [link](https://ej2.syncfusion.com/documentation/pdfviewer/getting-started) to create a simple PDF Viewer sample in typescript. This will set up the basic structure of your PDF Viewer application.
-
-**Step 3:** Modify the `PdfViewerController.cs` File in the Web Service Project
-
-1. Create a web service project in .NET Core 3.0 or above. You can refer to this [link](https://www.syncfusion.com/kb/11063/how-to-create-pdf-viewer-web-service-in-net-core-3-0-and-above) for instructions on how to create a web service project.
-
-2. Open the `PdfViewerController.cs` file in your web service project.
-
-3. Import the required namespaces at the top of the file:
-
-```csharp
-using System.IO;
-using Google.Apis.Drive.v3;
-using Google.Apis.Util.Store;
-```
-
-4. Add the following private fields and constructor parameters to the `PdfViewerController` 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 PdfViewerController(IWebHostEnvironment hostingEnvironment, IMemoryCache cache, IConfiguration configuration)
-{
- _hostingEnvironment = hostingEnvironment;
- _cache = cache;
- _configuration = configuration;
- folderId = _configuration.GetValue("FolderId");
- credentialPath = _configuration.GetValue("CredentialPath");
- applicationName = _configuration.GetValue("ApplicationName");
-}
-```
-
-5. Modify the [Download()](https://helpej2.syncfusion.com/documentation/api/pdfviewer/#download) method to save the downloaded PDF files to Google Drive bucket
-
-```csharp
-[HttpPost("Download")]
-[Microsoft.AspNetCore.Cors.EnableCors("MyPolicy")]
-[Route("[controller]/Download")]
-//Post action for downloading the PDF documents
-
-public async Task Download([FromBody] Dictionary jsonObject)
-{
- //Initialize the PDF Viewer object with memory cache object
- PdfRenderer pdfviewer = new PdfRenderer(_cache);
-
- string documentBase = pdfviewer.GetDocumentAsBase64(jsonObject);
- byte[] documentBytes = Convert.FromBase64String(documentBase.Split(",")[1]);
-
- string documentId = jsonObject["documentId"];
- string result = Path.GetFileNameWithoutExtension(documentId);
- string fileName = result + "_downloaded.pdf";
-
- 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 }
- };
-
- FilesResource.CreateMediaUpload request;
-
- using (var stream = new MemoryStream(documentBytes))
- {
- request = service.Files.Create(fileMetadata, stream, "application/pdf");
- request.Fields = "id";
- object value = await request.UploadAsync();
- }
- return Content(documentBase);
-}
-```
-
-6. 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 PDFs directly to Google Drive. This Client_ID will serve as the authentication key, allowing you to save files securely.
-
-**Step 4:** Set the PDF Viewer Properties in Typescript PDF viewer component
-
-Modify the `serviceUrl` property of the PDF viewer component with the accurate URL of your web service project, replacing `https://localhost:44396/pdfviewer` with the actual URL of your server. Set the `documentPath` property of the PDF viewer component to the desired name of the PDF file you wish to load from Google Drive. Ensure that you correctly pass the document name from the files available in your drive folder to the documentPath property.
-
-```typescript
-
-import { PdfViewer, Toolbar, Magnification, Navigation, LinkAnnotation,ThumbnailView,
- BookmarkView, TextSelection, Annotation, FormFields, FormDesigner} from '@syncfusion/ej2-pdfviewer';
-
-PdfViewer.Inject( Toolbar,Magnification,Navigation, LinkAnnotation,ThumbnailView,
- BookmarkView, TextSelection, Annotation, FormFields, FormDesigner);
-
-let viewer: PdfViewer = new PdfViewer();
-// Replace the "localhost:44396" with the actual URL of your server
-viewer.serviceUrl = 'https://localhost:44396/pdfviewer';
-viewer.appendTo('#pdfViewer');
-viewer.load('PDF_Succinctly.pdf', null);
-
-```
-
-N> The **Google.Apis.Drive.v3** NuGet package must be installed in your application to use the previous code example.
-
-[View sample in GitHub](https://github.com/SyncfusionExamples/open-save-pdf-documents-in-google-drive).
\ No newline at end of file
diff --git a/ej2-javascript/pdfviewer/ts/save-pdf-file/to-one-drive.md b/ej2-javascript/pdfviewer/ts/save-pdf-file/to-one-drive.md
deleted file mode 100644
index 30ec89390..000000000
--- a/ej2-javascript/pdfviewer/ts/save-pdf-file/to-one-drive.md
+++ /dev/null
@@ -1,154 +0,0 @@
----
-layout: post
-title: Save PDF files to One Drive ##Platform_Name## Pdfviewer control | Syncfusion
-description: Learn here all about how to Save PDF files to One Drive in Syncfusion ##Platform_Name## Pdfviewer control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: Save PDF files to One Drive
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Save PDF file to One Drive
-
-To save a PDF file 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.
-
-**Step 2:** Create a PDF Viewer sample in TypeScript
-
-Follow the instructions provided in this [link](https://ej2.syncfusion.com/documentation/pdfviewer/getting-started) to create a simple PDF Viewer sample in typescript. This will set up the basic structure of your PDF Viewer application.
-
-**Step 3:** Modify the `PdfViewerController.cs` File in the Web Service Project
-
-1. Create a web service project in .NET Core 3.0 or above. You can refer to this [link](https://www.syncfusion.com/kb/11063/how-to-create-pdf-viewer-web-service-in-net-core-3-0-and-above) for instructions on how to create a web service project.
-
-2. Open the `PdfViewerController.cs` file in your web service project.
-
-3. Import the required namespaces at the top of the file:
-
-```csharp
-using System.IO;
-using Microsoft.Graph;
-using Microsoft.Identity.Client;
-using Helpers;
-```
-
-4. Add the following private fields and constructor parameters to the `PdfViewerController` 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 PdfViewerController(IWebHostEnvironment hostingEnvironment, IMemoryCache cache, IConfiguration configuration)
-{
- _hostingEnvironment = hostingEnvironment;
- _cache = cache;
- _configuration = configuration;
- folderName = _configuration.GetValue("FolderName");
- tenantId = _configuration.GetValue("TenantId");
- applicationId = _configuration.GetValue("ApplicationId");
-}
-```
-
-5. Modify the [Download()](https://helpej2.syncfusion.com/documentation/api/pdfviewer/#download) method to save the downloaded PDF files to One Drive bucket
-
-```csharp
-[HttpPost("Download")]
-[Microsoft.AspNetCore.Cors.EnableCors("MyPolicy")]
-[Route("[controller]/Download")]
-//Post action for downloading the PDF documents
-
-public async Task Download([FromBody] Dictionary jsonObject)
-{
- //Initialize the PDF Viewer object with memory cache object
- PdfRenderer pdfviewer = new PdfRenderer(_cache);
- string documentBase = pdfviewer.GetDocumentAsBase64(jsonObject);
- byte[] documentBytes = Convert.FromBase64String(documentBase.Split(",")[1]);
-
- // Save the PDF as a stream
- Stream stream = new MemoryStream(documentBytes);
-
- string documentId = jsonObject["documentId"];
- string result = Path.GetFileNameWithoutExtension(documentId);
- string fileName = result + "_downloaded.pdf";
-
- 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;
-
- return Content(documentBase);
-}
-```
-
-6. 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:** Set the PDF Viewer Properties in Typescript PDF viewer component
-
-Modify the `serviceUrl` property of the PDF viewer component with the accurate URL of your web service project, replacing `https://localhost:44396/pdfviewer` with the actual URL of your server. Set the `documentPath` property of the PDF viewer component to the desired name of the PDF file you wish to load from One Drive. Ensure that you correctly pass the document name from the files available in your drive folder to the documentPath property.
-
-```typescript
-
-import { PdfViewer, Toolbar, Magnification, Navigation, LinkAnnotation,ThumbnailView,
- BookmarkView, TextSelection, Annotation, FormFields, FormDesigner} from '@syncfusion/ej2-pdfviewer';
-
-PdfViewer.Inject( Toolbar,Magnification,Navigation, LinkAnnotation,ThumbnailView,
- BookmarkView, TextSelection, Annotation, FormFields, FormDesigner);
-
-let viewer: PdfViewer = new PdfViewer();
-// Replace the "localhost:44396" with the actual URL of your server
-viewer.serviceUrl = 'https://localhost:44396/pdfviewer';
-viewer.appendTo('#pdfViewer');
-viewer.load('PDF_Succinctly.pdf', null);
-
-```
-
-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.
-
-[View sample in GitHub](https://github.com/SyncfusionExamples/open-save-pdf-documents-in-one-drive)
\ No newline at end of file
diff --git a/ej2-javascript/pdfviewer/ts/save-pdf-files.md b/ej2-javascript/pdfviewer/ts/save-pdf-files.md
deleted file mode 100644
index 84f66459d..000000000
--- a/ej2-javascript/pdfviewer/ts/save-pdf-files.md
+++ /dev/null
@@ -1,195 +0,0 @@
----
-layout: post
-title: Saving PDF files ##Platform_Name## Pdfviewer control | Syncfusion
-description: This page helps you to learn here all about saving PDF files in Syncfusion ##Platform_Name## Pdfviewer control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: Saving PDF files
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Saving PDF file
-
-After editing the PDF file with various annotation tools, you will need to save the updated PDF to the server, database, or local file system.
-
-## Save PDF file to Server
-
-Need to save the modified PDF back to a server. To achieve this, proceed with the following steps
-
-**Step 1:** Create a Simple PDF Viewer Sample in Typescript
-
-Start by following the steps provided in this [link](https://ej2.syncfusion.com/documentation/pdfviewer/getting-started) to create a simple PDF viewer sample in Typescript. This will give you a basic setup of the PDF viewer component.
-
-**Step 2:** Modify the `PdfViewerController.cs` File in the Web Service Project
-
-1. Create a web service project in .NET Core 3.0 or above. You can refer to this [link](https://www.syncfusion.com/kb/11063/how-to-create-pdf-viewer-web-service-in-net-core-3-0-and-above) for instructions on how to create a web service project.
-
-2. Open the `PdfViewerController.cs` file in your web service project.
-
-3. Modify the [Download()](https://helpej2.syncfusion.com/documentation/api/pdfviewer/#download) method to open it in the viewer using URL
-
-```csharp
-
-public IActionResult Download([FromBody] Dictionary jsonObject)
-{
- //Initialize the PDF Viewer object with memory cache object
- PdfRenderer pdfviewer = new PdfRenderer(_cache);
- string documentBase = pdfviewer.GetDocumentAsBase64(jsonObject);
- MemoryStream stream = new MemoryStream();
-
- string documentName = jsonObject["document"];
- string result = Path.GetFileNameWithoutExtension(documentName);
- string fileName = result + "_downloaded.pdf";
-
- // Save the file on the server
- string serverFilePath = @"Path to where you need to save your file in the server";
-
- string filePath = Path.Combine(serverFilePath, fileName);
-
- using (FileStream fileStream = new FileStream(filePath, FileMode.Create))
- {
- //Saving the new file in root path of application
- stream.CopyTo(fileStream);
- fileStream.Close();
- }
- return Content(documentBase);
-}
-
-```
-
-**Step 3:** Set the PDF Viewer Properties in React PDF viewer component
-
-Modify the [serviceUrl](https://helpej2.syncfusion.com/documentation/api/pdfviewer/#serviceurl) property of the PDF viewer component with the accurate URL of your web service project, replacing `https://localhost:44396/pdfviewer` with the actual URL of your server.Modify the documentPath with the correct PDF Document URL want to load.
-
-```typescript
-
-import { PdfViewer, Toolbar, Magnification, Navigation, LinkAnnotation,ThumbnailView,
- BookmarkView, TextSelection, Annotation, FormFields, FormDesigner} from '@syncfusion/ej2-pdfviewer';
-
-PdfViewer.Inject( Toolbar,Magnification,Navigation, LinkAnnotation,ThumbnailView,
- BookmarkView, TextSelection, Annotation, FormFields, FormDesigner);
-
-let viewer: PdfViewer = new PdfViewer();
-// Replace PDF_Succinctly.pdf with the actual document name that you want to load
-viewer.documentPath="PDF_Succinctly.pdf"
-viewer.serviceUrl = 'https://localhost:44396/pdfviewer';
-viewer.appendTo('#pdfViewer');
-
-```
-
-[View sample in GitHub](https://github.com/SyncfusionExamples/typescript-pdf-viewer-examples/tree/master/Save%20and%20Load/Load%20PDF%20file%20from%20base64%20string)
-
-## Download PDF file as a copy
-
-In the built-in toolbar, you have an option to download the updated PDF to the local file system, you can use it to download the PDF file.
-
-```html
-
-```
-
-```typescript
-
-document.getElementById('download').addEventListener('click', function () {
- //API to perform download action.
- viewer.download();
-});
-
-```
-
-## Save PDF file to Database
-
-If you have plenty of PDF files stored in database and you want to save the updated PDF file back to the database, use the following code example.
-
-**Step 1:** Create a Simple PDF Viewer Sample in Typescript
-
-Start by following the steps provided in this [link](https://ej2.syncfusion.com/documentation/pdfviewer/getting-started) to create a simple PDF viewer sample in Typescript. This will give you a basic setup of the PDF viewer component.
-
-**Step 2:** Modify the `PdfViewerController.cs` File in the Web Service Project
-
-1. Create a web service project in .NET Core 3.0 or above. You can refer to this [link](https://www.syncfusion.com/kb/11063/how-to-create-pdf-viewer-web-service-in-net-core-3-0-and-above) for instructions on how to create a web service project.
-
-2. Open the `PdfViewerController.cs` file in your web service project
-
-3. Import the required namespaces at the top of the file:
-
-```csharp
-using System.IO;
-using System.Data.SqlClient;
-```
-
-4. Add the following private fields and constructor parameters to the `PdfViewerController` class, In the constructor, assign the values from the configuration to the corresponding fields
-
-```csharp
-private IConfiguration _configuration;
-public readonly string _connectionString;
-
-public PdfViewerController(IWebHostEnvironment hostingEnvironment, IMemoryCache cache, IConfiguration configuration)
-{
- _hostingEnvironment = hostingEnvironment;
- _cache = cache;
- _configuration = configuration;
- _connectionString = _configuration.GetValue("ConnectionString");
-}
-```
-
-5. Modify the [Download()](https://helpej2.syncfusion.com/documentation/api/pdfviewer/#download) method to open it in the viewer using URL
-
-```csharp
-
-[HttpPost("Download")]
-[Microsoft.AspNetCore.Cors.EnableCors("MyPolicy")]
-[Route("[controller]/Download")]
-//Post action for downloading the PDF documents
-
-public async Task Download([FromBody] Dictionary jsonObject)
-{
- //Initialize the PDF Viewer object with memory cache object
- PdfRenderer pdfviewer = new PdfRenderer(_cache);
-
- string documentBase = pdfviewer.GetDocumentAsBase64(jsonObject);
- byte[] documentBytes = Convert.FromBase64String(documentBase.Split(",")[1]);
-
- string documentId = jsonObject["documentId"];
- string result = Path.GetFileNameWithoutExtension(documentId);
- string fileName = result + "_downloaded.pdf";
-
- string connectionString = _connectionString;
-
- using (SqlConnection connection = new SqlConnection(connectionString))
- {
- connection.Open();
-
- using (SqlCommand cmd = new SqlCommand("INSERT INTO Table (FileName, fileData) VALUES (@FileName, @fileData)", connection))
- {
- cmd.Parameters.AddWithValue("@FileName", fileName);
- cmd.Parameters.AddWithValue("@fileData", documentBytes);
-
- cmd.ExecuteNonQuery();
- }
- connection.Close();
- }
- return Content(documentBase);
-}
-```
-
-6. 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 for SQL server"
-}
-```
-
-N> Replace **Your Connection string from SQL server** with the actual connection string for your SQL Server database
-
-N> The **System.Data.SqlClient** package must be installed in your application to use the previous code example. You need to modify the connectionString variable in the previous code example as per the connection string of your database.
-
-[View sample in GitHub](https://github.com/SyncfusionExamples/open-save-pdf-documents-in-database)
\ No newline at end of file
diff --git a/ej2-javascript/pdfviewer/ts/text-search.md b/ej2-javascript/pdfviewer/ts/text-search.md
deleted file mode 100644
index 31953cb4b..000000000
--- a/ej2-javascript/pdfviewer/ts/text-search.md
+++ /dev/null
@@ -1,286 +0,0 @@
----
-layout: post
-title: Text search in ##Platform_Name## Pdfviewer control | Syncfusion
-description: Learn here all about Text search in Syncfusion ##Platform_Name## Pdfviewer control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: Text search
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-# Text search in ##Platform_Name## Pdfviewer control
-
-The Text Search option in PDF Viewer is used to find and highlight the text content from the document. You can enable/disable the text search using the following code snippet.
-
-```html
-
-
-
-
- Essential JS 2
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-```
-
-{% tabs %}
-{% highlight ts tabtitle="Standalone" %}
-
-import { PdfViewer, Toolbar, Magnification, Navigation, Annotation, LinkAnnotation,ThumbnailView,BookmarkView, TextSelection} from '@syncfusion/ej2-pdfviewer';
-
-PdfViewer.Inject(Toolbar,Magnification,Navigation, Annotation, LinkAnnotation,ThumbnailView,BookmarkView, TextSelection);
-
-let pdfviewer: PdfViewer = new PdfViewer({enableTextSearch: true, documentPath:'https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf'});
-pdfviewer.appendTo('#PdfViewer');
-
-{% endhighlight %}
-{% highlight ts tabtitle="Server-Backed" %}
-
-
-import { PdfViewer, Toolbar, Magnification, Navigation, Annotation, LinkAnnotation,ThumbnailView,BookmarkView, TextSelection} from '@syncfusion/ej2-pdfviewer';
-
-PdfViewer.Inject(Toolbar,Magnification,Navigation, Annotation, LinkAnnotation,ThumbnailView,BookmarkView, TextSelection);
-
-let pdfviewer: PdfViewer = new PdfViewer({enableTextSearch: true, documentPath:'https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf'});
-pdfviewer.serviceUrl = 'https://services.syncfusion.com/js/production/api/pdfviewer';
-pdfviewer.appendTo('#PdfViewer');
-
-{% endhighlight %}
-{% endtabs %}
-
-## Text search features
-
-### Real time search suggestion while typing
-Entering text into the search input dynamically displays search suggestions based on the provided input. The suggestions are updated in real-time as text is typed, offering relevant matches from the available content. This feature enhances the search experience by allowing quick access to potential results while typing.
-
-
-
-### Selecting Search Suggestions from the Popup
-Entering text into the search input triggers a popup displaying relevant suggestions based on the input. Selecting a suggestion from the popup enables direct navigation to its occurrences in the document.
-
-
-
-### Search Text with enabling 'Match Case' checkbox
-By enabling the 'Match Case' option and entering text into the search input, only the exact case-sensitive matches in the document are highlighted. This feature allows navigation through each occurrence of the exact text match within the document.
-
-
-
-### Search Text without enabling 'Match Case' checkbox
-When text is entered into the search input without enabling the 'Match Case' option, all instances of the text, regardless of case, are highlighted in the document. This allows easy navigation through every occurrence of the search term.
-
-
-
-### Search list of text by enabling 'Match Any Word' checkbox
-When the 'Match Any Word' option is enabled, the entered text in the search input is split into individual words based on spaces. As the text is typed, the popup dynamically displays search suggestions for each word in real time, highlighting potential matches within the document.
-
-
-
-The following text search methods are available in the PDF Viewer,
-
-* [**Search text**](https://ej2.syncfusion.com/documentation/api/pdfviewer/textSearch/#searchtext):- Searches the target text in the PDF document and highlights the occurrences in the pages.
-* [**Search next**](https://ej2.syncfusion.com/documentation/api/pdfviewer/textSearch/#searchnext):- Searches the next occurrence of the searched text from the current occurrence of the PdfViewer.
-* [**Search previous**](https://ej2.syncfusion.com/documentation/api/pdfviewer/textSearch/#searchprevious):- Searches the previous occurrence of the searched text from the current occurrence of the PdfViewer.
-* [**Cancel text search**](https://ej2.syncfusion.com/documentation/api/pdfviewer/textSearch/#canceltextsearch):- The text search can be canceled and the highlighted occurrences from the PDF Viewer can be removed .
-
-
-
-## Find text method
-Searches for the specified text or an array of strings within the document and returns the bounding rectangles for each occurrence. The search can be case-sensitive based on the provided parameters. If a specific page index is provided, it returns the bounding rectangles for these search strings on that page; otherwise, it returns the bounding rectangles for all pages in the document where the strings were found.
-
-### Find and get the bounds of a text
-Searches for the specified text within the document and returns the bounding rectangles of the matched text. The search can be case-sensitive based on the provided parameter. It returns the bounding rectangles for all pages in the document where the text was found. The below code snippet shows how to get the bounds of the given text:
-
-```html
-
-```
-
-{% tabs %}
-{% highlight ts tabtitle="Standalone" %}
-
-import { PdfViewer, Toolbar, Magnification, Navigation, LinkAnnotation,ThumbnailView,BookmarkView,
- TextSelection, TextSearch, Print, Annotation,FormFields,FormDesigner, PageOrganizer} from "../src/index";
-
- PdfViewer.Inject(Toolbar,Magnification,Navigation, LinkAnnotation,ThumbnailView,BookmarkView,
- TextSelection, TextSearch, Print, Annotation,FormFields,FormDesigner, PageOrganizer);
-
- let viewer: PdfViewer = new PdfViewer();
- viewer.documentPath = "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf";
- document.getElementById('textbounds').addEventListener('click', function() {
- console.log(viewer.textSearch.findText('pdf', false));
- });
- viewer.appendTo("#pdfViewer");
-
-{% endhighlight %}
-{% highlight ts tabtitle="Server-backed" %}
-
-import { PdfViewer, Toolbar, Magnification, Navigation, LinkAnnotation,ThumbnailView,BookmarkView,
- TextSelection, TextSearch, Print, Annotation,FormFields,FormDesigner, PageOrganizer} from "../src/index";
-
- PdfViewer.Inject(Toolbar,Magnification,Navigation, LinkAnnotation,ThumbnailView,BookmarkView,
- TextSelection, TextSearch, Print, Annotation,FormFields,FormDesigner, PageOrganizer);
-
- let viewer: PdfViewer = new PdfViewer();
- viewer.serviceUrl = "https://ej2services.syncfusion.com/production/web-services/api/pdfviewer";
- viewer.documentPath = "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf";
- document.getElementById('textbounds').addEventListener('click', function() {
- console.log(viewer.textSearch.findText('pdf', false));
- });
- viewer.appendTo("#pdfViewer");
-
-{% endhighlight %}
-{% endtabs %}
-
-### Find and get the bounds of a text on the desired page
-Searches for the specified text within the document and returns the bounding rectangles of the matched text. The search can be case-sensitive based on the provided parameter. It returns the bounding rectangles for that page in the document where the text was found. The below code snippet shows how to get the bounds of the given text from the desired page:
-
-```html
-
-```
-
-{% tabs %}
-{% highlight ts tabtitle="Standalone" %}
-
-import { PdfViewer, Toolbar, Magnification, Navigation, LinkAnnotation,ThumbnailView,BookmarkView,
- TextSelection, TextSearch, Print, Annotation,FormFields,FormDesigner, PageOrganizer} from "../src/index";
-
- PdfViewer.Inject(Toolbar,Magnification,Navigation, LinkAnnotation,ThumbnailView,BookmarkView,
- TextSelection, TextSearch, Print, Annotation,FormFields,FormDesigner, PageOrganizer);
-
- let viewer: PdfViewer = new PdfViewer();
- viewer.documentPath = "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf";
- document.getElementById('textbounds').addEventListener('click', function() {
- console.log(viewer.textSearch.findText('pdf', false, 7));
- });
- viewer.appendTo("#pdfViewer");
-
-{% endhighlight %}
-{% highlight ts tabtitle="Server-backed" %}
-
-import { PdfViewer, Toolbar, Magnification, Navigation, LinkAnnotation,ThumbnailView,BookmarkView,
- TextSelection, TextSearch, Print, Annotation,FormFields,FormDesigner, PageOrganizer} from "../src/index";
-
- PdfViewer.Inject(Toolbar,Magnification,Navigation, LinkAnnotation,ThumbnailView,BookmarkView,
- TextSelection, TextSearch, Print, Annotation,FormFields,FormDesigner, PageOrganizer);
-
- let viewer: PdfViewer = new PdfViewer();
- viewer.serviceUrl = "https://ej2services.syncfusion.com/production/web-services/api/pdfviewer";
- viewer.documentPath = "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf";
- document.getElementById('textbounds').addEventListener('click', function() {
- console.log(viewer.textSearch.findText('pdf', false, 7));
- });
- viewer.appendTo("#pdfViewer");
-
-{% endhighlight %}
-{% endtabs %}
-
-### Find and get the bounds of the list of text
-Searches for an array of strings within the document and returns the bounding rectangles for each occurrence. The search can be case-sensitive based on the provided parameters. It returns the bounding rectangles for all pages in the document where the strings were found.
-
-```html
-
-```
-
-{% tabs %}
-{% highlight ts tabtitle="Standalone" %}
-
-import { PdfViewer, Toolbar, Magnification, Navigation, LinkAnnotation,ThumbnailView,BookmarkView,
- TextSelection, TextSearch, Print, Annotation,FormFields,FormDesigner, PageOrganizer} from "../src/index";
-
- PdfViewer.Inject(Toolbar,Magnification,Navigation, LinkAnnotation,ThumbnailView,BookmarkView,
- TextSelection, TextSearch, Print, Annotation,FormFields,FormDesigner, PageOrganizer);
-
- let viewer: PdfViewer = new PdfViewer();
- viewer.documentPath = "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf";
- document.getElementById('textbounds').addEventListener('click', function() {
- console.log(viewer.textSearch.findText(['adobe', 'pdf'], false));
- });
- viewer.appendTo("#pdfViewer");
-
-{% endhighlight %}
-{% highlight ts tabtitle="Server-backed" %}
-
-import { PdfViewer, Toolbar, Magnification, Navigation, LinkAnnotation,ThumbnailView,BookmarkView,
- TextSelection, TextSearch, Print, Annotation,FormFields,FormDesigner, PageOrganizer} from "../src/index";
-
- PdfViewer.Inject(Toolbar,Magnification,Navigation, LinkAnnotation,ThumbnailView,BookmarkView,
- TextSelection, TextSearch, Print, Annotation,FormFields,FormDesigner, PageOrganizer);
-
- let viewer: PdfViewer = new PdfViewer();
- viewer.serviceUrl = "https://ej2services.syncfusion.com/production/web-services/api/pdfviewer";
- viewer.documentPath = "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf";
- document.getElementById('listTextbounds').addEventListener('click', function() {
- console.log(viewer.textSearch.findText(['adobe', 'pdf'], false));
- });
- viewer.appendTo("#pdfViewer");
-
-{% endhighlight %}
-{% endtabs %}
-
-### Find and get the bounds of the list of text on desired page
-Searches for an array of strings within the document and returns the bounding rectangles for each occurrence. The search can be case-sensitive based on the provided parameters. It returns the bounding rectangles for these search strings on that particular page where the strings were found.
-
-```html
-
-```
-
-{% tabs %}
-{% highlight ts tabtitle="Standalone" %}
-
-import { PdfViewer, Toolbar, Magnification, Navigation, LinkAnnotation,ThumbnailView,BookmarkView,
- TextSelection, TextSearch, Print, Annotation,FormFields,FormDesigner, PageOrganizer} from "../src/index";
-
- PdfViewer.Inject(Toolbar,Magnification,Navigation, LinkAnnotation,ThumbnailView,BookmarkView,
- TextSelection, TextSearch, Print, Annotation,FormFields,FormDesigner, PageOrganizer);
-
- let viewer: PdfViewer = new PdfViewer();
- viewer.documentPath = "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf";
- document.getElementById('textbounds').addEventListener('click', function() {
- console.log(viewer.textSearch.findText(['adobe', 'pdf'], false, 7));
- });
- viewer.appendTo("#pdfViewer");
-
-{% endhighlight %}
-{% highlight ts tabtitle="Server-backed" %}
-
-import { PdfViewer, Toolbar, Magnification, Navigation, LinkAnnotation,ThumbnailView,BookmarkView,
- TextSelection, TextSearch, Print, Annotation,FormFields,FormDesigner, PageOrganizer} from "../src/index";
-
- PdfViewer.Inject(Toolbar,Magnification,Navigation, LinkAnnotation,ThumbnailView,BookmarkView,
- TextSelection, TextSearch, Print, Annotation,FormFields,FormDesigner, PageOrganizer);
-
- let viewer: PdfViewer = new PdfViewer();
- viewer.serviceUrl = "https://ej2services.syncfusion.com/production/web-services/api/pdfviewer";
- viewer.documentPath = "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf";
- document.getElementById('listTextbounds').addEventListener('click', function() {
- console.log(viewer.textSearch.findText(['adobe', 'pdf'], false, 7));
- });
- viewer.appendTo("#pdfViewer");
-
-{% endhighlight %}
-{% endtabs %}
-
-[View sample in GitHub](https://github.com/SyncfusionExamples/typescript-pdf-viewer-examples/tree/master/How%20to/TextSearch)
-
-## See also
-
-* [Toolbar items](./toolbar)
-* [Feature Modules](./feature-module)
\ No newline at end of file
diff --git a/ej2-javascript/pdfviewer/ts/toolbar.md b/ej2-javascript/pdfviewer/ts/toolbar.md
deleted file mode 100644
index babc66cf8..000000000
--- a/ej2-javascript/pdfviewer/ts/toolbar.md
+++ /dev/null
@@ -1,1608 +0,0 @@
----
-layout: post
-title: Toolbar in ##Platform_Name## Pdfviewer control | Syncfusion
-description: Learn here all about Toolbar in Syncfusion ##Platform_Name## Pdfviewer control of Syncfusion Essential JS 2 and more.
-platform: ej2-javascript
-control: Toolbar
-publishingplatform: ##Platform_Name##
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Built-In Toolbar in ##Platform_Name## Pdfviewer control
-
-The PDF Viewer comes with a powerful built-in toolbar to execute important actions such as page navigation, text search,view mode,download,print,bookmark, and thumbnails.
-
-The following table shows built-in toolbar items and its actions:-
-
-| Option | Description |
-|---|---|
-| OpenOption | This option provides an action to load the PDF documents to the PDF Viewer.|
-| PageNavigationTool | This option provides an action to navigate the pages in the PDF Viewer. It contains GoToFirstPage,GoToLastPage,GotoPage,GoToNext, and GoToLast tools.|
-| MagnificationTool | This option provides an action to magnify the pages either with predefined or user defined zoom factors in the PDF Viewer. Contains ZoomIn, ZoomOut, Zoom, FitPage and FitWidth tools.|
-| PanTool | This option provides an action for panning the pages in the PDF Viewer.|
-| SelectionTool | This option provides an action to enable/disable the text selection in the PDF Viewer.|
-| SearchOption | This option provides an action to search a word in the PDF documents.|
-| PrintOption | This option provides an action to print the PDF document being loaded in the PDF Viewer.|
-| DownloadOption |This Download option provides an action to download the PDF document that has been loaded in the PDF Viewer.|
-| UndoRedoTool | This tool provides options to undo and redo the annotation actions performed in the PDF Viewer.|
-| AnnotationEditTool | This tool provides options to enable or disable the edit mode of annotation in the PDF Viewer.|
-| FormDesignerEditTool | This tool provides options to enable or disable the edit mode of form fields in the PDF Viewer.|
-
-## Show/Hide the default toolbar
-
-The PDF Viewer has an option to show or hide the complete default toolbar. You can achieve this by using following two ways.,
-
-```html
-
-
-
-
- Essential JS 2
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-```
-
-* **Show/Hide toolbar using enableToolbar API as in the following code snippet**
-
-{% tabs %}
-{% highlight ts tabtitle="index.ts" %}
-import { PdfViewer, Toolbar, Magnification, Navigation, Annotation, LinkAnnotation,
- ThumbnailView, BookmarkView, TextSelection, TextSearch, FormFields, FormDesigner} from '@syncfusion/ej2-pdfviewer';
-
-PdfViewer.Inject( Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, ThumbnailView,
- BookmarkView, TextSelection, TextSearch, FormFields, FormDesigner );
-
-let pdfviewer: PdfViewer = new PdfViewer({
- enableToolbar: false,
- documentPath:'https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf',
- resourceUrl:"https://cdn.syncfusion.com/ej2/23.1.43/dist/ej2-pdfviewer-lib"
-});
-pdfviewer.appendTo('#PdfViewer');
-{% endhighlight %}
-{% highlight html tabtitle="index.html" %}
-
-
-
-
- EJ2 PDF Viewer
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Loading....
-
-
-
-
-
-{% endhighlight %}
-{% endtabs %}
-
-N> To set up the **server-backed PDF Viewer**,
-Add the below `serviceUrl` in the `index.ts` file
-`pdfviewer.serviceUrl = 'https://services.syncfusion.com/js/production/api/pdfviewer';`
-
-{% previewsample "page.domainurl/code-snippet/pdfviewer/toolbar/toolbar-hide-cs1" %}
-
-* **Show/Hide toolbar using showToolbar as in the following code snippet**
-
-{% tabs %}
-{% highlight ts tabtitle="index.ts" %}
-import { PdfViewer, Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, ThumbnailView,
- BookmarkView, TextSelection, TextSearch, FormFields, FormDesigner} from '@syncfusion/ej2-pdfviewer';
-
-PdfViewer.Inject( Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, ThumbnailView,
- BookmarkView, TextSelection, TextSearch, FormFields, FormDesigner );
-
-let pdfviewer: PdfViewer = new PdfViewer({
- documentPath:'https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf',
- resourceUrl:"https://cdn.syncfusion.com/ej2/23.1.43/dist/ej2-pdfviewer-lib"
-});
-pdfviewer.appendTo('#PdfViewer');
-document.getElementById('set').addEventListener('click', ()=> {
- pdfviewer.toolbar.showToolbar(false);
-});
-{% endhighlight %}
-{% highlight html tabtitle="index.html" %}
-
-
-
-
- EJ2 PDF Viewer
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Loading....
-
-
-
-
-
-
-{% endhighlight %}
-{% endtabs %}
-
-N> To set up the **server-backed PDF Viewer**,
-Add the below [serviceUrl](https://helpej2.syncfusion.com/documentation/api/pdfviewer/#serviceurl) in the `index.ts` file
-`pdfviewer.serviceUrl = 'https://services.syncfusion.com/js/production/api/pdfviewer';`
-
-{% previewsample "page.domainurl/code-snippet/pdfviewer/toolbar/toolbar-method-cs1" %}
-
-## Show/Hide the default toolbaritem
-
-The PDF Viewer has an option to show or hide these grouped items in the default toolbar.
-
-* **Show/Hide toolbaritem using toolbarSettings as in the following code snippet.**
-
-{% tabs %}
-{% highlight ts tabtitle="index.ts" %}
-import { PdfViewer, Toolbar, Magnification, Navigation, Annotation, LinkAnnotation,
- ThumbnailView, BookmarkView, TextSelection, TextSearch, FormFields, FormDesigner} from '@syncfusion/ej2-pdfviewer';
-
-PdfViewer.Inject( Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, ThumbnailView,
- BookmarkView, TextSelection, TextSearch, FormFields, FormDesigner );
-
-let pdfviewer: PdfViewer = new PdfViewer({
- documentPath:'https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf',
- resourceUrl:"https://cdn.syncfusion.com/ej2/23.1.43/dist/ej2-pdfviewer-lib",
- toolbarSettings: { showTooltip : true, toolbarItems: ['OpenOption']}
-});
-pdfviewer.appendTo('#PdfViewer');
-{% endhighlight %}
-{% highlight html tabtitle="index.html" %}
-
-
-
-
- EJ2 PDF Viewer
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Loading....
-
-
-
-
-
-{% endhighlight %}
-{% endtabs %}
-
-N> To set up the **server-backed PDF Viewer**,
-Add the below `serviceUrl` in the `index.ts` file
-`pdfviewer.serviceUrl = 'https://services.syncfusion.com/js/production/api/pdfviewer';`
-
-{% previewsample "page.domainurl/code-snippet/pdfviewer/toolbar/toolbar-items-cs1" %}
-
-* **Show/Hide toolbaritem using showToolbaritem as in the following code snippet**
-
-{% tabs %}
-{% highlight ts tabtitle="index.ts" %}
-import { PdfViewer, Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, ThumbnailView,
- BookmarkView, TextSelection, TextSearch, FormFields, FormDesigner} from '@syncfusion/ej2-pdfviewer';
-
-PdfViewer.Inject( Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, ThumbnailView,
- BookmarkView, TextSelection, TextSearch, FormFields, FormDesigner );
-
-let pdfviewer: PdfViewer = new PdfViewer({
- documentPath:'https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf',
- resourceUrl:"https://cdn.syncfusion.com/ej2/23.1.43/dist/ej2-pdfviewer-lib"
-});
-pdfviewer.appendTo('#PdfViewer');
-document.getElementById('set').addEventListener('click', ()=> {
- pdfviewer.toolbar.showToolbarItem(["OpenOption"],false);
-});
-{% endhighlight %}
-{% highlight html tabtitle="index.html" %}
-
-
-
-
- EJ2 PDF Viewer
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Loading....
-
-
-
-
-
-
-{% endhighlight %}
-{% endtabs %}
-
-N> To set up the **server-backed PDF Viewer**,
-Add the below `serviceUrl` in the `index.ts` file
-`pdfviewer.serviceUrl = 'https://services.syncfusion.com/js/production/api/pdfviewer';`
-
-{% previewsample "page.domainurl/code-snippet/pdfviewer/toolbar/toolbar-items-method-cs1" %}
-
-## Customize Built-In Toolbar
-
-PDF Viewer allows you to customize(add, show, hide, enable, and disable) existing items in a toolbar.
-
-* Add - New items can defined by [**CustomToolbarItemModel**](https://ej2.syncfusion.com/documentation/api/pdfviewer/customToolbarItemModel/) and with existing items in [**ToolbarSettings**](https://ej2.syncfusion.com/documentation/api/pdfviewer/toolbarSettings/) property. Newly added item click action can be defined in [`toolbarclick`](https://ej2.syncfusion.com/documentation/api/toolbar/clickEventArgs/).
-
-* Show, Hide - Existing items can be shown or hidden using the [`ToolbarSettings`](https://ej2.syncfusion.com/documentation/api/pdfviewer/toolbarSettings/) property. Pre-defined toolbar items are available with [`ToolbarItem`](https://ej2.syncfusion.com/documentation/api/pdfviewer/toolbarItem/).
-
-* Enable, Disable - Toolbar items can be enabled or disable using [`enabletoolbaritem`](https://ej2.syncfusion.com/documentation/api/pdfviewer/toolbar/#enabletoolbaritem)
-
-{% tabs %}
-{% highlight js tabtitle="Standalone" %}
-
-import { PdfViewer, Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, TextSearch, FormFields, FormDesigner,Print,CustomToolbarItemModel} from '@syncfusion/ej2-pdfviewer';
-import { ComboBox } from "@syncfusion/ej2-dropdowns";
-import { TextBox } from "@syncfusion/ej2-inputs";
-PdfViewer.Inject(Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, TextSearch, FormFields, FormDesigner,Print);
-let toolItem1: CustomToolbarItemModel = {
- prefixIcon: 'e-icons e-paste',
- id: 'print',
- tooltipText: 'Custom toolbar item',
-};
-let toolItem2: CustomToolbarItemModel = {
- id: 'download',
- text: 'Save',
- tooltipText: 'Custom toolbar item',
- align: 'right'
-};
-let LanguageList: string[] = ['Typescript', 'Javascript', 'Angular', 'C#', 'C', 'Python'];
-let toolItem3: CustomToolbarItemModel = {
- type: 'Input',
- tooltipText: 'Language List',
- cssClass: 'percentage',
- align: 'Left',
- id: 'dropdown',
- template: new ComboBox({ width: 100, value: 'TypeScript', dataSource: LanguageList, popupWidth: 85, showClearButton: false, readonly: false })
-};
-let toolItem4: CustomToolbarItemModel = {
- type: 'Input',
- tooltipText: 'Text',
- align: 'Right',
- cssClass: 'find',
- id: 'textbox',
- template: new TextBox({ width: 125, placeholder: 'Type Here', created: OnCreateSearch })
-}
-let pdfviewer: PdfViewer = new PdfViewer();
-pdfviewer.documentPath = "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf";
-pdfviewer.resourceUrl = "https://cdn.syncfusion.com/ej2/23.1.43/dist/ej2-pdfviewer-lib";
-pdfviewer.toolbarSettings = { toolbarItems: [toolItem1, toolItem2, 'OpenOption', 'PageNavigationTool', 'MagnificationTool', toolItem3, 'PanTool', 'SelectionTool', 'SearchOption', 'PrintOption', 'DownloadOption', 'UndoRedoTool', 'AnnotationEditTool', 'FormDesignerEditTool', toolItem4, 'CommentTool', 'SubmitForm']}
-pdfviewer.appendTo('#PdfViewer');
-//To handle custom toolbar click event.
-pdfviewer.toolbarClick = function (args) {
- if (args.item && args.item.id === 'print') {
- pdfviewer.print.print();
- }
- else if (args.item && args.item.id === 'download') {
- pdfviewer.download();
- }
-};
-function OnCreateSearch(this: any): any {
- this.addIcon('prepend', 'e-icons e-search');
-}
-
-{% endhighlight %}
-{% highlight js tabtitle="Server-Backed" %}
-
-import { PdfViewer, Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, TextSearch, FormFields, FormDesigner,Print,CustomToolbarItemModel} from '@syncfusion/ej2-pdfviewer';
-import { ComboBox } from "@syncfusion/ej2-dropdowns";
-import { TextBox } from "@syncfusion/ej2-inputs";
-PdfViewer.Inject(Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, TextSearch, FormFields, FormDesigner,Print);
-let toolItem1: CustomToolbarItemModel = {
- prefixIcon: 'e-icons e-paste',
- id: 'print',
- tooltipText: 'Custom toolbar item',
-};
-let toolItem2: CustomToolbarItemModel = {
- id: 'download',
- text: 'Save',
- tooltipText: 'Custom toolbar item',
- align: 'right'
-};
-let LanguageList: string[] = ['Typescript', 'Javascript', 'Angular', 'C#', 'C', 'Python'];
-let toolItem3: CustomToolbarItemModel = {
- type: 'Input',
- tooltipText: 'Language List',
- cssClass: 'percentage',
- align: 'Left',
- id: 'dropdown',
- template: new ComboBox({ width: 100, value: 'TypeScript', dataSource: LanguageList, popupWidth: 85, showClearButton: false, readonly: false })
-};
-let toolItem4: CustomToolbarItemModel = {
- type: 'Input',
- tooltipText: 'Text',
- align: 'Right',
- cssClass: 'find',
- id: 'textbox',
- template: new TextBox({ width: 125, placeholder: 'Type Here', created: OnCreateSearch })
-}
-let pdfviewer: PdfViewer = new PdfViewer();
-pdfviewer.documentPath = "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf";
-pdfviewer.serviceUrl = 'https://services.syncfusion.com/js/production/api/pdfviewer';
-pdfviewer.toolbarSettings = { toolbarItems: [toolItem1, toolItem2, 'OpenOption', 'PageNavigationTool', 'MagnificationTool', toolItem3, 'PanTool', 'SelectionTool', 'SearchOption', 'PrintOption', 'DownloadOption', 'UndoRedoTool', 'AnnotationEditTool', 'FormDesignerEditTool', toolItem4, 'CommentTool', 'SubmitForm']}
-pdfviewer.appendTo('#PdfViewer');
-//To handle custom toolbar click event.
-pdfviewer.toolbarClick = function (args) {
- if (args.item && args.item.id === 'print') {
- pdfviewer.print.print();
- }
- else if (args.item && args.item.id === 'download') {
- pdfviewer.download();
- }
-};
-function OnCreateSearch(this: any): any {
- this.addIcon('prepend', 'e-icons e-search');
-}
-{% endhighlight %}
-{% endtabs %}
-
-N> Default value of toolbar items is ['OpenOption', 'PageNavigationTool','MagnificationTool', 'PanTool', 'SelectionTool', 'SearchOption', 'PrintOption', 'DownloadOption','UndoRedoTool', 'AnnotationEditTool', 'FormDesignerEditTool', 'CommentTool', 'SubmitForm']
-
-### Align Property
-
-The align property is used to specify the alignment of a toolbar item within the toolbar.
-
-`Left`: Aligns the item to the left side of the toolbar.
-`Right`: Aligns the item to the right side of the toolbar.
-
-### Tooltip Property
-
-The tooltip property is used to set the tooltip text for a toolbar item. Tooltip provides additional information when a user hovers over the item.
-
-### CssClass Property
-
-The cssClass property is used to apply custom CSS classes to a toolbar item. It allows custom styling of the toolbar item.
-
-### Prefix Property
-
-The prefix property is used to set the CSS class or icon that should be added as a prefix to the existing content of the toolbar item.
-
-### ID Property
-
-The id property within a CustomToolbarItemModel is a compulsory attribute that plays a vital role in toolbar customization. It serves as a unique identifier for each toolbar item, facilitating distinct references and interactions.
-
-When defining or customizing toolbar items, it is mandatory to assign a specific and descriptive id to each item.
-These properties are commonly used when defining custom toolbar items with the `CustomToolbarItemModel`` in the context of Syncfusion PDF Viewer. When configuring the toolbar using the `ToolbarSettings`` property, you can include these properties to customize the appearance and behavior of each toolbar item.
-
-N> When customizing toolbar items, you have the flexibility to include either icons or text based on your design preference.
-
-[View sample in GitHub](https://github.com/SyncfusionExamples/typescript-pdf-viewer-examples/tree/master/How%20to/customize%20existing%20toolbar)
-
-## Custom Toolbar
-
-The PDF Viewer provides API for user interactions options provided in it's built-in toolbar. Using this we can create our own User Interface for toolbar actions in application level by hiding the default toolbar. The following steps are used to create the custom toolbar for PDF Viewer,
-
-**Step 1:** Follow the steps provided in the [link](https://ej2.syncfusion.com/documentation/pdfviewer/getting-started) to create simple PDF Viewer sample.
-
-**Step 2:** Now, add an HTML div element to act as the custom toolbar PDF Viewer using the following code.
-
-```html
-
-
-
-
- Essential JS 2
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-```
-
-**Step 3:** Import and inject the modules used for the custom toolbar,
-
-```ts
-import {
- PdfViewer, Toolbar, Magnification, Navigation, LinkAnnotation, BookmarkView, ThumbnailView, Print,
- IPageChangeEventArgs, ILoadEventArgs, TextSearch, TextSelection
-} from '@syncfusion/ej2-pdfviewer';
-import { Toolbar as Tool, TreeView, NodeSelectEventArgs } from '@syncfusion/ej2-navigations';
-import { ClickEventArgs, Button, CheckBox, ChangeEventArgs } from '@syncfusion/ej2-buttons';
-import { Dialog } from '@syncfusion/ej2-popups';
-
-PdfViewer.Inject(Toolbar, Magnification, Navigation, LinkAnnotation, BookmarkView, ThumbnailView, Print, TextSearch, TextSelection);
-
-```
-
-**Step 4:** Hide the default toolbar of PDF Viewer using below code snippet,
-
-{% tabs %}
-{% highlight ts tabtitle="Standalone" %}
-
-```ts
-
- PdfViewer viewer = new PdfViewer({
- enableToolbar: false,
- enableThumbnail: false,
- documentPath: 'https://cdn.syncfusion.com/content/pdf/hive-succinctly.pdf'
- });
- viewer.appendTo('#pdfViewer');
-
-```
-{% endhighlight %}
-{% highlight ts tabtitle="Server-Backed" %}
-
-```ts
-
- PdfViewer viewer = new PdfViewer({
- enableToolbar: false,
- enableThumbnail: false,
- documentPath: 'https://cdn.syncfusion.com/content/pdf/hive-succinctly.pdf',
- serviceUrl: 'https://services.syncfusion.com/js/production/api/pdfviewer'
- });
- viewer.appendTo('#pdfViewer');
-
-```
-{% endhighlight %}
-{% endtabs %}
-
-**Step 5:** Add EJ2 Toolbar for perform primary actions like Open, Previous page, Next page, Go to page,Print and Download using the following code snippet,
-
-```ts
- Tool toolbarObj = new Tool({
- items: [
- { prefixIcon: 'e-pv-open-document', tooltipText: 'Open', id: 'openButton', click: openDocument.bind(this) },
- { prefixIcon: 'e-pv-bookmark-icon', tooltipText: 'Bookmark', id: 'bookmarkButton', click: bookmarkClicked },
- // tslint:disable-next-line:max-line-length
- { prefixIcon: 'e-pv-previous-page-navigation-icon', id: 'previousPage', tooltipText: 'Previous Page', align: 'Center', click: previousClicked.bind(this) },
- // tslint:disable-next-line:max-line-length
- { prefixIcon: 'e-pv-next-page-navigation-icon', id: 'nextPage', tooltipText: 'Next Page', align: 'Center', click: nextClicked.bind(this) },
- { template: inputTemplate, tooltipText: 'Page Number', align: 'Center' },
- { template: ele, tooltipText: 'Page Number', align: 'Center' },
- { prefixIcon: 'e-pv-search-icon', tooltipText: 'Text Search', align: 'Right', click: searchClicked.bind(this) },
- { prefixIcon: 'e-pv-print-document-icon', tooltipText: 'Print', align: 'Right', click: printClicked.bind(this) },
- { prefixIcon: 'e-pv-download-document-icon', tooltipText: 'Download', align: 'Right', click: downloadClicked.bind(this) }
- ]
- });
- toolbarObj.appendTo('#topToolbar');
-
-```
-
-**Step 6:** Add EJ2 Toolbar for perform magnification actions in PDF Viewer using following code snippet,
-
-```ts
-
- let magnificationToolbar: Tool = new Tool({
- items: [
- { prefixIcon: 'e-pv-fit-page-icon', id: 'fitPage', tooltipText: 'Fit to page', click: pageFitClicked.bind(this) },
- { prefixIcon: 'e-pv-zoom-in-icon', id: 'zoomIn', tooltipText: 'Zoom in', click: zoomInClicked.bind(this) },
- { prefixIcon: 'e-pv-zoom-out-icon', id: 'zoomOut', tooltipText: 'Zoom out', click: zoomOutClicked.bind(this) },
- ]
- });
- magnificationToolbar.appendTo('#magnificationToolbar');
-
-```
-
-**Step 7:** Add the following style to achieve the custom toolbar styling,
-
-```
-
-```
-
->The icons are embedded in the font file used in above code snippet.
-
-**Step 8:** Add the following scripts for performing user interaction in PDF Viewer in code behind
-
-{% tabs %}
-{% highlight ts tabtitle="Standalone" %}
-```ts
-
-import {
- PdfViewer, Toolbar, Magnification, Navigation, LinkAnnotation, BookmarkView, ThumbnailView, Print,
- IPageChangeEventArgs, ILoadEventArgs, TextSearch, TextSelection
-} from '@syncfusion/ej2-pdfviewer';
-import { Toolbar as Tool, TreeView, NodeSelectEventArgs } from '@syncfusion/ej2-navigations';
-import { ClickEventArgs, Button, CheckBox, ChangeEventArgs } from '@syncfusion/ej2-buttons';
-import { Dialog } from '@syncfusion/ej2-popups';
-
-PdfViewer.Inject(Toolbar, Magnification, Navigation, LinkAnnotation, BookmarkView, ThumbnailView, Print, TextSearch, TextSelection);
-
-/**
- * Default PdfViewer sample
- */
-
-let inputTemplate: string = '';
-let ele: string = '