diff --git a/Document-Processing/PDF/PDF-Viewer/angular/form-designer/form-field-events.md b/Document-Processing/PDF/PDF-Viewer/angular/form-designer/form-field-events.md
index a67d2a5e4..345642450 100644
--- a/Document-Processing/PDF/PDF-Viewer/angular/form-designer/form-field-events.md
+++ b/Document-Processing/PDF/PDF-Viewer/angular/form-designer/form-field-events.md
@@ -8,7 +8,7 @@ documentation: ug
domainurl: ##DomainURL##
---
-# PDF Viewer Form Field events
+# PDF Viewer Form Field events in Angular
The PDF Viewer control provides the support to different Form Field events. The Form Field events supported by the PDF Viewer Control are:
diff --git a/Document-Processing/PDF/PDF-Viewer/asp-net-core/form-designer/form-field-events.md b/Document-Processing/PDF/PDF-Viewer/asp-net-core/form-designer/form-field-events.md
index 6323a45e0..9be77ea98 100644
--- a/Document-Processing/PDF/PDF-Viewer/asp-net-core/form-designer/form-field-events.md
+++ b/Document-Processing/PDF/PDF-Viewer/asp-net-core/form-designer/form-field-events.md
@@ -4,11 +4,10 @@ title: Form Field Events in EJ2 ASP.NET CORE PDF Viewer | Syncfusion
description: Learn here all about form field event in ASP.NET CORE PDF Viewer component of Syncfusion Essential JS 2 and more.
platform: document-processing
control: Form Field Events
-publishingplatform: ASP.NET Core
documentation: ug
---
-# PDF Viewer Form Field events
+# PDF Viewer Form Field events in ASP.NET CORE
The PDF Viewer control provides the support to different Form Field events. The Form Field events supported by the PDF Viewer Control are:
@@ -114,7 +113,7 @@ The [formFieldClick](https://help.syncfusion.com/cr/aspnetcore-js2/syncfusion.ej
## formFieldDoubleClick event
-The [formFieldDoubleClick](https://help.syncfusion.com/cr/aspnetcore-js2/syncfusion.ej2.pdfviewer.pdfviewer.html#Syncfusion_EJ2_PdfViewer_PdfViewer_FormFieldDoubleClick/) event is triggered when a form field is double-clicked. The event arguments provide the necessary information about the form field double-click event.
+The [formFieldDoubleClick](https://help.syncfusion.com/cr/aspnetcore-js2/syncfusion.ej2.pdfviewer.pdfviewer.html#Syncfusion_EJ2_PdfViewer_PdfViewer_FormFieldDoubleClick) 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 cshtml tabtitle="Standalone" %}
@@ -156,7 +155,7 @@ The [formFieldDoubleClick](https://help.syncfusion.com/cr/aspnetcore-js2/syncfus
## formFieldFocusOut event
-The [formFieldFocusOut](https://help.syncfusion.com/cr/aspnetcore-js2/syncfusion.ej2.pdfviewer.pdfviewer.html#Syncfusion_EJ2_PdfViewer_PdfViewer_FormFieldFocusOut/) event is triggered when a form field loses focus. The event arguments provide the necessary information about the form field focus out event.
+The [formFieldFocusOut](https://help.syncfusion.com/cr/aspnetcore-js2/syncfusion.ej2.pdfviewer.pdfviewer.html#Syncfusion_EJ2_PdfViewer_PdfViewer_FormFieldFocusOut) 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 cshtml tabtitle="Standalone" %}
@@ -198,7 +197,7 @@ The [formFieldFocusOut](https://help.syncfusion.com/cr/aspnetcore-js2/syncfusion
## formFieldMouseLeave event
-The [formFieldMouseLeave](https://help.syncfusion.com/cr/aspnetcore-js2/syncfusion.ej2.pdfviewer.pdfviewer.html#Syncfusion_EJ2_PdfViewer_PdfViewer_FormFieldMouseLeave/) event is triggered when the mouse leaves a form field. The event arguments provide the necessary information about the form field mouse leave event.
+The [formFieldMouseLeave](https://help.syncfusion.com/cr/aspnetcore-js2/syncfusion.ej2.pdfviewer.pdfviewer.html#Syncfusion_EJ2_PdfViewer_PdfViewer_FormFieldMouseLeave) 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 cshtml tabtitle="Standalone" %}
@@ -240,7 +239,7 @@ The [formFieldMouseLeave](https://help.syncfusion.com/cr/aspnetcore-js2/syncfusi
## formFieldMouseOver event
-The [formFieldMouseOver](https://help.syncfusion.com/cr/aspnetcore-js2/syncfusion.ej2.pdfviewer.pdfviewer.html#Syncfusion_EJ2_PdfViewer_PdfViewer_FormFieldMouseover/) 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.
+The [formFieldMouseOver](https://help.syncfusion.com/cr/aspnetcore-js2/syncfusion.ej2.pdfviewer.pdfviewer.html#Syncfusion_EJ2_PdfViewer_PdfViewer_FormFieldMouseover) 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 cshtml tabtitle="Standalone" %}
@@ -286,7 +285,7 @@ The [formFieldMouseOver](https://help.syncfusion.com/cr/aspnetcore-js2/syncfusio
## formFieldMove event
-The [formFieldMove](https://help.syncfusion.com/cr/aspnetcore-js2/syncfusion.ej2.pdfviewer.pdfviewer.html#Syncfusion_EJ2_PdfViewer_PdfViewer_FormFieldMove/) 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.
+The [formFieldMove](https://help.syncfusion.com/cr/aspnetcore-js2/syncfusion.ej2.pdfviewer.pdfviewer.html#Syncfusion_EJ2_PdfViewer_PdfViewer_FormFieldMove) 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 cshtml tabtitle="Standalone" %}
@@ -332,7 +331,7 @@ The [formFieldMove](https://help.syncfusion.com/cr/aspnetcore-js2/syncfusion.ej2
## formFieldPropertiesChange event
-The [formFieldPropertiesChange](https://help.syncfusion.com/cr/aspnetcore-js2/syncfusion.ej2.pdfviewer.pdfviewer.html#Syncfusion_EJ2_PdfViewer_PdfViewer_FormFieldPropertiesChange/) 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.
+The [formFieldPropertiesChange](https://help.syncfusion.com/cr/aspnetcore-js2/syncfusion.ej2.pdfviewer.pdfviewer.html#Syncfusion_EJ2_PdfViewer_PdfViewer_FormFieldPropertiesChange) 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 cshtml tabtitle="Standalone" %}
@@ -393,7 +392,7 @@ The [formFieldPropertiesChange](https://help.syncfusion.com/cr/aspnetcore-js2/sy
## formFieldRemove event
-The [formFieldRemove](https://help.syncfusion.com/cr/aspnetcore-js2/syncfusion.ej2.pdfviewer.pdfviewer.html#Syncfusion_EJ2_PdfViewer_PdfViewer_FormFieldRemove/) 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.
+The [formFieldRemove](https://help.syncfusion.com/cr/aspnetcore-js2/syncfusion.ej2.pdfviewer.pdfviewer.html#Syncfusion_EJ2_PdfViewer_PdfViewer_FormFieldRemove) 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 cshtml tabtitle="Standalone" %}
@@ -435,7 +434,7 @@ The [formFieldRemove](https://help.syncfusion.com/cr/aspnetcore-js2/syncfusion.e
## formFieldResize event
-The [formFieldResize](https://help.syncfusion.com/cr/aspnetcore-js2/syncfusion.ej2.pdfviewer.pdfviewer.html#Syncfusion_EJ2_PdfViewer_PdfViewer_FormFieldResize/) 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.
+The [formFieldResize](https://help.syncfusion.com/cr/aspnetcore-js2/syncfusion.ej2.pdfviewer.pdfviewer.html#Syncfusion_EJ2_PdfViewer_PdfViewer_FormFieldResize) 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 cshtml tabtitle="Standalone" %}
@@ -481,7 +480,7 @@ The [formFieldResize](https://help.syncfusion.com/cr/aspnetcore-js2/syncfusion.e
## formFieldSelect event
-The [formFieldSelect](https://help.syncfusion.com/cr/aspnetcore-js2/syncfusion.ej2.pdfviewer.pdfviewer.html#Syncfusion_EJ2_PdfViewer_PdfViewer_FormFieldSelect/) 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.
+The [formFieldSelect](https://help.syncfusion.com/cr/aspnetcore-js2/syncfusion.ej2.pdfviewer.pdfviewer.html#Syncfusion_EJ2_PdfViewer_PdfViewer_FormFieldSelect) 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 cshtml tabtitle="Standalone" %}
@@ -523,7 +522,7 @@ The [formFieldSelect](https://help.syncfusion.com/cr/aspnetcore-js2/syncfusion.e
## formFieldUnselect event
-The [formFieldUnselect](https://help.syncfusion.com/cr/aspnetcore-js2/syncfusion.ej2.pdfviewer.pdfviewer.html#Syncfusion_EJ2_PdfViewer_PdfViewer_FormFieldUnselect/) 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.
+The [formFieldUnselect](https://help.syncfusion.com/cr/aspnetcore-js2/syncfusion.ej2.pdfviewer.pdfviewer.html#Syncfusion_EJ2_PdfViewer_PdfViewer_FormFieldUnselect) 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 cshtml tabtitle="Standalone" %}
@@ -565,7 +564,7 @@ The [formFieldUnselect](https://help.syncfusion.com/cr/aspnetcore-js2/syncfusion
## validateFormFields event
-The [ValidateFormFields](https://help.syncfusion.com/cr/aspnetcore-js2/syncfusion.ej2.pdfviewer.pdfviewer.html#Syncfusion_EJ2_PdfViewer_PdfViewer_ValidateFormFields/) 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.
+The [ValidateFormFields](https://help.syncfusion.com/cr/aspnetcore-js2/syncfusion.ej2.pdfviewer.pdfviewer.html#Syncfusion_EJ2_PdfViewer_PdfViewer_ValidateFormFields) 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 cshtml tabtitle="Standalone" %}
diff --git a/Document-Processing/PDF/PDF-Viewer/asp-net-core/how-to/add-save-button.md b/Document-Processing/PDF/PDF-Viewer/asp-net-core/how-to/add-save-button.md
index 0a54cedae..6eb8d0ced 100644
--- a/Document-Processing/PDF/PDF-Viewer/asp-net-core/how-to/add-save-button.md
+++ b/Document-Processing/PDF/PDF-Viewer/asp-net-core/how-to/add-save-button.md
@@ -1,14 +1,13 @@
---
layout: post
-title: Add Save Button in Built-In Toolbar | Syncfusion
+title: Add Save Button in Toolbar ASP.NET Core | Syncfusion
description: Learn here all about adding save button in built-in Toolbar in Syncfusion ASP.NET Core Pdfviewer component of Syncfusion Essential JS 2 and more.
platform: document-processing
control: PDF Viewer
-publishingplatform: ASP.NET Core
documentation: ug
---
-# Add Save Button in Built-In toolbar
+# Add Save Button in Built-In toolbar in ASP.NET Core
PDF Viewer allows you to customize(add, show, hide, enable, and disable) existing items in a toolbar.
diff --git a/Document-Processing/PDF/PDF-Viewer/asp-net-mvc/form-designer/form-field-events.md b/Document-Processing/PDF/PDF-Viewer/asp-net-mvc/form-designer/form-field-events.md
index 8dc096f03..4658bce2b 100644
--- a/Document-Processing/PDF/PDF-Viewer/asp-net-mvc/form-designer/form-field-events.md
+++ b/Document-Processing/PDF/PDF-Viewer/asp-net-mvc/form-designer/form-field-events.md
@@ -4,11 +4,10 @@ title: Form Field Events in EJ2 ASP.NET MVC PDF Viewer | Syncfusion
description: Learn here all about different form field event in ASP.NET MVC PDF Viewer component of Syncfusion Essential JS 2 and more.
platform: document-processing
control: Form Field Events
-publishingplatform: ASP.NET MVC
documentation: ug
---
-# PDF Viewer Form Field events
+# PDF Viewer Form Field events in ASP.NET MVC
The PDF Viewer control provides the support to different Form Field events. The Form Field events supported by the PDF Viewer Control are:
@@ -100,7 +99,7 @@ The [formFieldClick](https://help.syncfusion.com/cr/aspnetmvc-js2/syncfusion.ej2
## formFieldDoubleClick event
-The [formFieldDoubleClick](https://help.syncfusion.com/cr/aspnetmvc-js2/syncfusion.ej2.pdfviewer.pdfviewer.html#Syncfusion_EJ2_PdfViewer_PdfViewer_FormFieldDoubleClick/) event is triggered when a form field is double-clicked. The event arguments provide the necessary information about the form field double-click event.
+The [formFieldDoubleClick](https://help.syncfusion.com/cr/aspnetmvc-js2/syncfusion.ej2.pdfviewer.pdfviewer.html#Syncfusion_EJ2_PdfViewer_PdfViewer_FormFieldDoubleClick) 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 html tabtitle="Standalone" %}
@@ -135,7 +134,7 @@ The [formFieldDoubleClick](https://help.syncfusion.com/cr/aspnetmvc-js2/syncfusi
## formFieldFocusOut event
-The [formFieldFocusOut](https://help.syncfusion.com/cr/aspnetmvc-js2/syncfusion.ej2.pdfviewer.pdfviewer.html#Syncfusion_EJ2_PdfViewer_PdfViewer_FormFieldFocusOut/) event is triggered when a form field loses focus. The event arguments provide the necessary information about the form field focus out event.
+The [formFieldFocusOut](https://help.syncfusion.com/cr/aspnetmvc-js2/syncfusion.ej2.pdfviewer.pdfviewer.html#Syncfusion_EJ2_PdfViewer_PdfViewer_FormFieldFocusOut) 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 html tabtitle="Standalone" %}
@@ -170,7 +169,7 @@ The [formFieldFocusOut](https://help.syncfusion.com/cr/aspnetmvc-js2/syncfusion.
## formFieldMouseLeave event
-The [formFieldMouseLeave](https://help.syncfusion.com/cr/aspnetmvc-js2/syncfusion.ej2.pdfviewer.pdfviewer.html#Syncfusion_EJ2_PdfViewer_PdfViewer_FormFieldMouseLeave/) event is triggered when the mouse leaves a form field. The event arguments provide the necessary information about the form field mouse leave event.
+The [formFieldMouseLeave](https://help.syncfusion.com/cr/aspnetmvc-js2/syncfusion.ej2.pdfviewer.pdfviewer.html#Syncfusion_EJ2_PdfViewer_PdfViewer_FormFieldMouseLeave) 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 html tabtitle="Standalone" %}
@@ -205,7 +204,7 @@ The [formFieldMouseLeave](https://help.syncfusion.com/cr/aspnetmvc-js2/syncfusio
## formFieldMouseOver event
-The [formFieldMouseOver](https://help.syncfusion.com/cr/aspnetmvc-js2/syncfusion.ej2.pdfviewer.pdfviewer.html#Syncfusion_EJ2_PdfViewer_PdfViewer_FormFieldMouseover/) 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.
+The [formFieldMouseOver](https://help.syncfusion.com/cr/aspnetmvc-js2/syncfusion.ej2.pdfviewer.pdfviewer.html#Syncfusion_EJ2_PdfViewer_PdfViewer_FormFieldMouseover) 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 html tabtitle="Standalone" %}
@@ -245,7 +244,7 @@ The [formFieldMouseOver](https://help.syncfusion.com/cr/aspnetmvc-js2/syncfusion
## formFieldMove event
-The [formFieldMove](https://help.syncfusion.com/cr/aspnetmvc-js2/syncfusion.ej2.pdfviewer.pdfviewer.html#Syncfusion_EJ2_PdfViewer_PdfViewer_FormFieldMove/) 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.
+The [formFieldMove](https://help.syncfusion.com/cr/aspnetmvc-js2/syncfusion.ej2.pdfviewer.pdfviewer.html#Syncfusion_EJ2_PdfViewer_PdfViewer_FormFieldMove) 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 html tabtitle="Standalone" %}
@@ -285,7 +284,7 @@ The [formFieldMove](https://help.syncfusion.com/cr/aspnetmvc-js2/syncfusion.ej2.
## formFieldPropertiesChange event
-The [formFieldPropertiesChange](https://help.syncfusion.com/cr/aspnetmvc-js2/syncfusion.ej2.pdfviewer.pdfviewer.html#Syncfusion_EJ2_PdfViewer_PdfViewer_FormFieldPropertiesChange/) 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.
+The [formFieldPropertiesChange](https://help.syncfusion.com/cr/aspnetmvc-js2/syncfusion.ej2.pdfviewer.pdfviewer.html#Syncfusion_EJ2_PdfViewer_PdfViewer_FormFieldPropertiesChange) 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 html tabtitle="Standalone" %}
@@ -435,7 +434,7 @@ The [formFieldResize](https://help.syncfusion.com/cr/aspnetmvc-js2/syncfusion.ej
## formFieldSelect event
-The [formFieldSelect](https://help.syncfusion.com/cr/aspnetmvc-js2/syncfusion.ej2.pdfviewer.pdfviewer.html#Syncfusion_EJ2_PdfViewer_PdfViewer_FormFieldSelect/) 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.
+The [formFieldSelect](https://help.syncfusion.com/cr/aspnetmvc-js2/syncfusion.ej2.pdfviewer.pdfviewer.html#Syncfusion_EJ2_PdfViewer_PdfViewer_FormFieldSelect) 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 html tabtitle="Standalone" %}
@@ -471,7 +470,7 @@ The [formFieldSelect](https://help.syncfusion.com/cr/aspnetmvc-js2/syncfusion.ej
## formFieldUnselect event
-The [formFieldUnselect](https://help.syncfusion.com/cr/aspnetmvc-js2/syncfusion.ej2.pdfviewer.pdfviewer.html#Syncfusion_EJ2_PdfViewer_PdfViewer_FormFieldUnselect/) 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.
+The [formFieldUnselect](https://help.syncfusion.com/cr/aspnetmvc-js2/syncfusion.ej2.pdfviewer.pdfviewer.html#Syncfusion_EJ2_PdfViewer_PdfViewer_FormFieldUnselect) 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 html tabtitle="Standalone" %}
@@ -507,7 +506,7 @@ The [formFieldUnselect](https://help.syncfusion.com/cr/aspnetmvc-js2/syncfusion.
## validateFormFields event
-The [ValidateFormFields](https://help.syncfusion.com/cr/aspnetmvc-js2/syncfusion.ej2.pdfviewer.pdfviewer.html#Syncfusion_EJ2_PdfViewer_PdfViewer_ValidateFormFields/) 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.
+The [ValidateFormFields](https://help.syncfusion.com/cr/aspnetmvc-js2/syncfusion.ej2.pdfviewer.pdfviewer.html#Syncfusion_EJ2_PdfViewer_PdfViewer_ValidateFormFields) 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 html tabtitle="Standalone" %}
diff --git a/Document-Processing/PDF/PDF-Viewer/javascript-es5/form-designer/create-with-user-interface-interaction.md b/Document-Processing/PDF/PDF-Viewer/javascript-es5/form-designer/create-with-user-interface-interaction.md
index 8162303cb..8f49ed1fd 100644
--- a/Document-Processing/PDF/PDF-Viewer/javascript-es5/form-designer/create-with-user-interface-interaction.md
+++ b/Document-Processing/PDF/PDF-Viewer/javascript-es5/form-designer/create-with-user-interface-interaction.md
@@ -4,12 +4,11 @@ title: User interaction in Javascript Pdfviewer control | Syncfusion
description: Learn here all about Create with user interface interaction in Syncfusion Javascript Pdfviewer control of Syncfusion Essential JS 2 and more.
platform: document-processing
control: Create with user interface interaction
-publishingplatform: Javascript
documentation: ug
domainurl: ##DomainURL##
---
-# Create with user interface interaction
+# Create with user interface interaction for JavaScript
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:
diff --git a/Document-Processing/PDF/PDF-Viewer/javascript-es5/form-designer/form-field-events.md b/Document-Processing/PDF/PDF-Viewer/javascript-es5/form-designer/form-field-events.md
index 64f800d72..c6345afbe 100644
--- a/Document-Processing/PDF/PDF-Viewer/javascript-es5/form-designer/form-field-events.md
+++ b/Document-Processing/PDF/PDF-Viewer/javascript-es5/form-designer/form-field-events.md
@@ -4,12 +4,11 @@ title: Form Field Events in Javascript Pdfviewer control | Syncfusion
description: Learn here all about different form field in Syncfusion Javascript Pdfviewer component of Syncfusion Essential JS 2 and more.
platform: document-processing
control: Form Field Events
-publishingplatform: Javascript
documentation: ug
domainurl: ##DomainURL##
---
-# PDF Viewer Form Field events
+# PDF Viewer Form Field events in JavaScript
The PDF Viewer control provides the support to different Form Field events. The Form Field events supported by the PDF Viewer Control are:
diff --git a/Document-Processing/PDF/PDF-Viewer/javascript-es5/how-to/add-save-button-js.md b/Document-Processing/PDF/PDF-Viewer/javascript-es5/how-to/add-save-button-js.md
index 05a8aa185..63240a13d 100644
--- a/Document-Processing/PDF/PDF-Viewer/javascript-es5/how-to/add-save-button-js.md
+++ b/Document-Processing/PDF/PDF-Viewer/javascript-es5/how-to/add-save-button-js.md
@@ -4,12 +4,11 @@ title: Add Save button in Javascript Pdfviewer control | Syncfusion
description: Learn here all about How to add save button in Toolbar in Syncfusion Javascript Pdfviewer control of Syncfusion Essential JS 2 and more.
platform: document-processing
control: Toolbar
-publishingplatform: Javascript
documentation: ug
domainurl: ##DomainURL##
---
-# Add Save button in Built-In Toolbar
+# Add Save button in Built-In Toolbar in JavaScript
PDF Viewer allows you to customize (add, show, hide, enable, and disable) existing items in a toolbar.
diff --git a/Document-Processing/PDF/PDF-Viewer/javascript-es6/accessibility.md b/Document-Processing/PDF/PDF-Viewer/javascript-es6/accessibility.md
index bf4f9699f..f84c242e4 100644
--- a/Document-Processing/PDF/PDF-Viewer/javascript-es6/accessibility.md
+++ b/Document-Processing/PDF/PDF-Viewer/javascript-es6/accessibility.md
@@ -1,19 +1,18 @@
---
layout: post
-title: Accessibility in Typescript Pdfviewer control | Syncfusion
-description: Learn here all about accessibility in Syncfusion Typescript Pdfviewer control of Syncfusion Essential JS 2 and more.
+title: Accessibility in TypeScript PDF Viewer | Syncfusion
+description: Learn about accessibility in the Syncfusion TypeScript PDF Viewer, including compliance with WCAG 2.2, Section 508, ADA and keyboard navigation support.
platform: document-processing
control: PDF Viewer
-publishingplatform: Typescript
documentation: ug
domainurl: ##DomainURL##
---
-# Accessibility in Syncfusion PDF Viewer components
+# Accessibility in Syncfusion PDF Viewer control TypeScript
-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 PDF Viewer component follows established 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/), 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.
+The accessibility compliance for the PDF Viewer component is summarized below.
| Accessibility Criteria | Compatibility |
| -- | -- |
@@ -39,29 +38,31 @@ The accessibility compliance for the PDF Viewer component is outlined below.
- The component does not meet the requirement.
+Note: Mobile device support is marked as partial due to platform-level constraints on hover interactions, complex keyboard navigation, and screen reader capabilities that vary by device and browser.
+
## 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:
+[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. |
+| `aria-expanded`| Indicates whether an element within the PDF Viewer is expanded or collapsed. |
+| `aria-readonly` | Indicates the read-only state of a PDF Viewer element. |
+| `aria-haspopup` | Indicates the presence of a popup, such as a context menu or submenu. |
+| `aria-label` | Provides a human-readable label for interactive elements in the PDF Viewer. |
+| `aria-labelledby` | Identifies the element(s) that label the PDF Viewer, often referencing the title element. |
+| `aria-describedby` | Identifies the element(s) that describe the PDF Viewer or its controls. |
+| `aria-orientation` | Indicates whether an element is oriented horizontally or vertically. |
+| `aria-valuetext` | Provides a human-readable text alternative for the current value of a range-type element. |
+| `aria-valuemax` | Specifies the maximum value of a range-type element. |
+| `aria-valuemin` | Specifies the minimum value of a range-type element. |
+| `aria-valuenow` | Specifies the current value of a range-type element. |
+| `aria-controls` | Identifies the element(s) controlled by the current element. |
## 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.
+The PDF Viewer component follows 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 rely on keyboard navigation. The following keyboard shortcuts are supported by the PDF Viewer component.
| **Press (Windows)** |**Press (Macintosh)** | **To do this** |
| --- | --- | --- |
@@ -70,7 +71,7 @@ The PDF Viewer component followed the [keyboard interaction](https://www.w3.org/
| 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|
+| CONTROL + G | COMMAND + G | Go to a specific page|
|Up Arrow |Up Arrow |Scroll up|
| Down Arrow | Down Arrow | Scroll down|
|||**Shortcuts for Zooming**|
@@ -86,7 +87,7 @@ The PDF Viewer component followed the [keyboard interaction](https://www.w3.org/
|||**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|
+| 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|
@@ -96,15 +97,7 @@ The PDF Viewer component followed the [keyboard interaction](https://www.w3.org/
|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.
+The PDF Viewer supports custom keyboard commands through a `commandManager`, which handles commands triggered by specific key gestures. Custom commands are defined by users and executed accordingly. The `commandManager` includes a `keyboardCommand` collection to hold custom keyboard commands. Each custom command is represented by a `KeyboardCommand` entry, containing the command name and associated keyboard combination. Additionally, the `keyboardCustomCommands` parameter utilizes an event callback to handle keyboard events and trigger methods when specific key combinations are pressed.
```html
@@ -161,7 +154,7 @@ PdfViewer.Inject(
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"
+ resourceUrl:"https://cdn.syncfusion.com/ej2/31.1.23/dist/ej2-pdfviewer-lib"
});
pdfviewer.commandManager = {
keyboardCommand: [{
@@ -259,18 +252,15 @@ 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:
+Each `keyboardCommand` object consists of a `name` property for the custom command and a `gesture` property defining the key gesture associated with the command. For example, the `customCopy` command is associated with the G key and requires both the Shift and Alt modifier keys to be pressed simultaneously.
-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`.
+Key modifiers used in gestures:
+- Ctrl corresponds to the Control key (value `1`).
+- Alt corresponds to the Alt key (value `2`).
+- Shift corresponds to the Shift key (value `4`).
+- Meta corresponds to the Command key on macOS or the Windows key on Windows (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.
+This setup enables users to perform custom actions within the PDF Viewer by pressing specific key combinations, improving navigation and interaction efficiency.
## Ensuring accessibility
diff --git a/Document-Processing/PDF/PDF-Viewer/javascript-es6/annotations/annotation-event.md b/Document-Processing/PDF/PDF-Viewer/javascript-es6/annotations/annotation-event.md
new file mode 100644
index 000000000..acdb64e69
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/javascript-es6/annotations/annotation-event.md
@@ -0,0 +1,992 @@
+---
+title: Annotations Events in TypeScript PDF Viewer control | Syncfusion
+description: Learn here all about Annotations Events in Syncfusion TypeScript PDF Viewer component of Syncfusion Essential JS 2 and more.
+platform: document-processing
+control: PDF Viewer
+documentation: ug
+
+domainurl: ##DomainURL##
+---
+
+# Annotations Events in TypeScript PDF Viewer control
+
+The PDF Viewer component triggers various events based on user interactions and changes in the component's state. These events can be used to perform actions when a specific event occurs. This section describes the events available in the PDF Viewer component.
+
+| Event | Description |
+| ------------------------------------------------------------------ | ---------------------------------------------------------------------------------- |
+| [`annotationAdd`](#annotationadd) | Triggers when an annotation is added to a page in the PDF document. |
+| [`annotationDoubleClick`](#annotationdoubleclick) | Triggers when an annotation is double-clicked. |
+| [`annotationMouseLeave`](#annotationmouseleave) | Triggers when the mouse pointer moves away from an annotation object. |
+| [`annotationMouseover`](#annotationmouseover) | Triggers when the mouse pointer moves over an annotation object. |
+| [`annotationMove`](#annotationmove) | Triggers when an annotation is moved on a page in the PDF document. |
+| [`annotationMoving`](#annotationmoving) | Triggers while an annotation is being moved. |
+| [`annotationPropertiesChange`](#annotationpropertieschange) | Triggers when the properties of an annotation are modified on a PDF page. |
+| [`annotationRemove`](#annotationremove) | Triggers when an annotation is removed from a page in the PDF document. |
+| [`annotationResize`](#annotationresize) | Triggers when an annotation is resized on a page in the PDF document. |
+| [`annotationSelect`](#annotationselect) | Triggers when an annotation is selected on a page in the PDF document. |
+| [`annotationUnSelect`](#annotationunselect) | Triggers when an annotation is unselected on a page in the PDF document. |
+| [`beforeAddFreeText`](#beforeaddfreetext) | Triggers before adding a text in the freeText annotation. |
+| [`addSignature`](#addsignature) | Triggers when a signature is added to a page in the PDF document. |
+| [`removeSignature`](#removesignature) | Triggers when a signature is removed from a page in the PDF document. |
+| [`resizeSignature`](#resizesignature) | Triggers when a signature is resized on a page in the PDF document. |
+| [`signaturePropertiesChange`](#signaturepropertieschange) | Triggers when the properties of a signature are changed on a page in the PDF document. |
+| [`signatureSelect`](#signatureselect) | Triggers when a signature is selected on a page in the PDF document. |
+| [`signatureUnselect`](#signatureunselect) | Triggers when a signature is unselected on a page in the PDF document. |
+
+
+### annotationAdd
+
+The [annotationAdd](https://ej2.syncfusion.com/javascript/documentation/api/pdfviewer/#annotationaddevent) event is triggered when an annotation is added to a PDF document's page.
+
+#### Event Arguments
+
+For event data, see [AnnotationAddEventArgs](https://ej2.syncfusion.com/javascript/documentation/api/pdfviewer/annotationAddEventArgs/). It provides properties such as `annotationId`, `pageNumber`, `annotationType`, and `bounds`.
+
+The following example illustrates how to handle the `annotationAdd` event.
+
+```html
+
+
+
+
+ EJ2 PDF Viewer
+
+
+
+
+
+
+
+
+
+
+
+
Loading....
+
+
+
+
+
+```
+
+```typescript
+import { PdfViewer, Toolbar, Magnification, Navigation, LinkAnnotation,ThumbnailView, BookmarkView,
+ TextSelection, Annotation, FormDesigner, FormFields, FormFieldAddArgs, PageOrganizer } from '@syncfusion/ej2-pdfviewer';
+
+PdfViewer.Inject( Toolbar,Magnification, Navigation, LinkAnnotation,ThumbnailView,
+ BookmarkView, TextSelection, Annotation, FormDesigner, FormFields, PageOrganizer );
+
+
+let viewer: PdfViewer = new PdfViewer({
+ documentPath: 'https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf',
+ resourceUrl: 'https://cdn.syncfusion.com/ej2/31.1.23/dist/ej2-pdfviewer-lib',
+ annotationAdd: function (args: any) {
+ console.log('Annotation added with ID: ' + args.annotationId);
+ console.log('Annotation type: ' + args.annotationType);
+ }
+});
+viewer.appendTo('#pdfViewer');
+```
+
+### annotationDoubleClick
+
+The [annotationDoubleClick](https://ej2.syncfusion.com/javascript/documentation/api/pdfviewer/#annotationdoubleclickevent) event is triggered when an annotation is double-clicked.
+
+#### Event Arguments
+
+For event data, see [AnnotationDoubleClickEventArgs](https://ej2.syncfusion.com/javascript/documentation/api/pdfviewer/annotationDoubleClickEventArgs/).
+
+The following example illustrates how to handle the `annotationDoubleClick` event.
+
+```html
+
+
+
+
+ EJ2 PDF Viewer
+
+
+
+
+
+
+
+
+
+
+
+
Loading....
+
+
+
+
+
+```
+
+```typescript
+import { PdfViewer, Toolbar, Magnification, Navigation, LinkAnnotation,ThumbnailView, BookmarkView,
+ TextSelection, Annotation, FormDesigner, FormFields, FormFieldAddArgs, PageOrganizer } from '@syncfusion/ej2-pdfviewer';
+
+PdfViewer.Inject( Toolbar,Magnification, Navigation, LinkAnnotation,ThumbnailView,
+ BookmarkView, TextSelection, Annotation, FormDesigner, FormFields, PageOrganizer );
+
+let viewer: PdfViewer = new PdfViewer({
+ documentPath: 'https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf',
+ resourceUrl: 'https://cdn.syncfusion.com/ej2/31.1.23/dist/ej2-pdfviewer-lib',
+ annotationDoubleClick: function (args: any) {
+ console.log('Annotation double-clicked on page: ' + args.pageIndex);
+ }
+});
+viewer.appendTo('#pdfViewer');
+```
+
+### annotationMouseLeave
+
+The [annotationMouseLeave](https://ej2.syncfusion.com/javascript/documentation/api/pdfviewer/#annotationmouseleaveevent) event is triggered when the user's mouse pointer moves away from an annotation object.
+
+#### Event Arguments
+
+For event data, see [AnnotationMouseLeaveEventArgs](https://ej2.syncfusion.com/javascript/documentation/api/pdfviewer/annotationMouseLeaveEventArgs/).
+
+The following example illustrates how to handle the `annotationMouseLeave` event.
+
+```html
+
+
+
+
+ EJ2 PDF Viewer
+
+
+
+
+
+
+
+
+
+
+
+
Loading....
+
+
+
+
+
+```
+
+```typescript
+import { PdfViewer, Toolbar, Magnification, Navigation, LinkAnnotation,ThumbnailView, BookmarkView,
+ TextSelection, Annotation, FormDesigner, FormFields, FormFieldAddArgs, PageOrganizer } from '@syncfusion/ej2-pdfviewer';
+
+PdfViewer.Inject( Toolbar,Magnification, Navigation, LinkAnnotation,ThumbnailView,
+ BookmarkView, TextSelection, Annotation, FormDesigner, FormFields, PageOrganizer );
+
+let viewer: PdfViewer = new PdfViewer({
+ documentPath: 'https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf',
+ resourceUrl: 'https://cdn.syncfusion.com/ej2/31.1.23/dist/ej2-pdfviewer-lib',
+ annotationMouseLeave: function (args: any) {
+ console.log('Annotation mouse leave event is triggered for annotation with ID: ' + args.pageIndex);
+ }
+});
+viewer.appendTo('#pdfViewer');
+```
+
+### annotationMouseover
+
+The [annotationMouseover](https://ej2.syncfusion.com/javascript/documentation/api/pdfviewer/#annotationmouseoverevent) event is triggered when the mouse is moved over an annotation object.
+
+#### Event Arguments
+
+For event data, see [AnnotationMouseOverEventArgs](https://ej2.syncfusion.com/javascript/documentation/api/pdfviewer/annotationMouseOverEventArgs/).
+
+The following example illustrates how to handle the `annotationMouseover` event.
+
+```html
+
+
+
+
+ EJ2 PDF Viewer
+
+
+
+
+
+
+
+
+
+
+
+
+
Loading....
+
+
+
+
+
+```
+
+```typescript
+import { PdfViewer, Toolbar, Magnification, Navigation, LinkAnnotation,ThumbnailView, BookmarkView,
+ TextSelection, Annotation, FormDesigner, FormFields, FormFieldAddArgs, PageOrganizer } from '@syncfusion/ej2-pdfviewer';
+
+PdfViewer.Inject( Toolbar,Magnification, Navigation, LinkAnnotation,ThumbnailView,
+ BookmarkView, TextSelection, Annotation, FormDesigner, FormFields, PageOrganizer );
+
+let viewer: PdfViewer = new PdfViewer({
+ documentPath: 'https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf',
+ resourceUrl: 'https://cdn.syncfusion.com/ej2/31.1.23/dist/ej2-pdfviewer-lib',
+ annotationMouseover: function (args: any) {
+ console.log('Annotation mouse over event is triggered for annotation with ID: ' + args.annotationId);
+ }
+});
+viewer.appendTo('#pdfViewer');
+```
+
+### annotationMove
+
+The [annotationMove](https://ej2.syncfusion.com/javascript/documentation/api/pdfviewer/#annotationmoveevent) event is triggered when an annotation is moved over the page of the PDF document.
+
+#### Event Arguments
+
+For event data, see [AnnotationMoveEventArgs](https://ej2.syncfusion.com/javascript/documentation/api/pdfviewer/annotationMoveEventArgs/).
+
+The following example illustrates how to handle the `annotationMove` event.
+
+```html
+
+
+
+
+ EJ2 PDF Viewer
+
+
+
+
+
+
+
+
+
+
+
+
+
Loading....
+
+
+
+
+
+```
+
+```typescript
+import { PdfViewer, Toolbar, Magnification, Navigation, LinkAnnotation,ThumbnailView, BookmarkView,
+ TextSelection, Annotation, FormDesigner, FormFields, FormFieldAddArgs, PageOrganizer } from '@syncfusion/ej2-pdfviewer';
+
+PdfViewer.Inject( Toolbar,Magnification, Navigation, LinkAnnotation,ThumbnailView,
+ BookmarkView, TextSelection, Annotation, FormDesigner, FormFields, PageOrganizer );
+
+let viewer: PdfViewer = new PdfViewer({
+ documentPath: 'https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf',
+ resourceUrl: 'https://cdn.syncfusion.com/ej2/31.1.23/dist/ej2-pdfviewer-lib',
+ annotationMove: function (args: any) {
+ console.log('Annotation moved. ID: ' + args.annotationId + ' on page ' + args.pageIndex);
+ }
+});
+viewer.appendTo('#pdfViewer');
+```
+
+### annotationMoving
+
+The [annotationMoving](https://ej2.syncfusion.com/javascript/documentation/api/pdfviewer/#annotationmovingevent) event is triggered while an annotation is being moved.
+
+#### Event Arguments
+
+For event data, see [AnnotationMovingEventArgs](https://ej2.syncfusion.com/javascript/documentation/api/pdfviewer/annotationMovingEventArgs/).
+
+The following example illustrates how to handle the `annotationMoving` event.
+
+```html
+
+
+
+
+ EJ2 PDF Viewer
+
+
+
+
+
+
+
+
+
+
+
+
+
Loading....
+
+
+
+
+
+```
+
+```typescript
+import { PdfViewer, Toolbar, Magnification, Navigation, LinkAnnotation,ThumbnailView, BookmarkView,
+ TextSelection, Annotation, FormDesigner, FormFields, FormFieldAddArgs, PageOrganizer } from '@syncfusion/ej2-pdfviewer';
+
+PdfViewer.Inject( Toolbar,Magnification, Navigation, LinkAnnotation,ThumbnailView,
+ BookmarkView, TextSelection, Annotation, FormDesigner, FormFields, PageOrganizer );
+
+let viewer: PdfViewer = new PdfViewer({
+ documentPath: 'https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf',
+ resourceUrl: 'https://cdn.syncfusion.com/ej2/31.1.23/dist/ej2-pdfviewer-lib',
+ annotationMoving: function (args: any) {
+ console.log('Annotation is being moved. Current Action: ' + args.currentPosition);
+ }
+});
+viewer.appendTo('#pdfViewer');
+```
+
+### annotationPropertiesChange
+
+The [annotationPropertiesChange](https://ej2.syncfusion.com/javascript/documentation/api/pdfviewer/#annotationpropertieschangeevent) event is triggered when an annotation's property is modified on a PDF document page.
+
+#### Event Arguments
+
+For event data, see [AnnotationPropertiesChangeEventArgs](https://ej2.syncfusion.com/javascript/documentation/api/pdfviewer/annotationPropertiesChangeEventArgs/). It provides properties such as `annotationId`, `pageNumber`, and `action`.
+
+The following example illustrates how to handle the `annotationPropertiesChange` event.
+
+```html
+
+
+
+
+ EJ2 PDF Viewer
+
+
+
+
+
+
+
+
+
+
+
+
Loading....
+
+
+
+
+
+```
+
+```typescript
+import { PdfViewer, Toolbar, Magnification, Navigation, LinkAnnotation,ThumbnailView, BookmarkView,
+ TextSelection, Annotation, FormDesigner, FormFields, FormFieldAddArgs, PageOrganizer } from '@syncfusion/ej2-pdfviewer';
+
+PdfViewer.Inject( Toolbar,Magnification, Navigation, LinkAnnotation,ThumbnailView,
+ BookmarkView, TextSelection, Annotation, FormDesigner, FormFields, PageOrganizer );
+
+let viewer: PdfViewer = new PdfViewer({
+ documentPath: 'https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf',
+ resourceUrl: 'https://cdn.syncfusion.com/ej2/31.1.23/dist/ej2-pdfviewer-lib',
+ annotationPropertiesChange: function (args: any) {
+ console.log('Annotation properties changed for ID: ' + args.annotationId);
+ console.log('isThicknessChanged: ' + args.isThicknessChanged);
+ }
+});
+viewer.appendTo('#pdfViewer');
+```
+
+### annotationRemove
+
+The [annotationRemove](https://ej2.syncfusion.com/javascript/documentation/api/pdfviewer/#annotationremoveevent) event is triggered when an annotation is removed from a PDF document's page.
+
+#### Event Arguments
+
+For event data, see [AnnotationRemoveEventArgs](https://ej2.syncfusion.com/javascript/documentation/api/pdfviewer/annotationRemoveEventArgs/). It provides properties such as `annotationId` and `pageNumber`.
+
+The following example illustrates how to handle the `annotationRemove` event.
+
+```html
+
+
+
+
+ EJ2 PDF Viewer
+
+
+
+
+
+
+
+
+
+
+
+
+
Loading....
+
+
+
+
+
+```
+
+```typescript
+import { PdfViewer, Toolbar, Magnification, Navigation, LinkAnnotation,ThumbnailView, BookmarkView,
+ TextSelection, Annotation, FormDesigner, FormFields, FormFieldAddArgs, PageOrganizer } from '@syncfusion/ej2-pdfviewer';
+
+PdfViewer.Inject( Toolbar,Magnification, Navigation, LinkAnnotation,ThumbnailView,
+ BookmarkView, TextSelection, Annotation, FormDesigner, FormFields, PageOrganizer );
+
+let viewer: PdfViewer = new PdfViewer({
+ documentPath: 'https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf',
+ resourceUrl: 'https://cdn.syncfusion.com/ej2/31.1.23/dist/ej2-pdfviewer-lib',
+ annotationRemove: function (args: any) {
+ console.log('Annotation removed with ID: ' + args.annotationId);
+ }
+});
+viewer.appendTo('#pdfViewer');
+```
+
+### annotationResize
+
+The [annotationResize](https://ej2.syncfusion.com/javascript/documentation/api/pdfviewer/#annotationresizeevent) event is triggered when an annotation is resized on a PDF document page.
+
+#### Event Arguments
+
+For event data, see [AnnotationResizeEventArgs](https://ej2.syncfusion.com/javascript/documentation/api/pdfviewer/annotationResizeEventArgs/).
+
+The following example illustrates how to handle the `annotationResize` event.
+
+```html
+
+
+
+
+ EJ2 PDF Viewer
+
+
+
+
+
+
+
+
+
+
+
+
+
Loading....
+
+
+
+
+
+```
+
+```typescript
+import { PdfViewer, Toolbar, Magnification, Navigation, LinkAnnotation,ThumbnailView, BookmarkView,
+ TextSelection, Annotation, FormDesigner, FormFields, FormFieldAddArgs, PageOrganizer } from '@syncfusion/ej2-pdfviewer';
+
+PdfViewer.Inject( Toolbar,Magnification, Navigation, LinkAnnotation,ThumbnailView,
+ BookmarkView, TextSelection, Annotation, FormDesigner, FormFields, PageOrganizer );
+
+let viewer: PdfViewer = new PdfViewer({
+ documentPath: 'https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf',
+ resourceUrl: 'https://cdn.syncfusion.com/ej2/31.1.23/dist/ej2-pdfviewer-lib',
+ annotationResize: function (args: any) {
+ console.log('Annotation resized. ID: ' + args.annotationId);
+ }
+});
+viewer.appendTo('#pdfViewer');
+```
+
+### annotationSelect
+
+The [annotationSelect](https://ej2.syncfusion.com/javascript/documentation/api/pdfviewer/#annotationselectevent) event is triggered when an annotation is selected on a PDF document's page.
+
+#### Event Arguments
+
+For event data, see [AnnotationSelectEventArgs](https://ej2.syncfusion.com/javascript/documentation/api/pdfviewer/annotationSelectEventArgs/).
+
+The following example illustrates how to handle the `annotationSelect` event.
+
+```html
+
+
+
+
+ EJ2 PDF Viewer
+
+
+
+
+
+
+
+
+
+
+
+
+
Loading....
+
+
+
+
+
+```
+
+```typescript
+import { PdfViewer, Toolbar, Magnification, Navigation, LinkAnnotation,ThumbnailView, BookmarkView,
+ TextSelection, Annotation, FormDesigner, FormFields, FormFieldAddArgs, PageOrganizer } from '@syncfusion/ej2-pdfviewer';
+
+PdfViewer.Inject( Toolbar,Magnification, Navigation, LinkAnnotation,ThumbnailView,
+ BookmarkView, TextSelection, Annotation, FormDesigner, FormFields, PageOrganizer );
+
+let viewer: PdfViewer = new PdfViewer({
+ documentPath: 'https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf',
+ resourceUrl: 'https://cdn.syncfusion.com/ej2/31.1.23/dist/ej2-pdfviewer-lib',
+ annotationSelect: (args: any) => {
+ console.log('Annotation selected with ID: ' + args.annotationId);
+ }
+});
+viewer.appendTo('#pdfViewer');
+```
+
+### annotationUnselect
+
+The [annotationUnselect](https://ej2.syncfusion.com/javascript/documentation/api/pdfviewer/#annotationunselectevent) event is triggered when an annotation is unselected from the PDF document's page.
+
+#### Event Arguments
+
+For event data, see [AnnotationUnSelectEventArgs](https://ej2.syncfusion.com/javascript/documentation/api/pdfviewer/annotationUnSelectEventArgs/).
+
+The following example illustrates how to handle the `annotationUnselect` event.
+
+```html
+
+
+
+
+ EJ2 PDF Viewer
+
+
+
+
+
+
+
+
+
+
+
+
+
Loading....
+
+
+
+
+
+```
+
+```typescript
+import { PdfViewer, Toolbar, Magnification, Navigation, LinkAnnotation,ThumbnailView, BookmarkView,
+ TextSelection, Annotation, FormDesigner, FormFields, FormFieldAddArgs, PageOrganizer } from '@syncfusion/ej2-pdfviewer';
+
+PdfViewer.Inject( Toolbar,Magnification, Navigation, LinkAnnotation,ThumbnailView,
+ BookmarkView, TextSelection, Annotation, FormDesigner, FormFields, PageOrganizer );
+
+let viewer: PdfViewer = new PdfViewer({
+ documentPath: 'https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf',
+ resourceUrl: 'https://cdn.syncfusion.com/ej2/31.1.23/dist/ej2-pdfviewer-lib',
+ annotationUnselect: function (args: any) {
+ console.log('Annotation unselected with ID: ' + args.annotationId);
+ }
+});
+viewer.appendTo('#pdfViewer');
+```
+
+### beforeAddFreeText
+
+The [beforeAddFreeText](https://ej2.syncfusion.com/javascript/documentation/api/pdfviewer/#beforeaddfreetextevent) event is triggered before adding a text in the freeText annotation.
+
+#### Event Arguments
+
+For event data, see [BeforeAddFreeTextEventArgs](https://ej2.syncfusion.com/javascript/documentation/api/pdfviewer/beforeAddFreeTextEventArgs/).
+
+The following example illustrates how to handle the `beforeAddFreeText` event.
+
+```html
+
+
+
+
+ EJ2 PDF Viewer
+
+
+
+
+
+
+
+
+
+
+
+
+
Loading....
+
+
+
+
+
+```
+
+```typescript
+import { PdfViewer, Toolbar, Magnification, Navigation, LinkAnnotation,ThumbnailView, BookmarkView,
+ TextSelection, Annotation, FormDesigner, FormFields, FormFieldAddArgs, PageOrganizer } from '@syncfusion/ej2-pdfviewer';
+
+PdfViewer.Inject( Toolbar,Magnification, Navigation, LinkAnnotation,ThumbnailView,
+ BookmarkView, TextSelection, Annotation, FormDesigner, FormFields, PageOrganizer );
+
+let viewer: PdfViewer = new PdfViewer({
+ documentPath: 'https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf',
+ resourceUrl: 'https://cdn.syncfusion.com/ej2/31.1.23/dist/ej2-pdfviewer-lib',
+ beforeAddFreeText: function (args: any) {
+ console.log('Before adding free text on page: ' + args.pageIndex);
+ // Set args.cancel to true to prevent adding the free text annotation
+ // args.cancel = true;
+ }
+});
+viewer.appendTo('#pdfViewer');
+```
+
+## Signature-related events
+
+### addSignature
+
+The [addSignature](https://ej2.syncfusion.com/javascript/documentation/api/pdfviewer/#addsignatureevent) event is triggered when a signature is added to a page of a PDF document.
+
+#### Event Arguments
+
+For event data, see [AddSignatureEventArgs](https://ej2.syncfusion.com/javascript/documentation/api/pdfviewer/addSignatureEventArgs/). It provides properties such as `pageNumber`.
+
+The following example illustrates how to handle the `addSignature` event.
+
+```html
+
+
+
+
+ EJ2 PDF Viewer
+
+
+
+
+
+
+
+
+
+
+
+
+
Loading....
+
+
+
+
+
+```
+
+```typescript
+import { PdfViewer, Toolbar, Magnification, Navigation, LinkAnnotation,ThumbnailView, BookmarkView,
+ TextSelection, Annotation, FormDesigner, FormFields, FormFieldAddArgs, PageOrganizer } from '@syncfusion/ej2-pdfviewer';
+
+PdfViewer.Inject( Toolbar,Magnification, Navigation, LinkAnnotation,ThumbnailView,
+ BookmarkView, TextSelection, Annotation, FormDesigner, FormFields, PageOrganizer );
+
+let viewer: PdfViewer = new PdfViewer({
+ documentPath: 'https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf',
+ resourceUrl: 'https://cdn.syncfusion.com/ej2/31.1.23/dist/ej2-pdfviewer-lib',
+ addSignature: function (args: any) {
+ console.log('Signature added to page: ' + args.pageIndex);
+ }
+});
+viewer.appendTo('#pdfViewer');
+```
+
+### removeSignature
+
+The [removeSignature](https://ej2.syncfusion.com/javascript/documentation/api/pdfviewer/#removesignatureevent) event is triggered when the signature is removed from the page of a PDF document.
+
+#### Event Arguments
+
+For event data, see [RemoveSignatureEventArgs](https://ej2.syncfusion.com/javascript/documentation/api/pdfviewer/removeSignatureEventArgs/). It provides properties such as `pageNumber`.
+
+The following example illustrates how to handle the `removeSignature` event.
+
+```html
+
+
+
+
+ EJ2 PDF Viewer
+
+
+
+
+
+
+
+
+
+
+
+
+
Loading....
+
+
+
+
+
+```
+
+```typescript
+import { PdfViewer, Toolbar, Magnification, Navigation, LinkAnnotation,ThumbnailView, BookmarkView,
+ TextSelection, Annotation, FormDesigner, FormFields, FormFieldAddArgs, PageOrganizer } from '@syncfusion/ej2-pdfviewer';
+
+PdfViewer.Inject( Toolbar,Magnification, Navigation, LinkAnnotation,ThumbnailView,
+ BookmarkView, TextSelection, Annotation, FormDesigner, FormFields, PageOrganizer );
+
+let viewer: PdfViewer = new PdfViewer({
+ documentPath: 'https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf',
+ resourceUrl: 'https://cdn.syncfusion.com/ej2/31.1.23/dist/ej2-pdfviewer-lib',
+ removeSignature: function (args: any) {
+ console.log('Signature removed from page: ' + args.pageIndex);
+ }
+});
+viewer.appendTo('#pdfViewer');
+```
+
+### resizeSignature
+
+The [resizeSignature](https://ej2.syncfusion.com/javascript/documentation/api/pdfviewer/#resizesignatureevent) event is triggered when the signature is resized and placed on a page of a PDF document.
+
+#### Event Arguments
+
+For event data, see [ResizeSignatureEventArgs](https://ej2.syncfusion.com/javascript/documentation/api/pdfviewer/resizeSignatureEventArgs/).
+
+The following example illustrates how to handle the `resizeSignature` event.
+
+```html
+
+
+
+
+ EJ2 PDF Viewer
+
+
+
+
+
+
+
+
+
+
+
+
+
Loading....
+
+
+
+
+
+```
+
+```typescript
+import { PdfViewer, Toolbar, Magnification, Navigation, LinkAnnotation,ThumbnailView, BookmarkView,
+ TextSelection, Annotation, FormDesigner, FormFields, FormFieldAddArgs, PageOrganizer } from '@syncfusion/ej2-pdfviewer';
+
+PdfViewer.Inject( Toolbar,Magnification, Navigation, LinkAnnotation,ThumbnailView,
+ BookmarkView, TextSelection, Annotation, FormDesigner, FormFields, PageOrganizer );
+
+let viewer: PdfViewer = new PdfViewer({
+ documentPath: 'https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf',
+ resourceUrl: 'https://cdn.syncfusion.com/ej2/31.1.23/dist/ej2-pdfviewer-lib',
+ resizeSignature: function (args: any) {
+ console.log('Signature resized on page ' + args.pageIndex);
+ }
+});
+viewer.appendTo('#pdfViewer');
+```
+
+### signaturePropertiesChange
+
+The [signaturePropertiesChange](https://ej2.syncfusion.com/javascript/documentation/api/pdfviewer/#signaturepropertieschangeevent) event is triggered when the property of the signature is changed in the page of the PDF document.
+
+#### Event Arguments
+
+For event data, see [SignaturePropertiesChangeEventArgs](https://ej2.syncfusion.com/javascript/documentation/api/pdfviewer/signaturePropertiesChangeEventArgs/).
+
+The following example illustrates how to handle the `signaturePropertiesChange` event.
+
+```html
+
+
+
+
+ EJ2 PDF Viewer
+
+
+
+
+
+
+
+
+
+
+
+
+
Loading....
+
+
+
+
+
+```
+
+```typescript
+import { PdfViewer, Toolbar, Magnification, Navigation, LinkAnnotation,ThumbnailView, BookmarkView,
+ TextSelection, Annotation, FormDesigner, FormFields, FormFieldAddArgs, PageOrganizer } from '@syncfusion/ej2-pdfviewer';
+
+PdfViewer.Inject( Toolbar,Magnification, Navigation, LinkAnnotation,ThumbnailView,
+ BookmarkView, TextSelection, Annotation, FormDesigner, FormFields, PageOrganizer );
+
+let viewer: PdfViewer = new PdfViewer({
+ documentPath: 'https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf',
+ resourceUrl: 'https://cdn.syncfusion.com/ej2/31.1.23/dist/ej2-pdfviewer-lib',
+ signaturePropertiesChange: function (args: any) {
+ console.log('Signature properties changed on page ' + args.pageIndex);
+ }
+});
+viewer.appendTo('#pdfViewer');
+```
+
+### signatureSelect
+
+The [signatureSelect](https://ej2.syncfusion.com/javascript/documentation/api/pdfviewer/#signatureselectevent) event is triggered when signature is selected over the page of the PDF document.
+
+#### Event Arguments
+
+For event data, see [SignatureSelectEventArgs](https://ej2.syncfusion.com/javascript/documentation/api/pdfviewer/signatureSelectEventArgs/).
+
+The following example illustrates how to handle the `signatureSelect` event.
+
+```html
+
+
+
+
+ EJ2 PDF Viewer
+
+
+
+
+
+
+
+
+
+
+
+
+
Loading....
+
+
+
+
+
+```
+
+```typescript
+import { PdfViewer, Toolbar, Magnification, Navigation, LinkAnnotation,ThumbnailView, BookmarkView,
+ TextSelection, Annotation, FormDesigner, FormFields, FormFieldAddArgs, PageOrganizer } from '@syncfusion/ej2-pdfviewer';
+
+PdfViewer.Inject( Toolbar,Magnification, Navigation, LinkAnnotation,ThumbnailView,
+ BookmarkView, TextSelection, Annotation, FormDesigner, FormFields, PageOrganizer );
+
+let viewer: PdfViewer = new PdfViewer({
+ documentPath: 'https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf',
+ resourceUrl: 'https://cdn.syncfusion.com/ej2/31.1.23/dist/ej2-pdfviewer-lib',
+ signatureSelect: function (args: any) {
+ console.log('Signature selected on page ' + args.pageIndex);
+ }
+});
+viewer.appendTo('#pdfViewer');
+```
+
+### signatureUnselect
+
+The [signatureUnselect](https://ej2.syncfusion.com/javascript/documentation/api/pdfviewer/#signatureunselectevent) event is triggered when signature is unselected over the page of the PDF document.
+
+#### Event Arguments
+
+For event data, see [SignatureUnSelectEventArgs](https://ej2.syncfusion.com/javascript/documentation/api/pdfviewer/signatureUnSelectEventArgs/).
+
+The following example illustrates how to handle the `signatureUnselect` event.
+
+```html
+
+
+
+
+ EJ2 PDF Viewer
+
+
+
+
+
+
+
+
+
+
+
+
+
Loading....
+
+
+
+
+
+```
+
+```typescript
+import { PdfViewer, Toolbar, Magnification, Navigation, LinkAnnotation,ThumbnailView, BookmarkView,
+ TextSelection, Annotation, FormDesigner, FormFields, FormFieldAddArgs, PageOrganizer } from '@syncfusion/ej2-pdfviewer';
+
+PdfViewer.Inject( Toolbar,Magnification, Navigation, LinkAnnotation,ThumbnailView,
+ BookmarkView, TextSelection, Annotation, FormDesigner, FormFields, PageOrganizer );
+
+let viewer: PdfViewer = new PdfViewer({
+ documentPath: 'https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf',
+ resourceUrl: 'https://cdn.syncfusion.com/ej2/31.1.23/dist/ej2-pdfviewer-lib',
+ signatureUnselect: function (args: any) {
+ console.log('Signature unselected on page ' + args.pageIndex);
+ }
+});
+viewer.appendTo('#pdfViewer');
+```
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer/javascript-es6/annotations/annotations-in-mobile-view.md b/Document-Processing/PDF/PDF-Viewer/javascript-es6/annotations/annotations-in-mobile-view.md
index 88be1e40d..66596a462 100644
--- a/Document-Processing/PDF/PDF-Viewer/javascript-es6/annotations/annotations-in-mobile-view.md
+++ b/Document-Processing/PDF/PDF-Viewer/javascript-es6/annotations/annotations-in-mobile-view.md
@@ -1,123 +1,122 @@
---
layout: post
-title: Annotations in mobile view in Typescript Pdfviewer control | Syncfusion
-description: Learn here all about Annotations in mobile view in Syncfusion Typescript Pdfviewer control of Syncfusion Essential JS 2 and more.
+title: Annotations mobileView in TypeScript PDF Viewer control | Syncfusion
+description: Learn how to use annotations in mobile view with the Syncfusion TypeScript PDF Viewer (Essential JS 2).
platform: document-processing
-control: Annotations in mobile view
-publishingplatform: Typescript
+control: PDF Viewer
documentation: ug
domainurl: ##DomainURL##
---
-# Annotations in mobile view in Typescript Pdfviewer control
+# Annotations in mobile view in TypeScript PDF Viewer control
-## To Open the Annotation Toolbar
+## Open the annotation toolbar
-**Step 1:** To enable the annotation toolbar, click the editAnnotation toolbar.
+**Step 1:** Click Edit Annotation on the toolbar to enable the annotation toolbar.
-
+
-**Step 2:** After enabling the annotation toolbar.
+**Step 2:** The annotation toolbar appears below the main toolbar.
-
+
-## To add sticky notes annotation
+## Add sticky note annotations
-**Step 1:** click sticky notes icon and then click in the page where you want to add this.
+**Step 1:** Click the Sticky Notes icon, then tap the page where the note should be placed.
-
+
-**Step 2:** Click in the page to add the sticky notes annotation.
+**Step 2:** Tap the page to add the sticky note annotation.
-
+
-## To add text markup annotation
+## Add text markup annotations
-**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 1:** Tap a text markup icon, select the text to mark, then tap the selection to apply the markup.
-
+
-**Step 2:** Add the text markup annotation in the PDF page
+**Step 2:** The text markup annotation is applied to the selected text.
-
+
-## To add shape and measure annotations
+## Add shape and measurement annotations
-**Step 1:** click the shape/measure icon in the toolbar. It will show the toolbar with shape/measure types.
+**Step 1:** Tap the Shape or Measure icon to open the corresponding toolbar.
-
+
-**Step 2:** Click the shape/measure type and add annotation to the page.
+**Step 2:** Choose a shape or measurement type, then draw it on the page.
-
+
-**Step 3:** Add the annotation in the PDF page.
+**Step 3:** The annotation appears on the PDF page.
-
+
-## To add the stamp annotation
+## Add stamp annotations
-**Step 1:** click the stamp icon and select the stamp type from the menu items.
+**Step 1:** Tap the Stamp icon and select a stamp type from the menu.
-
+
-**Step 2:** Add the stamp annotation in the page.
+**Step 2:** Tap the page to place the stamp annotation.
-
+
-## To add signature
+## Add signature annotations
-**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 1:** Tap the Signature icon to open the canvas. Draw the signature, tap Create, then tap the viewer to place it.
-
+
-**Step 2:** Add the signature in the page.
+**Step 2:** The signature is added to the page.
-
+
-## To add ink annotation
+## Add ink annotations
-**Step 1:** Click the ink icon tool and draw in the page.
+**Step 1:** Tap the Ink tool and draw on the page.
-
+
-**Step 2:** Add the ink annotation in the page.
+**Step 2:** The ink annotation appears on the page.
-
+
-## Change Annotation Change (Before adding)
+## Change annotation properties (before adding)
-**Step 1:** We can change the properties before adding the annotation.
+**Step 1:** Change properties before placing 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.
+**Step 2:** Tap the annotation icon to open the property toolbar, adjust properties, then place the annotation on the page.
-
+
-## Change Annotation Property (After Adding)
+## Change annotation properties (after adding)
-**Step 1:** We can change the annotation property after adding the annotation.
+**Step 1:** Change annotation properties 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.
+**Step 2:** Select the annotation to show the property toolbar, then adjust the properties.
-
+
-## Delete Annotation
+## Delete annotations
-**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.
+**Step 1:** Select the annotation to show the property toolbar, then tap the Delete icon to remove it.
-
+
-## Open Comment Panel
+## Open the comment panel
-**Step 1:** We can open the comment panel through the icon in the property tool or through the annotation toolbar.
+**Step 1:** Open the comment panel using the icon in the property toolbar or the annotation toolbar.
-
+
-**Step 1:** After opening the comment panel
+**Step 2:** The comment panel appears.
-
+
## Close the comment panel
-**Step 1:** To close the comment panel, click the close button.
+**Step 1:** Tap the Close button to close the comment panel.
-
\ No newline at end of file
+
diff --git a/Document-Processing/PDF/PDF-Viewer/javascript-es6/annotations/comments.md b/Document-Processing/PDF/PDF-Viewer/javascript-es6/annotations/comments.md
index 58aeed5e6..13e97f838 100644
--- a/Document-Processing/PDF/PDF-Viewer/javascript-es6/annotations/comments.md
+++ b/Document-Processing/PDF/PDF-Viewer/javascript-es6/annotations/comments.md
@@ -1,17 +1,16 @@
---
layout: post
-title: Comments in Typescript PDF Viewer control | Syncfusion
-description: Learn here all about Comments in Syncfusion Typescript PDF Viewer control of Syncfusion Essential JS 2 and more.
+title: Comments in TypeScript PDF Viewer control | Syncfusion
+description: Learn about comments, replies, and status in the Syncfusion TypeScript PDF Viewer control (Essential JS 2).
platform: document-processing
control: PDF Viewer
-publishingplatform: Typescript
documentation: ug
domainurl: ##DomainURL##
---
-# Comments in Typescript PDF Viewer control
+# Comments in TypeScript PDF Viewer control
-The PDF Viewer control provides options to add, edit, and delete the comments to the following annotation in the PDF documents:
+The PDF Viewer control provides options to add, edit, and delete comments for the following annotations in PDF documents:
* Shape annotation
* Stamp annotation
@@ -21,11 +20,11 @@ The PDF Viewer control provides options to add, edit, and delete the comments to
* 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.
+Annotation comments, replies, and status can be managed in the PDF document using the comment panel.
### Comment panel
@@ -34,87 +33,87 @@ Annotation comments can be added to the PDF using the comment panel. The comment
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.
+ * Click the Comment Panel button. The comment panel opens.
2. Using Context menu
- * Select annotation in the PDF document and right-click it.
- * Select the comment option in the context menu that appears.
+ * Select the annotation in the PDF document and right-click it.
+ * Select Comment from the context menu.
3. Using the Mouse click
- * Select annotation in the PDF document and double click it, a comment panel will appear.
+ * Select the annotation in the PDF document and double-click it. The comment panel opens.
-If the comment panel is already in the open state, you can select the annotations and add annotation comments using the comment panel.
+If the comment panel is already open, select the annotation and add comments using the 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.
+* Select the annotation in the PDF document.
+* The corresponding comment thread is highlighted in the comment panel.
+* Add comments and 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.
+* Multiple replies can be added to a comment.
+* After adding a comment, add replies as needed.
### 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.
+* Select the annotation comment in the comment panel.
+* Click More options in the comment or reply container.
+* Select Set Status from the context menu.
+* Choose a status for the comment.
-
+
### 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.
+Comments, replies, and status 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:
+Edit comments and replies 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.
+ * Select the annotation comment in the comment panel.
+ * Click More options in the comment or reply container.
+ * Select Edit from the context menu.
+ * An editable text box appears. Change the content of the comment or 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.
+ * Select the annotation comment in the comment panel.
+ * Double-click the comment or reply content.
+ * An editable text box appears. Change the content of the comment or 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.
+* Select the annotation comment in the comment panel.
+* Click More options in the comment or reply container.
+* Select Set Status from the context menu.
+* Choose a status for the comment.
+* None is the default state. Selecting None clears the status indicator; the comment or reply remains visible.
-
+
### 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.
+* Select the annotation comment in the comment panel.
+* Click More options in the comment or reply container.
+* Select Delete from the context menu.
-
+
->The annotation will be deleted on deleting the comment using comment panel.
+>Deleting the root comment from the comment panel also deletes the associated annotation.
## 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.
+Comments added to the PDF document can be read using the annotation's `comments` property.
-Refer to the following code to check the comments added in the PDF document using a button click event.
+The following example logs comments in response to a button click.
```html
@@ -129,7 +128,7 @@ PdfViewer.Inject(Toolbar, Magnification, Navigation, Annotation, LinkAnnotation,
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.resourceUrl = "https://cdn.syncfusion.com/ej2/31.1.23/dist/ej2-pdfviewer-lib";
pdfviewer.appendTo('#PdfViewer');
diff --git a/Document-Processing/PDF/PDF-Viewer/javascript-es6/annotations/free-text-annotation.md b/Document-Processing/PDF/PDF-Viewer/javascript-es6/annotations/free-text-annotation.md
index 152e43cfd..600e6fdac 100644
--- a/Document-Processing/PDF/PDF-Viewer/javascript-es6/annotations/free-text-annotation.md
+++ b/Document-Processing/PDF/PDF-Viewer/javascript-es6/annotations/free-text-annotation.md
@@ -1,31 +1,30 @@
---
layout: post
-title: Free text annotation in Typescript PDF Viewer control | Syncfusion
-description: Learn here all about Free text annotation in Syncfusion Typescript PDF Viewer control of Syncfusion Essential JS 2 and more.
+title: Free text annotation in TypeScript PDF Viewer control | Syncfusion
+description: Learn about free text annotations in the Syncfusion TypeScript PDF Viewer (Essential JS 2): add, edit, delete, and default settings.
platform: document-processing
control: PDF Viewer
-publishingplatform: Typescript
documentation: ug
domainurl: ##DomainURL##
---
-# Free text annotation in Typescript PDF Viewer control
+# Free text annotation in TypeScript PDF Viewer control
-The PDF Viewer control provides the options to add, edit, and delete the free text annotations.
+The PDF Viewer control provides options to add, edit, and delete free text annotations.
-## Adding a free text annotation to the PDF document
+## Add a free text annotation to the PDF document
-The Free text annotations can be added to the PDF document using the annotation toolbar.
+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.
+* Click the **Edit Annotation** button in the PDF Viewer toolbar. The annotation toolbar appears below it.
+* Select the **Free Text Annotation** button to enable free text annotation mode.
+* Add text anywhere on 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.
+When in pan mode, selecting free text annotation switches the PDF Viewer to text select mode.
-
+
-Refer to the following code sample to switch to the Free Text annotation mode using a button click.
+The following example switches to free text annotation mode using a button click.
```html
@@ -40,7 +39,7 @@ PdfViewer.Inject(Toolbar, Magnification, Navigation, Annotation, LinkAnnotation,
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.resourceUrl = "https://cdn.syncfusion.com/ej2/31.1.23/dist/ej2-pdfviewer-lib";
pdfviewer.appendTo('#PdfViewer');
let addFreeTextAnnotationButton = document.getElementById('addFreeTextAnnotation');
@@ -76,11 +75,11 @@ if (addFreeTextAnnotationButton) {
{% endhighlight %}
{% endtabs %}
-## Adding a free text annotation programatically to the PDF document
+## Add a free text annotation programmatically 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://ej2.syncfusion.com/documentation/api/pdfviewer/annotation/#annotation) method.
+The PDF Viewer library allows adding a free text annotation programmatically using the [addAnnotation()](https://ej2.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:
+Here is an example of adding a free text annotation programmatically using addAnnotation():
```html
@@ -95,7 +94,7 @@ PdfViewer.Inject(Toolbar, Magnification, Navigation, Annotation, LinkAnnotation,
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.resourceUrl = "https://cdn.syncfusion.com/ej2/31.1.23/dist/ej2-pdfviewer-lib";
pdfviewer.appendTo('#PdfViewer');
@@ -151,11 +150,11 @@ if (addFreeTextAnnotation) {
{% endhighlight %}
{% endtabs %}
-## Change the content of an existing Free text annotation programmatically
+## 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.
+To change the content of an existing free text annotation programmatically, 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:
+Here is an example of changing the content of a free text annotation using editAnnotation():
```html
@@ -169,7 +168,7 @@ PdfViewer.Inject(Toolbar, Magnification, Navigation, Annotation, LinkAnnotation,
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.resourceUrl = "https://cdn.syncfusion.com/ej2/31.1.23/dist/ej2-pdfviewer-lib";
pdfviewer.appendTo('#PdfViewer');
@@ -216,71 +215,71 @@ if (changeContent) {
{% 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.
+N> The current version of the PDF Viewer does not edit existing document text. New free text annotations can be added and modified within the document.
-## Editing the properties of free text annotation
+## Edit the properties of free text annotations
-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.
+Font family, font size, styles, font color, text alignment, fill color, stroke color, border thickness, and opacity can be edited using the Font Family, Font Size, Font Color, Text Align, Font Style, Edit Color, Edit Stroke Color, Edit Thickness, and Edit Opacity tools in the annotation toolbar.
-### Editing font family
+### Edit font family
-The font family of the annotation can be edited by selecting the desired font in the Font Family tool.
+Edit the font family by selecting a font in the Font Family tool.
-
+
-### Editing font size
+### Edit font size
-The font size of the annotation can be edited by selecting the desired size in the Font Size tool.
+Edit the font size by selecting a size in the Font Size tool.
-
+
-### Editing font color
+### Edit font color
-The font color of the annotation can be edited using the color palette provided in the Font Color tool.
+Edit the font color using the color palette in the Font Color tool.
-
+
-### Editing the text alignment
+### Edit 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.
+Align text by selecting an option from the Text Align tool.
-
+
-### Editing text styles
+### Edit 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.
+Edit text styles by selecting options in the Font Style tool.
-
+
-### Editing fill color
+### Edit fill color
-The fill color of the annotation can be edited using the color palette provided in the Edit Color tool.
+Edit the fill color using the color palette in the Edit Color tool.
-
+
-### Editing stroke color
+### Edit stroke color
-The stroke color of the annotation can be edited using the color palette provided in the Edit Stroke Color tool.
+Edit the stroke color using the color palette in the Edit Stroke Color tool.
-
+
-### Editing thickness
+### Edit thickness
-The border thickness of the annotation can be edited using the range slider provided in the Edit Thickness tool.
+Edit border thickness using the range slider in the Edit Thickness tool.
-
+
-### Editing opacity
+### Edit opacity
-The opacity of the annotation can be edited using the range slider provided in the Edit Opacity tool.
+Edit opacity using the range slider in the Edit Opacity tool.
-
+
-## Setting default properties during control initialization
+## Set default properties during control initialization
-The properties of the free text annotation can be set before creating the control using the FreeTextSettings.
+Default properties for free text annotations can be set before creating the control using 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.
+After changing default values, the selected values are applied. The following example sets default free text annotation settings.
{% tabs %}
{% highlight ts tabtitle="Standalone" %}
@@ -291,7 +290,7 @@ PdfViewer.Inject(Toolbar, Magnification, Navigation, Annotation, LinkAnnotation,
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.resourceUrl = "https://cdn.syncfusion.com/ej2/31.1.23/dist/ej2-pdfviewer-lib";
pdfviewer.freeTextSettings = { fillColor: 'green', borderColor: 'blue', fontColor: 'yellow' };
pdfviewer.appendTo('#PdfViewer');
diff --git a/Document-Processing/PDF/PDF-Viewer/javascript-es6/annotations/ink-annotation.md b/Document-Processing/PDF/PDF-Viewer/javascript-es6/annotations/ink-annotation.md
index b9fb6afbc..b1305a3b4 100644
--- a/Document-Processing/PDF/PDF-Viewer/javascript-es6/annotations/ink-annotation.md
+++ b/Document-Processing/PDF/PDF-Viewer/javascript-es6/annotations/ink-annotation.md
@@ -1,31 +1,30 @@
---
layout: post
-title: Ink annotation in Typescript PDF Viewer control | Syncfusion
-description: Learn here all about Ink annotation in Syncfusion Typescript PDF Viewer control of Syncfusion Essential JS 2 and more.
+title: Ink annotation in TypeScript PDF Viewer control | Syncfusion
+description: Learn about ink annotations in the Syncfusion TypeScript PDF Viewer (Essential JS 2): add, edit, delete, and default settings.
platform: document-processing
control: PDF Viewer
-publishingplatform: Typescript
documentation: ug
domainurl: ##DomainURL##
---
-# Ink annotation in Typescript PDF Viewer control
+# Ink annotation in TypeScript PDF Viewer control
-The PDF Viewer control provides the options to add, edit, and delete the ink annotations.
+The PDF Viewer control provides options to add, edit, and delete ink annotations.
-
+
-## Adding an ink annotation to the PDF document
+## Add an ink annotation to the PDF document
-The ink annotations can be added to the PDF document using the annotation toolbar.
+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.
+* Click the **Edit Annotation** button in the PDF Viewer toolbar. The annotation toolbar appears below it.
+* Select the **Draw Ink** button to enable ink annotation mode.
+* Draw on any page of the PDF document.
-
+
-Refer to the following code sample to switch to the ink annotation mode.
+The following example switches to ink annotation mode.
```html
@@ -36,7 +35,7 @@ Refer to the following code sample to switch to the ink annotation mode.
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",
+ resourceUrl : "https://cdn.syncfusion.com/ej2/31.1.23/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);
@@ -72,11 +71,11 @@ if (addInkAnnotation) {
{% endhighlight %}
{% endtabs %}
-## Adding a Ink annotation programatically to the PDF document
+## Add an ink annotation programmatically 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://ej2.syncfusion.com/documentation/api/pdfviewer/annotation/#annotation) method.
+The PDF Viewer library allows adding an ink annotation programmatically using the [addAnnotation()](https://ej2.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:
+Here is an example of adding an ink annotation programmatically using addAnnotation():
```html
@@ -91,7 +90,7 @@ PdfViewer.Inject(Toolbar, Magnification, Navigation, Annotation, LinkAnnotation,
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.resourceUrl = "https://cdn.syncfusion.com/ej2/31.1.23/dist/ej2-pdfviewer-lib";
pdfviewer.appendTo('#PdfViewer');
@@ -138,11 +137,11 @@ if (addInkAnnotation) {
{% endhighlight %}
{% endtabs %}
-## Edit the existing Ink annotation programmatically
+## Edit an existing ink annotation programmatically
-To modify existing Ink annotation in the Syncfusion PDF viewer programmatically, you can use the **editAnnotation()** method.
+To modify an existing ink annotation programmatically, use the editAnnotation() method.
-Here is an example of how you can use the **editAnnotation()** method:
+Here is an example of using editAnnotation():
```html
@@ -157,7 +156,7 @@ PdfViewer.Inject(Toolbar, Magnification, Navigation, Annotation, LinkAnnotation,
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.resourceUrl = "https://cdn.syncfusion.com/ej2/31.1.23/dist/ej2-pdfviewer-lib";
pdfviewer.appendTo('#PdfViewer');
@@ -216,33 +215,33 @@ if (editInkAnnotation) {
{% endtabs %}
-## Editing the properties of the ink annotation
+## Edit the properties of ink annotations
-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.
+Stroke color, thickness, and opacity can be edited using the Edit Stroke Color, Edit Thickness, and Edit Opacity tools in the annotation toolbar.
-### Editing stroke color
+### Edit stroke color
-The stroke color of the annotation can be edited using the color palette provided in the Edit Stroke Color tool.
+Edit the stroke color using the color palette in the Edit Stroke Color tool.
-
+
-### Editing thickness
+### Edit thickness
-The thickness of the border of the annotation can be edited using the range slider provided in the Edit Thickness tool.
+Edit thickness using the range slider in the Edit Thickness tool.
-
+
-### Editing opacity
+### Edit opacity
-The opacity of the annotation can be edited using the range slider provided in the Edit Opacity tool.
+Edit opacity using the range slider in the Edit Opacity tool.
-
+
-## Setting default properties during the control initialization
+## Set default properties during control initialization
-The properties of the ink annotation can be set before creating the control using the InkAnnotationSettings.
+Default properties for ink annotations can be set before creating the control using InkAnnotationSettings.
-After editing the default values, they will be changed to the selected values.
+After changing default values, the selected values are applied.
Refer to the following code sample to set the default ink annotation settings.
{% tabs %}
@@ -250,7 +249,7 @@ Refer to the following code sample to set the default ink annotation settings.
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",
+ resourceUrl : "https://cdn.syncfusion.com/ej2/31.1.23/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,
diff --git a/Document-Processing/PDF/PDF-Viewer/javascript-es6/annotations/line-angle-constraints.md b/Document-Processing/PDF/PDF-Viewer/javascript-es6/annotations/line-angle-constraints.md
index 4e25e41d3..b0bdf6c63 100644
--- a/Document-Processing/PDF/PDF-Viewer/javascript-es6/annotations/line-angle-constraints.md
+++ b/Document-Processing/PDF/PDF-Viewer/javascript-es6/annotations/line-angle-constraints.md
@@ -1,20 +1,19 @@
---
layout: post
-title: Line Angle Constraints in TypeScript PdfViewer | Syncfusion
-description: Learn here all about Line Angle Constraints in Syncfusion Typescript Pdfviewer control of Syncfusion Essential JS 2 and more.
+title: Line angle constraints in TypeScript PDF Viewer | Syncfusion
+description: Learn to add, edit, delete, and configure highlight, underline, strikethrough, and squiggly text markup annotations programmatically.
platform: document-processing
-control: Line Angle Constraints
-publishingplatform: Typescript
+control: PDF Viewer
documentation: ug
domainurl: ##DomainURL##
---
-# Line Angle Constraints in TypeScript PDF Viewer
+# Line angle constraints in TypeScript PDF Viewer
The PDF Viewer control provides robust **line angle constraints** functionality. This allows users to draw line type annotations with controlled angle snapping, improving accuracy and consistency across technical drawings and measurements across your PDF documents.
-## Enabling Line Angle Constraints
-To enable line angle constraints, configure the `enableLineAngleConstraints` property within the `annotationDrawingOptions` of the PDF Viewer. When enabled, line-type annotations are automatically restricted to fixed angles.
+## Enable line angle constraints
+Configure the `enableLineAngleConstraints` property within `annotationDrawingOptions`. When enabled, supported line-type annotations snap to fixed angles.
The following code demonstrates how to enable line angle constraints:
@@ -45,50 +44,49 @@ The `enableLineAngleConstraints` property activates angle snapping for line-base
- Automatic angle snapping during the drawing
- Enhanced precision for technical drawings and measurements
-- Desktop support: Hold **Shift** while drawing to activate constraints
+- Desktop behavior: hold Shift while drawing to toggle constraints (when disabled, Shift temporarily enables; when enabled, Shift enforces snapping)
- Real-time visual feedback showing angle snapping behavior
### restrictLineAngleTo
-The `restrictLineAngleTo` property defines the angle increment (in degrees) that constrains line-based annotations. The default value is **45 degrees**.
+Defines the angle increment (in degrees) used to constrain supported annotations. The default is 45.
-**Angle Snapping Rules:**
+Angle snapping rules:
- The initial drawing direction is treated as the 0° reference point
- Snapped angles are calculated based on the increment
- If the increment doesn’t divide 360 evenly, angles reset after 360°
-**Examples:**
+Examples:
- restrictLineAngleTo: 45 → Snapped angles: 0°, 45°, 90°, 135°, 180°, 225°, 270°, 315°, 360°
- restrictLineAngleTo: 100 → Snapped angles: 0°, 100°, 200°, 300°, 360°
-## Working with Constrained Annotations
+## Work with constrained annotations
### Drawing Behavior
When line angle constraints are enabled:
-**Initial Drawing:** Start drawing a line, arrow, polygon, distance, perimeter, area, or volume as usual.
-**Angle Snapping:** The line snaps to the nearest allowed angle.
-**Visual Feedback:** Snapped angle is shown in real time.
-**Completion:** Release to complete the annotation.
+- Start drawing a supported annotation (Line, Arrow, Polyline, Distance, or Perimeter).
+- The segment snaps to the nearest allowed angle.
+- A visual indicator reflects snapping in real time.
+- Release to complete the annotation.
### Keyboard Shortcuts
-**Desktop Platforms:**
-
-**Shift + Drag:** Enables angle snapping even when `enableLineAngleConstraints` is false.
+Desktop platforms:
+- Shift + drag: toggles snapping. If constraints are disabled, Shift temporarily enables them; if enabled, Shift enforces snapping.
### Selector-Based Modifications
When modifying existing line annotations using selectors:
- Constraints apply based on the original line direction.
-- The reference angle (0°) is determined by the lines current orientation.
-- Only lines and arrows support constraint snapping during modification.
-- Adjustments snap to the configured angle increment relative to the original direction.
+- The reference angle (0°) is determined by the line’s current orientation.
+- Constraint snapping during modification is supported for Line and Arrow.
+- Adjustments snap to the configured angle increment.
-[View sample in GitHub](https://github.com/SyncfusionExamples/typescript-pdf-viewer-examples/tree/master/How%20to)
+[View a sample in GitHub](https://github.com/SyncfusionExamples/typescript-pdf-viewer-examples/tree/master/How%20to)
-N> You can refer to our [TypeScript PDF Viewer](https://www.syncfusion.com/pdf-viewer-sdk/javascript-pdf-viewer) feature tour page for its groundbreaking feature representations. You can also explore our [TypeScript PDF Viewer example](https://github.com/SyncfusionExamples/typescript-pdf-viewer-examples) to know how to render and configure the PDF Viewer.
+N> Refer to the TypeScript PDF Viewer [feature tour](https://www.syncfusion.com/pdf-viewer-sdk/javascript-pdf-viewer) for feature highlights. Explore the [TypeScript PDF Viewer examples](https://github.com/SyncfusionExamples/typescript-pdf-viewer-examples) to learn how to render and configure the PDF Viewer.
diff --git a/Document-Processing/PDF/PDF-Viewer/javascript-es6/annotations/measurement-annotation.md b/Document-Processing/PDF/PDF-Viewer/javascript-es6/annotations/measurement-annotation.md
index 676317e5f..fc1f8cc3a 100644
--- a/Document-Processing/PDF/PDF-Viewer/javascript-es6/annotations/measurement-annotation.md
+++ b/Document-Processing/PDF/PDF-Viewer/javascript-es6/annotations/measurement-annotation.md
@@ -1,17 +1,16 @@
---
layout: post
-title: Measurement annotation in Typescript PDF Viewer control | Syncfusion
-description: Learn here all about Measurement annotation in Syncfusion Typescript PDF Viewer control of Syncfusion Essential JS 2 and more.
+title: Measurement annotation in TypeScript PDF Viewer control | Syncfusion
+description: Learn about measurement annotations in the Syncfusion TypeScript PDF Viewer (Essential JS 2): distance, perimeter, area, radius, and volume.
platform: document-processing
control: PDF Viewer
-publishingplatform: Typescript
documentation: ug
domainurl: ##DomainURL##
---
-# Measurement annotation in Typescript PDF Viewer control
+# Measurement annotation in TypeScript 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:
+The PDF Viewer provides options to add measurement annotations. The supported measurement annotations are:
* Distance
* Perimeter
@@ -19,22 +18,22 @@ The PDF Viewer provides the options to add measurement annotations. You can meas
* 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.
+* Click the **Measurement Annotation** drop-down button. The pop-up lists available measurement annotation types.
+* Select a measurement type to enable its annotation mode.
+* Measure and add annotations on 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.
+When in pan mode, selecting a measurement annotation switches the PDF Viewer to text select mode.

-Refer to the following code snippet to switch to distance annotation mode.
+The following example switches to distance annotation mode.
```html
@@ -48,7 +47,7 @@ PdfViewer.Inject(Toolbar, Magnification, Navigation, Annotation, LinkAnnotation,
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.resourceUrl = "https://cdn.syncfusion.com/ej2/31.1.23/dist/ej2-pdfviewer-lib";
pdfviewer.appendTo('#PdfViewer');
let distanceMode = document.getElementById('distanceMode');
@@ -84,11 +83,11 @@ if (distanceMode) {
{% endhighlight %}
{% endtabs %}
-## Adding a measurement annotation to the PDF document Programmatically
+## Add 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://ej2.syncfusion.com/documentation/api/pdfviewer/annotation/#annotation) method.
+The PDF Viewer library allows adding measurement annotations programmatically using the [addAnnotation()](https://ej2.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:
+Here is an example showing how to add measurement annotations programmatically using addAnnotation():
```html
@@ -109,7 +108,7 @@ PdfViewer.Inject(Toolbar, Magnification, Navigation, Annotation, LinkAnnotation,
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.resourceUrl = "https://cdn.syncfusion.com/ej2/31.1.23/dist/ej2-pdfviewer-lib";
pdfviewer.appendTo('#PdfViewer');
@@ -264,11 +263,11 @@ if (addVolumeAnnotation) {
{% endhighlight %}
{% endtabs %}
-## Edit the existing measurement annotation programmatically
+## Edit an existing measurement annotation programmatically
-To modify existing measurement annotation in the Syncfusion PDF viewer programmatically, you can use the **editAnnotation()** method.
+To modify an existing measurement annotation programmatically, use the editAnnotation() method.
-Here is an example of how you can use the **editAnnotation()** method:
+Here is an example of using editAnnotation():
```html
@@ -287,7 +286,7 @@ PdfViewer.Inject(Toolbar, Magnification, Navigation, Annotation, LinkAnnotation,
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.resourceUrl = "https://cdn.syncfusion.com/ej2/31.1.23/dist/ej2-pdfviewer-lib";
pdfviewer.appendTo('#PdfViewer');
let editDistanceAnnotation = document.getElementById('editDistanceAnnotation');
@@ -475,43 +474,43 @@ if (editVolumeAnnotation) {
{% endhighlight %}
{% endtabs %}
-## Editing the properties of measurement annotation
+## Edit the properties of measurement annotations
-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.
+The fill color, stroke color, thickness, and opacity can be edited using the Edit Color, Edit Stroke Color, Edit Thickness, and Edit Opacity tools in the annotation toolbar.
-### Editing fill color
+### Edit fill color
The fill color of the annotation can be edited using the color palette provided in the Edit Color tool.

-### Editing stroke color
+### Edit stroke color
The stroke color of the annotation can be edited using the color palette provided in the Edit Stroke Color tool.

-### Editing thickness
+### Edit thickness
-The thickness of the border of the annotation can be edited using the range slider provided in the Edit thickness tool.
+Edit border thickness using the range slider provided in the Edit Thickness tool.

-### Editing opacity
+### Edit opacity
The opacity of the annotation can be edited using the range slider provided in the Edit Opacity tool.

-### Editing the line properties
+### Edit 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.
+Line-based measurement annotations (distance and perimeter) have additional options in the Line Properties window. Open it by right-clicking the annotation and selecting Properties from the context menu.

-## Setting default properties during control initialization
+## Set 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.
+Default properties for measurement 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.
@@ -524,8 +523,8 @@ PdfViewer.Inject(Toolbar, Magnification, Navigation, Annotation, LinkAnnotation,
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.resourceUrl = "https://cdn.syncfusion.com/ej2/31.1.23/dist/ej2-pdfviewer-lib";
+
pdfviewer.appendTo('#PdfViewer');
{% endhighlight %}
@@ -538,7 +537,7 @@ PdfViewer.Inject(Toolbar, Magnification, Navigation, Annotation, LinkAnnotation,
let pdfviewer: PdfViewer = new PdfViewer();
pdfviewer.serviceUrl = 'https://document.syncfusion.com/web-services/pdf-viewer/api/pdfviewer/';
pdfviewer.documentPath = "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf";
-pdfviewer. =
+
pdfviewer.appendTo('#PdfViewer');
{% endhighlight %}
@@ -553,7 +552,7 @@ PdfViewer.Inject(Toolbar, Magnification, Navigation, Annotation, LinkAnnotation,
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.resourceUrl = "https://cdn.syncfusion.com/ej2/31.1.23/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'};
@@ -611,7 +610,7 @@ PdfViewer.Inject(Toolbar, Magnification, Navigation, Annotation, LinkAnnotation,
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.resourceUrl = "https://cdn.syncfusion.com/ej2/31.1.23/dist/ej2-pdfviewer-lib";
pdfviewer.measurementSettings={scaleRatio: 2, conversionUnit: 'cm', displayUnit: 'cm'};
pdfviewer.appendTo('#PdfViewer');
diff --git a/Document-Processing/PDF/PDF-Viewer/javascript-es6/annotations/shape-annotation.md b/Document-Processing/PDF/PDF-Viewer/javascript-es6/annotations/shape-annotation.md
index a53615fc3..2074d2489 100644
--- a/Document-Processing/PDF/PDF-Viewer/javascript-es6/annotations/shape-annotation.md
+++ b/Document-Processing/PDF/PDF-Viewer/javascript-es6/annotations/shape-annotation.md
@@ -1,17 +1,16 @@
---
layout: post
-title: Shape annotation in Typescript PDF Viewer control | Syncfusion
-description: Learn here all about Shape annotation in Syncfusion Typescript PDF Viewer control of Syncfusion Essential JS 2 and more.
+title: Shape annotation in TypeScript PDF Viewer control | Syncfusion
+description: Learn about shape annotations in the Syncfusion TypeScript PDF Viewer (Essential JS 2), including add, edit, delete, and default settings.
platform: document-processing
control: PDF Viewer
-publishingplatform: Typescript
documentation: ug
domainurl: ##DomainURL##
---
-# Shape annotation in Typescript PDF Viewer control
+# Shape annotation in TypeScript 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:
+The PDF Viewer control provides options to add, edit, and delete shape annotations. The supported shape annotation types are:
* Line
* Arrow
@@ -19,20 +18,20 @@ The PDF Viewer control provides the options to add, edit, and delete the shape a
* 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.
+* Click the **Shape Annotation** drop-down button. The pop-up lists available shape annotation types.
+* Select a shape type to enable its annotation mode.
+* Draw the shape on 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.
+N> When in pan mode and a shape annotation tool is selected, the PDF Viewer switches to text select mode automatically to ensure a smooth interaction experience.
-
+
Refer to the following code sample to switch to the circle annotation mode.
@@ -49,7 +48,7 @@ PdfViewer.Inject(Toolbar, Magnification, Navigation, Annotation, LinkAnnotation,
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.resourceUrl = "https://cdn.syncfusion.com/ej2/31.1.23/dist/ej2-pdfviewer-lib";
pdfviewer.appendTo('#PdfViewer');
let circleAnnotationButton = document.getElementById('circleAnnotationButton');
@@ -85,11 +84,11 @@ if (circleAnnotationButton) {
{% endhighlight %}
{% endtabs %}
-## Adding a Shape annotation to the PDF document Programmatically
+## Add 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://ej2.syncfusion.com/documentation/api/pdfviewer/annotation/#annotation) method.
+The PDF Viewer library allows adding a shape annotation programmatically using the [addAnnotation()](https://ej2.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:
+Here is an example showing how to add shape annotations programmatically using addAnnotation():
```html
@@ -111,7 +110,7 @@ PdfViewer.Inject(Toolbar, Magnification, Navigation, Annotation, LinkAnnotation,
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.resourceUrl = "https://cdn.syncfusion.com/ej2/31.1.23/dist/ej2-pdfviewer-lib";
pdfviewer.appendTo('#PdfViewer');
@@ -268,11 +267,11 @@ if (addPolygonAnnotation) {
{% endhighlight %}
{% endtabs %}
-## Edit the existing shape annotation programmatically
+## Edit an existing shape annotation programmatically
-To modify existing shape annotation in the Syncfusion PDF viewer programmatically, you can use the **editAnnotation()** method.
+To modify an existing shape annotation programmatically, use the editAnnotation() method.
-Here is an example of how you can use the **editAnnotation()** method:
+Here is an example of using editAnnotation():
```html
@@ -291,7 +290,7 @@ PdfViewer.Inject(Toolbar, Magnification, Navigation, Annotation, LinkAnnotation,
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.resourceUrl = "https://cdn.syncfusion.com/ej2/31.1.23/dist/ej2-pdfviewer-lib";
pdfviewer.appendTo('#PdfViewer');
@@ -479,43 +478,43 @@ if (editPolygonAnnotation) {
## 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.
+The fill color, stroke color, thickness, and opacity of shape annotations can be edited using the Edit Color, Edit Stroke Color, Edit Thickness, and Edit Opacity tools 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.
+Line and arrow annotations have additional options in the Line Properties window. Open it by right-clicking a line or arrow annotation and selecting Properties from the context menu.
Refer to the following code sample to set the default annotation settings.
-
+
-## Setting default properties during the control initialization
+## Set default properties during control initialization
-The properties of the shape annotations can be set before creating the control using LineSettings, ArrowSettings, RectangleSettings, CircleSettings, and PolygonSettings.
+Default properties for shape annotations can be set before creating the control using LineSettings, ArrowSettings, RectangleSettings, CircleSettings, and PolygonSettings.
{% tabs %}
{% highlight ts tabtitle="Standalone" %}
@@ -526,7 +525,7 @@ PdfViewer.Inject(Toolbar, Magnification, Navigation, Annotation, LinkAnnotation,
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.resourceUrl = "https://cdn.syncfusion.com/ej2/31.1.23/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'};
diff --git a/Document-Processing/PDF/PDF-Viewer/javascript-es6/annotations/signature-annotation.md b/Document-Processing/PDF/PDF-Viewer/javascript-es6/annotations/signature-annotation.md
index 48eb41820..fdb3465c5 100644
--- a/Document-Processing/PDF/PDF-Viewer/javascript-es6/annotations/signature-annotation.md
+++ b/Document-Processing/PDF/PDF-Viewer/javascript-es6/annotations/signature-annotation.md
@@ -1,34 +1,33 @@
---
layout: post
-title: Handwritten signature in Typescript PDF Viewer control | Syncfusion
-description: Learn here all about Handwritten signature in Syncfusion Typescript PDF Viewer control of Syncfusion Essential JS 2 and more.
+title: Handwritten signature in TypeScript PDF Viewer control | Syncfusion
+description: Learn about handwritten signatures in the Syncfusion TypeScript PDF Viewer (Essential JS 2): add, enable/disable, and edit properties.
platform: document-processing
control: PDF Viewer
-publishingplatform: Typescript
documentation: ug
domainurl: ##DomainURL##
---
-# Handwritten signature Typescript PDF Viewer control
+# Handwritten signature in TypeScript 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.
+The PDF Viewer control supports adding handwritten signatures to a PDF document. Handwritten signatures reduce paperwork and enable digital verification.
## 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.
+* Select the **HandWritten Signature** button in the annotation toolbar. The signature panel appears.
-
+
-* Draw the signature in the signature panel.
+* Draw the signature in the panel.
-
+
-* Then click **Create** button and move the signature using the mouse and place them in the desired location.
+* Click **Create**, move the signature, and place it at the desired location.
-
+
Refer to the following code sample to switch to the handwritten signature mode programmatically.
@@ -44,7 +43,7 @@ PdfViewer.Inject(Toolbar, Magnification, Navigation, Annotation, LinkAnnotation,
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.resourceUrl = "https://cdn.syncfusion.com/ej2/31.1.23/dist/ej2-pdfviewer-lib";
pdfviewer.appendTo('#PdfViewer');
let handWrittenSignature = document.getElementById('handWrittenSignature');
@@ -80,9 +79,9 @@ if (handWrittenSignature) {
{% endtabs %}
-## How to enable the handwritten signature
+## 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.
+The following example enables or disables the handwritten signature in the PDF Viewer. Setting the value to `false` disables the feature.
{% tabs %}
{% highlight ts tabtitle="Standalone" %}
@@ -93,7 +92,7 @@ PdfViewer.Inject(Toolbar, Magnification, Navigation, Annotation, LinkAnnotation,
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.resourceUrl = "https://cdn.syncfusion.com/ej2/31.1.23/dist/ej2-pdfviewer-lib";
pdfviewer.enableHandwrittenSignature = false
pdfviewer.appendTo('#PdfViewer');
@@ -115,11 +114,11 @@ pdfviewer.appendTo('#PdfViewer');
{% endhighlight %}
{% endtabs %}
-## Adding Handwritten signature programatically to the PDF document
+## Add a handwritten signature programmatically 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://ej2.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
+Here is an example of adding a handwritten signature programmatically using addAnnotation():
```html
@@ -134,7 +133,7 @@ PdfViewer.Inject(Toolbar, Magnification, Navigation, Annotation, LinkAnnotation,
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.resourceUrl = "https://cdn.syncfusion.com/ej2/31.1.23/dist/ej2-pdfviewer-lib";
pdfviewer.appendTo('#PdfViewer');
let addHandwrittenSignature = document.getElementById('addHandwrittenSignature');
@@ -191,7 +190,7 @@ PdfViewer.Inject(Toolbar, Magnification, Navigation, Annotation, LinkAnnotation,
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.resourceUrl = "https://cdn.syncfusion.com/ej2/31.1.23/dist/ej2-pdfviewer-lib";
pdfviewer.appendTo('#PdfViewer');
let addHandwrittenSignature = document.getElementById('addHandwrittenSignature');
@@ -244,24 +243,24 @@ if(addHandwrittenSignature){
[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
+## Edit the properties of handwritten signatures
-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.
+Stroke color, border thickness, and opacity can be edited using the Edit Stroke Color, Edit Thickness, and Edit Opacity tools in the annotation toolbar.
-### Editing stroke color
+### Edit stroke color
-The stroke color of the annotation can be edited using the color palette provided in the Edit Stroke Color tool.
+Edit the stroke color using the color palette in the Edit Stroke Color tool.
-
+
-### Editing thickness
+### Edit thickness
-The thickness of the border of the annotation can be edited using the range slider provided in the Edit Thickness tool.
+Edit border thickness using the range slider in the Edit Thickness tool.
-
+
-### Editing opacity
+### Edit opacity
-The opacity of the annotation can be edited using the range slider provided in the Edit Opacity tool.
+Edit opacity using the range slider in the Edit Opacity tool.
-
\ No newline at end of file
+
diff --git a/Document-Processing/PDF/PDF-Viewer/javascript-es6/annotations/stamp-annotation.md b/Document-Processing/PDF/PDF-Viewer/javascript-es6/annotations/stamp-annotation.md
index 7cc4e55b1..352a3e175 100644
--- a/Document-Processing/PDF/PDF-Viewer/javascript-es6/annotations/stamp-annotation.md
+++ b/Document-Processing/PDF/PDF-Viewer/javascript-es6/annotations/stamp-annotation.md
@@ -1,17 +1,16 @@
---
layout: post
-title: Stamp annotation in Typescript PDF Viewer control | Syncfusion
-description: Learn here all about Stamp annotation in Syncfusion Typescript PDF Viewer control of Syncfusion Essential JS 2 and more.
+title: Stamp annotation in TypeScript PDF Viewer control | Syncfusion
+description: Learn about stamp annotations in the Syncfusion TypeScript PDF Viewer (Essential JS 2): dynamic, sign here, standard business, and custom stamps.
platform: document-processing
control: PDF Viewer
-publishingplatform: Typescript
documentation: ug
domainurl: ##DomainURL##
---
-# Stamp annotation in Typescript PDF Viewer control
+# Stamp annotation in TypeScript PDF Viewer control
-The PDF Viewer control provides options to add, edit, delete, and rotate the following stamp annotation in the PDF documents:
+The PDF Viewer control provides options to add, edit, delete, and rotate the following stamp annotations in PDF documents:
* Dynamic
* Sign Here
@@ -20,24 +19,24 @@ The PDF Viewer control provides options to add, edit, delete, and rotate the fol

-## Adding stamp annotations to the PDF document
+## Add 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.
+* Click the **Stamp Annotation** drop-down button. The pop-up lists available stamp annotation types.

-* Select the annotation type to be added to the page in the pop-up.
+* Select a stamp type to enable its annotation mode.

-* You can add the annotation over the pages of the PDF document.
+* Place the stamp on 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.
+N> When in pan mode and a stamp annotation tool is selected, the PDF Viewer switches to text select mode automatically for a smooth interaction experience.
-Refer to the following code sample to switch to the stamp annotation mode.
+The following examples switch to stamp annotation modes.
```html
@@ -54,7 +53,7 @@ PdfViewer.Inject(Toolbar, Magnification, Navigation, Annotation, LinkAnnotation,
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.resourceUrl = "https://cdn.syncfusion.com/ej2/31.1.23/dist/ej2-pdfviewer-lib";
pdfviewer.appendTo('#PdfViewer');
let dynamicStamp = document.getElementById('dynamicStamp');
@@ -145,23 +144,23 @@ if (standardBusinessStamp) {
{% endhighlight %}
{% endtabs %}
-## Adding custom stamp to the PDF document
+## Add a 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 **Stamp Annotation** drop-down button. The pop-up lists available stamp annotation types.
* Click the Custom Stamp button.

-* The file explorer dialog will appear, choose the image and then add the image to the PDF page.
+* In the file explorer dialog, choose an image and add it to the PDF page.
->The JPG and JPEG image format is only supported in the custom stamp annotations.
+>Only JPG and JPEG image formats are supported for custom stamp annotations.
-## Adding a Stamp annotation to the PDF document Programmatically
+## Add 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://ej2.syncfusion.com/documentation/api/pdfviewer/annotation/#annotation) method.
+The PDF Viewer library allows adding a stamp annotation programmatically using the [addAnnotation()](https://ej2.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:
+Here are examples showing how to add stamp annotations programmatically using addAnnotation():
```html
@@ -178,7 +177,7 @@ PdfViewer.Inject(Toolbar, Magnification, Navigation, Annotation, LinkAnnotation,
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.resourceUrl = "https://cdn.syncfusion.com/ej2/31.1.23/dist/ej2-pdfviewer-lib";
pdfviewer.appendTo('#PdfViewer');
let dynamicStamp = document.getElementById('dynamicStamp');
@@ -312,11 +311,11 @@ if (customStamp) {
{% endhighlight %}
{% endtabs %}
-## Edit the existing sticky note annotation programmatically
+## Edit an existing stamp annotation programmatically
-To modify existing sticky note annotation in the Syncfusion PDF viewer programmatically, you can use the **editAnnotation()** method.
+To modify an existing stamp annotation programmatically, use the editAnnotation() method.
-Here is an example of how you can use the **editAnnotation()** method:
+Here is an example of using editAnnotation():
```html
@@ -331,7 +330,7 @@ PdfViewer.Inject(Toolbar, Magnification, Navigation, Annotation, LinkAnnotation,
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.resourceUrl = "https://cdn.syncfusion.com/ej2/31.1.23/dist/ej2-pdfviewer-lib";
pdfviewer.appendTo('#PdfViewer');
let editAnnotation = document.getElementById('editAnnotation');
@@ -383,12 +382,11 @@ if (editAnnotation) {
{% endhighlight %}
{% endtabs %}
-## Setting default properties during control initialization
+## Set default properties during control initialization
-The properties of the stamp annotation can be set before creating the control using the StampSettings.
+Default properties for stamp annotations can be set before creating the control using 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.
+After changing default opacity using the Edit Opacity tool, the selected value is applied. The following example sets default stamp annotation settings.
{% tabs %}
{% highlight ts tabtitle="Standalone" %}
@@ -399,7 +397,7 @@ PdfViewer.Inject(Toolbar, Magnification, Navigation, Annotation, LinkAnnotation,
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.resourceUrl = "https://cdn.syncfusion.com/ej2/31.1.23/dist/ej2-pdfviewer-lib";
pdfviewer.stampSettings = {opacity: 0.3, author: 'Guest User'}
pdfviewer.appendTo('#PdfViewer');
diff --git a/Document-Processing/PDF/PDF-Viewer/javascript-es6/annotations/sticky-notes-annotation.md b/Document-Processing/PDF/PDF-Viewer/javascript-es6/annotations/sticky-notes-annotation.md
index 9918d84d5..a9e05dda5 100644
--- a/Document-Processing/PDF/PDF-Viewer/javascript-es6/annotations/sticky-notes-annotation.md
+++ b/Document-Processing/PDF/PDF-Viewer/javascript-es6/annotations/sticky-notes-annotation.md
@@ -1,44 +1,42 @@
---
layout: post
-title: Sticky notes in Typescript PDF Viewer control | Syncfusion
-description: Learn here all about Sticky notes in Syncfusion Typescript PDF Viewer control of Syncfusion Essential JS 2 and more.
+title: Sticky notes in TypeScript PDF Viewer control | Syncfusion
+description: Learn about sticky note annotations in the Syncfusion TypeScript PDF Viewer (Essential JS 2): add, edit, delete, and default settings.
platform: document-processing
control: PDF Viewer
-publishingplatform: Typescript
documentation: ug
domainurl: ##DomainURL##
---
-# Sticky notes in Typescript PDF Viewer control
+# Sticky notes in TypeScript PDF Viewer control
-The PDF Viewer control provides the options to add, edit, and delete the sticky note annotations in the PDF document.
+The PDF Viewer control provides options to add, edit, and delete sticky note annotations in the PDF document.

-## Adding a sticky note annotation to the PDF document
+## Add 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.
+* Click the **Comments** button in the PDF Viewer toolbar. The annotation toolbar appears below it.
+* Click the position where the sticky note annotation should be added.
+* The sticky note annotation is added at the clicked position.

- Annotation comments can be added to the PDF document using the comment panel.
+Annotation comments can be added 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.
+* Select a sticky note annotation in the PDF document and right-click it.
+* Select Comment from the context menu.
+* Add comments, replies, and status using the comment panel.

-## Adding a sticky note annotation to the PDF document Programmatically
+## Add 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://ej2.syncfusion.com/documentation/api/pdfviewer/annotation/#annotation) method.
+The PDF Viewer library allows adding a sticky note annotation programmatically using the [addAnnotation()](https://ej2.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:
+Here is an example showing how to add a sticky note annotation programmatically using addAnnotation():
```html
@@ -53,7 +51,7 @@ PdfViewer.Inject(Toolbar, Magnification, Navigation, Annotation, LinkAnnotation,
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.resourceUrl = "https://cdn.syncfusion.com/ej2/31.1.23/dist/ej2-pdfviewer-lib";
pdfviewer.appendTo('#PdfViewer');
let stickyNote = document.getElementById('stickyNote');
@@ -97,11 +95,11 @@ if (stickyNote) {
{% endhighlight %}
{% endtabs %}
-## Edit the existing sticky note annotation programmatically
+## Edit an existing sticky note annotation programmatically
-To modify existing sticky note annotation in the Syncfusion PDF viewer programmatically, you can use the **editAnnotation()** method.
+To modify an existing sticky note annotation programmatically, use the editAnnotation() method.
-Here is an example of how you can use the **editAnnotation()** method:
+Here is an example of using editAnnotation():
```html
@@ -116,7 +114,7 @@ PdfViewer.Inject(Toolbar, Magnification, Navigation, Annotation, LinkAnnotation,
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.resourceUrl = "https://cdn.syncfusion.com/ej2/31.1.23/dist/ej2-pdfviewer-lib";
pdfviewer.appendTo('#PdfViewer');
let stickyNote = document.getElementById('stickyNote');
@@ -165,31 +163,31 @@ if (stickyNote) {
{% endhighlight %}
{% endtabs %}
-## Editing the properties of the sticky note annotation
+## Edit the properties of sticky note annotations
### Editing opacity
-The opacity of the annotation can be edited using the range slider provided in the Edit Opacity tool.
+Edit opacity using the range slider in the Edit Opacity tool.

### Editing comments
-The comment, comment reply, and comment status of the annotation can be edited using the Comment Panel.
+Comment text, replies, and status can be edited using the comment panel.
-* Open the comment panel using the Comment Panel button showing in the annotation toolbar.
+* Open the comment panel using the Comment Panel button 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.
+Modify or delete comments or replies, and change status using the menu options in the comment panel.

-## Setting default properties during the control initialization
+## Set default properties during control initialization
-The properties of the sticky note annotation can be set before creating the control using the StickyNoteSettings.
+Default properties for sticky note annotations can be set before creating the control using StickyNotesSettings.
-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.
+After changing default opacity using the Edit Opacity tool, the selected value is applied. The following example sets default sticky note annotation settings.
{% tabs %}
{% highlight ts tabtitle="Standalone" %}
@@ -200,7 +198,7 @@ PdfViewer.Inject(Toolbar, Magnification, Navigation, Annotation, LinkAnnotation,
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.resourceUrl = "https://cdn.syncfusion.com/ej2/31.1.23/dist/ej2-pdfviewer-lib";
pdfviewer.stickyNotesSettings = {author: 'Syncfusion'};
pdfviewer.appendTo('#PdfViewer');
@@ -220,9 +218,9 @@ pdfviewer.appendTo('#PdfViewer');
{% endhighlight %}
{% endtabs %}
-## Disabling sticky note annotations
+## Disable 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.
+The PDF Viewer control provides an option to disable sticky note annotations. The following example disables the feature.
{% tabs %}
{% highlight ts tabtitle="Standalone" %}
@@ -233,7 +231,7 @@ PdfViewer.Inject(Toolbar, Magnification, Navigation, Annotation, LinkAnnotation,
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.resourceUrl = "https://cdn.syncfusion.com/ej2/31.1.23/dist/ej2-pdfviewer-lib";
pdfviewer.enableStickyNotesAnnotation = false;
pdfviewer.appendTo('#PdfViewer');
diff --git a/Document-Processing/PDF/PDF-Viewer/javascript-es6/annotations/text-markup-annotation.md b/Document-Processing/PDF/PDF-Viewer/javascript-es6/annotations/text-markup-annotation.md
index 66cb992ca..075d2d54a 100644
--- a/Document-Processing/PDF/PDF-Viewer/javascript-es6/annotations/text-markup-annotation.md
+++ b/Document-Processing/PDF/PDF-Viewer/javascript-es6/annotations/text-markup-annotation.md
@@ -1,40 +1,39 @@
---
layout: post
-title: Text markup annotation in Typescript Pdfviewer control | Syncfusion
-description: Learn here all about Text markup annotation in Syncfusion Typescript Pdfviewer control of Syncfusion Essential JS 2 and more.
+title: Text markup annotation in TypeScript PDF Viewer | Syncfusion
+description: Learn to add, edit, delete, and customize text markup annotations like highlight, underline, and squiggly in Syncfusion TypeScript PDF Viewer.
platform: document-processing
-control: Text markup annotation
-publishingplatform: Typescript
+control: PDF Viewer
documentation: ug
domainurl: ##DomainURL##
---
-# Text markup annotation in Typescript Pdfviewer control
+# Text markup annotation in TypeScript PDF Viewer
-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.
+The PDF Viewer provides options to add, edit, and delete text markup annotations, including Highlight, Underline, Strikethrough, and Squiggly.

-## Highlight a text
+## Highlight text
-There are two ways to highlight a text in the PDF document:
+There are two ways to highlight text:
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.
+* Select text in the PDF document and right-click it.
+* Select **Highlight** in the context menu.

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.
+* Click the **Edit Annotation** button in the PDF Viewer toolbar to open the annotation toolbar.
+* Select **Highlight** to enable highlight mode.
+* Select text to add the highlight annotation.
+* Alternatively, select text first and then click **Highlight**.

-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.
+When pan mode is active and a text markup mode is entered, the PDF Viewer switches to text selection mode to enable selection.
Refer to the following code snippet to switch to highlight mode.
@@ -48,7 +47,7 @@ PdfViewer.Inject( Toolbar,Magnification, Navigation, LinkAnnotation,ThumbnailVie
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"
+ resourceUrl:"https://cdn.syncfusion.com/ej2/31.1.23/dist/ej2-pdfviewer-lib"
});
pdfviewer.appendTo('#PdfViewer');
@@ -64,19 +63,10 @@ document.getElementById('set').addEventListener('click', ()=> {
EJ2 PDF Viewer
-
+
-
-
-
-
-
-
-
-
-
-
+
@@ -115,7 +105,7 @@ PdfViewer.Inject( Toolbar,Magnification, Navigation, LinkAnnotation,ThumbnailVie
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"
+ resourceUrl:"https://cdn.syncfusion.com/ej2/31.1.23/dist/ej2-pdfviewer-lib"
});
pdfviewer.appendTo('#PdfViewer');
@@ -135,19 +125,10 @@ document.getElementById('setNone').addEventListener('click', ()=> {
EJ2 PDF Viewer
-
+
-
-
-
-
-
-
-
-
-
-
+
@@ -174,11 +155,11 @@ Add the below `serviceUrl` in the `index.ts` file
{% previewsample "Document-Processing/code-snippet/pdfviewer/javascript-es6/text-markup-annotation/highlight-normal-mode-cs1/index.html" %}
-## Highlight a text programmatically
+## Highlight text programmatically
-The PDF Viewer library enables you to programmatically highlight text within the PDF Viewer control using the [**addAnnotation()**](https://ej2.syncfusion.com/documentation/api/pdfviewer/annotation/#annotation) method.
+Programmatically add highlights using the [addAnnotation](https://ej2.syncfusion.com/documentation/api/pdfviewer/annotation/#addannotation) method.
-Here's an example of how you can use the **addAnnotation()** method to apply highlighting programmatically:
+Example:
```html
@@ -193,7 +174,7 @@ PdfViewer.Inject(Toolbar, Magnification, Navigation, Annotation, LinkAnnotation,
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.resourceUrl = "https://cdn.syncfusion.com/ej2/31.1.23/dist/ej2-pdfviewer-lib";
pdfviewer.appendTo('#PdfViewer');
let highlight = document.getElementById('highlight');
@@ -235,22 +216,22 @@ if (highlight) {
{% endhighlight %}
{% endtabs %}
-## Underline a text
+## Underline text
-There are two ways to underline a text in the PDF document:
+There are two ways to underline text:
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.
+* Select text in the PDF document and right-click it.
+* Select **Underline** in the context menu.

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.
+* Click the **Edit Annotation** button in the PDF Viewer toolbar to open the annotation toolbar.
+* Select **Underline** to enable underline mode.
+* Select text to add the underline annotation.
+* Alternatively, select text first and then click **Underline**.

@@ -268,7 +249,7 @@ PdfViewer.Inject( Toolbar,Magnification, Navigation, LinkAnnotation,ThumbnailVie
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"
+ resourceUrl:"https://cdn.syncfusion.com/ej2/31.1.23/dist/ej2-pdfviewer-lib"
});
pdfviewer.appendTo('#PdfViewer');
@@ -284,19 +265,10 @@ document.getElementById('set').addEventListener('click', ()=> {
EJ2 PDF Viewer
-
+
-
-
-
-
-
-
-
-
-
-
+
@@ -333,7 +305,7 @@ PdfViewer.Inject( Toolbar,Magnification, Navigation, LinkAnnotation,ThumbnailVie
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"
+ resourceUrl:"https://cdn.syncfusion.com/ej2/31.1.23/dist/ej2-pdfviewer-lib"
});
pdfviewer.appendTo('#PdfViewer');
@@ -353,19 +325,10 @@ document.getElementById('setNone').addEventListener('click', ()=> {
EJ2 PDF Viewer
-
+
-
-
-
-
-
-
-
-
-
-
+
@@ -391,11 +354,11 @@ Add the below `serviceUrl` in the `index.ts` file
{% previewsample "Document-Processing/code-snippet/pdfviewer/javascript-es6/text-markup-annotation/underline-normal-mode-cs1/index.html" %}
-## Underline a text programmatically
+## Underline text programmatically
-The PDF Viewer library enables you to programmatically Underline text within the PDF Viewer control using the [**addAnnotation()**](https://ej2.syncfusion.com/documentation/api/pdfviewer/annotation/#annotation) method.
+Programmatically add underlines using the [addAnnotation](https://ej2.syncfusion.com/documentation/api/pdfviewer/annotation/#addannotation) method.
-Here's an example of how you can use the **addAnnotation()** method to apply Underline programmatically:
+Example:
```html
@@ -410,7 +373,7 @@ PdfViewer.Inject(Toolbar, Magnification, Navigation, Annotation, LinkAnnotation,
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.resourceUrl = "https://cdn.syncfusion.com/ej2/31.1.23/dist/ej2-pdfviewer-lib";
pdfviewer.appendTo('#PdfViewer');
let underline = document.getElementById('underline');
@@ -452,22 +415,22 @@ if (underline) {
{% endhighlight %}
{% endtabs %}
-## Strikethrough a text
+## Strikethrough text
-There are two ways to strikethrough a text in the PDF document:
+There are two ways to strikethrough text:
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.
+* Select text in the PDF document and right-click it.
+* Select **Strikethrough** in the context menu.

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.
+* Click the **Edit Annotation** button in the PDF Viewer toolbar to open the annotation toolbar.
+* Select **Strikethrough** to enable strikethrough mode.
+* Select text to add the strikethrough annotation.
+* Alternatively, select text first and then click **Strikethrough**.

@@ -485,7 +448,7 @@ PdfViewer.Inject( Toolbar,Magnification, Navigation, LinkAnnotation,ThumbnailVie
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"
+ resourceUrl:"https://cdn.syncfusion.com/ej2/31.1.23/dist/ej2-pdfviewer-lib"
});
pdfviewer.appendTo('#PdfViewer');
@@ -501,19 +464,10 @@ document.getElementById('set').addEventListener('click', ()=> {
EJ2 PDF Viewer
-
+
-
-
-
-
-
-
-
-
-
-
+
@@ -537,7 +491,7 @@ Add the below `serviceUrl` in the `index.ts` file
{% previewsample "Document-Processing/code-snippet/pdfviewer/javascript-es6/text-markup-annotation/strikethrough-mode-cs1/index.html" %}
-Refer to the following code snippet to switch back to normal mode from underline mode.
+Refer to the following code snippet to switch back to normal mode from strikethrough mode.
{% tabs %}
{% highlight ts tabtitle="index.ts" %}
@@ -549,7 +503,7 @@ 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"
+ resourceUrl:"https://cdn.syncfusion.com/ej2/31.1.23/dist/ej2-pdfviewer-lib"
});
pdfviewer.appendTo('#PdfViewer');
@@ -570,19 +524,10 @@ document.getElementById('setNone').addEventListener('click', ()=> {
EJ2 PDF Viewer
-
+
-
-
-
-
-
-
-
-
-
-
+
@@ -609,11 +554,11 @@ Add the below `serviceUrl` in the `index.ts` file
{% previewsample "Document-Processing/code-snippet/pdfviewer/javascript-es6/text-markup-annotation/strikethrough-normal-mode-cs1/index.html" %}
-## Strikethrough a text programmatically
+## Strikethrough text programmatically
-The PDF Viewer library enables you to programmatically Strikethrough text within the PDF Viewer control using the [**addAnnotation()**](https://ej2.syncfusion.com/documentation/api/pdfviewer/annotation/#annotation) method.
+Programmatically add strikethrough using the [addAnnotation](https://ej2.syncfusion.com/documentation/api/pdfviewer/annotation/#addannotation) method.
-Here's an example of how you can use the **addAnnotation()** method to apply Strikethrough programmatically:
+Example:
```html
@@ -628,7 +573,7 @@ PdfViewer.Inject(Toolbar, Magnification, Navigation, Annotation, LinkAnnotation,
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.resourceUrl = "https://cdn.syncfusion.com/ej2/31.1.23/dist/ej2-pdfviewer-lib";
pdfviewer.appendTo('#PdfViewer');
let strikethrough = document.getElementById('strikethrough');
@@ -670,21 +615,21 @@ if (strikethrough) {
{% endhighlight %}
{% endtabs %}
-## Squiggly a text
+## Add squiggly to text
-There are two ways to add squiggly to a text in the PDF document:
+There are two ways to add squiggly to text:
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.
+* Select text in the PDF document and right-click it.
+* Select **Squiggly** in the context menu.

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.
+* Click the **Edit Annotation** button in the PDF Viewer toolbar to open the annotation toolbar.
+* Select **Squiggly** to enable squiggly mode.
+* Select text to add the squiggly annotation.
+* Alternatively, select text first and then click **Squiggly**.

@@ -702,7 +647,7 @@ PdfViewer.Inject( Toolbar,Magnification, Navigation, LinkAnnotation,ThumbnailVie
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"
+ resourceUrl:"https://cdn.syncfusion.com/ej2/31.1.23/dist/ej2-pdfviewer-lib"
});
pdfviewer.appendTo('#PdfViewer');
@@ -718,19 +663,10 @@ document.getElementById('set').addEventListener('click', ()=> {
EJ2 PDF Viewer
-
+
-
-
-
-
-
-
-
-
-
-
+
@@ -754,7 +690,7 @@ Add the below `serviceUrl` in the `index.ts` file
{% previewsample "Document-Processing/code-snippet/pdfviewer/javascript-es6/text-markup-annotation/squiggly-mode-cs1/index.html" %}
-Refer to the following code snippet to switch back to normal mode from underline mode.
+Refer to the following code snippet to switch back to normal mode from squiggly mode.
{% tabs %}
{% highlight ts tabtitle="index.ts" %}
@@ -766,7 +702,7 @@ 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"
+ resourceUrl:"https://cdn.syncfusion.com/ej2/31.1.23/dist/ej2-pdfviewer-lib"
});
pdfviewer.appendTo('#PdfViewer');
@@ -787,19 +723,10 @@ document.getElementById('setNone').addEventListener('click', ()=> {
EJ2 PDF Viewer
-
+
-
-
-
-
-
-
-
-
-
-
+
@@ -826,11 +753,11 @@ Add the below `serviceUrl` in the `index.ts` file
{% previewsample "Document-Processing/code-snippet/pdfviewer/javascript-es6/text-markup-annotation/squiggly-normal-mode-cs1/index.html" %}
-## Squiggly a text programmatically
+## Add squiggly to text programmatically
-The PDF Viewer library enables you to programmatically Squiggly text within the PDF Viewer control using the [**addAnnotation()**](https://ej2.syncfusion.com/documentation/api/pdfviewer/annotation/#annotation) method.
+Programmatically add squiggly using the [addAnnotation](https://ej2.syncfusion.com/documentation/api/pdfviewer/annotation/#addannotation) method.
-Here's an example of how you can use the **addAnnotation()** method to apply Squiggly programmatically:
+Example:
```html
@@ -845,7 +772,7 @@ PdfViewer.Inject(Toolbar, Magnification, Navigation, Annotation, LinkAnnotation,
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.resourceUrl = "https://cdn.syncfusion.com/ej2/31.1.23/dist/ej2-pdfviewer-lib";
pdfviewer.appendTo('#PdfViewer');
let squiggly = document.getElementById('squiggly');
@@ -889,39 +816,39 @@ if (squiggly) {
## Deleting a text markup annotation
-The selected annotation can be deleted by the following ways:
+The selected annotation can be deleted in 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.
+1. Using the Delete/Backspace key
+ * Select the annotation.
+ * Press Delete (or Backspace). The selected annotation is removed.
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.
+ * Select the annotation.
+ * Click **Delete Annotation** in the annotation toolbar. The selected annotation is removed.

-## Editing the properties of the text markup annotation
+## Edit text markup annotation properties
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
+### Edit color
-The color of the annotation can be edited using the color palette provided in the Edit Color tool.
+Use the color palette in the Edit Color tool to change the annotation color.

-### Editing opacity
+### Edit opacity
-The opacity of the annotation can be edited using the range slider provided in the Edit Opacity tool.
+Use the range slider in the Edit Opacity tool to change annotation opacity.

-## Setting default properties during control initialization
+## Set 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.
+Set default properties 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.
+> After editing default color and opacity using the Edit Color and Edit Opacity tools, the values update to the selected settings.
Refer to the following code snippet to set the default annotation settings.
@@ -961,22 +888,22 @@ pdfviewer.appendTo('#PdfViewer');
{% endhighlight %}
{% endtabs %}
-## Performing undo and redo
+## Perform 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:
+The PDF Viewer supports undo and redo for changes. For text markup annotations, undo and redo 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:
+Undo and redo actions can be performed in 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.
+ After performing a text markup annotation action, press Ctrl+Z to undo and Ctrl+Y to redo.
+2. Using the toolbar:
+ Use the **Undo** and **Redo** tools in the toolbar.
-Refer to the following code snippet for calling undo and redo actions from the client-side.
+Refer to the following code snippet to call undo and redo actions from the client side.
{% tabs %}
{% highlight ts tabtitle="index.ts" %}
@@ -988,7 +915,7 @@ PdfViewer.Inject( Toolbar,Magnification, Navigation, LinkAnnotation,ThumbnailVie
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"
+ resourceUrl:"https://cdn.syncfusion.com/ej2/31.1.23/dist/ej2-pdfviewer-lib"
});
pdfviewer.appendTo('#PdfViewer');
@@ -1008,19 +935,10 @@ document.getElementById('redo').addEventListener('click', ()=> {
EJ2 PDF Viewer
-
+
-
-
-
-
-
-
-
-
-
-
+
@@ -1045,17 +963,17 @@ Add the below `serviceUrl` in the `index.ts` file
{% previewsample "Document-Processing/code-snippet/pdfviewer/javascript-es6/text-markup-annotation/undo-redo-cs1/index.html" %}
-## Saving the text markup annotation
+## Save text markup annotations
-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.
+Click the download tool in the toolbar to save text markup annotations to the PDF document. The original document is not modified.
-## Printing the text markup annotation
+## Print text markup annotations
-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.
+Click the print tool in the toolbar to print the PDF document with text markup annotations. The original document is not modified.
-## Disabling text markup annotation
+## Disable 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.
+Disable text markup annotations using the `enableTextMarkupAnnotation` property.
{% tabs %}
{% highlight ts tabtitle="Standalone" %}
@@ -1088,4 +1006,4 @@ pdfviewer.appendTo('#PdfViewer');
## See also
* [Toolbar items](../toolbar)
-* [Feature Modules](../feature-module)
+* [Feature modules](../feature-module)
diff --git a/Document-Processing/PDF/PDF-Viewer/javascript-es6/download.md b/Document-Processing/PDF/PDF-Viewer/javascript-es6/download.md
index a0b679bcd..d53c97d2f 100644
--- a/Document-Processing/PDF/PDF-Viewer/javascript-es6/download.md
+++ b/Document-Processing/PDF/PDF-Viewer/javascript-es6/download.md
@@ -1,16 +1,15 @@
---
layout: post
-title: Download in Typescript Pdfviewer control | Syncfusion
-description: Learn here all about Download in Syncfusion Typescript Pdfviewer control of Syncfusion Essential JS 2 and more.
+title: Download in TypeScript PDF Viewer | Syncfusion
+description: Learn how to enable, disable, and programmatically trigger download in the Syncfusion TypeScript PDF Viewer, including download events and base64 handling.
platform: document-processing
-control: Download
-publishingplatform: Typescript
+control: PDF Viewer
documentation: ug
domainurl: ##DomainURL##
---
-# Download in Typescript Pdfviewer control
+# Download in TypeScript PDF Viewer
-The PDF Viewer supports downloading the loaded PDF file. You can enable/disable the download using the following code snippet.
+The PDF Viewer supports downloading the loaded PDF document. Use the enableDownload property to enable or disable the download option, as shown below.
```html
@@ -71,9 +70,11 @@ pdfviewer.load('https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf', null
{% endhighlight %}
{% endtabs %}
-
+> Note: When loading documents from other origins, ensure that CORS is correctly configured on the server. In server-backed mode, the document is streamed through the serviceUrl endpoint, which must allow download requests.
-You can invoke download action using following code snippet.,
+
+
+You can invoke the download action using the following code snippet:
{% tabs %}
{% highlight ts tabtitle="Standalone" %}
@@ -106,9 +107,9 @@ pdfviewer.download();
## How to get the base64 string while downloading the PDF document
-The [downloadEnd](https://ej2.syncfusion.com/documentation/api/pdfviewer/#downloadend) event of the PDF viewer allows you to get the downloaded document as a base64 string.
+The [downloadEnd](https://ej2.syncfusion.com/documentation/api/pdfviewer/#downloadend) event of the PDF Viewer is raised after the file is prepared for download and provides the document as a base64 string.
-The following code illustrates how to get the downloaded document as a base64 string.
+The following example illustrates how to access the downloaded document as a base64 string. Note: Handling very large base64 strings may impact memory usage; consider using a stream when possible.
```
@@ -139,4 +140,4 @@ document.getElementById('load').addEventListener('click', function () {
## See also
* [Toolbar items](./toolbar)
-* [Feature Modules](./feature-module)
\ No newline at end of file
+* [Feature modules](./feature-module)
diff --git a/Document-Processing/PDF/PDF-Viewer/javascript-es6/event.md b/Document-Processing/PDF/PDF-Viewer/javascript-es6/event.md
new file mode 100644
index 000000000..7a8b90c73
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/javascript-es6/event.md
@@ -0,0 +1,1377 @@
+---
+layout: post
+title: Events in TypeScript PDF Viewer | Syncfusion
+description: Comprehensive list of events in the Syncfusion TypeScript PDF Viewer with descriptions, event arguments, and usage examples to integrate custom logic.
+platform: document-processing
+control: PDF Viewer
+documentation: ug
+domainurl: ##DomainURL##
+---
+
+# Events in TypeScript PDF Viewer
+
+The PDF Viewer component triggers events for creation, page navigation, document life cycle, context menu interactions, comments, bookmarks, download and export, hyperlinks, annotation import/export, custom keyboard commands, printing, signatures, text search, and text selection. Use these events to integrate custom logic into application workflows.
+
+The following table lists commonly used events supported by the PDF Viewer component:
+
+| Event | Description |
+| ----- | ----------- |
+| [`bookmarkClick`](#bookmarkclick) | Triggers when a bookmark item is clicked in the bookmark panel. |
+| [`buttonFieldClick`](#buttonfieldclick) | Triggers when a button form field is clicked. |
+| [`commentAdd`](#commentadd) | Triggers when a comment is added to the comment panel. |
+| [`commentDelete`](#commentdelete) | Triggers when a comment is deleted from the comment panel. |
+| [`commentEdit`](#commentedit) | Triggers when a comment is edited in the comment panel. |
+| [`commentSelect`](#commentselect) | Triggers when a comment is selected in the comment panel. |
+| [`commentStatusChanged`](#commentstatuschanged) | Triggers when a comment’s status changes in the comment panel. |
+| [`created`](#created) | Triggers during the creation of the PDF Viewer component. |
+| [`customContextMenuBeforeOpen`](#customcontextmenubeforeopen) | Fires before the custom context menu opens. |
+| [`customContextMenuSelect`](#customcontextmenuselect) | Fires when a custom context menu item is selected. |
+| [`documentLoad`](#documentload) | Triggers while loading a document into the PDF Viewer. |
+| [`documentLoadFailed`](#documentloadfailed) | Triggers when document loading fails. |
+| [`documentUnload`](#documentunload) | Triggers when the document is closed. |
+| [`downloadEnd`](#downloadend) | Triggers after a document is downloaded. |
+| [`downloadStart`](#downloadstart) | Triggers when the download action is initiated. |
+| [`exportFailed`](#exportfailed) | Triggers when exporting annotations fails. |
+| [`exportStart`](#exportstart) | Triggers when exporting annotations starts. |
+| [`exportSuccess`](#exportsuccess) | Triggers when annotations are exported successfully. |
+| [`extractTextCompleted`](#extracttextcompleted) | Triggers when text extraction is completed. |
+| [`hyperlinkClick`](#hyperlinkclick) | Triggers when a hyperlink is clicked. |
+| [`hyperlinkMouseOver`](#hyperlinkmouseover) | Triggers when hovering over a hyperlink. |
+| [`importFailed`](#importfailed) | Triggers when importing annotations fails. |
+| [`importStart`](#importstart) | Triggers when importing annotations starts. |
+| [`importSuccess`](#importsuccess) | Triggers when annotations are imported successfully. |
+| [`keyboardCustomCommands`](#keyboardcustomcommands) | Triggers when customized keyboard command keys are pressed. |
+| [`moveSignature`](#movesignature) | Triggers when a signature is moved across the page. |
+| [`pageChange`](#pagechange) | Triggers when the current page number changes. |
+| [`pageClick`](#pageclick) | Triggers when a mouse click occurs on a page. |
+| [`pageMouseover`](#pagemouseover) | Triggers when moving the mouse over a page. |
+| [`pageOrganizerSaveAs`](#pageorganizersaveas) | Triggers when a `save as` action is performed in the page organizer. |
+| [`pageRenderComplete`](#pagerendercomplete) | Triggers after a page finishes rendering. |
+| [`pageRenderInitiate`](#pagerenderinitiate) | Triggers when page rendering begins. |
+| [`printEnd`](#printend) | Triggers when a print action is completed. |
+| [`printStart`](#printstart) | Triggers when a print action is initiated. |
+| [`removeSignature`](#removesignature) | Triggers when a signature is removed. |
+| [`resizeSignature`](#resizesignature) | Triggers when a signature is resized. |
+| [`resourcesLoaded`](#resourcesloaded) | Triggers after PDFium resources are loaded. |
+| [`signaturePropertiesChange`](#signaturepropertieschange) | Triggers when signature properties are changed. |
+| [`signatureSelect`](#signatureselect) | Triggers when a signature is selected. |
+| [`signatureUnselect`](#signatureunselect) | Triggers when a signature is unselected. |
+| [`textSearchComplete`](#textsearchcomplete) | Triggers when a text search is completed. |
+| [`textSearchHighlight`](#textsearchhighlight) | Triggers when the searched text is highlighted. |
+| [`textSearchStart`](#textsearchstart) | Triggers when a text search is initiated. |
+| [`textSelectionEnd`](#textselectionend) | Triggers when text selection is complete. |
+| [`textSelectionStart`](#textselectionstart) | Triggers when text selection is initiated. |
+| [`thumbnailClick`](#thumbnailclick) | Triggers when a thumbnail is clicked. |
+| [`toolbarClick`](#toolbarclick) | Triggers when a toolbar item is clicked. |
+| [`validateFormFields`](#validateformfields) | Triggers when form field validation fails. |
+| [`zoomChange`](#zoomchange) | Triggers when the magnification value changes. |
+
+Note: For annotation and signature events, see the dedicated Annotations Events topic.
+
+## bookmarkClick
+
+The [bookmarkClick](https://ej2.syncfusion.com/javascript/documentation/api/pdfviewer/#bookmarkclickevent) event triggers when a bookmark item is clicked in the bookmark panel.
+
+- Event arguments: [BookmarkClickEventArgs](https://ej2.syncfusion.com/javascript/documentation/api/pdfviewer/bookmarkClickEventArgs/).
+
+Example:
+
+```typescript
+import { PdfViewer, Toolbar, Magnification, Navigation, LinkAnnotation,ThumbnailView, BookmarkView,
+ TextSelection, Annotation, FormDesigner, FormFields, ValidateFormFieldsArgs, PageOrganizer } from '@syncfusion/ej2-pdfviewer';
+
+PdfViewer.Inject( Toolbar,Magnification, Navigation, LinkAnnotation,ThumbnailView,
+ BookmarkView, TextSelection, Annotation, FormDesigner, FormFields, PageOrganizer );
+const viewer: PdfViewer = new PdfViewer({
+ documentPath: 'https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf',
+ resourceUrl: 'https://cdn.syncfusion.com/ej2/31.1.23/dist/ej2-pdfviewer-lib',
+ bookmarkClick: function (args: any) {
+ console.log(`Bookmark clicked: ${args.name}`);
+ }
+});
+viewer.appendTo('#pdfViewer');
+```
+
+## toolbarClick
+
+The [toolbarClick](https://ej2.syncfusion.com/javascript/documentation/api/pdfviewer/#toolbarclickevent) event triggers when a toolbar item is clicked. Use it to handle actions based on the clicked item's id or name.
+
+- Event arguments: `ClickEventArgs`.
+
+Example:
+
+```typescript
+import { PdfViewer, Toolbar, Magnification, Navigation, LinkAnnotation,ThumbnailView, BookmarkView,
+ TextSelection, Annotation, FormDesigner, FormFields, ValidateFormFieldsArgs, PageOrganizer } from '@syncfusion/ej2-pdfviewer';
+
+PdfViewer.Inject( Toolbar,Magnification, Navigation, LinkAnnotation,ThumbnailView,
+ BookmarkView, TextSelection, Annotation, FormDesigner, FormFields, PageOrganizer );
+const viewer: PdfViewer = new PdfViewer({
+ documentPath: 'https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf',
+ resourceUrl: 'https://cdn.syncfusion.com/ej2/31.1.23/dist/ej2-pdfviewer-lib',
+ toolbarClick: function (args: any) {
+ console.log(`Toolbar item clicked: ${args.name}`);
+ }
+});
+viewer.appendTo('#pdfViewer');
+```
+
+## validateFormFields
+
+The [validateFormFields](https://ej2.syncfusion.com/javascript/documentation/api/pdfviewer/#validateformfieldsevent) event triggers when form field validation fails, typically before a download or submit action proceeds. Use this event to inspect which required fields are empty and show custom messages or block application logic if needed.
+
+- Event arguments: [ValidateFormFieldsArgs](https://ej2.syncfusion.com/javascript/documentation/api/pdfviewer/validateFormFieldsArgs/)
+ - name: Event name
+ - documentName: Current document name
+ - formField: The last interacted field’s data (if applicable)
+ - nonFillableFields: Array detailing required/invalid fields
+
+When it triggers
+- Add a form field and mark it Required (UI: right‑click field > Properties > Required).
+- Leave the field empty and click Download. The event fires and provides the list of fields that failed validation.
+
+Example:
+
+```typescript
+import { PdfViewer, Toolbar, Magnification, Navigation, LinkAnnotation, ThumbnailView, BookmarkView,
+ TextSelection, Annotation, FormDesigner, FormFields, ValidateFormFieldsArgs, PageOrganizer } from '@syncfusion/ej2-pdfviewer';
+
+PdfViewer.Inject(Toolbar, Magnification, Navigation, LinkAnnotation, ThumbnailView,
+ BookmarkView, TextSelection, Annotation, FormDesigner, FormFields, PageOrganizer);
+
+const viewer: PdfViewer = new PdfViewer({
+ documentPath: 'https://cdn.syncfusion.com/content/pdf/form-designer.pdf',
+ resourceUrl: 'https://cdn.syncfusion.com/ej2/31.1.23/dist/ej2-pdfviewer-lib'
+});
+
+viewer.enableFormFieldsValidation = true;
+viewer.validateFormFields = function (args) {
+ console.log('form field event name:', args.name);
+ console.log('form field document name:', args.documentName);
+ console.log('form field data:', args.formField);
+ console.log('non fillable form field details:', args.nonFillableFields);
+};
+
+viewer.appendTo('#pdfViewer');
+```
+
+Tip
+- To require a field programmatically, set isRequired: true when creating or editing the field via Form Designer APIs.
+
+## zoomChange
+
+The [zoomChange](https://ej2.syncfusion.com/javascript/documentation/api/pdfviewer/#zoomchangeevent) event triggers when the magnification value changes.
+
+- Event arguments: [ZoomChangeEventArgs](https://ej2.syncfusion.com/javascript/documentation/api/pdfviewer/zoomChangeEventArgs/).
+
+Example:
+
+```typescript
+import { PdfViewer, Toolbar, Magnification, Navigation, LinkAnnotation,ThumbnailView, BookmarkView,
+ TextSelection, Annotation, FormDesigner, FormFields, ValidateFormFieldsArgs, PageOrganizer } from '@syncfusion/ej2-pdfviewer';
+
+PdfViewer.Inject( Toolbar,Magnification, Navigation, LinkAnnotation,ThumbnailView,
+ BookmarkView, TextSelection, Annotation, FormDesigner, FormFields, PageOrganizer );
+const viewer: PdfViewer = new PdfViewer({
+ documentPath: 'https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf',
+ resourceUrl: 'https://cdn.syncfusion.com/ej2/31.1.23/dist/ej2-pdfviewer-lib',
+ zoomChange: function (args: any) {
+ console.log(`Zoom changed to: ${args.zoomValue}%`);
+ }
+});
+viewer.appendTo('#pdfViewer');
+```
+
+## buttonFieldClick
+
+The [buttonFieldClick](https://ej2.syncfusion.com/javascript/documentation/api/pdfviewer/#buttonfieldclickevent) event triggers when a button form field is clicked.
+
+- Event arguments: [ButtonFieldClickEventArgs](https://ej2.syncfusion.com/javascript/documentation/api/pdfviewer/buttonFieldClickEventArgs/).
+
+Example:
+
+```typescript
+import { PdfViewer, Toolbar, Magnification, Navigation, LinkAnnotation,ThumbnailView, BookmarkView,
+ TextSelection, Annotation, FormDesigner, FormFields, ValidateFormFieldsArgs, PageOrganizer } from '@syncfusion/ej2-pdfviewer';
+
+PdfViewer.Inject( Toolbar,Magnification, Navigation, LinkAnnotation,ThumbnailView,
+ BookmarkView, TextSelection, Annotation, FormDesigner, FormFields, PageOrganizer );
+const viewer: PdfViewer = new PdfViewer({
+ documentPath: 'https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf',
+ resourceUrl: 'https://cdn.syncfusion.com/ej2/31.1.23/dist/ej2-pdfviewer-lib',
+ buttonFieldClick: function (args: any) {
+ console.log(`Button field clicked. Name: ${args.name}`);
+ }
+});
+viewer.appendTo('#pdfViewer');
+```
+
+## commentAdd
+
+The [commentAdd](https://ej2.syncfusion.com/javascript/documentation/api/pdfviewer/#commentaddevent) event triggers when a comment is added in the comment panel.
+
+- Event arguments: [CommentEventArgs](https://ej2.syncfusion.com/javascript/documentation/api/pdfviewer/commentEventArgs/).
+
+Example:
+
+```typescript
+import { PdfViewer, Toolbar, Magnification, Navigation, LinkAnnotation,ThumbnailView, BookmarkView,
+ TextSelection, Annotation, FormDesigner, FormFields, ValidateFormFieldsArgs, PageOrganizer } from '@syncfusion/ej2-pdfviewer';
+
+PdfViewer.Inject( Toolbar,Magnification, Navigation, LinkAnnotation,ThumbnailView,
+ BookmarkView, TextSelection, Annotation, FormDesigner, FormFields, PageOrganizer );
+const viewer: PdfViewer = new PdfViewer({
+ documentPath: 'https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf',
+ resourceUrl: 'https://cdn.syncfusion.com/ej2/31.1.23/dist/ej2-pdfviewer-lib',
+ commentAdd: function (args: any) {
+ console.log(`Comment added. Id: ${args.id}`);
+ }
+});
+viewer.appendTo('#pdfViewer');
+```
+
+## commentDelete
+
+The [commentDelete](https://ej2.syncfusion.com/javascript/documentation/api/pdfviewer/#commentdeleteevent) event triggers when a comment is deleted in the comment panel.
+
+- Event arguments: [CommentEventArgs](https://ej2.syncfusion.com/javascript/documentation/api/pdfviewer/commentEventArgs/).
+
+Example:
+
+```typescript
+import { PdfViewer, Toolbar, Magnification, Navigation, LinkAnnotation,ThumbnailView, BookmarkView,
+ TextSelection, Annotation, FormDesigner, FormFields, ValidateFormFieldsArgs, PageOrganizer } from '@syncfusion/ej2-pdfviewer';
+
+PdfViewer.Inject( Toolbar,Magnification, Navigation, LinkAnnotation,ThumbnailView,
+ BookmarkView, TextSelection, Annotation, FormDesigner, FormFields, PageOrganizer );
+const viewer: PdfViewer = new PdfViewer({
+ documentPath: 'https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf',
+ resourceUrl: 'https://cdn.syncfusion.com/ej2/31.1.23/dist/ej2-pdfviewer-lib',
+ commentDelete: function (args: any) {
+ console.log(`Comment deleted. Id: ${args.id}`);
+ }
+});
+viewer.appendTo('#pdfViewer');
+```
+
+## commentEdit
+
+The [commentEdit](https://ej2.syncfusion.com/javascript/documentation/api/pdfviewer/#commenteditevent) event triggers when a comment is edited in the comment panel.
+
+- Event arguments: [CommentEventArgs](https://ej2.syncfusion.com/javascript/documentation/api/pdfviewer/commentEventArgs/).
+
+Example:
+
+```typescript
+import { PdfViewer, Toolbar, Magnification, Navigation, LinkAnnotation,ThumbnailView, BookmarkView,
+ TextSelection, Annotation, FormDesigner, FormFields, ValidateFormFieldsArgs, PageOrganizer } from '@syncfusion/ej2-pdfviewer';
+
+PdfViewer.Inject( Toolbar,Magnification, Navigation, LinkAnnotation,ThumbnailView,
+ BookmarkView, TextSelection, Annotation, FormDesigner, FormFields, PageOrganizer );
+const viewer: PdfViewer = new PdfViewer({
+ documentPath: 'https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf',
+ resourceUrl: 'https://cdn.syncfusion.com/ej2/31.1.23/dist/ej2-pdfviewer-lib',
+ commentEdit: function (args: any) {
+ console.log(`Comment edited. Id: ${args.id}`);
+ }
+});
+viewer.appendTo('#pdfViewer');
+```
+
+## commentSelect
+
+The [commentSelect](https://ej2.syncfusion.com/javascript/documentation/api/pdfviewer/#commentselectevent) event triggers when a comment is selected in the comment panel.
+
+- Event arguments: [CommentEventArgs](https://ej2.syncfusion.com/javascript/documentation/api/pdfviewer/commentEventArgs/).
+
+Example:
+
+```typescript
+import { PdfViewer, Toolbar, Magnification, Navigation, LinkAnnotation,ThumbnailView, BookmarkView,
+ TextSelection, Annotation, FormDesigner, FormFields, ValidateFormFieldsArgs, PageOrganizer } from '@syncfusion/ej2-pdfviewer';
+
+PdfViewer.Inject( Toolbar,Magnification, Navigation, LinkAnnotation,ThumbnailView,
+ BookmarkView, TextSelection, Annotation, FormDesigner, FormFields, PageOrganizer );
+const viewer: PdfViewer = new PdfViewer({
+ documentPath: 'https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf',
+ resourceUrl: 'https://cdn.syncfusion.com/ej2/31.1.23/dist/ej2-pdfviewer-lib',
+ commentSelect: function (args: any) {
+ console.log(`Comment selected. Id: ${args.id}`);
+ }
+});
+viewer.appendTo('#pdfViewer');
+```
+
+## commentStatusChanged
+
+The [commentStatusChanged](https://ej2.syncfusion.com/javascript/documentation/api/pdfviewer/#commentstatuschangedevent) event triggers when a comment status is changed in the comment panel.
+
+- Event arguments: [CommentEventArgs](https://ej2.syncfusion.com/javascript/documentation/api/pdfviewer/commentEventArgs/).
+
+Example:
+
+```typescript
+import { PdfViewer, Toolbar, Magnification, Navigation, LinkAnnotation,ThumbnailView, BookmarkView,
+ TextSelection, Annotation, FormDesigner, FormFields, ValidateFormFieldsArgs, PageOrganizer } from '@syncfusion/ej2-pdfviewer';
+
+PdfViewer.Inject( Toolbar,Magnification, Navigation, LinkAnnotation,ThumbnailView,
+ BookmarkView, TextSelection, Annotation, FormDesigner, FormFields, PageOrganizer );
+const viewer: PdfViewer = new PdfViewer({
+ documentPath: 'https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf',
+ resourceUrl: 'https://cdn.syncfusion.com/ej2/31.1.23/dist/ej2-pdfviewer-lib',
+ commentStatusChanged: function (args: any) {
+ console.log(`Comment status changed. Id: ${args.id}, Status: ${args.status}`);
+ }
+});
+viewer.appendTo('#pdfViewer');
+```
+
+## created
+
+The [created](https://ej2.syncfusion.com/javascript/documentation/api/pdfviewer/#createdevent) event is triggered during the creation of the PDF Viewer component.
+
+- Event arguments: `void`.
+
+Example:
+
+```typescript
+import { PdfViewer, Toolbar, Magnification, Navigation, LinkAnnotation,ThumbnailView, BookmarkView,
+ TextSelection, Annotation, FormDesigner, FormFields, ValidateFormFieldsArgs, PageOrganizer } from '@syncfusion/ej2-pdfviewer';
+
+PdfViewer.Inject( Toolbar,Magnification, Navigation, LinkAnnotation,ThumbnailView,
+ BookmarkView, TextSelection, Annotation, FormDesigner, FormFields, PageOrganizer );
+
+const viewer: PdfViewer = new PdfViewer({
+ documentPath: 'https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf',
+ resourceUrl: 'https://cdn.syncfusion.com/ej2/31.1.23/dist/ej2-pdfviewer-lib',
+ created: function (args: any) {
+ console.log('PDF Viewer created');
+ }
+});
+viewer.appendTo('#pdfViewer');
+```
+
+## customContextMenuBeforeOpen
+
+The [customContextMenuBeforeOpen](https://ej2.syncfusion.com/javascript/documentation/api/pdfviewer/#customcontextmenubeforeopenevent) event fires just before the context menu is shown. Use it to show or hide items based on the current state (for example, only show search items when text is selected).
+
+- Event arguments: [CustomContextMenuBeforeOpenEventArgs](https://ej2.syncfusion.com/javascript/documentation/api/pdfviewer/customContextMenuBeforeOpenEventArgs/)
+ - name: Event name
+ - ids: Array of menu item ids that will be shown; remove ids to hide items for this open
+
+Example:
+
+```typescript
+import { PdfViewer, Toolbar, Magnification, Navigation, LinkAnnotation,ThumbnailView, BookmarkView,
+ TextSelection, Annotation, FormDesigner, FormFields, ValidateFormFieldsArgs, PageOrganizer } from '@syncfusion/ej2-pdfviewer';
+
+PdfViewer.Inject( Toolbar,Magnification, Navigation, LinkAnnotation,ThumbnailView,
+ BookmarkView, TextSelection, Annotation, FormDesigner, FormFields, PageOrganizer );
+const viewer: PdfViewer = new PdfViewer({
+ documentPath: 'https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf',
+ resourceUrl: 'https://cdn.syncfusion.com/ej2/31.1.23/dist/ej2-pdfviewer-lib',
+ customContextMenuBeforeOpen: function (args: any) {
+ console.log(`Before open context menu at page ${args.name}`);
+ }
+});
+const menuItems: any[] = [
+ {
+ text: 'SEARCH_ON_WEB',
+ id: 'web_search',
+ iconCss: 'e-icons e-search',
+ items: [
+ {
+ text: 'SEARCH_IN_GOOGLE_IMAGE',
+ id: 'web_search_images',
+ },
+ {
+ text: 'SEARCH_IN_WIKIPEDIA',
+ id: 'web_search_wikipedia',
+ },
+ {
+ text: 'SEARCH_IN_YOUTUBE',
+ id: 'web_search_youtube',
+ },
+ {
+ text: 'SEARCH_GOOGLE',
+ id: 'web_search_google',
+ },
+ ],
+ },
+ {
+ id: 'web_search_separator',
+ separator: true,
+ },
+];
+
+ viewer.appendTo("#pdfViewer");
+ viewer.documentLoad = function (args) {
+ viewer.addCustomMenu(menuItems, false, false);
+ };
+```
+
+## customContextMenuSelect
+
+The [customContextMenuSelect](https://ej2.syncfusion.com/javascript/documentation/api/pdfviewer/#customcontextmenuselectevent) event fires when a custom menu item is clicked. Use it to branch logic by the clicked item's id.
+
+- Event arguments: [CustomContextMenuSelectEventArgs](https://ej2.syncfusion.com/javascript/documentation/api/pdfviewer/customContextMenuSelectEventArgs/).
+
+- name: Event name
+- id: The id of the clicked menu item
+
+Example:
+
+```typescript
+import { PdfViewer, Toolbar, Magnification, Navigation, LinkAnnotation,ThumbnailView, BookmarkView,
+ TextSelection, Annotation, FormDesigner, FormFields, ValidateFormFieldsArgs, PageOrganizer } from '@syncfusion/ej2-pdfviewer';
+
+PdfViewer.Inject( Toolbar,Magnification, Navigation, LinkAnnotation,ThumbnailView,
+ BookmarkView, TextSelection, Annotation, FormDesigner, FormFields, PageOrganizer );
+const viewer: PdfViewer = new PdfViewer({
+ documentPath: 'https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf',
+ resourceUrl: 'https://cdn.syncfusion.com/ej2/31.1.23/dist/ej2-pdfviewer-lib',
+ customContextMenuSelect: function (args: any) {
+ console.log(`Context menu item selected: ${args.name}`);
+ }
+});
+const menuItems: any[] = [
+ {
+ text: 'SEARCH_ON_WEB',
+ id: 'web_search',
+ iconCss: 'e-icons e-search',
+ items: [
+ {
+ text: 'SEARCH_IN_GOOGLE_IMAGE',
+ id: 'web_search_images',
+ },
+ {
+ text: 'SEARCH_IN_WIKIPEDIA',
+ id: 'web_search_wikipedia',
+ },
+ {
+ text: 'SEARCH_IN_YOUTUBE',
+ id: 'web_search_youtube',
+ },
+ {
+ text: 'SEARCH_GOOGLE',
+ id: 'web_search_google',
+ },
+ ],
+ },
+ {
+ id: 'web_search_separator',
+ separator: true,
+ },
+];
+
+viewer.appendTo("#pdfViewer");
+viewer.documentLoad = function (args) {
+ viewer.addCustomMenu(menuItems, false, false);
+};
+
+```
+
+## documentLoad
+
+The [documentLoad](https://ej2.syncfusion.com/javascript/documentation/api/pdfviewer/#documentloadevent) event occurs after a document is successfully loaded and parsed.
+
+- Event arguments: [LoadEventArgs](https://ej2.syncfusion.com/javascript/documentation/api/pdfviewer/loadEventArgs/).
+
+Example:
+
+```typescript
+import { PdfViewer, Toolbar, Magnification, Navigation, LinkAnnotation,ThumbnailView, BookmarkView,
+ TextSelection, Annotation, FormDesigner, FormFields, ValidateFormFieldsArgs, PageOrganizer } from '@syncfusion/ej2-pdfviewer';
+
+PdfViewer.Inject( Toolbar,Magnification, Navigation, LinkAnnotation,ThumbnailView,
+ BookmarkView, TextSelection, Annotation, FormDesigner, FormFields, PageOrganizer );
+const viewer: PdfViewer = new PdfViewer({
+ documentPath: 'https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf',
+ resourceUrl: 'https://cdn.syncfusion.com/ej2/31.1.23/dist/ej2-pdfviewer-lib',
+});
+viewer.appendTo('#pdfViewer');
+viewer.documentLoad = function (args) {
+ console.log(`Document loaded: page count = ${args.pageData}`);
+};
+```
+
+## documentLoadFailed
+
+The [documentLoadFailed](https://ej2.syncfusion.com/javascript/documentation/api/pdfviewer/#documentloadfailedevent) event triggers when loading a document fails.
+
+- Event arguments: [LoadFailedEventArgs](https://ej2.syncfusion.com/javascript/documentation/api/pdfviewer/loadFailedEventArgs/).
+
+Example:
+
+```typescript
+import { PdfViewer, Toolbar, Magnification, Navigation, LinkAnnotation,ThumbnailView, BookmarkView,
+ TextSelection, Annotation, FormDesigner, FormFields, ValidateFormFieldsArgs, PageOrganizer } from '@syncfusion/ej2-pdfviewer';
+
+PdfViewer.Inject( Toolbar,Magnification, Navigation, LinkAnnotation,ThumbnailView,
+ BookmarkView, TextSelection, Annotation, FormDesigner, FormFields, PageOrganizer );
+const viewer: PdfViewer = new PdfViewer({
+ documentPath: 'https://cdn.syncfusion.com/content/pdf/invalid.pdf',
+});
+viewer.appendTo('#pdfViewer');
+viewer.documentLoadFailed = function (args) {
+ console.log(`Load failed. Error: ${args.documentName}`);
+}
+```
+
+## documentUnload
+
+The [documentUnload](https://ej2.syncfusion.com/javascript/documentation/api/pdfviewer/#documentunloadevent) event triggers when closing the current document.
+
+- Event arguments: [UnloadEventArgs](https://ej2.syncfusion.com/javascript/documentation/api/pdfviewer/unloadEventArgs/).
+
+Example:
+
+```typescript
+import { PdfViewer, Toolbar, Magnification, Navigation, LinkAnnotation,ThumbnailView, BookmarkView,
+ TextSelection, Annotation, FormDesigner, FormFields, ValidateFormFieldsArgs, PageOrganizer } from '@syncfusion/ej2-pdfviewer';
+
+PdfViewer.Inject( Toolbar,Magnification, Navigation, LinkAnnotation,ThumbnailView,
+ BookmarkView, TextSelection, Annotation, FormDesigner, FormFields, PageOrganizer );
+const viewer: PdfViewer = new PdfViewer({
+ documentPath: 'https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf',
+ resourceUrl: 'https://cdn.syncfusion.com/ej2/31.1.23/dist/ej2-pdfviewer-lib',
+
+});
+viewer.appendTo('#pdfViewer');
+viewer.documentUnload = function (args) {
+ console.log('Document unloaded');
+}
+```
+
+## downloadEnd
+
+The [downloadEnd](https://ej2.syncfusion.com/javascript/documentation/api/pdfviewer/#downloadendevent) event triggers after a document download completes.
+
+- Event arguments: [DownloadEndEventArgs](https://ej2.syncfusion.com/javascript/documentation/api/pdfviewer/downloadEndEventArgs/).
+
+Example:
+
+```typescript
+import { PdfViewer, Toolbar, Magnification, Navigation, LinkAnnotation,ThumbnailView, BookmarkView,
+ TextSelection, Annotation, FormDesigner, FormFields, ValidateFormFieldsArgs, PageOrganizer } from '@syncfusion/ej2-pdfviewer';
+
+PdfViewer.Inject( Toolbar,Magnification, Navigation, LinkAnnotation,ThumbnailView,
+ BookmarkView, TextSelection, Annotation, FormDesigner, FormFields, PageOrganizer );
+const viewer: PdfViewer = new PdfViewer({
+ documentPath: 'https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf',
+ resourceUrl: 'https://cdn.syncfusion.com/ej2/31.1.23/dist/ej2-pdfviewer-lib',
+ downloadEnd: function (args: any) {
+ console.log(`Download finished. File name: ${args.fileName}`);
+ }
+});
+viewer.appendTo('#pdfViewer');
+```
+
+## downloadStart
+
+The [downloadStart](https://ej2.syncfusion.com/javascript/documentation/api/pdfviewer/#downloadstartevent) event triggers when the download operation is initiated.
+
+- Event arguments: [DownloadStartEventArgs](https://ej2.syncfusion.com/javascript/documentation/api/pdfviewer/downloadStartEventArgs/).
+
+Example:
+
+```typescript
+import { PdfViewer, Toolbar, Magnification, Navigation, LinkAnnotation,ThumbnailView, BookmarkView,
+ TextSelection, Annotation, FormDesigner, FormFields, ValidateFormFieldsArgs, PageOrganizer } from '@syncfusion/ej2-pdfviewer';
+
+PdfViewer.Inject( Toolbar,Magnification, Navigation, LinkAnnotation,ThumbnailView,
+ BookmarkView, TextSelection, Annotation, FormDesigner, FormFields, PageOrganizer );
+const viewer: PdfViewer = new PdfViewer({
+ documentPath: 'https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf',
+ resourceUrl: 'https://cdn.syncfusion.com/ej2/31.1.23/dist/ej2-pdfviewer-lib',
+ downloadStart: function (args: any) {
+ console.log('Download started');
+ }
+});
+viewer.appendTo('#pdfViewer');
+```
+
+## exportFailed
+
+The [exportFailed](https://ej2.syncfusion.com/javascript/documentation/api/pdfviewer/#exportfailedevent) event triggers when exporting annotations fails.
+
+- Event arguments: [ExportFailureEventArgs](https://ej2.syncfusion.com/javascript/documentation/api/pdfviewer/exportFailureEventArgs/).
+
+Example:
+
+```typescript
+import { PdfViewer, Toolbar, Magnification, Navigation, LinkAnnotation,ThumbnailView, BookmarkView,
+ TextSelection, Annotation, FormDesigner, FormFields, ValidateFormFieldsArgs, PageOrganizer } from '@syncfusion/ej2-pdfviewer';
+
+PdfViewer.Inject( Toolbar,Magnification, Navigation, LinkAnnotation,ThumbnailView,
+ BookmarkView, TextSelection, Annotation, FormDesigner, FormFields, PageOrganizer );
+const viewer: PdfViewer = new PdfViewer({
+ documentPath: 'https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf',
+ resourceUrl: 'https://cdn.syncfusion.com/ej2/31.1.23/dist/ej2-pdfviewer-lib',
+ exportFailed: function (args: any) {
+ console.log(`Export failed: ${args.name}`);
+ }
+});
+viewer.appendTo('#pdfViewer');
+```
+
+## exportStart
+
+The [exportStart](https://ej2.syncfusion.com/javascript/documentation/api/pdfviewer/#exportstartevent) event triggers when exporting annotations starts.
+
+- Event arguments: [ExportStartEventArgs](https://ej2.syncfusion.com/javascript/documentation/api/pdfviewer/exportStartEventArgs/).
+
+Example:
+
+```typescript
+import { PdfViewer, Toolbar, Magnification, Navigation, LinkAnnotation,ThumbnailView, BookmarkView,
+ TextSelection, Annotation, FormDesigner, FormFields, ValidateFormFieldsArgs, PageOrganizer } from '@syncfusion/ej2-pdfviewer';
+
+PdfViewer.Inject( Toolbar,Magnification, Navigation, LinkAnnotation,ThumbnailView,
+ BookmarkView, TextSelection, Annotation, FormDesigner, FormFields, PageOrganizer );
+const viewer: PdfViewer = new PdfViewer({
+ documentPath: 'https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf',
+ resourceUrl: 'https://cdn.syncfusion.com/ej2/31.1.23/dist/ej2-pdfviewer-lib',
+ exportStart: function (args: any) {
+ console.log('Export started');
+ }
+});
+viewer.appendTo('#pdfViewer');
+```
+
+## exportSuccess
+
+The [exportSuccess](https://ej2.syncfusion.com/javascript/documentation/api/pdfviewer/#exportsuccessevent) event triggers when annotations are exported successfully.
+
+- Event arguments: [ExportSuccessEventArgs](https://ej2.syncfusion.com/javascript/documentation/api/pdfviewer/exportSuccessEventArgs/).
+
+Example:
+
+```typescript
+import { PdfViewer, Toolbar, Magnification, Navigation, LinkAnnotation,ThumbnailView, BookmarkView,
+ TextSelection, Annotation, FormDesigner, FormFields, ValidateFormFieldsArgs, PageOrganizer } from '@syncfusion/ej2-pdfviewer';
+
+PdfViewer.Inject( Toolbar,Magnification, Navigation, LinkAnnotation,ThumbnailView,
+ BookmarkView, TextSelection, Annotation, FormDesigner, FormFields, PageOrganizer );
+const viewer: PdfViewer = new PdfViewer({
+ documentPath: 'https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf',
+ resourceUrl: 'https://cdn.syncfusion.com/ej2/31.1.23/dist/ej2-pdfviewer-lib',
+ exportSuccess: function (args: any) {
+ console.log('Export success');
+ }
+});
+viewer.appendTo('#pdfViewer');
+```
+
+## extractTextCompleted
+
+The [extractTextCompleted](https://ej2.syncfusion.com/javascript/documentation/api/pdfviewer/#extracttextcompletedevent) event triggers when text extraction completes.
+
+- Event arguments: [ExtractTextCompletedEventArgs](https://ej2.syncfusion.com/javascript/documentation/api/pdfviewer/extractTextCompletedEventArgs/).
+
+Example:
+
+```typescript
+import { PdfViewer, Toolbar, Magnification, Navigation, LinkAnnotation,ThumbnailView, BookmarkView,
+ TextSelection, Annotation, FormDesigner, FormFields, ValidateFormFieldsArgs, PageOrganizer } from '@syncfusion/ej2-pdfviewer';
+
+PdfViewer.Inject( Toolbar,Magnification, Navigation, LinkAnnotation,ThumbnailView,
+ BookmarkView, TextSelection, Annotation, FormDesigner, FormFields, PageOrganizer );
+const viewer: PdfViewer = new PdfViewer({
+ documentPath: 'https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf',
+ resourceUrl: 'https://cdn.syncfusion.com/ej2/31.1.23/dist/ej2-pdfviewer-lib',
+ extractTextCompleted: function (args: any) {
+ console.log(`Extracted text length: ${(args.documentTextCollection || '').length}`);
+ }
+});
+viewer.appendTo('#pdfViewer');
+```
+
+## hyperlinkClick
+
+The [hyperlinkClick](https://ej2.syncfusion.com/javascript/documentation/api/pdfviewer/#hyperlinkclickevent) event triggers when a hyperlink is clicked.
+
+- Event arguments: [HyperlinkClickEventArgs](https://ej2.syncfusion.com/javascript/documentation/api/pdfviewer/hyperlinkClickEventArgs/).
+
+Example:
+
+```typescript
+import { PdfViewer, Toolbar, Magnification, Navigation, LinkAnnotation,ThumbnailView, BookmarkView,
+ TextSelection, Annotation, FormDesigner, FormFields, ValidateFormFieldsArgs, PageOrganizer } from '@syncfusion/ej2-pdfviewer';
+
+PdfViewer.Inject( Toolbar,Magnification, Navigation, LinkAnnotation,ThumbnailView,
+ BookmarkView, TextSelection, Annotation, FormDesigner, FormFields, PageOrganizer );
+const viewer: PdfViewer = new PdfViewer({
+ documentPath: 'https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf',
+ resourceUrl: 'https://cdn.syncfusion.com/ej2/31.1.23/dist/ej2-pdfviewer-lib',
+ hyperlinkClick: function (args: any) {
+ console.log(`Hyperlink clicked: ${args.hyperlink}`);
+ }
+});
+viewer.appendTo('#pdfViewer');
+```
+
+## hyperlinkMouseOver
+
+The [hyperlinkMouseOver](https://ej2.syncfusion.com/javascript/documentation/api/pdfviewer/#hyperlinkmouseoverevent) event triggers when hovering over a hyperlink.
+
+- Event arguments: HyperlinkMouseOverArgs.
+
+Example:
+
+```typescript
+import { PdfViewer, Toolbar, Magnification, Navigation, LinkAnnotation,ThumbnailView, BookmarkView,
+ TextSelection, Annotation, FormDesigner, FormFields, ValidateFormFieldsArgs, PageOrganizer } from '@syncfusion/ej2-pdfviewer';
+
+PdfViewer.Inject( Toolbar,Magnification, Navigation, LinkAnnotation,ThumbnailView,
+ BookmarkView, TextSelection, Annotation, FormDesigner, FormFields, PageOrganizer );
+const viewer: PdfViewer = new PdfViewer({
+ documentPath: 'https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf',
+ resourceUrl: 'https://cdn.syncfusion.com/ej2/31.1.23/dist/ej2-pdfviewer-lib',
+ hyperlinkMouseOver: function (args: any) {
+ console.log(`Hyperlink hover at page: ${args.name}`);
+ }
+});
+viewer.appendTo('#pdfViewer');
+```
+
+## importFailed
+
+The [importFailed](https://ej2.syncfusion.com/javascript/documentation/api/pdfviewer/#importfailedevent) event triggers when importing annotations fails.
+
+- Event arguments: [ImportFailureEventArgs](https://ej2.syncfusion.com/javascript/documentation/api/pdfviewer/importFailureEventArgs/).
+
+Example:
+
+```typescript
+import { PdfViewer, Toolbar, Magnification, Navigation, LinkAnnotation,ThumbnailView, BookmarkView,
+ TextSelection, Annotation, FormDesigner, FormFields, ValidateFormFieldsArgs, PageOrganizer } from '@syncfusion/ej2-pdfviewer';
+
+PdfViewer.Inject( Toolbar,Magnification, Navigation, LinkAnnotation,ThumbnailView,
+ BookmarkView, TextSelection, Annotation, FormDesigner, FormFields, PageOrganizer );
+const viewer: PdfViewer = new PdfViewer({
+ documentPath: 'https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf',
+ resourceUrl: 'https://cdn.syncfusion.com/ej2/31.1.23/dist/ej2-pdfviewer-lib',
+ importFailed: function (args: any) {
+ console.log(`Import failed: ${args.name}`);
+ }
+});
+viewer.appendTo('#pdfViewer');
+```
+
+## importStart
+
+The [importStart](https://ej2.syncfusion.com/javascript/documentation/api/pdfviewer/#importstartevent) event triggers when importing annotations starts.
+
+- Event arguments: [ImportStartEventArgs](https://ej2.syncfusion.com/javascript/documentation/api/pdfviewer/importStartEventArgs/).
+
+Example:
+
+```typescript
+import { PdfViewer, Toolbar, Magnification, Navigation, LinkAnnotation,ThumbnailView, BookmarkView,
+ TextSelection, Annotation, FormDesigner, FormFields, ValidateFormFieldsArgs, PageOrganizer } from '@syncfusion/ej2-pdfviewer';
+
+PdfViewer.Inject( Toolbar,Magnification, Navigation, LinkAnnotation,ThumbnailView,
+ BookmarkView, TextSelection, Annotation, FormDesigner, FormFields, PageOrganizer );
+const viewer: PdfViewer = new PdfViewer({
+ documentPath: 'https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf',
+ resourceUrl: 'https://cdn.syncfusion.com/ej2/31.1.23/dist/ej2-pdfviewer-lib',
+ importStart: function (args: any) {
+ console.log('Import started');
+ }
+});
+viewer.appendTo('#pdfViewer');
+```
+
+## importSuccess
+
+The [importSuccess](https://ej2.syncfusion.com/javascript/documentation/api/pdfviewer/#importsuccessevent) event triggers when annotations are imported successfully.
+
+- Event arguments: [ImportSuccessEventArgs](https://ej2.syncfusion.com/javascript/documentation/api/pdfviewer/importSuccessEventArgs/).
+
+Example:
+
+```typescript
+import { PdfViewer, Toolbar, Magnification, Navigation, LinkAnnotation,ThumbnailView, BookmarkView,
+ TextSelection, Annotation, FormDesigner, FormFields, ValidateFormFieldsArgs, PageOrganizer } from '@syncfusion/ej2-pdfviewer';
+
+PdfViewer.Inject( Toolbar,Magnification, Navigation, LinkAnnotation,ThumbnailView,
+ BookmarkView, TextSelection, Annotation, FormDesigner, FormFields, PageOrganizer );
+const viewer: PdfViewer = new PdfViewer({
+ documentPath: 'https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf',
+ resourceUrl: 'https://cdn.syncfusion.com/ej2/31.1.23/dist/ej2-pdfviewer-lib',
+ importSuccess: function (args: any) {
+ console.log('Import success');
+ }
+});
+viewer.appendTo('#pdfViewer');
+```
+
+## keyboardCustomCommands
+
+The [keyboardCustomCommands](https://ej2.syncfusion.com/javascript/documentation/api/pdfviewer/#keyboardcustomcommandsevent) event triggers when customized keyboard command keys are pressed.
+
+- Event arguments: [KeyboardCustomCommandsEventArgs](https://ej2.syncfusion.com/javascript/documentation/api/pdfviewer/keyboardCustomCommandsEventArgs/).
+
+ - name: Event name
+ - keyboardCommand: The command metadata raised by Command Manager
+
+When it triggers
+- After registering gestures in commandManager.keyboardCommand. For example, pressing Shift + Alt + G or Shift + Alt + H triggers the event. Use this to handle custom keyboard shortcuts.
+
+Refer to [Keyboard interaction](./accessibility.md#keyboard-interaction) for details about adding and handling custom shortcut keys.
+Example:
+
+```typescript
+import { PdfViewer, Toolbar, Magnification, Navigation, LinkAnnotation,ThumbnailView, BookmarkView,
+ TextSelection, Annotation, FormDesigner, FormFields, ValidateFormFieldsArgs, PageOrganizer } from '@syncfusion/ej2-pdfviewer';
+
+PdfViewer.Inject( Toolbar,Magnification, Navigation, LinkAnnotation,ThumbnailView,
+ BookmarkView, TextSelection, Annotation, FormDesigner, FormFields, PageOrganizer );
+const viewer: PdfViewer = new PdfViewer({
+ documentPath: 'https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf',
+ resourceUrl: 'https://cdn.syncfusion.com/ej2/31.1.23/dist/ej2-pdfviewer-lib',
+});
+viewer.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,
+ },
+ },
+ ],
+};
+viewer.appendTo('#pdfViewer');
+viewer.keyboardCustomCommands = (args: any): void => {
+ console.log('Custom command triggered:', args);
+};
+```
+
+## moveSignature
+
+The [moveSignature](https://ej2.syncfusion.com/javascript/documentation/api/pdfviewer/#movesignatureevent) event triggers when a signature is moved across the page.
+
+- Event arguments: `MoveSignatureEventArgs`.
+
+Example:
+
+```typescript
+import { PdfViewer, Toolbar, Magnification, Navigation, LinkAnnotation,ThumbnailView, BookmarkView,
+ TextSelection, Annotation, FormDesigner, FormFields, ValidateFormFieldsArgs, PageOrganizer } from '@syncfusion/ej2-pdfviewer';
+
+PdfViewer.Inject( Toolbar,Magnification, Navigation, LinkAnnotation,ThumbnailView,
+ BookmarkView, TextSelection, Annotation, FormDesigner, FormFields, PageOrganizer );
+const viewer: PdfViewer = new PdfViewer({
+ documentPath: 'https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf',
+ resourceUrl: 'https://cdn.syncfusion.com/ej2/31.1.23/dist/ej2-pdfviewer-lib',
+ moveSignature: function (args: any) {
+ console.log(`Signature moved on page ${args.id}`);
+ }
+});
+viewer.appendTo('#pdfViewer');
+```
+
+## pageChange
+
+The [pageChange](https://ej2.syncfusion.com/javascript/documentation/api/pdfviewer/#pagechangeevent) event triggers when the current page number changes (for example, via scrolling or navigation controls).
+
+- Event arguments: [PageChangeEventArgs](https://ej2.syncfusion.com/javascript/documentation/api/pdfviewer/pageChangeEventArgs/).
+
+Example:
+
+```typescript
+import { PdfViewer, Toolbar, Magnification, Navigation, LinkAnnotation,ThumbnailView, BookmarkView,
+ TextSelection, Annotation, FormDesigner, FormFields, ValidateFormFieldsArgs, PageOrganizer } from '@syncfusion/ej2-pdfviewer';
+
+PdfViewer.Inject( Toolbar,Magnification, Navigation, LinkAnnotation,ThumbnailView,
+ BookmarkView, TextSelection, Annotation, FormDesigner, FormFields, PageOrganizer );
+const viewer: PdfViewer = new PdfViewer({
+ documentPath: 'https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf',
+ resourceUrl: 'https://cdn.syncfusion.com/ej2/31.1.23/dist/ej2-pdfviewer-lib',
+ pageChange: function (args: any) {
+ console.log(`Page changed from ${args.previousPageNumber} to ${args.currentPageNumber}`);
+ }
+});
+viewer.appendTo('#pdfViewer');
+```
+
+## pageClick
+
+The [pageClick](https://ej2.syncfusion.com/javascript/documentation/api/pdfviewer/#pageclickevent) event triggers when a mouse click occurs on a page.
+
+- Event arguments: [PageClickEventArgs](https://ej2.syncfusion.com/javascript/documentation/api/pdfviewer/pageClickEventArgs/).
+
+Example:
+
+```typescript
+import { PdfViewer, Toolbar, Magnification, Navigation, LinkAnnotation,ThumbnailView, BookmarkView,
+ TextSelection, Annotation, FormDesigner, FormFields, ValidateFormFieldsArgs, PageOrganizer } from '@syncfusion/ej2-pdfviewer';
+
+PdfViewer.Inject( Toolbar,Magnification, Navigation, LinkAnnotation,ThumbnailView,
+ BookmarkView, TextSelection, Annotation, FormDesigner, FormFields, PageOrganizer );
+const viewer: PdfViewer = new PdfViewer({
+ documentPath: 'https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf',
+ resourceUrl: 'https://cdn.syncfusion.com/ej2/31.1.23/dist/ej2-pdfviewer-lib',
+ pageClick: function (args: any) {
+ console.log(`Page ${args.pageNumber} clicked at (${args.x}, ${args.y})`);
+ }
+});
+viewer.appendTo('#pdfViewer');
+```
+
+## pageMouseover
+
+The [pageMouseover](https://ej2.syncfusion.com/javascript/documentation/api/pdfviewer/#pagemouseoverevent) event triggers when the mouse moves over a page.
+
+- Event arguments: `PageMouseoverEventArgs`.
+
+Example:
+
+```typescript
+import { PdfViewer, Toolbar, Magnification, Navigation, LinkAnnotation,ThumbnailView, BookmarkView,
+ TextSelection, Annotation, FormDesigner, FormFields, ValidateFormFieldsArgs, PageOrganizer } from '@syncfusion/ej2-pdfviewer';
+
+PdfViewer.Inject( Toolbar,Magnification, Navigation, LinkAnnotation,ThumbnailView,
+ BookmarkView, TextSelection, Annotation, FormDesigner, FormFields, PageOrganizer );
+const viewer: PdfViewer = new PdfViewer({
+ documentPath: 'https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf',
+ resourceUrl: 'https://cdn.syncfusion.com/ej2/31.1.23/dist/ej2-pdfviewer-lib',
+ pageMouseover: function (args: any) {
+ console.log(`Mouse over page ${args.name}`);
+ }
+});
+viewer.appendTo('#pdfViewer');
+```
+
+## pageOrganizerSaveAs
+
+The [pageOrganizerSaveAs](https://ej2.syncfusion.com/javascript/documentation/api/pdfviewer/#pageorganizersaveasevent) event triggers when a Save As action is performed in the page organizer.
+
+- Event arguments: `PageOrganizerSaveAsEventArgs`.
+
+Example:
+
+```typescript
+import { PdfViewer, Toolbar, Magnification, Navigation, LinkAnnotation,ThumbnailView, BookmarkView,
+ TextSelection, Annotation, FormDesigner, FormFields, ValidateFormFieldsArgs, PageOrganizer } from '@syncfusion/ej2-pdfviewer';
+
+PdfViewer.Inject( Toolbar,Magnification, Navigation, LinkAnnotation,ThumbnailView,
+ BookmarkView, TextSelection, Annotation, FormDesigner, FormFields, PageOrganizer );
+const viewer: PdfViewer = new PdfViewer({
+ documentPath: 'https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf',
+ resourceUrl: 'https://cdn.syncfusion.com/ej2/31.1.23/dist/ej2-pdfviewer-lib',
+ pageOrganizerSaveAs: function (args: any) {
+ console.log(`Page organizer save triggered. File name: ${args.downloadDocument}`);
+ }
+});
+viewer.appendTo('#pdfViewer');
+```
+
+## pageRenderComplete
+
+The [pageRenderComplete](https://ej2.syncfusion.com/javascript/documentation/api/pdfviewer/#pagerendercompleteevent) event triggers after a page finishes rendering.
+
+- Event arguments: [PageRenderCompleteEventArgs](https://ej2.syncfusion.com/javascript/documentation/api/pdfviewer/pageRenderCompleteEventArgs/).
+
+Example:
+
+```typescript
+import { PdfViewer, Toolbar, Magnification, Navigation, LinkAnnotation,ThumbnailView, BookmarkView,
+ TextSelection, Annotation, FormDesigner, FormFields, ValidateFormFieldsArgs, PageOrganizer } from '@syncfusion/ej2-pdfviewer';
+
+PdfViewer.Inject( Toolbar,Magnification, Navigation, LinkAnnotation,ThumbnailView,
+ BookmarkView, TextSelection, Annotation, FormDesigner, FormFields, PageOrganizer );
+const viewer: PdfViewer = new PdfViewer({
+ documentPath: 'https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf',
+ resourceUrl: 'https://cdn.syncfusion.com/ej2/31.1.23/dist/ej2-pdfviewer-lib',
+ pageRenderComplete: function (args: any) {
+ console.log(`Page ${args.data} rendering completed.`);
+ }
+});
+viewer.appendTo('#pdfViewer');
+```
+
+## pageRenderInitiate
+
+The [pageRenderInitiate](https://ej2.syncfusion.com/javascript/documentation/api/pdfviewer/#pagerenderinitiateevent) event triggers when page rendering begins.
+
+- Event arguments: [PageRenderInitiateEventArgs](https://ej2.syncfusion.com/javascript/documentation/api/pdfviewer/pageRenderInitiateEventArgs/).
+
+Example:
+
+```typescript
+import { PdfViewer, Toolbar, Magnification, Navigation, LinkAnnotation,ThumbnailView, BookmarkView,
+ TextSelection, Annotation, FormDesigner, FormFields, ValidateFormFieldsArgs, PageOrganizer } from '@syncfusion/ej2-pdfviewer';
+
+PdfViewer.Inject( Toolbar,Magnification, Navigation, LinkAnnotation,ThumbnailView,
+ BookmarkView, TextSelection, Annotation, FormDesigner, FormFields, PageOrganizer );
+const viewer: PdfViewer = new PdfViewer({
+ documentPath: 'https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf',
+ resourceUrl: 'https://cdn.syncfusion.com/ej2/31.1.23/dist/ej2-pdfviewer-lib',
+ pageRenderInitiate: function (args: any) {
+ console.log(`Page ${args.jsonData} rendering initiated.`);
+ }
+});
+viewer.appendTo('#pdfViewer');
+```
+
+## printEnd
+
+The [printEnd](https://ej2.syncfusion.com/javascript/documentation/api/pdfviewer/#printendevent) event triggers when a print action completes.
+
+- Event arguments: [PrintEndEventArgs](https://ej2.syncfusion.com/javascript/documentation/api/pdfviewer/printEndEventArgs/).
+
+Example:
+
+```typescript
+import { PdfViewer, Toolbar, Magnification, Navigation, LinkAnnotation,ThumbnailView, BookmarkView,
+ TextSelection, Annotation, FormDesigner, FormFields, ValidateFormFieldsArgs, PageOrganizer } from '@syncfusion/ej2-pdfviewer';
+
+PdfViewer.Inject( Toolbar,Magnification, Navigation, LinkAnnotation,ThumbnailView,
+ BookmarkView, TextSelection, Annotation, FormDesigner, FormFields, PageOrganizer );
+const viewer: PdfViewer = new PdfViewer({
+ documentPath: 'https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf',
+ resourceUrl: 'https://cdn.syncfusion.com/ej2/31.1.23/dist/ej2-pdfviewer-lib',
+ printEnd: function (args: any) {
+ console.log('Print action completed.');
+ }
+});
+viewer.appendTo('#pdfViewer');
+```
+
+## printStart
+
+The [printStart](https://ej2.syncfusion.com/javascript/documentation/api/pdfviewer/#printstartevent) event triggers when a print action is initiated.
+
+- Event arguments: [PrintStartEventArgs](https://ej2.syncfusion.com/javascript/documentation/api/pdfviewer/printStartEventArgs/).
+
+Example:
+
+```typescript
+import { PdfViewer, Toolbar, Magnification, Navigation, LinkAnnotation,ThumbnailView, BookmarkView,
+ TextSelection, Annotation, FormDesigner, FormFields, ValidateFormFieldsArgs, PageOrganizer } from '@syncfusion/ej2-pdfviewer';
+
+PdfViewer.Inject( Toolbar,Magnification, Navigation, LinkAnnotation,ThumbnailView,
+ BookmarkView, TextSelection, Annotation, FormDesigner, FormFields, PageOrganizer );
+const viewer: PdfViewer = new PdfViewer({
+ documentPath: 'https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf',
+ resourceUrl: 'https://cdn.syncfusion.com/ej2/31.1.23/dist/ej2-pdfviewer-lib',
+ printStart: () => {
+ console.log('Print action initiated.');
+ }
+});
+viewer.appendTo('#pdfViewer');
+```
+
+## removeSignature
+
+The [removeSignature](https://ej2.syncfusion.com/javascript/documentation/api/pdfviewer/#removesignatureevent) event triggers when a signature is removed.
+
+- Event arguments: [RemoveSignatureEventArgs](https://ej2.syncfusion.com/javascript/documentation/api/pdfviewer/removeSignatureEventArgs/).
+
+Example:
+
+```typescript
+import { PdfViewer, Toolbar, Magnification, Navigation, LinkAnnotation,ThumbnailView, BookmarkView,
+ TextSelection, Annotation, FormDesigner, FormFields, ValidateFormFieldsArgs, PageOrganizer } from '@syncfusion/ej2-pdfviewer';
+
+PdfViewer.Inject( Toolbar,Magnification, Navigation, LinkAnnotation,ThumbnailView,
+ BookmarkView, TextSelection, Annotation, FormDesigner, FormFields, PageOrganizer );
+const viewer: PdfViewer = new PdfViewer({
+ documentPath: 'https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf',
+ resourceUrl: 'https://cdn.syncfusion.com/ej2/31.1.23/dist/ej2-pdfviewer-lib',
+ removeSignature: function (args: any) {
+ console.log(`Signature removed from page ${args.bounds}`);
+ }
+});
+viewer.appendTo('#pdfViewer');
+```
+
+## resizeSignature
+
+The [resizeSignature](https://ej2.syncfusion.com/javascript/documentation/api/pdfviewer/#resizesignatureevent) event triggers when a signature is resized.
+
+- Event arguments: [ResizeSignatureEventArgs](https://ej2.syncfusion.com/javascript/documentation/api/pdfviewer/resizeSignatureEventArgs/).
+
+Example:
+
+```typescript
+import { PdfViewer, Toolbar, Magnification, Navigation, LinkAnnotation,ThumbnailView, BookmarkView,
+ TextSelection, Annotation, FormDesigner, FormFields, ValidateFormFieldsArgs, PageOrganizer } from '@syncfusion/ej2-pdfviewer';
+
+PdfViewer.Inject( Toolbar,Magnification, Navigation, LinkAnnotation,ThumbnailView,
+ BookmarkView, TextSelection, Annotation, FormDesigner, FormFields, PageOrganizer );
+const viewer: PdfViewer = new PdfViewer({
+ documentPath: 'https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf',
+ resourceUrl: 'https://cdn.syncfusion.com/ej2/31.1.23/dist/ej2-pdfviewer-lib',
+ resizeSignature: function (args: any) {
+ console.log(`Signature resized on page ${args.currentPosition}`);
+ }
+});
+viewer.appendTo('#pdfViewer');
+```
+
+## resourcesLoaded
+
+The [resourcesLoaded](https://ej2.syncfusion.com/javascript/documentation/api/pdfviewer/#resourcesloadedevent) event triggers after the viewer's required resources are loaded.
+
+- Event arguments: `void`.
+
+Example:
+
+```typescript
+import { PdfViewer, Toolbar, Magnification, Navigation, LinkAnnotation,ThumbnailView, BookmarkView,
+ TextSelection, Annotation, FormDesigner, FormFields, ValidateFormFieldsArgs, PageOrganizer } from '@syncfusion/ej2-pdfviewer';
+
+PdfViewer.Inject( Toolbar,Magnification, Navigation, LinkAnnotation,ThumbnailView,
+ BookmarkView, TextSelection, Annotation, FormDesigner, FormFields, PageOrganizer );
+const viewer: PdfViewer = new PdfViewer({
+ documentPath: 'https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf',
+ resourceUrl: 'https://cdn.syncfusion.com/ej2/31.1.23/dist/ej2-pdfviewer-lib',
+ resourcesLoaded: function (args: any) {
+ console.log('PDFium resources loaded.');
+ }
+});
+viewer.appendTo('#pdfViewer');
+```
+
+## signaturePropertiesChange
+
+The [signaturePropertiesChange](https://ej2.syncfusion.com/javascript/documentation/api/pdfviewer/#signaturepropertieschangeevent) event triggers when signature properties change.
+
+- Event arguments: [SignaturePropertiesChangeEventArgs](https://ej2.syncfusion.com/javascript/documentation/api/pdfviewer/signaturePropertiesChangeEventArgs/).
+
+Example:
+
+```typescript
+import { PdfViewer, Toolbar, Magnification, Navigation, LinkAnnotation,ThumbnailView, BookmarkView,
+ TextSelection, Annotation, FormDesigner, FormFields, ValidateFormFieldsArgs, PageOrganizer } from '@syncfusion/ej2-pdfviewer';
+
+PdfViewer.Inject( Toolbar,Magnification, Navigation, LinkAnnotation,ThumbnailView,
+ BookmarkView, TextSelection, Annotation, FormDesigner, FormFields, PageOrganizer );
+const viewer: PdfViewer = new PdfViewer({
+ documentPath: 'https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf',
+ resourceUrl: 'https://cdn.syncfusion.com/ej2/31.1.23/dist/ej2-pdfviewer-lib',
+ signaturePropertiesChange: function (args: any) {
+ console.log(`Signature properties changed on page ${args.type}`);
+ }
+});
+viewer.appendTo('#pdfViewer');
+```
+
+## signatureSelect
+
+The [signatureSelect](https://ej2.syncfusion.com/javascript/documentation/api/pdfviewer/#signatureselectevent) event triggers when a signature is selected.
+
+- Event arguments: [SignatureSelectEventArgs](https://ej2.syncfusion.com/javascript/documentation/api/pdfviewer/signatureSelectEventArgs/).
+
+Example:
+
+```typescript
+import { PdfViewer, Toolbar, Magnification, Navigation, LinkAnnotation,ThumbnailView, BookmarkView,
+ TextSelection, Annotation, FormDesigner, FormFields, ValidateFormFieldsArgs, PageOrganizer } from '@syncfusion/ej2-pdfviewer';
+
+PdfViewer.Inject( Toolbar,Magnification, Navigation, LinkAnnotation,ThumbnailView,
+ BookmarkView, TextSelection, Annotation, FormDesigner, FormFields, PageOrganizer );
+const viewer: PdfViewer = new PdfViewer({
+ documentPath: 'https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf',
+ resourceUrl: 'https://cdn.syncfusion.com/ej2/31.1.23/dist/ej2-pdfviewer-lib',
+ signatureSelect: function (args: any) {
+ console.log(`Signature selected on page ${args.signature}`);
+ }
+});
+viewer.appendTo('#pdfViewer');
+```
+
+## signatureUnselect
+
+The [signatureUnselect](https://ej2.syncfusion.com/javascript/documentation/api/pdfviewer/#signatureunselectevent) event triggers when a signature is unselected.
+
+- Event arguments: [SignatureUnselectEventArgs](https://ej2.syncfusion.com/javascript/documentation/api/pdfviewer/signatureUnselectEventArgs/).
+
+Example:
+
+```typescript
+import { PdfViewer, Toolbar, Magnification, Navigation, LinkAnnotation,ThumbnailView, BookmarkView,
+ TextSelection, Annotation, FormDesigner, FormFields, ValidateFormFieldsArgs, PageOrganizer } from '@syncfusion/ej2-pdfviewer';
+
+PdfViewer.Inject( Toolbar,Magnification, Navigation, LinkAnnotation,ThumbnailView,
+ BookmarkView, TextSelection, Annotation, FormDesigner, FormFields, PageOrganizer );
+const viewer: PdfViewer = new PdfViewer({
+ documentPath: 'https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf',
+ resourceUrl: 'https://cdn.syncfusion.com/ej2/31.1.23/dist/ej2-pdfviewer-lib',
+ signatureUnselect: function (args: any) {
+ console.log(`Signature unselected ${args.signature}`);
+ }
+});
+viewer.appendTo('#pdfViewer');
+```
+
+## textSearchComplete
+
+The [textSearchComplete](https://ej2.syncfusion.com/javascript/documentation/api/pdfviewer/#textsearchcompleteevent) event triggers when a text search completes.
+
+- Event arguments: [TextSearchCompleteEventArgs](https://ej2.syncfusion.com/javascript/documentation/api/pdfviewer/textSearchCompleteEventArgs/).
+
+Example:
+
+```typescript
+import { PdfViewer, Toolbar, Magnification, Navigation, LinkAnnotation,ThumbnailView, BookmarkView,
+ TextSelection, Annotation, FormDesigner, FormFields, ValidateFormFieldsArgs, PageOrganizer } from '@syncfusion/ej2-pdfviewer';
+
+PdfViewer.Inject( Toolbar,Magnification, Navigation, LinkAnnotation,ThumbnailView,
+ BookmarkView, TextSelection, Annotation, FormDesigner, FormFields, PageOrganizer );
+const viewer: PdfViewer = new PdfViewer({
+ documentPath: 'https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf',
+ resourceUrl: 'https://cdn.syncfusion.com/ej2/31.1.23/dist/ej2-pdfviewer-lib',
+ textSearchComplete: function (args: any) {
+ console.log('Text search completed.');
+ }
+});
+viewer.appendTo('#pdfViewer');
+```
+
+## textSearchHighlight
+
+The [textSearchHighlight](https://ej2.syncfusion.com/javascript/documentation/api/pdfviewer/#textsearchhighlightevent) event triggers when searched text is highlighted.
+
+- Event arguments: [TextSearchHighlightEventArgs](https://ej2.syncfusion.com/javascript/documentation/api/pdfviewer/textSearchHighlightEventArgs/).
+
+Example:
+
+```typescript
+import { PdfViewer, Toolbar, Magnification, Navigation, LinkAnnotation,ThumbnailView, BookmarkView,
+ TextSelection, Annotation, FormDesigner, FormFields, ValidateFormFieldsArgs, PageOrganizer } from '@syncfusion/ej2-pdfviewer';
+
+PdfViewer.Inject( Toolbar,Magnification, Navigation, LinkAnnotation,ThumbnailView,
+ BookmarkView, TextSelection, Annotation, FormDesigner, FormFields, PageOrganizer );
+const viewer: PdfViewer = new PdfViewer({
+ documentPath: 'https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf',
+ resourceUrl: 'https://cdn.syncfusion.com/ej2/31.1.23/dist/ej2-pdfviewer-lib',
+ textSearchHighlight: function (args: any) {
+ console.log(`Search result ${args.bounds} highlighted.`);
+ }
+});
+viewer.appendTo('#pdfViewer');
+```
+
+## textSearchStart
+
+The [textSearchStart](https://ej2.syncfusion.com/javascript/documentation/api/pdfviewer/#textsearchstartevent) event triggers when a text search is initiated.
+
+- Event arguments: [TextSearchStartEventArgs](https://ej2.syncfusion.com/javascript/documentation/api/pdfviewer/textSearchStartEventArgs/).
+
+Example:
+
+```typescript
+import { PdfViewer, Toolbar, Magnification, Navigation, LinkAnnotation,ThumbnailView, BookmarkView,
+ TextSelection, Annotation, FormDesigner, FormFields, ValidateFormFieldsArgs, PageOrganizer } from '@syncfusion/ej2-pdfviewer';
+
+PdfViewer.Inject( Toolbar,Magnification, Navigation, LinkAnnotation,ThumbnailView,
+ BookmarkView, TextSelection, Annotation, FormDesigner, FormFields, PageOrganizer );
+const viewer: PdfViewer = new PdfViewer({
+ documentPath: 'https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf',
+ resourceUrl: 'https://cdn.syncfusion.com/ej2/31.1.23/dist/ej2-pdfviewer-lib',
+ textSearchStart: function (args: any) {
+ console.log(`Text search started for: "${args.searchText}"`);
+ }
+});
+viewer.appendTo('#pdfViewer');
+```
+
+## textSelectionEnd
+
+The [textSelectionEnd](https://ej2.syncfusion.com/javascript/documentation/api/pdfviewer/#textselectionendevent) event triggers when text selection is complete.
+
+- Event arguments: [TextSelectionEndEventArgs](https://ej2.syncfusion.com/javascript/documentation/api/pdfviewer/textSelectionEndEventArgs/).
+
+Example:
+
+```typescript
+import { PdfViewer, Toolbar, Magnification, Navigation, LinkAnnotation,ThumbnailView, BookmarkView,
+ TextSelection, Annotation, FormDesigner, FormFields, ValidateFormFieldsArgs, PageOrganizer } from '@syncfusion/ej2-pdfviewer';
+
+PdfViewer.Inject( Toolbar,Magnification, Navigation, LinkAnnotation,ThumbnailView,
+ BookmarkView, TextSelection, Annotation, FormDesigner, FormFields, PageOrganizer );
+const viewer: PdfViewer = new PdfViewer({
+ documentPath: 'https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf',
+ resourceUrl: 'https://cdn.syncfusion.com/ej2/31.1.23/dist/ej2-pdfviewer-lib',
+ textSelectionEnd: function (args: any) {
+ console.log(`Text selection ended on page ${args.pageIndex}.`);
+ }
+});
+viewer.appendTo('#pdfViewer');
+```
+
+## textSelectionStart
+
+The [textSelectionStart](https://ej2.syncfusion.com/javascript/documentation/api/pdfviewer/#textselectionstartevent) event triggers when text selection is initiated.
+
+- Event arguments: `TextSelectionStartEventArgs`.
+
+Example:
+
+```typescript
+import { PdfViewer, Toolbar, Magnification, Navigation, LinkAnnotation,ThumbnailView, BookmarkView,
+ TextSelection, Annotation, FormDesigner, FormFields, ValidateFormFieldsArgs, PageOrganizer } from '@syncfusion/ej2-pdfviewer';
+
+PdfViewer.Inject( Toolbar,Magnification, Navigation, LinkAnnotation,ThumbnailView,
+ BookmarkView, TextSelection, Annotation, FormDesigner, FormFields, PageOrganizer );
+const viewer: PdfViewer = new PdfViewer({
+ documentPath: 'https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf',
+ resourceUrl: 'https://cdn.syncfusion.com/ej2/31.1.23/dist/ej2-pdfviewer-lib',
+ textSelectionStart: function (args: any) {
+ console.log(`Text selection started on page ${args.pageIndex}.`);
+ }
+});
+viewer.appendTo('#pdfViewer');
+```
+
+## thumbnailClick
+
+The [thumbnailClick](https://ej2.syncfusion.com/javascript/documentation/api/pdfviewer/#thumbnailclickevent) event triggers when a thumbnail is clicked.
+
+- Event arguments: [ThumbnailClickEventArgs](https://ej2.syncfusion.com/javascript/documentation/api/pdfviewer/thumbnailClickEventArgs/).
+
+Example:
+
+```typescript
+import { PdfViewer, Toolbar, Magnification, Navigation, LinkAnnotation,ThumbnailView, BookmarkView,
+ TextSelection, Annotation, FormDesigner, FormFields, ValidateFormFieldsArgs, PageOrganizer } from '@syncfusion/ej2-pdfviewer';
+
+PdfViewer.Inject( Toolbar,Magnification, Navigation, LinkAnnotation,ThumbnailView,
+ BookmarkView, TextSelection, Annotation, FormDesigner, FormFields, PageOrganizer );
+const viewer: PdfViewer = new PdfViewer({
+ documentPath: 'https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf',
+ resourceUrl: 'https://cdn.syncfusion.com/ej2/31.1.23/dist/ej2-pdfviewer-lib',
+ thumbnailClick: function (args: any) {
+ console.log(`Thumbnail clicked for page index ${args.pageNumber}.`);
+ }
+});
+viewer.appendTo('#pdfViewer');
+```
+
+> Tip: For annotation and signature-specific events and arguments, see the dedicated Annotations Events topic.
diff --git a/Document-Processing/PDF/PDF-Viewer/javascript-es6/feature-module.md b/Document-Processing/PDF/PDF-Viewer/javascript-es6/feature-module.md
index 5c2c98442..818de4855 100644
--- a/Document-Processing/PDF/PDF-Viewer/javascript-es6/feature-module.md
+++ b/Document-Processing/PDF/PDF-Viewer/javascript-es6/feature-module.md
@@ -1,35 +1,34 @@
---
layout: post
-title: Feature module in Typescript Pdfviewer Control | Syncfusion
-description: Learn here all about Feature module in Syncfusion Essential Typescript Pdfviewer control, its elements and more.
+title: Feature modules in TypeScript PDF Viewer | Syncfusion
+description: Learn to inject feature modules in Syncfusion TypeScript PDF Viewer to enable toolbar, search, forms, and more.
platform: document-processing
-control: Feature module
-publishingplatform: Typescript
+control: PDF Viewer
documentation: ug
domainurl: ##DomainURL##
---
-# Feature module in Typescript Pdfviewer Control
+# Feature modules in TypeScript PDF Viewer
-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 PDF Viewer features are provided as individual modules, allowing applications to include only what is needed. Inject the required modules to enable functionality, then configure the corresponding properties on the PDF Viewer instance.
-The available PdfViewer modules are:
+Available PDF Viewer modules:
-* **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.
+* [**Toolbar**](./toolbar-customization): Built-in toolbar for user interaction.
+* [**Magnification**](./magnification.md): Perform zoom operations for a better viewing experience.
+* [**Navigation**](./interactive-pdf-navigation/page-navigation.md): Navigate across pages.
+* [**LinkAnnotation**](./interactive-pdf-navigation/table-of-content-navigation.md): Navigate within the document or to external destinations via hyperlinks.
+* [**ThumbnailView**](./interactive-pdf-navigation/page-thumbnail-navigation.md): Navigate within the document using page thumbnails.
+* [**BookmarkView**](./interactive-pdf-navigation/bookmark-navigation.md): Navigate using document bookmarks (table of contents).
+* [**TextSelection**](./textselection.md): Select and copy text from the document.
+* [**TextSearch**](./text-search.md): Search for text across the document.
+* [**Print**](./print.md): Print the entire document or specific pages directly from the browser.
+* [**Annotation**](./annotations/text-markup-annotation.md): Add and edit annotations.
+* [**FormFields**](./form-designer/create-programmatically.md): Work with form fields in the document.
+* [**FormDesigner**](./form-designer/create-programmatically.md): Add or edit form fields in the 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.
+> In addition to injecting the required modules in an application, enable the corresponding properties to activate features on 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 |
|---|---|---|
diff --git a/Document-Processing/PDF/PDF-Viewer/javascript-es6/form-designer/create-programmatically.md b/Document-Processing/PDF/PDF-Viewer/javascript-es6/form-designer/create-programmatically.md
index 0b5227170..cb9a6291d 100644
--- a/Document-Processing/PDF/PDF-Viewer/javascript-es6/form-designer/create-programmatically.md
+++ b/Document-Processing/PDF/PDF-Viewer/javascript-es6/form-designer/create-programmatically.md
@@ -1,30 +1,28 @@
---
layout: post
-title: Create programmatically in Typescript Pdfviewer control | Syncfusion
-description: Learn here all about Create programmatically in Syncfusion Typescript Pdfviewer control of Syncfusion Essential JS 2 and more.
+title: Create form fields in the TypeScript PDF Viewer component | Syncfusion
+description: Learn how to add, update, delete, save, print, validate, and import/export form fields in the Syncfusion TypeScript PDF Viewer component.
platform: document-processing
-control: Create programmatically
-publishingplatform: Typescript
+control: PDF Viewer
documentation: ug
-domainurl: ##DomainURL##
---
-# Create programmatically in Typescript Pdfviewer control
+# Create programmatically in TypeScript PDF Viewer 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:
+The PDF Viewer component provides options to add, edit, and delete form fields. The supported form field types are:
- * Textbox
- * Password
- * CheckBox
- * RadioButton
- * ListBox
- * DropDown
- * SignatureField
- * InitialField
+- Textbox
+- Password
+- CheckBox
+- RadioButton
+- ListBox
+- DropDown
+- Signature field
+- Initial field
## 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.
+Use the addFormField method to add form fields programmatically. Pass the form field type and the corresponding property object as parameters. The following example demonstrates adding multiple fields on document load.
{% tabs %}
{% highlight ts tabtitle="index.ts" %}
@@ -37,7 +35,7 @@ PdfViewer.Inject( Toolbar,Magnification, Navigation, LinkAnnotation, ThumbnailVi
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"
+ resourceUrl:"https://cdn.syncfusion.com/ej2/31.1.23/dist/ej2-pdfviewer-lib"
});
pdfviewer.appendTo('#PdfViewer');
@@ -73,19 +71,10 @@ pdfviewer.documentLoad = function (args) {
EJ2 PDF Viewer
-
+
-
-
-
-
-
-
-
-
-
-
+
@@ -100,15 +89,14 @@ pdfviewer.documentLoad = function (args) {
{% endhighlight %}
{% endtabs %}
-N> To set up the **server-backed PDF Viewer**,
-Add the below `serviceUrl` in the `index.ts` file
+N> To configure the server-backed PDF Viewer, add the following `serviceUrl` in the `index.ts` file:
`pdfviewer.serviceUrl = 'https://document.syncfusion.com/web-services/pdf-viewer/api/pdfviewer/';`
{% previewsample "Document-Processing/code-snippet/pdfviewer/javascript-es6/addformfield-cs3/index.html" %}
## 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.
+Use the updateFormField method to modify a form field programmatically. Retrieve the target field from the formFieldCollections property (by object or ID) and pass it as the first parameter. Provide the properties to update as the second parameter. The following example updates the background color of a Textbox field.
{% tabs %}
{% highlight ts tabtitle="index.ts" %}
@@ -121,7 +109,7 @@ 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"
+ resourceUrl:"https://cdn.syncfusion.com/ej2/31.1.23/dist/ej2-pdfviewer-lib"
});
pdfviewer.appendTo('#PdfViewer');
@@ -158,19 +146,10 @@ pdfviewer.formDesignerModule.updateFormField(pdfviewer.formFieldCollections[0],
EJ2 PDF Viewer
-
+
-
-
-
-
-
-
-
-
-
-
+
@@ -185,15 +164,14 @@ pdfviewer.formDesignerModule.updateFormField(pdfviewer.formFieldCollections[0],
{% endhighlight %}
{% endtabs %}
-N> To set up the **server-backed PDF Viewer**,
-Add the below `serviceUrl` in the `index.ts` file
+N> To configure the server-backed PDF Viewer, add the following `serviceUrl` in the `index.ts` file:
`pdfviewer.serviceUrl = 'https://document.syncfusion.com/web-services/pdf-viewer/api/pdfviewer/';`
{% previewsample "Document-Processing/code-snippet/pdfviewer/javascript-es6/updateformfield-cs3/index.html" %}
## 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.
+Use the deleteFormField method to remove a form field programmatically. Retrieve the target field from the formFieldCollections property (by object or ID) and pass it to deleteFormField. The following example deletes the first form field.
{% tabs %}
{% highlight ts tabtitle="index.ts" %}
@@ -206,7 +184,7 @@ 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"
+ resourceUrl:"https://cdn.syncfusion.com/ej2/31.1.23/dist/ej2-pdfviewer-lib"
});
pdfviewer.appendTo('#PdfViewer');
@@ -243,19 +221,10 @@ pdfviewer.documentLoad = function (args) {
EJ2 PDF Viewer
-
+
-
-
-
-
-
-
-
-
-
-
+
@@ -270,19 +239,18 @@ pdfviewer.documentLoad = function (args) {
{% endhighlight %}
{% endtabs %}
-N> To set up the **server-backed PDF Viewer**,
-Add the below `serviceUrl` in the `index.ts` file
+N> To configure the server-backed PDF Viewer, add the following `serviceUrl` in the `index.ts` file:
`pdfviewer.serviceUrl = 'https://document.syncfusion.com/web-services/pdf-viewer/api/pdfviewer/';`
{% previewsample "Document-Processing/code-snippet/pdfviewer/javascript-es6/deleteformfield-cs3/index.html" %}
## 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.
+Selecting the Download icon on the toolbar saves the form fields in the exported PDF without modifying the original document. See the following GIF for reference.
-
+
-You can invoke download action using following code snippet.
+You can invoke the download action using the following code snippet.
{% tabs %}
{% highlight ts tabtitle="Standalone" %}
@@ -315,11 +283,11 @@ 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.
+Selecting the Print icon on the toolbar prints the PDF with the added form fields. This action does not modify the original document. See the following GIF for reference.
-
+
-You can invoke print action using the following code snippet.,
+You can invoke the print action using the following code snippet:
{% tabs %}
{% highlight ts tabtitle="Standalone" %}
@@ -360,7 +328,7 @@ pdfviewer.print.print();
## 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.
+The setFormFieldMode method enables adding a form field dynamically by specifying the field type. For example, the following adds a Password field when a button is clicked.
```
@@ -406,15 +374,15 @@ document.getElementById('addPasswordField').addEventListener('click', function (
## 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.
+Open a PDF that already contains form fields by clicking the Open icon on the toolbar. See the following GIF for 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.
+Form fields are validated when enableFormFieldsValidation is set to true and the validateFormFields event is handled. The event triggers during download or print if required fields are not filled. The non-filled fields are available in the nonFillableFields property of the event arguments.
-Add the following code snippet to validate the form fields,
+Add the following code to validate form fields:
{% tabs %}
{% highlight ts tabtitle="Standalone" %}
@@ -454,11 +422,11 @@ var nonfilledFormFields = args.nonFillableFields;
## 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.
+The PDF Viewer component supports exporting and importing form field data using the importFormFields, exportFormFields, and exportFormFieldsAsObject methods in the following formats:
-* FDF
-* XFDF
-* JSON
+- FDF
+- XFDF
+- JSON
### Export and import as FDF
@@ -467,7 +435,7 @@ Using the `exportFormFields` method, the form field data can be exported in the
* 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.
+The following example exports and imports form field data as FDF.
```ts
@@ -492,7 +460,7 @@ document.getElementById('importFdf').addEventListener('click', ()=> {
### Export and import as XFDF
-The following code explains how to export the form field data as XFDF.
+The following example exports and imports form field data as XFDF.
```ts
@@ -517,7 +485,7 @@ document.getElementById('importXfdf').addEventListener('click', ()=> {
### Export and import as JSON
-The following code explains how to export the form field data as JSON.
+The following example exports and imports form field data as JSON.
```ts
@@ -542,7 +510,7 @@ document.getElementById('importJson').addEventListener('click', ()=> {
### 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 PDF Viewer component supports exporting the form field data as an object and importing that data back into the current PDF document.
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.
@@ -587,20 +555,20 @@ document.getElementById('importData').addEventListener('click', ()=> {
```
## 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.
+Form field properties allow customization and interaction with fields embedded in PDF documents. The following sections outline the supported field types and their configurable settings.
- * Textbox
- * Password
- * CheckBox
- * RadioButton
- * ListBox
- * DropDown
- * SignatureField
- * InitialField
+- Textbox
+- Password
+- CheckBox
+- RadioButton
+- ListBox
+- DropDown
+- Signature field
+- Initial field
### Signature and initial fields settings
-Using the `updateFormField` method, the form fields can be updated programmatically.
+Use the updateFormField method to modify form fields programmatically.
The following code example explains how to update the signature field properties on a button click.
@@ -621,7 +589,7 @@ document.getElementById('updateProperties').addEventListener('click',function()
```
-The following code example explains how to update the properties of the signature field added to the document from the form designer toolbar.
+The following code shows how to configure default properties for a signature field added from the Form Designer toolbar.
```ts
@@ -659,9 +627,9 @@ viewer.signatureFieldSettings = {
```
-
+
-The following code example explains how to update the properties of the initial field added to the document from the form designer toolbar.
+The following code shows how to configure default properties for an initial field added from the Form Designer toolbar.
```ts
@@ -699,13 +667,13 @@ viewer.initialFieldSettings = {
```
-
+
### 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.
+The following example updates Textbox field properties on a button click.
```html
@@ -741,7 +709,7 @@ document.getElementById('updateProperties').addEventListener('click',function()
```
-The following code example explains how to update the properties of the Textbox field added to the document from the form designer toolbar.
+The following code shows how to configure default properties for a Textbox field added from the Form Designer toolbar.
```ts
@@ -785,13 +753,13 @@ viewer.textFieldSettings = {
```
-
+
### 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.
+The following example updates Password field properties on a button click.
```html
@@ -826,7 +794,7 @@ document.getElementById('updateProperties').addEventListener('click',function()
```
-The following code example explains how to update the properties of the Password field added to the document from the form designer toolbar.
+The following code shows how to configure default properties for a Password field added from the Form Designer toolbar.
```ts
@@ -868,13 +836,13 @@ viewer.passwordFieldSettings = {
```
-
+
### 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.
+The following example updates CheckBox field properties on a button click.
```html
@@ -903,7 +871,7 @@ document.getElementById('updateProperties').addEventListener('click',function()
```
-The following code example explains how to update the properties of the CheckBox field added to the document from the form designer toolbar.
+The following code shows how to configure default properties for a CheckBox field added from the Form Designer toolbar.
```ts
@@ -934,13 +902,13 @@ viewer.checkBoxFieldSettings = {
```
-
+
### 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.
+The following example updates RadioButton field properties on a button click.
```html
@@ -969,7 +937,7 @@ document.getElementById('updateProperties').addEventListener('click',function()
```
-The following code example explains how to update the properties of the RadioButton field added to the document from the form designer toolbar.
+The following code shows how to configure default properties for a RadioButton field added from the Form Designer toolbar.
```ts
@@ -1001,13 +969,13 @@ viewer.radioButtonFieldSettings = {
```
-
+
### 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.
+The following example updates ListBox field properties on a button click.
```html
@@ -1041,7 +1009,7 @@ document.getElementById('updateProperties').addEventListener('click',function()
```
-The following code example explains how to update the properties of the Listbox field added to the document from the form designer toolbar.
+The following code shows how to configure default properties for a ListBox field added from the Form Designer toolbar.
```ts
@@ -1084,13 +1052,13 @@ viewer.listBoxFieldSettings = {
```
-
+
### 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.
+The following example updates DropDown field properties on a button click.
```html
@@ -1124,7 +1092,7 @@ document.getElementById('updateProperties').addEventListener('click',function()
```
-The following code example explains how to update the properties of the Dropdown field added to the document from the form designer toolbar.
+The following code shows how to configure default properties for a DropDown field added from the Form Designer toolbar.
```ts
@@ -1167,4 +1135,4 @@ viewer.listBoxFieldSettings = {
```
-
\ No newline at end of file
+
diff --git a/Document-Processing/PDF/PDF-Viewer/javascript-es6/form-designer/create-with-user-interface-interaction.md b/Document-Processing/PDF/PDF-Viewer/javascript-es6/form-designer/create-with-user-interface-interaction.md
index 789fb974e..df46c4910 100644
--- a/Document-Processing/PDF/PDF-Viewer/javascript-es6/form-designer/create-with-user-interface-interaction.md
+++ b/Document-Processing/PDF/PDF-Viewer/javascript-es6/form-designer/create-with-user-interface-interaction.md
@@ -1,30 +1,28 @@
---
layout: post
-title: User interaction in Typescript Pdfviewer control | Syncfusion
-description: Learn here all about Create with user interface interaction in Syncfusion Typescript Pdfviewer control of Syncfusion Essential JS 2 and more.
+title: Design form fields in the TypeScript PDF Viewer component | Syncfusion
+description: Learn how to add, drag, resize, edit, and manage form fields using the UI in the Syncfusion TypeScript PDF Viewer component.
platform: document-processing
-control: Create with user interface interaction
-publishingplatform: Typescript
+control: PDF Viewer
documentation: ug
-domainurl: ##DomainURL##
---
-# Create with user interface interaction
+# Create with user interface interaction for TypeScript
-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:
+The PDF Viewer component supports interactive form field design, including drawing, dragging, and resizing fields directly on the page. Click the Form Field icon on the toolbar to add a field and place it on the document. Supported form field types include:
- * Textbox
- * Password
- * CheckBox
- * RadioButton
- * ListBox
- * DropDown
- * SignatureField
- * InitialField
+- Textbox
+- Password
+- CheckBox
+- RadioButton
+- ListBox
+- DropDown
+- Signature field
+- Initial field
## 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.
+Inject the FormDesigner module and set enableFormDesignerToolbar to true to display the Form Designer icon on the toolbar. The default value is true. Use the following code to enable the toolbar option.
```ts
import { PdfViewer } from '@syncfusion/ej2-pdfviewer';
@@ -37,41 +35,41 @@ 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.
+Click the Form Field icon on the toolbar, then click on the PDF to draw a form field. See the following GIF for 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.
+Drag the selected form field to reposition it within the PDF document. See the following GIF for 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.
+Resize the selected form field using the resize handles on the field boundary. See the following GIF for 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.
+Edit form field properties using the Form Field Properties dialog. Open it by right-clicking a form field and selecting Properties from the context menu. The following images show examples of available settings.
-
+
-
+
-
+
## 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.
+The PDF Viewer supports clipboard operations such as cut, copy, and paste for form fields. Right-click a form field to open the context menu and choose the desired clipboard action. The following image shows the available options.
-
+
## 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.
+Undo and redo actions are supported for runtime changes made to form fields. Use the following code to perform undo and redo operations.
```ts
import { PdfViewer } from '@syncfusion/ej2-pdfviewer';
diff --git a/Document-Processing/PDF/PDF-Viewer/javascript-es6/form-designer/form-field-events.md b/Document-Processing/PDF/PDF-Viewer/javascript-es6/form-designer/form-field-events.md
index b1a8e3804..c4ec104bb 100644
--- a/Document-Processing/PDF/PDF-Viewer/javascript-es6/form-designer/form-field-events.md
+++ b/Document-Processing/PDF/PDF-Viewer/javascript-es6/form-designer/form-field-events.md
@@ -1,15 +1,14 @@
---
layout: post
-title: Form Field Events in Typescript Pdfviewer control | Syncfusion
-description: Learn here all about different form field in Syncfusion Typescript Pdfviewer component of Syncfusion Essential JS 2 and more.
+title: Form Field Events in TypeScript PDF Viewer control | Syncfusion
+description: Learn here all about different form field in Syncfusion TypeScript PDF Viewer component of Syncfusion Essential JS 2 and more.
platform: document-processing
-control: Form Field Events
-publishingplatform: Typescript
+control: PDF Viewer
documentation: ug
domainurl: ##DomainURL##
---
-# PDF Viewer Form Field events
+# PDF Viewer Form Field events in TypeScript
The PDF Viewer control provides the support to different Form Field events. The Form Field events supported by the PDF Viewer Control are:
diff --git a/Document-Processing/PDF/PDF-Viewer/javascript-es6/form-filling.md b/Document-Processing/PDF/PDF-Viewer/javascript-es6/form-filling.md
new file mode 100644
index 000000000..a6384128f
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/javascript-es6/form-filling.md
@@ -0,0 +1,83 @@
+---
+layout: post
+title: Form filling in TypeScript PDF Viewer | Syncfusion
+description: Learn to view, fill, export, and import PDF form fields in Syncfusion TS PDF Viewer, including disabling interaction and handling signatures.
+platform: document-processing
+control: PDF Viewer
+documentation: ug
+domainurl: ##DomainURL##
+---
+
+# Form filling in TypeScript PDF Viewer
+
+The PDF Viewer displays existing form fields in a PDF and enables users to fill, validate, and download the filled data.
+
+The PDF Viewer supports the following form field types:
+
+* Text box
+* Password
+* Check box
+* Radio button
+* List box
+* Dropdown
+* Signature field
+* Initial field
+
+
+
+## Disabling form fields
+
+The PDF Viewer provides an option to disable interaction with form fields. Use the following configuration to disable form fields in the viewer.
+
+{% 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/31.1.17/dist/ej2-pdfviewer-lib";
+pdfviewer.enableFormDesigner = false;
+pdfviewer.appendTo('#PdfViewer');
+
+{% endhighlight %}
+{% endtabs %}
+
+## Add a handwritten signature to a signature field
+
+Add a handwritten signature to a signature field by following these steps:
+
+* Click the signature field in the PDF document to open the signature panel.
+
+
+
+* Draw the signature in the signature panel.
+
+
+
+* Select **CREATE**. The drawn signature is added to the signature field.
+
+
+
+## Delete a signature from a signature field
+
+Delete a signature placed in a signature field by using the Delete option in the annotation toolbar.
+
+
+
+## Export and import form fields
+
+The PDF Viewer supports exporting and importing form field data using the `importFormFields`, `exportFormFields`, and `exportFormFieldsAsObject` methods. The following formats are supported:
+
+* FDF
+* XFDF
+* JSON
+
+For more information, see the [Form fields documentation](https://help.syncfusion.com/document-processing/pdf/pdf-viewer/javascript-es6/form-designer/create-programmatically#export-and-import-form-fields).
+
+## See also
+
+* [Handwritten signature in TypeScript PDF Viewer](./annotations/signature-annotation)
+* [Form Designer events](./form-designer/form-field-events)
diff --git a/Document-Processing/PDF/PDF-Viewer/javascript-es6/formdesigner/programmatically-work-with-form-field.md b/Document-Processing/PDF/PDF-Viewer/javascript-es6/formdesigner/programmatically-work-with-form-field.md
deleted file mode 100644
index 57ba56d5c..000000000
--- a/Document-Processing/PDF/PDF-Viewer/javascript-es6/formdesigner/programmatically-work-with-form-field.md
+++ /dev/null
@@ -1,116 +0,0 @@
----
-layout: post
-title: Programmatically work with form field in Typescript Pdfviewer control | Syncfusion
-description: Learn here all about Programmatically work with form field in Syncfusion Typescript Pdfviewer control of Syncfusion Essential JS 2 and more.
-platform: document-processing
-control: Programmatically work with form field
-publishingplatform: Typescript
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Programmatically work with form field in Typescript 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/javascript-es6/addformfield-cs4/index.ts %}
-{% endhighlight %}
-{% highlight html tabtitle="index.html" %}
-{% include code-snippet/pdfviewer/javascript-es6/addformfield-cs4/index.html %}
-{% endhighlight %}
-{% endtabs %}
-
-{% previewsample "Document-Processing/code-snippet/pdfviewer/javascript-es6/addformfield-cs4/index.html" %}
-
-## 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/javascript-es6/updateformfield-cs4/index.ts %}
-{% endhighlight %}
-{% highlight html tabtitle="index.html" %}
-{% include code-snippet/pdfviewer/javascript-es6/updateformfield-cs4/index.html %}
-{% endhighlight %}
-{% endtabs %}
-
-{% previewsample "Document-Processing/code-snippet/pdfviewer/javascript-es6/updateformfield-cs4/index.html" %}
-
-## 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/javascript-es6/deleteformfield-cs4/index.ts %}
-{% endhighlight %}
-{% highlight html tabtitle="index.html" %}
-{% include code-snippet/pdfviewer/javascript-es6/deleteformfield-cs4/index.html %}
-{% endhighlight %}
-{% endtabs %}
-
-{% previewsample "Document-Processing/code-snippet/pdfviewer/javascript-es6/deleteformfield-cs4/index.html" %}
-
-## 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://document.syncfusion.com/web-services/pdf-viewer/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://document.syncfusion.com/web-services/pdf-viewer/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/Document-Processing/PDF/PDF-Viewer/javascript-es6/formdesigner/user-interaction-with-form-fields.md b/Document-Processing/PDF/PDF-Viewer/javascript-es6/formdesigner/user-interaction-with-form-fields.md
deleted file mode 100644
index 288f1be1b..000000000
--- a/Document-Processing/PDF/PDF-Viewer/javascript-es6/formdesigner/user-interaction-with-form-fields.md
+++ /dev/null
@@ -1,84 +0,0 @@
----
-layout: post
-title: User interaction with form fields in Typescript Pdfviewer control | Syncfusion
-description: Learn here all about User interaction with form fields in Syncfusion Typescript Pdfviewer control of Syncfusion Essential JS 2 and more.
-platform: document-processing
-control: User interaction with form fields
-publishingplatform: Typescript
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# User interaction with form fields in Typescript 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/Document-Processing/PDF/PDF-Viewer/javascript-es6/getting-started-with-server-backed.md b/Document-Processing/PDF/PDF-Viewer/javascript-es6/getting-started-with-server-backed.md
index cce41ea4e..dcbab9ccb 100644
--- a/Document-Processing/PDF/PDF-Viewer/javascript-es6/getting-started-with-server-backed.md
+++ b/Document-Processing/PDF/PDF-Viewer/javascript-es6/getting-started-with-server-backed.md
@@ -1,23 +1,22 @@
---
layout: post
-title: Getting started with Typescript PDF Viewer control | Syncfusion
-description: Checkout and learn about Getting started with Typescript PDF Viewer control of Syncfusion Essential JS 2 and more details.
+title: Getting started with TypeScript PDF Viewer (server-backed) | Syncfusion
+description: Learn how to set up and use the Syncfusion TypeScript PDF Viewer in server-backed mode using the EJ2 quickstart, including module injection and web service configuration.
platform: document-processing
control: PDF Viewer
-publishingplatform: Typescript
documentation: ug
domainurl: ##DomainURL##
---
-# Getting started in Typescript PDF Viewer control
+# Getting started with TypeScript PDF Viewer (server-backed)
-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 guide explains how to create the PDF Viewer component and configure its features in TypeScript using the Essential JS 2 [quickstart](https://github.com/SyncfusionExamples/ej2-quickstart-webpack-) seed repository in server-backed mode.
-> 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/).
+> This application is integrated with a webpack configuration (`webpack.config.js`) and uses the latest version of the [webpack-cli](https://webpack.js.org/api/cli/#commands). It requires Node.js `v14.15.0` or higher. For more information, refer to the [webpack getting started guide](https://webpack.js.org/guides/getting-started/).
-## Set up development environment
+## Set up the 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-).
+Open a command prompt in the target 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" %}
@@ -27,7 +26,7 @@ git clone https://github.com/SyncfusionExamples/ej2-quickstart-webpack- ej2-quic
{% endhighlight %}
{% endtabs %}
-After cloning the application in the `ej2-quickstart` folder, run the following command line to navigate to the `ej2-quickstart` folder.
+After cloning, run the following command to navigate to the `ej2-quickstart` folder.
{% tabs %}
{% highlight bash tabtitle="CMD" %}
@@ -39,9 +38,9 @@ cd ej2-quickstart
## 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.
+Syncfusion JavaScript (Essential JS 2) packages are available on the [npmjs.com](https://www.npmjs.com/~syncfusionorg) public registry. Install all EJ2 controls with the [@syncfusion/ej2](https://www.npmjs.com/package/@syncfusion/ej2) meta package or install individual control packages.
-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.
+The quickstart application is preconfigured with [@syncfusion/ej2](https://www.npmjs.com/package/@syncfusion/ej2) in `~/package.json`. Use the following command to install dependencies:
{% tabs %}
{% highlight bash tabtitle="NPM" %}
@@ -51,9 +50,9 @@ npm install
{% endhighlight %}
{% endtabs %}
-## Import the Syncfusion CSS styles
+## Import Syncfusion CSS styles
-Add the components CSS in the `~/src/styles/styles.css` file, as shown below:
+Add the component CSS in the `~/src/styles/styles.css` file, as shown below:
{% tabs %}
{% highlight css tabtitle="style.css" %}
@@ -71,9 +70,9 @@ Add the components CSS in the `~/src/styles/styles.css` file, as shown below:
{% endhighlight %}
{% endtabs %}
-## Adding PDF Viewer component
+## Add the PDF Viewer component
-* Add the PDF Viewer component following code in the `app.ts`
+* Add the PDF Viewer component in `app.ts`:
{% tabs %}
{% highlight ts tabtitle="app.ts" %}
@@ -90,9 +89,9 @@ 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.
+N> Starting with version 23.1, it is required to call **pdfviewer.dataBind();** before invoking the `load` function. Refer to [document loading issues](./troubleshooting/document-loading-issues) for details.
-* Add an HTML div element to act as the PDF Viewer element `index.html` using the following code.
+* Add an HTML div element to act as the PDF Viewer element in `index.html`:
{% tabs %}
{% highlight html tabtitle="index.html" %}
@@ -122,7 +121,7 @@ N> From 23.1 version, it is must to call **pdfviewer.dataBind();** before load f
## 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.
+The quickstart project is configured to compile and run in the browser. Use the following command to start the application:
{% tabs %}
{% highlight bash tabtitle="NPM" %}
@@ -132,7 +131,7 @@ npm start
{% endhighlight %}
{% endtabs %}
-Output will be displayed as follows.
+Output:
{% tabs %}
{% highlight ts tabtitle="index.ts" %}
@@ -143,7 +142,7 @@ Output will be displayed as follows.
{% 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.
+N> The `serviceUrl` can be changed dynamically. After updating `serviceUrl`, invoke `pdfViewer.dataBind()` to apply the change, then call `load`. This behavior requires version 23.1.36 or later.
document.getElementById('load').addEventListener('click', function () {
pdfViewer.serviceUrl = "https://document.syncfusion.com/web-services/pdf-viewer/api/pdfviewer";
pdfViewer.documentPath = "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf";
@@ -151,55 +150,55 @@ document.getElementById('load').addEventListener('click', function () {
pdfViewer.load(pdfViewer.documentPath, null);
});
-N> The Web API hosted link https://document.syncfusion.com/web-services/pdf-viewer/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.**
+N> The Web API link https://document.syncfusion.com/web-services/pdf-viewer/api/pdfviewer/ used in the `serviceUrl` property is intended for demonstration and evaluation only. For production, host your own web service with the required server configuration. You can reuse the [GitHub web service example](https://github.com/SyncfusionExamples/EJ2-PDFViewer-WebServices) or [Docker image](https://hub.docker.com/r/syncfusion/pdfviewer-server). **Standalone mode is strongly recommended.**
{% previewsample "Document-Processing/code-snippet/pdfviewer/javascript-es6/getting-started-cs1/index.html" %}
## Module injection
-To create PDF Viewer with additional features, inject the required modules. The following modules are used to extend PdfViewer's basic functionality:-
+To enable additional features, inject the required modules. The following modules extend the PDF Viewer's 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.
+* `LinkAnnotation`: Enables hyperlink navigation.
+* `BookmarkView`: Displays and navigates document bookmarks.
+* `Magnification`: Provides zoom in/out operations.
+* `Navigation`: Enables page navigation.
+* `TextSelection`: Enables text selection.
+* `ThumbnailView`: Displays page thumbnails for navigation.
+* `Toolbar`: Enables the built-in toolbar UI.
+* `Print`: Enables printing.
+* `Annotation`: Enables annotation features.
+* `TextSearch`: Enables text search.
+* `FormFields`: Enables form field support.
+* `FormDesigner`: Enables designing and editing of form fields.
-These modules should be injected into the PDF Viewer using `PdfViewer.Inject` method.
+Inject modules using the `PdfViewer.Inject` method.
-> For PDF Viewer serviceUrl creation, follow the steps provided in the [link](https://help.syncfusion.com/document-processing/pdf/pdf-viewer/javascript-es6/how-to/create-pdfviewer-service)
+> To create a PDF Viewer `serviceUrl`, follow the steps in [Create PDF Viewer service](https://help.syncfusion.com/document-processing/pdf/pdf-viewer/javascript-es6/how-to/create-pdfviewer-service).
-## How to run the PDF Viewer web service
+## 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.
+1. Download the sample from the [web service sample in GitHub](https://github.com/SyncfusionExamples/EJ2-PDFViewer-WebServices).
-2.Navigate to the `ASP.NET Core` folder and open it in the command prompt.
+2. Navigate to the `ASP.NET Core` folder and open it in a command prompt.
-3.Navigate to the appropriate subfolder based on your .NET version:
+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.
+4. Restore packages:
```
dotnet restore
```
-5.Use the below command to run the web service.
+5. 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://ej2.syncfusion.com/documentation/api/pdfviewer/#serviceurl) property of PDF Viewer as below.
+6. The PDF Viewer server instance runs at `https://localhost:5001`. Navigate to `https://localhost:5001/pdfviewer` to see the default GET response. Bind this URL to the [serviceUrl](https://ej2.syncfusion.com/documentation/api/pdfviewer/#serviceurl) property of the PDF Viewer as shown below.
{% tabs %}
{% highlight ts tabtitle="app.ts" %}
@@ -212,11 +211,11 @@ 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.
+N> In server-backed mode, do not include `pdfium.js` and `pdfium.wasm`. Unlike standalone mode, the server-backed PDF Viewer renders PDFs on the server. These files and their copy steps are not required for deployment in this context.
-> You can refer to our [JavaScript PDF Viewer](https://www.syncfusion.com/pdf-viewer-sdk) feature tour page for its groundbreaking feature representations. You can also explore our [JavaScript PDF Viewer example](https://document.syncfusion.com/demos/pdf-viewer/javascript-es5/#/tailwind3/pdfviewer/default.html) to understand how to explains core features of PDF Viewer.
+> Refer to the [JavaScript PDF Viewer feature tour](https://www.syncfusion.com/pdf-viewer-sdk) for an overview of capabilities. Explore the [JavaScript PDF Viewer example](https://document.syncfusion.com/demos/pdf-viewer/javascript-es5/#/tailwind3/pdfviewer/default.html) to see core features in action.
-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:
+N> For hosting the web service on Linux, include [SkiaSharp.NativeAssets.Linux](https://nuget.org/packages/SkiaSharp.NativeAssets.Linux/3.116.1). For AWS environments, use the following packages:
| **Amazon Web Services (AWS)** |**NuGet package name** |
| --- | --- |
diff --git a/Document-Processing/PDF/PDF-Viewer/javascript-es6/getting-started.md b/Document-Processing/PDF/PDF-Viewer/javascript-es6/getting-started.md
index 93be7ac1d..f9882a5ff 100644
--- a/Document-Processing/PDF/PDF-Viewer/javascript-es6/getting-started.md
+++ b/Document-Processing/PDF/PDF-Viewer/javascript-es6/getting-started.md
@@ -1,23 +1,22 @@
---
layout: post
-title: Getting started with Typescript PDF Viewer control | Syncfusion
-description: Checkout and learn about Getting started with Typescript PDF Viewer control of Syncfusion Essential JS 2 and more details.
+title: Getting started with TypeScript PDF Viewer (standalone) | Syncfusion
+description: Learn how to set up and use the Syncfusion TypeScript PDF Viewer in standalone mode using the EJ2 quickstart, including local resource configuration and module injection.
platform: document-processing
control: PDF Viewer
-publishingplatform: Typescript
documentation: ug
domainurl: ##DomainURL##
---
-# Getting started in Standalone PDF Viewer control
+# Getting started with TypeScript PDF Viewer (standalone)
-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 guide explains how to create the PDF Viewer component and configure its features 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/).
+> This application is integrated with a webpack configuration (`webpack.config.js`) and uses the latest version of the [webpack-cli](https://webpack.js.org/api/cli/#commands). It requires Node.js `v14.15.0` or higher. For more information, refer to the [webpack getting started guide](https://webpack.js.org/guides/getting-started/).
-## Set up development environment
+## Set up the 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-).
+Open a command prompt in the target 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" %}
@@ -27,7 +26,7 @@ git clone https://github.com/SyncfusionExamples/ej2-quickstart-webpack- ej2-quic
{% endhighlight %}
{% endtabs %}
-After cloning the application in the `ej2-quickstart` folder, run the following command line to navigate to the `ej2-quickstart` folder.
+After cloning, run the following command to navigate to the `ej2-quickstart` folder.
{% tabs %}
{% highlight bash tabtitle="CMD" %}
@@ -39,9 +38,9 @@ cd ej2-quickstart
## 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.
+Syncfusion JavaScript (Essential JS 2) packages are available on the [npmjs.com](https://www.npmjs.com/~syncfusionorg) public registry. Install all EJ2 controls with the [@syncfusion/ej2](https://www.npmjs.com/package/@syncfusion/ej2) meta package or install individual control packages.
-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.
+The quickstart application is preconfigured with [@syncfusion/ej2](https://www.npmjs.com/package/@syncfusion/ej2) in `~/package.json`. Use the following command to install dependencies:
{% tabs %}
{% highlight bash tabtitle="NPM" %}
@@ -51,9 +50,9 @@ npm install
{% endhighlight %}
{% endtabs %}
-## Import the Syncfusion CSS styles
+## Import Syncfusion CSS styles
-Add the components CSS in the `~/src/styles/styles.css` file, as shown below:
+Add the component CSS in the `~/src/styles/styles.css` file, as shown below:
{% tabs %}
{% highlight css tabtitle="style.css" %}
@@ -71,9 +70,9 @@ Add the components CSS in the `~/src/styles/styles.css` file, as shown below:
{% endhighlight %}
{% endtabs %}
-## Adding PDF Viewer component
+## Add the PDF Viewer component
-* Add the PDF Viewer component following code in the `app.ts`
+* Add the PDF Viewer component in `app.ts`:
{% tabs %}
{% highlight ts tabtitle="app.ts" %}
@@ -83,20 +82,20 @@ PdfViewer.Inject(Toolbar, Magnification, Navigation, Annotation, LinkAnnotation,
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.resourceUrl = "https://cdn.syncfusion.com/ej2/31.1.23/dist/ej2-pdfviewer-lib";
pdfviewer.appendTo('#PdfViewer');
{% endhighlight %}
{% endtabs %}
-### Steps to Load PDF Viewer with Local Resources
+### 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:
+To configure the PDF Viewer to use local files for `documentPath` and `resourceUrl` instead of CDN-hosted files, 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 1:** Ensure the application includes the `ej2-pdfviewer-lib` folder. This folder must contain the `pdfium.js`, `pdfium.wasm` files, and the PDF file to display. Place these files in the 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.
+**Step 2:** Assign local file paths to the `documentPath` and `resourceUrl` properties. The `documentPath` should refer to the PDF file, and 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.
+The following example shows how to load resources locally:
{% tabs %}
{% highlight ts tabtitle="app.ts" %}
@@ -109,7 +108,7 @@ pdfviewer.resourceUrl = window.location.origin + "/ej2-pdfviewer-lib";
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.
+* Add an HTML div element to act as the PDF Viewer element in `index.html`:
{% tabs %}
{% highlight html tabtitle="index.html" %}
@@ -137,7 +136,7 @@ View the sample in GitHub to [load PDF Viewer with local resources](https://gith
## 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.
+The quickstart project is configured to compile and run in the browser. Use the following command to start the application:
{% tabs %}
{% highlight bash tabtitle="NPM" %}
@@ -147,7 +146,7 @@ npm start
{% endhighlight %}
{% endtabs %}
-Output will be displayed as follows.
+Output:
{% tabs %}
{% highlight ts tabtitle="index.ts" %}
@@ -159,7 +158,7 @@ PdfViewer.Inject( Toolbar, Magnification, Navigation, Annotation, LinkAnnotation
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.resourceUrl="https://cdn.syncfusion.com/ej2/31.1.23/dist/ej2-pdfviewer-lib";
pdfviewer.appendTo('#PdfViewer');
{% endhighlight %}
{% highlight html tabtitle="index.html" %}
@@ -170,19 +169,10 @@ pdfviewer.appendTo('#PdfViewer');
EJ2 PDF Viewer
-
+
-
-
-
-
-
-
-
-
-
-
+
@@ -201,21 +191,21 @@ pdfviewer.appendTo('#PdfViewer');
## 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:-
+To enable additional features, inject the required modules. The following modules extend the PDF Viewer's 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.
+* `LinkAnnotation`: Enables hyperlink navigation.
+* `BookmarkView`: Displays and navigates document bookmarks.
+* `Magnification`: Provides zoom in/out operations.
+* `Navigation`: Enables page navigation.
+* `TextSelection`: Enables text selection.
+* `ThumbnailView`: Displays page thumbnails for navigation.
+* `Toolbar`: Enables the built-in toolbar UI.
+* `Print`: Enables printing.
+* `Annotation`: Enables annotation features.
+* `TextSearch`: Enables text search.
+* `FormFields`: Enables form field support.
+* `FormDesigner`: Enables designing and editing of form fields.
-These modules should be injected into the PDF Viewer using `PdfViewer.Inject` method.
+Inject modules using the `PdfViewer.Inject` method.
-> You can refer to our [JavaScript PDF Viewer](https://www.syncfusion.com/pdf-viewer-sdk) feature tour page for its groundbreaking feature representations. You can also explore our [JavaScript PDF Viewer example](https://document.syncfusion.com/demos/pdf-viewer/javascript/#/tailwind3/pdfviewer/default.html) to understand how to explains core features of PDF Viewer.
+> Refer to the [JavaScript PDF Viewer feature tour](https://www.syncfusion.com/pdf-viewer-sdk) for an overview of capabilities. Explore the [JavaScript PDF Viewer example](https://document.syncfusion.com/demos/pdf-viewer/javascript/#/tailwind3/pdfviewer/default.html) to see core features in action.
diff --git a/Document-Processing/PDF/PDF-Viewer/javascript-es6/globalization.md b/Document-Processing/PDF/PDF-Viewer/javascript-es6/globalization.md
index 67d3ae712..80a309189 100644
--- a/Document-Processing/PDF/PDF-Viewer/javascript-es6/globalization.md
+++ b/Document-Processing/PDF/PDF-Viewer/javascript-es6/globalization.md
@@ -1,19 +1,18 @@
---
layout: post
-title: Globalization in Typescript Pdfviewer control | Syncfusion
-description: Learn here all about Globalization in Syncfusion Typescript Pdfviewer control of Syncfusion Essential JS 2 and more.
+title: Globalization in TypeScript PDF Viewer | Syncfusion
+description: Learn how to localize the Syncfusion TypeScript PDF Viewer using culture-specific strings, configure the locale property, and load translations with L10n.
platform: document-processing
-control: Globalization
-publishingplatform: Typescript
+control: PDF Viewer
documentation: ug
domainurl: ##DomainURL##
---
-# Globalization in Typescript Pdfviewer control
+# Globalization in TypeScript PDF Viewer
-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 PDF Viewer supports localization using culture-specific string collections. By default, the component uses the "en-US" culture.
-The following table shows the default text values used in PDF Viewer in 'en-US' culture:
+The following table lists the default text values used by the PDF Viewer in the "en-US" culture:
|Keywords|Values|
|---|---|
@@ -267,7 +266,7 @@ The following table shows the default text values used in PDF Viewer in 'en-US'
|Exact Matches|EXACT MATCHES|
|Total Matches|TOTAL MATCHES|
-The different locale value for the PDF Viewer can be specified using the locale property.
+Set the locale for the PDF Viewer using the `locale` property.
```html
@@ -324,7 +323,7 @@ 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.,
+Provide localized text for each culture using `ej.base.L10n.load` at the application level, as shown below:
```
+
+
+
+
+
+
+
+
+