diff --git a/Document-Processing/PDF/PDF-Viewer/angular/formdesigner/programmatically-work-with-form-field.md b/Document-Processing/PDF/PDF-Viewer/angular/formdesigner/programmatically-work-with-form-field.md
deleted file mode 100644
index dd6c5e100..000000000
--- a/Document-Processing/PDF/PDF-Viewer/angular/formdesigner/programmatically-work-with-form-field.md
+++ /dev/null
@@ -1,112 +0,0 @@
----
-layout: post
-title: Programmatically work with form field in Angular Pdfviewer component | Syncfusion
-description: Learn here all about Programmatically work with form field in Syncfusion Angular Pdfviewer component of Syncfusion Essential JS 2 and more.
-platform: document-processing
-control: Programmatically work with form field
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Programmatically work with form field
-
-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="app.component.ts" %}
-{% include code-snippet/pdfviewer/angular/addformfield-cs2/src/app.component.ts %}
-{% endhighlight %}
-
-{% highlight ts tabtitle="main.ts" %}
-{% include code-snippet/pdfviewer/angular/addformfield-cs2/src/main.ts %}
-{% endhighlight %}
-{% endtabs %}
-
-{% previewsample "Document-Processing/samples/pdfviewer/angular/addformfield-cs2/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="app.component.ts" %}
-{% include code-snippet/pdfviewer/angular/updateformfield-cs2/src/app.component.ts %}
-{% endhighlight %}
-
-{% highlight ts tabtitle="main.ts" %}
-{% include code-snippet/pdfviewer/angular/updateformfield-cs2/src/main.ts %}
-{% endhighlight %}
-{% endtabs %}
-
-{% previewsample "Document-Processing/samples/pdfviewer/angular/updateformfield-cs2/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="app.component.ts" %}
-{% include code-snippet/pdfviewer/angular/deleteformfield-cs2/src/app.component.ts %}
-{% endhighlight %}
-
-{% highlight ts tabtitle="main.ts" %}
-{% include code-snippet/pdfviewer/angular/deleteformfield-cs2/src/main.ts %}
-{% endhighlight %}
-{% endtabs %}
-
-{% previewsample "Document-Processing/samples/pdfviewer/angular/deleteformfield-cs2/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.
-
-```html
-
-
-```
-
-## 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.,
-
-```html
-
-
-```
-
-## 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/angular/formdesigner/user-interaction-with-form-fields.md b/Document-Processing/PDF/PDF-Viewer/angular/formdesigner/user-interaction-with-form-fields.md
deleted file mode 100644
index e3a7a5300..000000000
--- a/Document-Processing/PDF/PDF-Viewer/angular/formdesigner/user-interaction-with-form-fields.md
+++ /dev/null
@@ -1,111 +0,0 @@
----
-layout: post
-title: User interaction in Angular Pdfviewer component | Syncfusion
-description: Learn here all about User interaction with form fields in Syncfusion Angular Pdfviewer component of Syncfusion Essential JS 2 and more.
-platform: document-processing
-control: User interaction with form fields
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# User interaction with form fields
-
-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.
-
-```html
-import { ViewChild } from '@angular/core';
-import { Component, OnInit } from '@angular/core';
-import { PdfViewerComponent, LinkAnnotationService, BookmarkViewService,
- MagnificationService, ThumbnailViewService, ToolbarService,
- NavigationService, TextSearchService, TextSelectionService,
- PrintService, AnnotationService, FormDesignerService,
- FormFieldsService
- } from '@syncfusion/ej2-angular-pdfviewer';
-
-@Component({
- selector: 'app-root',
- // Specifies the template string for the PDF Viewer component.
- template: `
-
-
-
`,
- providers: [ LinkAnnotationService, BookmarkViewService, MagnificationService,
- ThumbnailViewService, ToolbarService, NavigationService,
- TextSearchService, TextSelectionService, PrintService,
- AnnotationService, FormDesignerService, FormFieldsService]
-})
-export class AppComponent implements OnInit {
- @ViewChild('pdfviewer')
- public pdfviewerControl: PdfViewerComponent;
- public service: string = 'https://document.syncfusion.com/web-services/pdf-viewer/api/pdfviewer';
- public document: string = 'FormDesigner.pdf';
- ngOnInit(): void {
- }
-}
-```
-
-## 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.
-
-```html
-
-
-```
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer/asp-net-core/formdesigner/programmatically-work-with-form-field.md b/Document-Processing/PDF/PDF-Viewer/asp-net-core/formdesigner/programmatically-work-with-form-field.md
deleted file mode 100644
index ad3cb3e52..000000000
--- a/Document-Processing/PDF/PDF-Viewer/asp-net-core/formdesigner/programmatically-work-with-form-field.md
+++ /dev/null
@@ -1,151 +0,0 @@
----
-layout: post
-title: Programmatically Work With Form Field in ASP.NET Core Pdfviewer Component
-description: Learn here all about Programmatically Work With Form Field in Syncfusion ASP.NET Core Pdfviewer component of Syncfusion Essential JS 2 and more.
-platform: document-processing
-control: Programmatically Work With Form Field
-publishingplatform: ASP.NET Core
-documentation: ug
----
-
-
-# Programmatically work with form field
-
-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.
-
-```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.
-
-```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.
-
-```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.
-
-```html
-
-
-
-
-
-
-```
-
-## 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.,
-
-```html
-
-
-
-
-
-
-```
-
-## 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/asp-net-core/formdesigner/user-interaction-with-form-fields.md b/Document-Processing/PDF/PDF-Viewer/asp-net-core/formdesigner/user-interaction-with-form-fields.md
deleted file mode 100644
index ed485563d..000000000
--- a/Document-Processing/PDF/PDF-Viewer/asp-net-core/formdesigner/user-interaction-with-form-fields.md
+++ /dev/null
@@ -1,99 +0,0 @@
----
-layout: post
-title: User Interaction With Form Fields in ASP.NET Core Pdfviewer Component
-description: Learn here all about User Interaction With Form Fields in Syncfusion ASP.NET Core Pdfviewer component of Syncfusion Essential JS 2 and more.
-platform: document-processing
-control: User Interaction With Form Fields
-publishingplatform: ASP.NET Core
-documentation: ug
----
-
-
-# User interaction with form fields
-
-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.
-
-```html
-
-
-
-
-```
-
-## 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.
-
-```html
-
-
-
-
-
-
-
-```
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer/asp-net-mvc/formdesigner/programmatically-work-with-form-field.md b/Document-Processing/PDF/PDF-Viewer/asp-net-mvc/formdesigner/programmatically-work-with-form-field.md
deleted file mode 100644
index 0c6d7d883..000000000
--- a/Document-Processing/PDF/PDF-Viewer/asp-net-mvc/formdesigner/programmatically-work-with-form-field.md
+++ /dev/null
@@ -1,126 +0,0 @@
----
-layout: post
-title: Programmatically Work With Form Field in ASP.NET MVC Pdfviewer Component
-description: Learn here all about Programmatically Work With Form Field in Syncfusion ASP.NET MVC Pdfviewer component of Syncfusion Essential JS 2 and more.
-platform: document-processing
-control: Programmatically Work With Form Field
-publishingplatform: ASP.NET MVC
-documentation: ug
----
-
-
-# Programmatically work with form field
-
-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.
-
-```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.
-
-```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.
-
-```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.
-
-```html
-
-
-
-```
-
-## 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.,
-
-```html
-
-
-
-```
-
-## 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/asp-net-mvc/formdesigner/user-interaction-with-form-fields.md b/Document-Processing/PDF/PDF-Viewer/asp-net-mvc/formdesigner/user-interaction-with-form-fields.md
deleted file mode 100644
index c0a903c7f..000000000
--- a/Document-Processing/PDF/PDF-Viewer/asp-net-mvc/formdesigner/user-interaction-with-form-fields.md
+++ /dev/null
@@ -1,90 +0,0 @@
----
-layout: post
-title: User Interaction With Form Fields in ASP.NET MVC Pdfviewer Component
-description: Learn here all about User Interaction With Form Fields in Syncfusion ASP.NET MVC Pdfviewer component of Syncfusion Essential JS 2 and more.
-platform: document-processing
-control: User Interaction With Form Fields
-publishingplatform: ASP.NET MVC
-documentation: ug
----
-
-
-# User interaction with form fields
-
-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.
-
-```html
-
-
-```
-
-## 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.
-
-```html
-
-
-
-
-```
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer/react/accessibility.md b/Document-Processing/PDF/PDF-Viewer/react/accessibility.md
index 31c4d9c0b..07fe349bc 100644
--- a/Document-Processing/PDF/PDF-Viewer/react/accessibility.md
+++ b/Document-Processing/PDF/PDF-Viewer/react/accessibility.md
@@ -8,7 +8,7 @@ documentation: ug
domainurl: ##DomainURL##
---
-# Accessibility in Syncfusion® React PDF Viewer components
+# Accessibility in Syncfusion PDF Viewer components React
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.
@@ -156,7 +156,7 @@ function App() {
ref={(scope) => { pdfviewer = scope; }}
id="container"
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.2.2/dist/ej2-pdfviewer-lib"
commandManager = {commandManager}
style={{ 'height': '640px' }}>
diff --git a/Document-Processing/PDF/PDF-Viewer/react/annotation/annotation-event.md b/Document-Processing/PDF/PDF-Viewer/react/annotation/annotation-event.md
new file mode 100644
index 000000000..edecf4606
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/react/annotation/annotation-event.md
@@ -0,0 +1,1391 @@
+---
+title: Annotations Events in React Pdfviewer control | Syncfusion
+description: Learn here all about Annotations Events in Syncfusion React Pdfviewer component of Syncfusion Essential JS 2 and more.
+platform: document-processing
+control: PDF Viewer
+documentation: ug
+
+domainurl: ##DomainURL##
+---
+
+# Annotations Events in React 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/react/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/react/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....
+
+
+
+
+
+```
+
+{% tabs %}
+{% highlight ts tabtitle="Standalone" %}
+{% raw %}
+
+import * as React from 'react';
+import { PdfViewerComponent, Inject, Toolbar, Magnification, Navigation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, Annotation, FormDesigner, FormFields, PageOrganizer } from '@syncfusion/ej2-react-pdfviewer';
+
+function App() {
+ const annotationAdd = (args) => {
+ console.log('Annotation added with ID: ' + args.annotationId);
+ console.log('Annotation type: ' + args.annotationType);
+ };
+
+ return (
+
+
+
+ );
+}
+
+export default App;
+
+{% endraw %}
+{% endhighlight %}
+{% endtabs %}
+
+### annotationDoubleClick
+
+The [annotationDoubleClick](https://ej2.syncfusion.com/react/documentation/api/pdfviewer/#annotationdoubleclickevent) event is triggered when an annotation is double-clicked.
+
+#### Event Arguments
+
+For event data, see [AnnotationDoubleClickEventArgs](https://ej2.syncfusion.com/react/documentation/api/pdfviewer/annotationDoubleClickEventArgs/).
+
+The following example illustrates how to handle the `annotationDoubleClick` event.
+
+```html
+
+
+
+
+ EJ2 PDF Viewer
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Loading....
+
+
+
+
+
+```
+
+{% tabs %}
+{% highlight ts tabtitle="Standalone" %}
+{% raw %}
+
+import * as React from 'react';
+import { PdfViewerComponent, Inject, Toolbar, Magnification, Navigation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, Annotation, FormDesigner, FormFields, PageOrganizer } from '@syncfusion/ej2-react-pdfviewer';
+
+function App() {
+ const annotationDoubleClick = (args) => {
+ console.log('Annotation double-clicked on page: ' + args.pageIndex);
+ };
+
+ return (
+
+
+
+ );
+}
+
+export default App;
+
+{% endraw %}
+{% endhighlight %}
+{% endtabs %}
+
+### annotationMouseLeave
+
+The [annotationMouseLeave](https://ej2.syncfusion.com/react/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/react/documentation/api/pdfviewer/annotationMouseLeaveEventArgs/).
+
+The following example illustrates how to handle the `annotationMouseLeave` event.
+
+```html
+
+
+
+
+ EJ2 PDF Viewer
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Loading....
+
+
+
+
+
+```
+
+{% tabs %}
+{% highlight ts tabtitle="Standalone" %}
+{% raw %}
+
+import * as React from 'react';
+import { PdfViewerComponent, Inject, Toolbar, Magnification, Navigation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, Annotation, FormDesigner, FormFields, PageOrganizer } from '@syncfusion/ej2-react-pdfviewer';
+
+function App() {
+ const annotationMouseLeave = (args) => {
+ console.log('Annotation mouse leave event is triggered for annotation with ID: ' + args.pageIndex);
+ };
+
+ return (
+
+
+
+ );
+}
+
+export default App;
+
+{% endraw %}
+{% endhighlight %}
+{% endtabs %}
+
+### annotationMouseover
+
+The [annotationMouseover](https://ej2.syncfusion.com/react/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/react/documentation/api/pdfviewer/annotationMouseOverEventArgs/).
+
+The following example illustrates how to handle the `annotationMouseover` event.
+
+```html
+
+
+
+
+ EJ2 PDF Viewer
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Loading....
+
+
+
+
+
+```
+
+{% tabs %}
+{% highlight ts tabtitle="Standalone" %}
+{% raw %}
+
+import * as React from 'react';
+import { PdfViewerComponent, Inject, Toolbar, Magnification, Navigation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, Annotation, FormDesigner, FormFields, PageOrganizer } from '@syncfusion/ej2-react-pdfviewer';
+
+function App() {
+ const annotationMouseover = (args) => {
+ console.log('Annotation mouse over event is triggered for annotation with ID: ' + args.annotationId);
+ };
+
+ return (
+
+
+
+ );
+}
+
+export default App;
+
+{% endraw %}
+{% endhighlight %}
+{% endtabs %}
+
+### annotationMove
+
+The [annotationMove](https://ej2.syncfusion.com/react/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/react/documentation/api/pdfviewer/annotationMoveEventArgs/).
+
+The following example illustrates how to handle the `annotationMove` event.
+
+```html
+
+
+
+
+ EJ2 PDF Viewer
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Loading....
+
+
+
+
+
+```
+
+{% tabs %}
+{% highlight ts tabtitle="Standalone" %}
+{% raw %}
+
+import * as React from 'react';
+import { PdfViewerComponent, Inject, Toolbar, Magnification, Navigation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, Annotation, FormDesigner, FormFields, PageOrganizer } from '@syncfusion/ej2-react-pdfviewer';
+
+function App() {
+ const annotationMove = (args) => {
+ console.log('Annotation moved. ID: ' + args.annotationId + ' on page ' + args.pageIndex);
+ };
+
+ return (
+
+
+
+ );
+}
+
+export default App;
+
+{% endraw %}
+{% endhighlight %}
+{% endtabs %}
+
+### annotationMoving
+
+The [annotationMoving](https://ej2.syncfusion.com/react/documentation/api/pdfviewer/#annotationmovingevent) event is triggered while an annotation is being moved.
+
+#### Event Arguments
+
+For event data, see [AnnotationMovingEventArgs](https://ej2.syncfusion.com/react/documentation/api/pdfviewer/annotationMovingEventArgs/).
+
+The following example illustrates how to handle the `annotationMoving` event.
+
+```html
+
+
+
+
+ EJ2 PDF Viewer
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Loading....
+
+
+
+
+
+```
+
+{% tabs %}
+{% highlight ts tabtitle="Standalone" %}
+{% raw %}
+
+import * as React from 'react';
+import { PdfViewerComponent, Inject, Toolbar, Magnification, Navigation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, Annotation, FormDesigner, FormFields, PageOrganizer } from '@syncfusion/ej2-react-pdfviewer';
+
+function App() {
+ const annotationMoving = (args) => {
+ console.log('Annotation is being moved. Current Action: ' + args.currentPosition);
+ };
+
+ return (
+
+
+
+ );
+}
+
+export default App;
+
+{% endraw %}
+{% endhighlight %}
+{% endtabs %}
+
+### annotationPropertiesChange
+
+The [annotationPropertiesChange](https://ej2.syncfusion.com/react/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/react/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....
+
+
+
+
+
+```
+
+{% tabs %}
+{% highlight ts tabtitle="Standalone" %}
+{% raw %}
+
+import * as React from 'react';
+import { PdfViewerComponent, Inject, Toolbar, Magnification, Navigation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, Annotation, FormDesigner, FormFields, PageOrganizer } from '@syncfusion/ej2-react-pdfviewer';
+
+function App() {
+ const annotationPropertiesChange = (args) => {
+ console.log('Annotation properties changed for ID: ' + args.annotationId);
+ console.log('isThicknessChanged: ' + args.isThicknessChanged);
+ };
+
+ return (
+
+
+
+ );
+}
+
+export default App;
+
+{% endraw %}
+{% endhighlight %}
+{% endtabs %}
+
+### annotationRemove
+
+The [annotationRemove](https://ej2.syncfusion.com/react/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/react/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....
+
+
+
+
+
+```
+
+{% tabs %}
+{% highlight ts tabtitle="Standalone" %}
+{% raw %}
+
+import * as React from 'react';
+import { PdfViewerComponent, Inject, Toolbar, Magnification, Navigation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, Annotation, FormDesigner, FormFields, PageOrganizer } from '@syncfusion/ej2-react-pdfviewer';
+
+function App() {
+ const annotationRemove = (args) => {
+ console.log('Annotation removed with ID: ' + args.annotationId);
+ };
+
+ return (
+
+
+
+ );
+}
+
+export default App;
+
+{% endraw %}
+{% endhighlight %}
+{% endtabs %}
+
+### annotationResize
+
+The [annotationResize](https://ej2.syncfusion.com/react/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/react/documentation/api/pdfviewer/annotationResizeEventArgs/).
+
+The following example illustrates how to handle the `annotationResize` event.
+
+```html
+
+
+
+
+ EJ2 PDF Viewer
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Loading....
+
+
+
+
+
+```
+
+{% tabs %}
+{% highlight ts tabtitle="Standalone" %}
+{% raw %}
+
+import * as React from 'react';
+import { PdfViewerComponent, Inject, Toolbar, Magnification, Navigation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, Annotation, FormDesigner, FormFields, PageOrganizer } from '@syncfusion/ej2-react-pdfviewer';
+
+function App() {
+ const annotationResize = (args) => {
+ console.log('Annotation resized. ID: ' + args.annotationId);
+ };
+
+ return (
+
+
+
+ );
+}
+
+export default App;
+
+{% endraw %}
+{% endhighlight %}
+{% endtabs %}
+
+### annotationSelect
+
+The [annotationSelect](https://ej2.syncfusion.com/react/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/react/documentation/api/pdfviewer/annotationSelectEventArgs/).
+
+The following example illustrates how to handle the `annotationSelect` event.
+
+```html
+
+
+
+
+ EJ2 PDF Viewer
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Loading....
+
+
+
+
+
+```
+
+{% tabs %}
+{% highlight ts tabtitle="Standalone" %}
+{% raw %}
+
+import * as React from 'react';
+import { PdfViewerComponent, Inject, Toolbar, Magnification, Navigation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, Annotation, FormDesigner, FormFields, PageOrganizer } from '@syncfusion/ej2-react-pdfviewer';
+
+function App() {
+ const annotationSelect = (args) => {
+ console.log('Annotation selected with ID: ' + args.annotationId);
+ };
+
+ return (
+
+
+
+ );
+}
+
+export default App;
+
+{% endraw %}
+{% endhighlight %}
+{% endtabs %}
+
+### annotationUnselect
+
+The [annotationUnselect](https://ej2.syncfusion.com/react/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/react/documentation/api/pdfviewer/annotationUnSelectEventArgs/).
+
+The following example illustrates how to handle the `annotationUnselect` event.
+
+```html
+
+
+
+
+ EJ2 PDF Viewer
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Loading....
+
+
+
+
+
+```
+
+{% tabs %}
+{% highlight ts tabtitle="Standalone" %}
+{% raw %}
+
+import * as React from 'react';
+import { PdfViewerComponent, Inject, Toolbar, Magnification, Navigation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, Annotation, FormDesigner, FormFields, PageOrganizer } from '@syncfusion/ej2-react-pdfviewer';
+
+function App() {
+ const annotationUnselect = (args) => {
+ console.log('Annotation unselected with ID: ' + args.annotationId);
+ };
+
+ return (
+
+
+
+ );
+}
+
+export default App;
+
+{% endraw %}
+{% endhighlight %}
+{% endtabs %}
+
+### beforeAddFreeText
+
+The [beforeAddFreeText](https://ej2.syncfusion.com/react/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/react/documentation/api/pdfviewer/beforeAddFreeTextEventArgs/).
+
+The following example illustrates how to handle the `beforeAddFreeText` event.
+
+```html
+
+
+
+
+ EJ2 PDF Viewer
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Loading....
+
+
+
+
+
+```
+
+{% tabs %}
+{% highlight ts tabtitle="Standalone" %}
+{% raw %}
+
+import * as React from 'react';
+import { PdfViewerComponent, Inject, Toolbar, Magnification, Navigation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, Annotation, FormDesigner, FormFields, PageOrganizer } from '@syncfusion/ej2-react-pdfviewer';
+
+function App() {
+ const beforeAddFreeText = (args) => {
+ console.log('Before adding free text on page: ' + args.pageIndex);
+ // To prevent adding the free text annotation
+ // args.cancel = true;
+ };
+
+ return (
+
+
+
+ );
+}
+
+export default App;
+
+{% endraw %}
+{% endhighlight %}
+{% endtabs %}
+
+## Signature-related events
+
+### addSignature
+
+The [addSignature](https://ej2.syncfusion.com/react/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/react/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....
+
+
+
+
+
+```
+
+{% tabs %}
+{% highlight ts tabtitle="Standalone" %}
+{% raw %}
+
+import * as React from 'react';
+import { PdfViewerComponent, Inject, Toolbar, Magnification, Navigation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, Annotation, FormDesigner, FormFields, PageOrganizer } from '@syncfusion/ej2-react-pdfviewer';
+
+function App() {
+ const addSignature = (args) => {
+ console.log('Signature added to page: ' + args.pageIndex);
+ };
+
+ return (
+
+
+
+ );
+}
+
+export default App;
+
+{% endraw %}
+{% endhighlight %}
+{% endtabs %}
+
+### removeSignature
+
+The [removeSignature](https://ej2.syncfusion.com/react/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/react/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....
+
+
+
+
+
+```
+
+{% tabs %}
+{% highlight ts tabtitle="Standalone" %}
+{% raw %}
+
+import * as React from 'react';
+import { PdfViewerComponent, Inject, Toolbar, Magnification, Navigation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, Annotation, FormDesigner, FormFields, PageOrganizer } from '@syncfusion/ej2-react-pdfviewer';
+
+function App() {
+ const removeSignature = (args) => {
+ console.log('Signature removed from page: ' + args.pageIndex);
+ };
+
+ return (
+
+
+
+ );
+}
+
+export default App;
+
+{% endraw %}
+{% endhighlight %}
+{% endtabs %}
+
+### resizeSignature
+
+The [resizeSignature](https://ej2.syncfusion.com/react/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/react/documentation/api/pdfviewer/resizeSignatureEventArgs/).
+
+The following example illustrates how to handle the `resizeSignature` event.
+
+```html
+
+
+
+
+ EJ2 PDF Viewer
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Loading....
+
+
+
+
+
+```
+
+{% tabs %}
+{% highlight ts tabtitle="Standalone" %}
+{% raw %}
+
+import * as React from 'react';
+import { PdfViewerComponent, Inject, Toolbar, Magnification, Navigation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, Annotation, FormDesigner, FormFields, PageOrganizer } from '@syncfusion/ej2-react-pdfviewer';
+
+function App() {
+ const resizeSignature = (args) => {
+ console.log('Signature resized on page ' + args.pageIndex);
+ };
+
+ return (
+
+
+
+ );
+}
+
+export default App;
+
+{% endraw %}
+{% endhighlight %}
+{% endtabs %}
+
+### signaturePropertiesChange
+
+The [signaturePropertiesChange](https://ej2.syncfusion.com/react/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/react/documentation/api/pdfviewer/signaturePropertiesChangeEventArgs/).
+
+The following example illustrates how to handle the `signaturePropertiesChange` event.
+
+```html
+
+
+
+
+ EJ2 PDF Viewer
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Loading....
+
+
+
+
+
+```
+
+{% tabs %}
+{% highlight ts tabtitle="Standalone" %}
+{% raw %}
+
+import * as React from 'react';
+import { PdfViewerComponent, Inject, Toolbar, Magnification, Navigation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, Annotation, FormDesigner, FormFields, PageOrganizer } from '@syncfusion/ej2-react-pdfviewer';
+
+function App() {
+ const signaturePropertiesChange = (args) => {
+ console.log('Signature properties changed on page ' + args.pageIndex);
+ };
+
+ return (
+
+
+
+ );
+}
+
+export default App;
+
+{% endraw %}
+{% endhighlight %}
+{% endtabs %}
+
+### signatureSelect
+
+The [signatureSelect](https://ej2.syncfusion.com/react/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/react/documentation/api/pdfviewer/signatureSelectEventArgs/).
+
+The following example illustrates how to handle the `signatureSelect` event.
+
+```html
+
+
+
+
+ EJ2 PDF Viewer
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Loading....
+
+
+
+
+
+```
+
+{% tabs %}
+{% highlight ts tabtitle="Standalone" %}
+{% raw %}
+
+import * as React from 'react';
+import { PdfViewerComponent, Inject, Toolbar, Magnification, Navigation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, Annotation, FormDesigner, FormFields, PageOrganizer } from '@syncfusion/ej2-react-pdfviewer';
+
+function App() {
+ const signatureSelect = (args) => {
+ console.log('Signature selected on page ' + args.pageIndex);
+ };
+
+ return (
+
+
+
+ );
+}
+
+export default App;
+
+{% endraw %}
+{% endhighlight %}
+{% endtabs %}
+
+### signatureUnselect
+
+The [signatureUnselect](https://ej2.syncfusion.com/react/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/react/documentation/api/pdfviewer/signatureUnSelectEventArgs/).
+
+The following example illustrates how to handle the `signatureUnselect` event.
+
+```html
+
+
+
+
+ EJ2 PDF Viewer
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Loading....
+
+
+
+
+
+```
+
+{% tabs %}
+{% highlight ts tabtitle="Standalone" %}
+{% raw %}
+
+import * as React from 'react';
+import { PdfViewerComponent, Inject, Toolbar, Magnification, Navigation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, Annotation, FormDesigner, FormFields, PageOrganizer } from '@syncfusion/ej2-react-pdfviewer';
+
+function App() {
+ const signatureUnselect = (args) => {
+ console.log('Signature unselected on page ' + args.pageIndex);
+ };
+
+ return (
+
+
+
+ );
+}
+
+export default App;
+
+{% endraw %}
+{% endhighlight %}
+{% endtabs %}
diff --git a/Document-Processing/PDF/PDF-Viewer/react/annotation/annotations-in-mobile-view.md b/Document-Processing/PDF/PDF-Viewer/react/annotation/annotations-in-mobile-view.md
new file mode 100644
index 000000000..deb9a7eb2
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/react/annotation/annotations-in-mobile-view.md
@@ -0,0 +1,122 @@
+---
+layout: post
+title: Annotations mobileView in React PDF Viewer control | Syncfusion
+description: Learn to add rectangle annotations via text search in Syncfusion React PDF Viewer for enhanced mobile usability.
+platform: document-processing
+control: PDF Viewer
+documentation: ug
+domainurl: ##DomainURL##
+---
+# Annotations in mobile view in React PDF Viewer control
+
+## Open the annotation toolbar
+
+**Step 1:** Click Edit Annotation on the toolbar to enable the annotation toolbar.
+
+
+
+**Step 2:** The annotation toolbar appears below the main toolbar.
+
+
+
+## Add sticky note annotations
+
+**Step 1:** Click the Sticky Notes icon, then tap the page where the note should be placed.
+
+
+
+**Step 2:** Tap the page to add the sticky note annotation.
+
+
+
+## Add text markup annotations
+
+**Step 1:** Tap a text markup icon, select the text to mark, then tap the selection to apply the markup.
+
+
+
+**Step 2:** The text markup annotation is applied to the selected text.
+
+
+
+## Add shape and measurement annotations
+
+**Step 1:** Tap the Shape or Measure icon to open the corresponding toolbar.
+
+
+
+**Step 2:** Choose a shape or measurement type, then draw it on the page.
+
+
+
+**Step 3:** The annotation appears on the PDF page.
+
+
+
+## Add stamp annotations
+
+**Step 1:** Tap the Stamp icon and select a stamp type from the menu.
+
+
+
+**Step 2:** Tap the page to place the stamp annotation.
+
+
+
+## Add signature annotations
+
+**Step 1:** Tap the Signature icon to open the canvas. Draw the signature, tap Create, then tap the viewer to place it.
+
+
+
+**Step 2:** The signature is added to the page.
+
+
+
+## Add ink annotations
+
+**Step 1:** Tap the Ink tool and draw on the page.
+
+
+
+**Step 2:** The ink annotation appears on the page.
+
+
+
+## Change annotation properties (before adding)
+
+**Step 1:** Change properties before placing the annotation.
+
+**Step 2:** Tap the annotation icon to open the property toolbar, adjust properties, then place the annotation on the page.
+
+
+
+## Change annotation properties (after adding)
+
+**Step 1:** Change annotation properties after adding the annotation.
+
+**Step 2:** Select the annotation to show the property toolbar, then adjust the properties.
+
+
+
+## Delete annotations
+
+**Step 1:** Select the annotation to show the property toolbar, then tap the Delete icon to remove it.
+
+
+
+## Open the comment panel
+
+**Step 1:** Open the comment panel using the icon in the property toolbar or the annotation toolbar.
+
+
+
+**Step 2:** The comment panel appears.
+
+
+
+## Close the comment panel
+
+**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/react/annotation/comments.md b/Document-Processing/PDF/PDF-Viewer/react/annotation/comments.md
index 5b8913683..034ebeadc 100644
--- a/Document-Processing/PDF/PDF-Viewer/react/annotation/comments.md
+++ b/Document-Processing/PDF/PDF-Viewer/react/annotation/comments.md
@@ -1,16 +1,16 @@
---
layout: post
title: Comments in React Pdfviewer component | Syncfusion
-description: Learn here all about Comments in Syncfusion React Pdfviewer component of Syncfusion Essential JS 2 and more.
-control: Comments
+description: Learn about comments, replies, and status in the Syncfusion React PDF Viewer control (Essential JS 2).
+control: PDF Viewer
platform: document-processing
documentation: ug
domainurl: ##DomainURL##
---
-# Comments in React Pdfviewer component
+# Comments in React PDF Viewer
-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
@@ -20,11 +20,12 @@ 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 to the PDF document using the comment panel.
### Comment panel
@@ -33,78 +34,137 @@ 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.
+
+
+
+>Deleting the root comment from the comment panel also deletes the associated annotation.
+```html
+
+## How to check the comments added by the user
+
+Comments added to the PDF document can be read using the annotation's `comments` property.
+
+The following example logs comments in response to a button click.
+
+```html
+
+```
+
+{% tabs %}
+{% highlight html tabtitle="Standalone" %}
+
+import { PdfViewer, Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, TextSearch, FormFields, FormDesigner, PageOrganizer} from '@syncfusion/ej2-pdfviewer';
+
+PdfViewer.Inject(Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, TextSearch, FormFields, FormDesigner, PageOrganizer);
+
+let pdfviewer: PdfViewer = new PdfViewer();
+pdfviewer.documentPath = "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf";
+pdfviewer.resourceUrl = "https://cdn.syncfusion.com/ej2/23.1.43/dist/ej2-pdfviewer-lib";
+pdfviewer.appendTo('#PdfViewer');
+
+
+{% endhighlight %}
+{% highlight html tabtitle="Server-Backed" %}
+
+import { PdfViewer, Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, TextSearch, FormFields, FormDesigner, PageOrganizer} from '@syncfusion/ej2-pdfviewer';
+
+PdfViewer.Inject(Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, TextSearch, FormFields, FormDesigner, PageOrganizer);
+
+let pdfviewer: PdfViewer = new PdfViewer();
+pdfviewer.serviceUrl = 'https://document.syncfusion.com/web-services/pdf-viewer/api/pdfviewer/';
+pdfviewer.documentPath = "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf";
+pdfviewer.appendTo('#PdfViewer');
+
+{% endhighlight %}
+{% endtabs %}
-
+```typescript
+//Method to check the comments added in the PDF document.
+document.getElementById('checkComments').addEventListener('click', function () {
+ var annotationCollections = pdfviewer.annotationCollection;
+ for (var x = 0; x < annotationCollections.length; x++) {
+ //Prints the annotation id in the console window.
+ console.log("annotation Id : " +annotationCollections[x].annotationId);
+ var comments = annotationCollections[x].comments;
+ for (var y = 0; y < comments.length; y++) {
+ var comment = comments[y];
+ //Prints the PDF document's comments in the console window.
+ console.log("comment" + "[" + y + "] :" + comment.note);
+ }
+ var note = annotationCollections[x].note;
+ console.log("note : " + note);
+ }
+});
->The annotation will be deleted on deleting the comment using comment panel.
+```
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer/react/annotation/free-text-annotation.md b/Document-Processing/PDF/PDF-Viewer/react/annotation/free-text-annotation.md
index 38397ead7..cf8d844f2 100644
--- a/Document-Processing/PDF/PDF-Viewer/react/annotation/free-text-annotation.md
+++ b/Document-Processing/PDF/PDF-Viewer/react/annotation/free-text-annotation.md
@@ -1,30 +1,30 @@
---
layout: post
-title: Free text annotation in React Pdfviewer component | Syncfusion
-description: Learn here all about Free text annotation in Syncfusion React Pdfviewer component of Syncfusion Essential JS 2 and more.
-control: Free text annotation
+title: Free text annotation in React PDF Viewer control | Syncfusion
+description: Learn about free text annotations in the Syncfusion React PDF Viewer (Essential JS 2): add, edit, delete, and default settings.
+control: PDF Viewer
platform: document-processing
documentation: ug
domainurl: ##DomainURL##
---
-# Free text annotation in React Pdfviewer component
+# Free text annotation in React PDF Viewer
-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.
+The PDF Viewer control provides options to add, edit, and delete free text annotations.
-* 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.
+The following example switches to free text annotation mode using a button click.
{% tabs %}
{% highlight js tabtitle="Standalone" %}
@@ -49,7 +49,7 @@ function App() {
ref={(scope) => { pdfviewer = scope; }}
id="container"
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.2.2/dist/ej2-pdfviewer-lib"
style={{ 'height': '640px' }}>
);
{% endhighlight %}
{% endtabs %}
-## Adding a Free Text annotation to the PDF document Programmatically
+## Add a Free Text annotation to the PDF document Programmatically
-With the PDF Viewer library, you can add a Free Text annotation to the PDF Viewer control programmatically using the [**addAnnotation()**](https://ej2.syncfusion.com/react/documentation/api/pdfviewer/annotation/#addannotationn) method.
+The PDF Viewer library allows adding a free text annotation programmatically using the [addAnnotation()](https://ej2.syncfusion.com/react/documentation/api/pdfviewer/annotation/#annotation) method.
-Here's a example of how you can utilize the **addAnnotation()** method to include a Free Text annotation programmatically
+Here is an example of adding a free text annotation programmatically using addAnnotation():
{% tabs %}
{% highlight js tabtitle="Standalone" %}
@@ -145,7 +145,7 @@ function App() {
ref={(scope) => { pdfviewer = scope; }}
id="container"
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.2.2/dist/ej2-pdfviewer-lib"
style={{ 'height': '640px' }}>
);
{% 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():
{% tabs %}
{% highlight js tabtitle="Standalone" %}
@@ -250,7 +250,7 @@ function App() {
ref={(scope) => { pdfviewer = scope; }}
id="container"
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.2.2/dist/ej2-pdfviewer-lib"
style={{ 'height': '640px' }}>
);
{% endhighlight %}
{% endtabs %}
-## Editing the properties of free text annotation
+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.
-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.
+## Edit the properties of free text annotations
-### Editing font family
+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.
-The font family of the annotation can be edited by selecting the desired font in the Font Family tool.
+### Edit font family
-
+Edit the font family by selecting a font in the Font Family tool.
-### Editing font size
+
-The font size of the annotation can be edited by selecting the desired size in the Font Size tool.
+### Edit font size
-
+Edit the font size by selecting a size in the Font Size tool.
-### Editing font color
+
-The font color of the annotation can be edited using the color palette provided in the Font Color tool.
+### Edit font color
-
+Edit the font color using the color palette in the Font Color tool.
-### Editing the text alignment
+
-The text in the annotation can be aligned by selecting the desired styles in the drop-down pop-up in the Text Align tool.
+### Edit the text alignment
-
+Align text by selecting an option from the Text Align tool.
-### Editing text styles
+
-The style of the text in the annotation can be edited by selecting the desired styles in the drop-down pop-up in the Font Style tool.
+### Edit text styles
-
+Edit text styles by selecting options in the Font Style tool.
-### Editing fill color
+
-The fill color of the annotation can be edited using the color palette provided in the Edit Color tool.
+### Edit fill color
-
+Edit the fill color using the color palette 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.
+### Edit stroke color
-
+Edit the stroke color using the color palette in the Edit Stroke Color tool.
-### Editing thickness
+
-The border thickness of the annotation can be edited using the range slider provided in the Edit Thickness tool.
+### Edit thickness
-
+Edit border thickness using the range slider 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.
+### Edit opacity
-
+Edit opacity using the range slider in the Edit Opacity tool.
-## Setting default properties during control initialization
+
-The properties of the free text annotation can be set before creating the control using the FreeTextSettings.
+## Set default properties during control initialization
-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.
+Default properties for free text annotations can be set before creating the control using FreeTextSettings.
+
+After changing default values, the selected values are applied. The following example sets default free text annotation settings.
{% tabs %}
{% highlight js tabtitle="Standalone" %}
@@ -392,7 +394,7 @@ function App() {
ref={(scope) => { pdfviewer = scope; }}
id="container"
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.2.2/dist/ej2-pdfviewer-lib"
freeTextSettings={{fillColor: 'green', borderColor: 'blue', fontColor: 'yellow'}}
style={{ 'height': '640px' }}>
@@ -459,7 +461,7 @@ function App() {
ref={(scope) => { pdfviewer = scope; }}
id="container"
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.2.2/dist/ej2-pdfviewer-lib"
freeTextSettings={{enableAutoFit: true}}
style={{ 'height': '640px' }}>
diff --git a/Document-Processing/PDF/PDF-Viewer/react/annotation/ink-annotation.md b/Document-Processing/PDF/PDF-Viewer/react/annotation/ink-annotation.md
index fb065ac2b..1fc9cf86d 100644
--- a/Document-Processing/PDF/PDF-Viewer/react/annotation/ink-annotation.md
+++ b/Document-Processing/PDF/PDF-Viewer/react/annotation/ink-annotation.md
@@ -1,30 +1,30 @@
---
layout: post
-title: Ink annotation in React Pdfviewer component | Syncfusion
-description: Learn here all about Ink annotation in Syncfusion React Pdfviewer component of Syncfusion Essential JS 2 and more.
-control: Ink annotation
+title: Ink annotation in React PDF Viewer control | Syncfusion
+description: Learn about ink annotations in the Syncfusion React PDF Viewer (Essential JS 2): add, edit, delete, and default settings.
+control: PDF Viewer
platform: document-processing
documentation: ug
domainurl: ##DomainURL##
---
-# Ink annotation in React Pdfviewer component
+# Ink annotation in React PDF Viewer
-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.
{% tabs %}
{% highlight js tabtitle="Standalone" %}
@@ -49,7 +49,7 @@ function App() {
ref={(scope) => { pdfviewer = scope; }}
id="container"
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.2.2/dist/ej2-pdfviewer-lib"
style={{ 'height': '640px' }}>
);
{% endhighlight %}
{% endtabs %}
-## Adding a Ink annotation to the PDF document Programmatically
+## Add an ink annotation programmatically to the PDF document
-With the PDF Viewer library, you can add a Ink annotation to the PDF Viewer control programmatically using the [**addAnnotation()**](https://ej2.syncfusion.com/react/documentation/api/pdfviewer/annotation/#addannotationn) method.
+The PDF Viewer library allows adding an ink annotation programmatically using the [addAnnotation()](https://ej2.syncfusion.com/react/documentation/api/pdfviewer/annotation/#annotation) method.
-Here's a example of how you can utilize the **addAnnotation()** method to include a Ink annotation programmatically
+Here is an example of adding an ink annotation programmatically using addAnnotation():
{% tabs %}
{% highlight js tabtitle="Standalone" %}
@@ -139,7 +139,7 @@ function App() {
ref={(scope) => { pdfviewer = scope; }}
id="container"
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.2.2/dist/ej2-pdfviewer-lib"
style={{ 'height': '640px' }}>
);
{% 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():
{% tabs %}
{% highlight js tabtitle="Standalone" %}
@@ -239,7 +239,7 @@ function App() {
ref={(scope) => { pdfviewer = scope; }}
id="container"
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.2.2/dist/ej2-pdfviewer-lib"
style={{ 'height': '640px' }}>
);
{% endhighlight %}
{% 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 the 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. Refer to the following code sample to set the default ink annotation settings.
+After changing default values, the selected values are applied.
{% tabs %}
{% highlight js tabtitle="Standalone" %}
@@ -348,7 +348,7 @@ function App() {
{ pdfviewer = scope; }}
id="container"
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.2.2/dist/ej2-pdfviewer-lib"
inkAnnotationSettings={{author: 'Syncfusion', strokeColor: 'green', thickness: 3, opacity: 0.6}}
style={{ 'height': '640px' }}>
You can refer to our [React PDF Viewer](https://www.syncfusion.com/React-ui-components/React-pdf-viewer) feature tour page for its groundbreaking feature representations. You can also explore our [React PDF Viewer example](https://github.com/syncfusion/ej2-React-samples/tree/master/src/app/pdfviewer) to know how to render and configure the PDF Viewer.
+N> Refer to the React PDF Viewer [feature tour](https://www.syncfusion.com/pdf-viewer-sdk/react-pdf-viewer) for feature highlights. Explore the [React PDF Viewer examples](https://github.com/SyncfusionExamples/react-pdf-viewer-examples) to learn how to render and configure the PDF Viewer.
diff --git a/Document-Processing/PDF/PDF-Viewer/react/annotation/measurement-annotation.md b/Document-Processing/PDF/PDF-Viewer/react/annotation/measurement-annotation.md
index edf9524e4..d691411a0 100644
--- a/Document-Processing/PDF/PDF-Viewer/react/annotation/measurement-annotation.md
+++ b/Document-Processing/PDF/PDF-Viewer/react/annotation/measurement-annotation.md
@@ -1,16 +1,16 @@
---
layout: post
-title: Measurement annotation in React Pdfviewer component | Syncfusion
-description: Learn here all about Measurement annotation in Syncfusion React Pdfviewer component of Syncfusion Essential JS 2 and more.
-control: Measurement annotation
+title: Measurement annotation in React PDF Viewer control | Syncfusion
+description: Learn about measurement annotations in the Syncfusion React PDF Viewer (Essential JS 2): distance, perimeter, area, radius, and volume.
+control: PDF Viewer
platform: document-processing
documentation: ug
domainurl: ##DomainURL##
---
-# Measurement annotation in React Pdfviewer component
+# Measurement annotation in React PDF Viewer
-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
@@ -18,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.
{% tabs %}
{% highlight js tabtitle="Standalone" %}
@@ -57,7 +57,7 @@ function App() {
{ pdfviewer = scope; }}
id="container"
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.2.2/dist/ej2-pdfviewer-lib"
style={{ 'height': '640px' }}>
import { PdfViewerComponent, Toolbar, Magnification, Navigation, LinkAnnotation,
BookmarkView, ThumbnailView, Print, TextSelection, TextSearch, Annotation,
@@ -108,11 +108,11 @@ root.render();
{% 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/react/documentation/api/pdfviewer/annotation/#addannotationn) method.
+The PDF Viewer library allows adding measurement annotations programmatically using the [addAnnotation()](https://ej2.syncfusion.com/react/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():
{% tabs %}
{% highlight js tabtitle="Standalone" %}
@@ -179,7 +179,7 @@ function App() {
ref={(scope) => { pdfviewer = scope; }}
id="container"
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.2.2/dist/ej2-pdfviewer-lib"
style={{ 'height': '640px' }}>
);
{% 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():
{% tabs %}
{% highlight js tabtitle="Standalone" %}
@@ -362,7 +362,7 @@ function App() {
ref={(scope) => { pdfviewer = scope; }}
id="container"
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.2.2/dist/ej2-pdfviewer-lib"
style={{ 'height': '640px' }}>
);
{% 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.
@@ -531,7 +531,7 @@ export function App() {
{ pdfviewer = scope; }}
id="container"
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.2.2/dist/ej2-pdfviewer-lib"
distanceSettings={{fillColor: 'blue', opacity: 0.6, strokeColor: 'green'}}
perimeterSettings={{fillColor: 'green', opacity: 0.6, strokeColor: 'blue'}}
areaSettings={{fillColor: 'yellow', opacity: 0.6, strokeColor: 'orange'}}
@@ -625,7 +625,7 @@ function App() {
{ pdfviewer = scope; }}
id="container"
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.2.2/dist/ej2-pdfviewer-lib"
measurementSettings={{scaleRatio: 2, conversionUnit: 'cm', displayUnit: 'cm'}}
style={{ 'height': '640px' }}>
diff --git a/Document-Processing/PDF/PDF-Viewer/react/annotation/shape-annotation.md b/Document-Processing/PDF/PDF-Viewer/react/annotation/shape-annotation.md
index 9236cfbf2..73c961aa4 100644
--- a/Document-Processing/PDF/PDF-Viewer/react/annotation/shape-annotation.md
+++ b/Document-Processing/PDF/PDF-Viewer/react/annotation/shape-annotation.md
@@ -1,16 +1,16 @@
---
layout: post
-title: Shape annotation in React Pdfviewer component | Syncfusion
-description: Learn here all about Shape annotation in Syncfusion React Pdfviewer component of Syncfusion Essential JS 2 and more.
-control: Shape annotation
+title: Shape annotation in React PDF Viewer control | Syncfusion
+description: Learn about shape annotations in the Syncfusion React PDF Viewer (Essential JS 2), including add, edit, delete, and default settings.
+control: PDF Viewer
platform: document-processing
documentation: ug
domainurl: ##DomainURL##
---
-# Shape annotation in React Pdfviewer component
+# Shape annotation in React PDF Viewer
-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
@@ -18,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.
-In the pan mode, if the shape annotation mode is entered, the PDF Viewer control will switch to text select mode.
+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.
@@ -57,7 +57,7 @@ function App() {
{ pdfviewer = scope; }}
id="container"
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.2.2/dist/ej2-pdfviewer-lib"
style={{ 'height': '640px' }}>
);
{% 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/react/documentation/api/pdfviewer/annotation/#addannotationn) method.
+The PDF Viewer library allows adding a shape annotation programmatically using the [addAnnotation()](https://ej2.syncfusion.com/react/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():
{% tabs %}
{% highlight js tabtitle="Standalone" %}
@@ -179,7 +179,7 @@ function App() {
ref={(scope) => { pdfviewer = scope; }}
id="container"
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.2.2/dist/ej2-pdfviewer-lib"
style={{ 'height': '640px' }}>
);
{% 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():
{% tabs %}
{% highlight js tabtitle="Standalone" %}
@@ -361,7 +361,7 @@ function App() {
ref={(scope) => { pdfviewer = scope; }}
id="container"
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.2.2/dist/ej2-pdfviewer-lib"
style={{ 'height': '640px' }}>
);
## 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.
-
+
### Edit annotation programmatically
@@ -546,9 +546,9 @@ Here is an example of how you can use this method to delete an annotation:
```
-## Setting default properties during the control initialization
+## Set default properties during the control initialization
-The properties of the shape annotations can be set before creating the control using LineSettings, ArrowSettings, RectangleSettings, CircleSettings, and PolygonSettings.
+Default properties for shape annotations can be set before creating the control using LineSettings, ArrowSettings, RectangleSettings, CircleSettings, and PolygonSettings.
{% tabs %}
{% highlight js tabtitle="Standalone" %}
@@ -567,7 +567,7 @@ function App() {
{ pdfviewer = scope; }}
id="container"
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.2.2/dist/ej2-pdfviewer-lib"
lineSettings={{fillColor: 'blue', opacity: 0.6, strokeColor: 'green'}}
arrowSettings={{fillColor: 'green', opacity: 0.6, strokeColor: 'blue'}}
rectangleSettings={{fillColor: 'yellow', opacity: 0.6, strokeColor: 'orange'}}
diff --git a/Document-Processing/PDF/PDF-Viewer/react/annotation/signature-annotation.md b/Document-Processing/PDF/PDF-Viewer/react/annotation/signature-annotation.md
index 1ba197e66..2a3550eb4 100644
--- a/Document-Processing/PDF/PDF-Viewer/react/annotation/signature-annotation.md
+++ b/Document-Processing/PDF/PDF-Viewer/react/annotation/signature-annotation.md
@@ -1,33 +1,33 @@
---
layout: post
-title: Handwritten signature in React PDF Viewer component | Syncfusion
-description: Learn here all about handwritten signature in Syncfusion React Pdfviewer component of Syncfusion Essential JS 2 and more.
-control: Handwritten signature
+title: Handwritten signature in React PDF Viewer control | Syncfusion
+description: Learn about handwritten signatures in the Syncfusion React PDF Viewer (Essential JS 2): add, enable/disable, and edit properties.
+control: PDF Viewer
platform: document-processing
documentation: ug
domainurl: ##DomainURL##
---
-# Handwritten signature in React PDF Viewer component
+# Handwritten signature in React PDF Viewer
-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.
@@ -53,7 +53,7 @@ function App() {
@@ -103,9 +103,9 @@ root.render();
{% endhighlight %}
{% 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 js tabtitle="Standalone" %}
@@ -125,7 +125,7 @@ function App() {
@@ -176,11 +176,11 @@ root.render();
{% endhighlight %}
{% endtabs %}
-## Adding Handwritten signature to the PDF document Programmatically
+## Add a handwritten signature programmatically to the PDF document
With the PDF Viewer library, you can programmatically add handwritten signature to the PDF Viewer control using the [**addAnnotation()**](https://ej2.syncfusion.com/react/documentation/api/pdfviewer/annotation/#addannotation) 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():
{% tabs %}
{% highlight js tabtitle="Standalone" %}
@@ -240,7 +240,7 @@ function App() {
ref={(scope) => { pdfviewer = scope; }}
id="container"
documentPath="https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf"
- resourceUrl="https://cdn.syncfusion.com/ej2/27.1.48/dist/ej2-pdfviewer-lib"
+ resourceUrl="https://cdn.syncfusion.com/ej2/31.2.2/dist/ej2-pdfviewer-lib"
style={{ 'height': '640px' }}>
@@ -328,24 +328,24 @@ root.render();
[View sample in GitHub](https://github.com/SyncfusionExamples/react-pdf-viewer-examples/blob/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
+
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer/react/annotation/stamp-annotation.md b/Document-Processing/PDF/PDF-Viewer/react/annotation/stamp-annotation.md
index d670eac46..5726449e4 100644
--- a/Document-Processing/PDF/PDF-Viewer/react/annotation/stamp-annotation.md
+++ b/Document-Processing/PDF/PDF-Viewer/react/annotation/stamp-annotation.md
@@ -2,15 +2,15 @@
layout: post
title: Stamp annotation in React Pdfviewer component | Syncfusion
description: Learn here all about Stamp annotation in Syncfusion React Pdfviewer component of Syncfusion Essential JS 2 and more.
-control: Stamp annotation
+control: PDF Viewer
platform: document-processing
documentation: ug
domainurl: ##DomainURL##
---
-# Stamp annotation in React Pdfviewer component
+# Stamp annotation in React PDF Viewer
-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
@@ -19,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.
-In the pan mode, if the stamp annotation mode is entered, the PDF Viewer control will switch to text select mode.
+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.
{% tabs %}
{% highlight js tabtitle="Standalone" %}
@@ -69,7 +69,7 @@ function App() {
);
{% 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/react/documentation/api/pdfviewer/annotation/#addannotationn) method.
+The PDF Viewer library allows adding a stamp annotation programmatically using the [addAnnotation()](https://ej2.syncfusion.com/react/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():
{% tabs %}
{% highlight js tabtitle="Standalone" %}
@@ -211,7 +211,7 @@ function App() {
ref={(scope) => { pdfviewer = scope; }}
id="container"
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.2.2/dist/ej2-pdfviewer-lib"
style={{ 'height': '640px' }}>
);
{% 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():
{% tabs %}
{% highlight js tabtitle="Standalone" %}
@@ -341,7 +341,7 @@ function App() {
ref={(scope) => { pdfviewer = scope; }}
id="container"
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.2.2/dist/ej2-pdfviewer-lib"
style={{ 'height': '640px' }}>
);
{% 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 js tabtitle="Standalone" %}
@@ -426,7 +425,7 @@ function App() {
{ pdfviewer = scope; }}
id="container"
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.2.2/dist/ej2-pdfviewer-lib"
stampSettings={{opacity: 0.3, author: 'Guest User'}}
style={{ 'height': '640px' }}>
diff --git a/Document-Processing/PDF/PDF-Viewer/react/annotation/sticky-notes-annotation.md b/Document-Processing/PDF/PDF-Viewer/react/annotation/sticky-notes-annotation.md
index 1c1c46b3a..a91ffa294 100644
--- a/Document-Processing/PDF/PDF-Viewer/react/annotation/sticky-notes-annotation.md
+++ b/Document-Processing/PDF/PDF-Viewer/react/annotation/sticky-notes-annotation.md
@@ -1,26 +1,26 @@
---
layout: post
-title: Sticky notes annotation in React Pdfviewer component | Syncfusion
-description: Learn here all about Sticky notes annotation in Syncfusion React Pdfviewer component of Syncfusion Essential JS 2 and more.
-control: Sticky notes annotation
+title: Sticky notes in React PDF Viewer control | Syncfusion
+description: Learn about sticky note annotations in the Syncfusion React PDF Viewer (Essential JS 2): add, edit, delete, and default settings.
+control: PDF Viewer
platform: document-processing
documentation: ug
domainurl: ##DomainURL##
---
-# Sticky notes annotation in React Pdfviewer component
+# Sticky notes annotation in React PDF Viewer
-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.
+Annotation comments can be added using the comment panel.
-* 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.
+* 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.

@@ -33,11 +33,11 @@ Sticky note annotations can be added to the PDF document using the annotation to

-## 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/react/documentation/api/pdfviewer/annotation/#addannotationn) method.
+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/react/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():
{% tabs %}
{% highlight js tabtitle="Standalone" %}
@@ -67,7 +67,7 @@ function App() {
ref={(scope) => { pdfviewer = scope; }}
id="container"
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.2.2/dist/ej2-pdfviewer-lib"
style={{ 'height': '640px' }}>
);
{% 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():
{% tabs %}
{% highlight js tabtitle="Standalone" %}
@@ -162,7 +162,7 @@ function App() {
ref={(scope) => { pdfviewer = scope; }}
id="container"
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.2.2/dist/ej2-pdfviewer-lib"
style={{ 'height': '640px' }}>
);
{% 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 js tabtitle="Standalone" %}
@@ -266,7 +266,7 @@ function App() {
{ pdfviewer = scope; }}
id="container"
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.2.2/dist/ej2-pdfviewer-lib"
stickyNotesSettings={{author: 'Syncfusion'}}
style={{ 'height': '640px' }}>
@@ -314,9 +314,9 @@ root.render();
{% 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 js tabtitle="Standalone" %}
@@ -335,7 +335,7 @@ function App() {
{ pdfviewer = scope; }}
id="container"
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.2.2/dist/ej2-pdfviewer-lib"
enableStickyNotesAnnotation={false}
style={{ 'height': '640px' }}>
diff --git a/Document-Processing/PDF/PDF-Viewer/react/annotation/text-markup-annotation.md b/Document-Processing/PDF/PDF-Viewer/react/annotation/text-markup-annotation.md
index 26d1055e2..77b9737e5 100644
--- a/Document-Processing/PDF/PDF-Viewer/react/annotation/text-markup-annotation.md
+++ b/Document-Processing/PDF/PDF-Viewer/react/annotation/text-markup-annotation.md
@@ -1,38 +1,38 @@
---
layout: post
-title: Text markup annotation in React Pdfviewer component | Syncfusion
-description: Learn here all about Text markup annotation in Syncfusion React Pdfviewer component of Syncfusion Essential JS 2 and more.
-control: Text markup annotation
+title: Text markup annotation in React PDF Viewer | Syncfusion
+description: Learn to add, edit, delete, and customize text markup annotations like highlight, underline, and squiggly in Syncfusion React PDF Viewer.
+control: PDF Viewer
platform: document-processing
documentation: ug
domainurl: ##DomainURL##
---
-# Text markup annotation in React Pdfviewer component
+# Text markup annotation in React 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.
@@ -60,7 +60,7 @@ function App() {
{ pdfviewer = scope; }}
id="container"
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.2.2/dist/ej2-pdfviewer-lib"
style={{ 'height': '640px' }}>
{ pdfviewer = scope; }}
id="container"
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.2.2/dist/ej2-pdfviewer-lib"
style={{ 'height': '640px' }}>
);
{% endhighlight %}
{% endtabs %}
-## 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/react/documentation/api/pdfviewer/annotation/#addannotationn) method.
+Programmatically add highlights using the [addAnnotation](https://ej2.syncfusion.com/react/documentation/api/pdfviewer/annotation/#addannotation) method.
-Here's an example of how you can use the **addAnnotation()** method to apply highlighting programmatically:
+Example:
{% tabs %}
{% highlight js tabtitle="Standalone" %}
@@ -234,7 +234,7 @@ function App() {
ref={(scope) => { pdfviewer = scope; }}
id="container"
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.2.2/dist/ej2-pdfviewer-lib"
style={{ 'height': '640px' }}>
);
{% 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**.

@@ -335,7 +335,7 @@ function App() {
{ pdfviewer = scope; }}
id="container"
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.2.2/dist/ej2-pdfviewer-lib"
style={{ 'height': '640px' }}>
{ pdfviewer = scope; }}
id="container"
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.2.2/dist/ej2-pdfviewer-lib"
style={{ 'height': '640px' }}>
@@ -474,11 +474,11 @@ root.render();
{% endhighlight %}
{% endtabs %}
-## 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/react/documentation/api/pdfviewer/annotation/#addannotationn) method.
+Programmatically add underlines using the [addAnnotation](https://ej2.syncfusion.com/react/documentation/api/pdfviewer/annotation/#addannotation) method.
-Here's an example of how you can use the **addAnnotation()** method to apply Underline programmatically:
+Example:
{% tabs %}
{% highlight js tabtitle="Standalone" %}
@@ -507,7 +507,7 @@ function App() {
ref={(scope) => { pdfviewer = scope; }}
id="container"
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.2.2/dist/ej2-pdfviewer-lib"
style={{ 'height': '640px' }}>
);
{% 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**.

@@ -608,7 +608,7 @@ function App() {
{ pdfviewer = scope; }}
id="container"
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.2.2/dist/ej2-pdfviewer-lib"
style={{ 'height': '640px' }}>
{ pdfviewer = scope; }}
id="container"
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.2.2/dist/ej2-pdfviewer-lib"
style={{ 'height': '640px' }}>
@@ -752,11 +752,11 @@ root.render();
{% endhighlight %}
{% endtabs %}
-## 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/react/documentation/api/pdfviewer/annotation/#addannotationn) method.
+Programmatically add strikethrough using the [addAnnotation](https://ej2.syncfusion.com/react/documentation/api/pdfviewer/annotation/#addannotation) method.
-Here's an example of how you can use the **addAnnotation()** method to apply Strikethrough programmatically:
+Example:
{% tabs %}
{% highlight js tabtitle="Standalone" %}
@@ -785,7 +785,7 @@ function App() {
ref={(scope) => { pdfviewer = scope; }}
id="container"
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.2.2/dist/ej2-pdfviewer-lib"
style={{ 'height': '640px' }}>
);
{% 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**.

@@ -886,7 +886,7 @@ function App() {
{ pdfviewer = scope; }}
id="container"
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.2.2/dist/ej2-pdfviewer-lib"
style={{ 'height': '640px' }}>
{ pdfviewer = scope; }}
id="container"
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.2.2/dist/ej2-pdfviewer-lib"
style={{ 'height': '640px' }}>
@@ -1030,11 +1030,11 @@ root.render();
{% endhighlight %}
{% endtabs %}
-## 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/react/documentation/api/pdfviewer/annotation/#addannotationn) method.
+Programmatically add squiggly using the [addAnnotation](https://ej2.syncfusion.com/react/documentation/api/pdfviewer/annotation/#addannotation) method.
-Here's an example of how you can use the **addAnnotation()** method to apply Squiggly programmatically:
+Example:
{% tabs %}
{% highlight js tabtitle="Standalone" %}
@@ -1063,7 +1063,7 @@ function App() {
ref={(scope) => { pdfviewer = scope; }}
id="container"
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.2.2/dist/ej2-pdfviewer-lib"
style={{ 'height': '640px' }}>
);
## 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.
@@ -1176,7 +1176,7 @@ function App() {
{ pdfviewer = scope; }}
id="container"
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.2.2/dist/ej2-pdfviewer-lib"
style={{ 'height': '640px' }}
highlightSettings = {{author: 'Guest User', subject: 'Important', color: '#ffff00', opacity: 0.9, modifiedDate: ''}}
underlineSettings = {{author: 'Guest User', subject: 'Points to be remembered', color: '#00ffff', opacity: 0.9,modifiedDate: ''}}
@@ -1233,22 +1233,22 @@ root.render();
{% 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 js tabtitle="Standalone" %}
@@ -1279,7 +1279,7 @@ function App() {
{ pdfviewer = scope; }}
id="container"
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.2.2/dist/ej2-pdfviewer-lib"
style={{ 'height': '640px' }}>
@@ -1338,17 +1338,17 @@ root.render();
{% endhighlight %}
{% endtabs %}
-## 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 js tabtitle="Standalone" %}
@@ -1369,7 +1369,7 @@ function App() {
{ pdfviewer = scope; }}
id="container"
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.2.2/dist/ej2-pdfviewer-lib"
enableTextMarkupAnnotation = {false}
style={{ 'height': '640px' }}>
@@ -1424,4 +1424,4 @@ root.render();
## See also
* [Toolbar items](../../pdfviewer/toolbar)
-* [Feature Modules](../../pdfviewer/feature-module)
\ No newline at end of file
+* [Feature modules](../../pdfviewer/feature-module)
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer/react/download.md b/Document-Processing/PDF/PDF-Viewer/react/download.md
index f9802e7b9..aee7e65e2 100644
--- a/Document-Processing/PDF/PDF-Viewer/react/download.md
+++ b/Document-Processing/PDF/PDF-Viewer/react/download.md
@@ -2,12 +2,12 @@
layout: post
title: Download in React Pdfviewer component | Syncfusion
description: Learn here all about Download in Syncfusion React Pdfviewer component of Syncfusion Essential JS 2 and more.
-control: Download
+control: PDF Viewer
platform: document-processing
documentation: ug
domainurl: ##DomainURL##
---
-# Download in React Pdfviewer component
+# Download in React PDF Viewer control
The PDF Viewer supports downloading the loaded PDF file. You can enable/disable the download using the following code snippet.
@@ -39,7 +39,7 @@ function App() {
ref={(scope) => { pdfviewer = scope; }}
id="container"
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.2.2/dist/ej2-pdfviewer-lib"
style={{ 'height': '640px' }}>
diff --git a/Document-Processing/PDF/PDF-Viewer/react/events.md b/Document-Processing/PDF/PDF-Viewer/react/events.md
new file mode 100644
index 000000000..d6fece65f
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/react/events.md
@@ -0,0 +1,1869 @@
+---
+layout: post
+title: Events in React PDF Viewer | Syncfusion
+description: Comprehensive list of events in the Syncfusion React 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 React 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/react/documentation/api/pdfviewer/#bookmarkclickevent) event triggers when a bookmark item is clicked in the bookmark panel.
+
+- Event arguments: [BookmarkClickEventArgs](https://ej2.syncfusion.com/react/documentation/api/pdfviewer/bookmarkClickEventArgs/).
+
+Example:
+
+```jsx
+import * as React from 'react';
+import * as ReactDOM from 'react-dom/client';
+import { PdfViewerComponent, Toolbar, Magnification, Navigation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, Annotation, FormDesigner, FormFields, PageOrganizer, Inject } from '@syncfusion/ej2-react-pdfviewer';
+
+function App() {
+ const viewer = React.useRef(null);
+ return (
+ {
+ console.log(`Bookmark clicked: ${args.name}`);
+ }}
+ style={{ height: '600px' }}
+ >
+
+
+ );
+}
+
+const root = ReactDOM.createRoot(document.getElementById('pdfViewer'));
+root.render();
+```
+
+## toolbarClick
+
+The [toolbarClick](https://ej2.syncfusion.com/react/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:
+
+```jsx
+import * as React from 'react';
+import * as ReactDOM from 'react-dom/client';
+import { PdfViewerComponent, Toolbar, Magnification, Navigation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, Annotation, FormDesigner, FormFields, PageOrganizer, Inject } from '@syncfusion/ej2-react-pdfviewer';
+
+function App() {
+ const viewer = React.useRef(null);
+ return (
+ {
+ console.log(`Toolbar item clicked: ${args.name}`);
+ }}
+ style={{ height: '600px' }}
+ >
+
+
+ );
+}
+
+const root = ReactDOM.createRoot(document.getElementById('pdfViewer'));
+root.render();
+```
+
+## validateFormFields
+
+The [validateFormFields](https://ej2.syncfusion.com/react/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/react/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:
+
+```jsx
+import * as React from 'react';
+import * as ReactDOM from 'react-dom/client';
+import { PdfViewerComponent, Toolbar, Magnification, Navigation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, Annotation, FormDesigner, FormFields, PageOrganizer, Inject } from '@syncfusion/ej2-react-pdfviewer';
+
+function App() {
+ const viewer = React.useRef(null);
+ return (
+ {
+ 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);
+ }}
+ style={{ height: '600px' }}
+ >
+
+
+ );
+}
+
+const root = ReactDOM.createRoot(document.getElementById('pdfViewer'));
+root.render();
+```
+
+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/react/documentation/api/pdfviewer/#zoomchangeevent) event triggers when the magnification value changes.
+
+- Event arguments: [ZoomChangeEventArgs](https://ej2.syncfusion.com/react/documentation/api/pdfviewer/zoomChangeEventArgs/).
+
+Example:
+
+```jsx
+import * as React from 'react';
+import * as ReactDOM from 'react-dom/client';
+import { PdfViewerComponent, Toolbar, Magnification, Navigation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, Annotation, FormDesigner, FormFields, PageOrganizer, Inject } from '@syncfusion/ej2-react-pdfviewer';
+
+function App() {
+ const viewer = React.useRef(null);
+ return (
+ {
+ console.log(`Zoom changed to: ${args.zoomValue}%`);
+ }}
+ style={{ height: '600px' }}
+ >
+
+
+ );
+}
+
+const root = ReactDOM.createRoot(document.getElementById('pdfViewer'));
+root.render();
+```
+
+## buttonFieldClick
+
+The [buttonFieldClick](https://ej2.syncfusion.com/react/documentation/api/pdfviewer/#buttonfieldclickevent) event triggers when a button form field is clicked.
+
+- Event arguments: [ButtonFieldClickEventArgs](https://ej2.syncfusion.com/react/documentation/api/pdfviewer/buttonFieldClickEventArgs/).
+
+Example:
+
+```jsx
+import * as React from 'react';
+import * as ReactDOM from 'react-dom/client';
+import { PdfViewerComponent, Toolbar, Magnification, Navigation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, Annotation, FormDesigner, FormFields, PageOrganizer, Inject } from '@syncfusion/ej2-react-pdfviewer';
+
+function App() {
+ const viewer = React.useRef(null);
+ return (
+ {
+ console.log(`Button field clicked. Name: ${args.name}`);
+ }}
+ style={{ height: '600px' }}
+ >
+
+
+ );
+}
+
+const root = ReactDOM.createRoot(document.getElementById('pdfViewer'));
+root.render();
+```
+
+## commentAdd
+
+The [commentAdd](https://ej2.syncfusion.com/react/documentation/api/pdfviewer/#commentaddevent) event triggers when a comment is added in the comment panel.
+
+- Event arguments: [CommentEventArgs](https://ej2.syncfusion.com/react/documentation/api/pdfviewer/commentEventArgs/).
+
+Example:
+
+```jsx
+import * as React from 'react';
+import * as ReactDOM from 'react-dom/client';
+import { PdfViewerComponent, Toolbar, Magnification, Navigation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, Annotation, FormDesigner, FormFields, PageOrganizer, Inject } from '@syncfusion/ej2-react-pdfviewer';
+
+function App() {
+ const viewer = React.useRef(null);
+ return (
+ {
+ console.log(`Comment added. Id: ${args.id}`);
+ }}
+ style={{ height: '600px' }}
+ >
+
+
+ );
+}
+
+const root = ReactDOM.createRoot(document.getElementById('pdfViewer'));
+root.render();
+```
+
+## commentDelete
+
+The [commentDelete](https://ej2.syncfusion.com/react/documentation/api/pdfviewer/#commentdeleteevent) event triggers when a comment is deleted in the comment panel.
+
+- Event arguments: [CommentEventArgs](https://ej2.syncfusion.com/react/documentation/api/pdfviewer/commentEventArgs/).
+
+Example:
+
+```jsx
+import * as React from 'react';
+import * as ReactDOM from 'react-dom/client';
+import { PdfViewerComponent, Toolbar, Magnification, Navigation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, Annotation, FormDesigner, FormFields, PageOrganizer, Inject } from '@syncfusion/ej2-react-pdfviewer';
+
+function App() {
+ const viewer = React.useRef(null);
+ return (
+ {
+ console.log(`Comment deleted. Id: ${args.id}`);
+ }}
+ style={{ height: '600px' }}
+ >
+
+
+ );
+}
+
+const root = ReactDOM.createRoot(document.getElementById('pdfViewer'));
+root.render();
+```
+
+## commentEdit
+
+The [commentEdit](https://ej2.syncfusion.com/react/documentation/api/pdfviewer/#commenteditevent) event triggers when a comment is edited in the comment panel.
+
+- Event arguments: [CommentEventArgs](https://ej2.syncfusion.com/react/documentation/api/pdfviewer/commentEventArgs/).
+
+Example:
+
+```jsx
+import * as React from 'react';
+import * as ReactDOM from 'react-dom/client';
+import { PdfViewerComponent, Toolbar, Magnification, Navigation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, Annotation, FormDesigner, FormFields, PageOrganizer, Inject } from '@syncfusion/ej2-react-pdfviewer';
+
+function App() {
+ const viewer = React.useRef(null);
+ return (
+ {
+ console.log(`Comment edited. Id: ${args.id}`);
+ }}
+ style={{ height: '600px' }}
+ >
+
+
+ );
+}
+
+const root = ReactDOM.createRoot(document.getElementById('pdfViewer'));
+root.render();
+```
+
+## commentSelect
+
+The [commentSelect](https://ej2.syncfusion.com/react/documentation/api/pdfviewer/#commentselectevent) event triggers when a comment is selected in the comment panel.
+
+- Event arguments: [CommentEventArgs](https://ej2.syncfusion.com/react/documentation/api/pdfviewer/commentEventArgs/).
+
+Example:
+
+```jsx
+import * as React from 'react';
+import * as ReactDOM from 'react-dom/client';
+import { PdfViewerComponent, Toolbar, Magnification, Navigation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, Annotation, FormDesigner, FormFields, PageOrganizer, Inject } from '@syncfusion/ej2-react-pdfviewer';
+
+function App() {
+ const viewer = React.useRef(null);
+ return (
+ {
+ console.log(`Comment selected. Id: ${args.id}`);
+ }}
+ style={{ height: '600px' }}
+ >
+
+
+ );
+}
+
+const root = ReactDOM.createRoot(document.getElementById('pdfViewer'));
+root.render();
+```
+
+## commentStatusChanged
+
+The [commentStatusChanged](https://ej2.syncfusion.com/react/documentation/api/pdfviewer/#commentstatuschangedevent) event triggers when a comment status is changed in the comment panel.
+
+- Event arguments: [CommentEventArgs](https://ej2.syncfusion.com/react/documentation/api/pdfviewer/commentEventArgs/).
+
+Example:
+
+```jsx
+import * as React from 'react';
+import * as ReactDOM from 'react-dom/client';
+import { PdfViewerComponent, Toolbar, Magnification, Navigation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, Annotation, FormDesigner, FormFields, PageOrganizer, Inject } from '@syncfusion/ej2-react-pdfviewer';
+
+function App() {
+ const viewer = React.useRef(null);
+ return (
+ {
+ console.log(`Comment status changed. Id: ${args.id}, Status: ${args.status}`);
+ }}
+ style={{ height: '600px' }}
+ >
+
+
+ );
+}
+
+const root = ReactDOM.createRoot(document.getElementById('pdfViewer'));
+root.render();
+```
+
+## created
+
+The [created](https://ej2.syncfusion.com/react/documentation/api/pdfviewer/#createdevent) event is triggered during the creation of the PDF Viewer component.
+
+- Event arguments: `void`.
+
+Example:
+
+```jsx
+import * as React from 'react';
+import * as ReactDOM from 'react-dom/client';
+import { PdfViewerComponent, Toolbar, Magnification, Navigation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, Annotation, FormDesigner, FormFields, PageOrganizer, Inject } from '@syncfusion/ej2-react-pdfviewer';
+
+function App() {
+ const viewer = React.useRef(null);
+ return (
+ {
+ console.log('PDF Viewer created');
+ }}
+ style={{ height: '600px' }}
+ >
+
+
+ );
+}
+
+const root = ReactDOM.createRoot(document.getElementById('pdfViewer'));
+root.render();
+```
+
+## customContextMenuBeforeOpen
+
+The [customContextMenuBeforeOpen](https://ej2.syncfusion.com/react/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/react/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:
+
+```jsx
+import * as React from 'react';
+import * as ReactDOM from 'react-dom/client';
+import { PdfViewerComponent, Toolbar, Magnification, Navigation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, Annotation, FormDesigner, FormFields, PageOrganizer, Inject } from '@syncfusion/ej2-react-pdfviewer';
+
+function App() {
+ const viewer = React.useRef(null);
+ const menuItems = React.useMemo(() => ([
+ {
+ 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 },
+ ]), []);
+
+ return (
+ {
+ console.log(`Before open context menu at page ${args.name}`);
+ }}
+ documentLoad={() => {
+ viewer.current.addCustomMenu(menuItems, false, false);
+ }}
+ style={{ height: '600px' }}
+ >
+
+
+ );
+}
+
+const root = ReactDOM.createRoot(document.getElementById('pdfViewer'));
+root.render();
+```
+
+## customContextMenuSelect
+
+The [customContextMenuSelect](https://ej2.syncfusion.com/react/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/react/documentation/api/pdfviewer/customContextMenuSelectEventArgs/).
+
+- name: Event name
+- id: The id of the clicked menu item
+
+Example:
+
+```jsx
+import * as React from 'react';
+import * as ReactDOM from 'react-dom/client';
+import { PdfViewerComponent, Toolbar, Magnification, Navigation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, Annotation, FormDesigner, FormFields, PageOrganizer, Inject } from '@syncfusion/ej2-react-pdfviewer';
+
+function App() {
+ const viewer = React.useRef(null);
+ const menuItems = React.useMemo(() => ([
+ {
+ 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 },
+ ]), []);
+
+ return (
+ {
+ console.log(`Context menu item selected: ${args.name}`);
+ }}
+ documentLoad={() => {
+ viewer.current.addCustomMenu(menuItems, false, false);
+ }}
+ style={{ height: '600px' }}
+ >
+
+
+ );
+}
+
+const root = ReactDOM.createRoot(document.getElementById('pdfViewer'));
+root.render();
+```
+
+## documentLoad
+
+The [documentLoad](https://ej2.syncfusion.com/react/documentation/api/pdfviewer/#documentloadevent) event occurs after a document is successfully loaded and parsed.
+
+- Event arguments: [LoadEventArgs](https://ej2.syncfusion.com/react/documentation/api/pdfviewer/loadEventArgs/).
+
+Example:
+
+```jsx
+import * as React from 'react';
+import * as ReactDOM from 'react-dom/client';
+import { PdfViewerComponent, Toolbar, Magnification, Navigation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, Annotation, FormDesigner, FormFields, PageOrganizer, Inject } from '@syncfusion/ej2-react-pdfviewer';
+
+function App() {
+ const viewer = React.useRef(null);
+ return (
+ {
+ console.log(`Document loaded: page count = ${args.pageData}`);
+ }}
+ style={{ height: '600px' }}
+ >
+
+
+ );
+}
+
+const root = ReactDOM.createRoot(document.getElementById('pdfViewer'));
+root.render();
+```
+
+## documentLoadFailed
+
+The [documentLoadFailed](https://ej2.syncfusion.com/react/documentation/api/pdfviewer/#documentloadfailedevent) event triggers when loading a document fails.
+
+- Event arguments: [LoadFailedEventArgs](https://ej2.syncfusion.com/react/documentation/api/pdfviewer/loadFailedEventArgs/).
+
+Example:
+
+```jsx
+import * as React from 'react';
+import * as ReactDOM from 'react-dom/client';
+import { PdfViewerComponent, Toolbar, Magnification, Navigation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, Annotation, FormDesigner, FormFields, PageOrganizer, Inject } from '@syncfusion/ej2-react-pdfviewer';
+
+function App() {
+ const viewer = React.useRef(null);
+ return (
+ {
+ console.log(`Load failed. Error: ${args.documentName}`);
+ }}
+ style={{ height: '600px' }}
+ >
+
+
+ );
+}
+
+const root = ReactDOM.createRoot(document.getElementById('pdfViewer'));
+root.render();
+```
+
+## documentUnload
+
+The [documentUnload](https://ej2.syncfusion.com/react/documentation/api/pdfviewer/#documentunloadevent) event triggers when closing the current document.
+
+- Event arguments: [UnloadEventArgs](https://ej2.syncfusion.com/react/documentation/api/pdfviewer/unloadEventArgs/).
+
+Example:
+
+```jsx
+import * as React from 'react';
+import * as ReactDOM from 'react-dom/client';
+import { PdfViewerComponent, Toolbar, Magnification, Navigation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, Annotation, FormDesigner, FormFields, PageOrganizer, Inject } from '@syncfusion/ej2-react-pdfviewer';
+
+function App() {
+ const viewer = React.useRef(null);
+ return (
+ {
+ console.log('Document unloaded');
+ }}
+ style={{ height: '600px' }}
+ >
+
+
+ );
+}
+
+const root = ReactDOM.createRoot(document.getElementById('pdfViewer'));
+root.render();
+```
+
+## downloadEnd
+
+The [downloadEnd](https://ej2.syncfusion.com/react/documentation/api/pdfviewer/#downloadendevent) event triggers after a document download completes.
+
+- Event arguments: [DownloadEndEventArgs](https://ej2.syncfusion.com/react/documentation/api/pdfviewer/downloadEndEventArgs/).
+
+Example:
+
+```jsx
+import * as React from 'react';
+import * as ReactDOM from 'react-dom/client';
+import { PdfViewerComponent, Toolbar, Magnification, Navigation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, Annotation, FormDesigner, FormFields, PageOrganizer, Inject } from '@syncfusion/ej2-react-pdfviewer';
+
+function App() {
+ const viewer = React.useRef(null);
+ return (
+ {
+ console.log(`Download finished. File name: ${args.fileName}`);
+ }}
+ style={{ height: '600px' }}
+ >
+
+
+ );
+}
+
+const root = ReactDOM.createRoot(document.getElementById('pdfViewer'));
+root.render();
+```
+
+## downloadStart
+
+The [downloadStart](https://ej2.syncfusion.com/react/documentation/api/pdfviewer/#downloadstartevent) event triggers when the download operation is initiated.
+
+- Event arguments: [DownloadStartEventArgs](https://ej2.syncfusion.com/react/documentation/api/pdfviewer/downloadStartEventArgs/).
+
+Example:
+
+```jsx
+import * as React from 'react';
+import * as ReactDOM from 'react-dom/client';
+import { PdfViewerComponent, Toolbar, Magnification, Navigation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, Annotation, FormDesigner, FormFields, PageOrganizer, Inject } from '@syncfusion/ej2-react-pdfviewer';
+
+function App() {
+ const viewer = React.useRef(null);
+ return (
+ {
+ console.log('Download started');
+ }}
+ style={{ height: '600px' }}
+ >
+
+
+ );
+}
+
+const root = ReactDOM.createRoot(document.getElementById('pdfViewer'));
+root.render();
+```
+
+## exportFailed
+
+The [exportFailed](https://ej2.syncfusion.com/react/documentation/api/pdfviewer/#exportfailedevent) event triggers when exporting annotations fails.
+
+- Event arguments: [ExportFailureEventArgs](https://ej2.syncfusion.com/react/documentation/api/pdfviewer/exportFailureEventArgs/).
+
+Example:
+
+```jsx
+import * as React from 'react';
+import * as ReactDOM from 'react-dom/client';
+import { PdfViewerComponent, Toolbar, Magnification, Navigation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, Annotation, FormDesigner, FormFields, PageOrganizer, Inject } from '@syncfusion/ej2-react-pdfviewer';
+
+function App() {
+ const viewer = React.useRef(null);
+ return (
+ {
+ console.log(`Export failed: ${args.name}`);
+ }}
+ style={{ height: '600px' }}
+ >
+
+
+ );
+}
+
+const root = ReactDOM.createRoot(document.getElementById('pdfViewer'));
+root.render();
+```
+
+## exportStart
+
+The [exportStart](https://ej2.syncfusion.com/react/documentation/api/pdfviewer/#exportstartevent) event triggers when exporting annotations starts.
+
+- Event arguments: [ExportStartEventArgs](https://ej2.syncfusion.com/react/documentation/api/pdfviewer/exportStartEventArgs/).
+
+Example:
+
+```jsx
+import * as React from 'react';
+import * as ReactDOM from 'react-dom/client';
+import { PdfViewerComponent, Toolbar, Magnification, Navigation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, Annotation, FormDesigner, FormFields, PageOrganizer, Inject } from '@syncfusion/ej2-react-pdfviewer';
+
+function App() {
+ const viewer = React.useRef(null);
+ return (
+ {
+ console.log('Export started');
+ }}
+ style={{ height: '600px' }}
+ >
+
+
+ );
+}
+
+const root = ReactDOM.createRoot(document.getElementById('pdfViewer'));
+root.render();
+```
+
+## exportSuccess
+
+The [exportSuccess](https://ej2.syncfusion.com/react/documentation/api/pdfviewer/#exportsuccessevent) event triggers when annotations are exported successfully.
+
+- Event arguments: [ExportSuccessEventArgs](https://ej2.syncfusion.com/react/documentation/api/pdfviewer/exportSuccessEventArgs/).
+
+Example:
+
+```jsx
+import * as React from 'react';
+import * as ReactDOM from 'react-dom/client';
+import { PdfViewerComponent, Toolbar, Magnification, Navigation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, Annotation, FormDesigner, FormFields, PageOrganizer, Inject } from '@syncfusion/ej2-react-pdfviewer';
+
+function App() {
+ const viewer = React.useRef(null);
+ return (
+ {
+ console.log('Export success');
+ }}
+ style={{ height: '600px' }}
+ >
+
+
+ );
+}
+
+const root = ReactDOM.createRoot(document.getElementById('pdfViewer'));
+root.render();
+```
+
+## extractTextCompleted
+
+The [extractTextCompleted](https://ej2.syncfusion.com/react/documentation/api/pdfviewer/#extracttextcompletedevent) event triggers when text extraction completes.
+
+- Event arguments: [ExtractTextCompletedEventArgs](https://ej2.syncfusion.com/react/documentation/api/pdfviewer/extractTextCompletedEventArgs/).
+
+Example:
+
+```jsx
+import * as React from 'react';
+import * as ReactDOM from 'react-dom/client';
+import { PdfViewerComponent, Toolbar, Magnification, Navigation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, Annotation, FormDesigner, FormFields, PageOrganizer, Inject } from '@syncfusion/ej2-react-pdfviewer';
+
+function App() {
+ const viewer = React.useRef(null);
+ return (
+ {
+ console.log(`Extracted text length: ${(args.documentTextCollection || '').length}`);
+ }}
+ style={{ height: '600px' }}
+ >
+
+
+ );
+}
+
+const root = ReactDOM.createRoot(document.getElementById('pdfViewer'));
+root.render();
+```
+
+## hyperlinkClick
+
+The [hyperlinkClick](https://ej2.syncfusion.com/react/documentation/api/pdfviewer/#hyperlinkclickevent) event triggers when a hyperlink is clicked.
+
+- Event arguments: [HyperlinkClickEventArgs](https://ej2.syncfusion.com/react/documentation/api/pdfviewer/hyperlinkClickEventArgs/).
+
+Example:
+
+```jsx
+import * as React from 'react';
+import * as ReactDOM from 'react-dom/client';
+import { PdfViewerComponent, Toolbar, Magnification, Navigation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, Annotation, FormDesigner, FormFields, PageOrganizer, Inject } from '@syncfusion/ej2-react-pdfviewer';
+
+function App() {
+ const viewer = React.useRef(null);
+ return (
+ {
+ console.log(`Hyperlink clicked: ${args.hyperlink}`);
+ }}
+ style={{ height: '600px' }}
+ >
+
+
+ );
+}
+
+const root = ReactDOM.createRoot(document.getElementById('pdfViewer'));
+root.render();
+```
+
+## hyperlinkMouseOver
+
+The [hyperlinkMouseOver](https://ej2.syncfusion.com/react/documentation/api/pdfviewer/#hyperlinkmouseoverevent) event triggers when hovering over a hyperlink.
+
+- Event arguments: HyperlinkMouseOverArgs.
+
+Example:
+
+```jsx
+import * as React from 'react';
+import * as ReactDOM from 'react-dom/client';
+import { PdfViewerComponent, Toolbar, Magnification, Navigation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, Annotation, FormDesigner, FormFields, PageOrganizer, Inject } from '@syncfusion/ej2-react-pdfviewer';
+
+function App() {
+ const viewer = React.useRef(null);
+ return (
+ {
+ console.log(`Hyperlink hover at page: ${args.name}`);
+ }}
+ style={{ height: '600px' }}
+ >
+
+
+ );
+}
+
+const root = ReactDOM.createRoot(document.getElementById('pdfViewer'));
+root.render();
+```
+
+## importFailed
+
+The [importFailed](https://ej2.syncfusion.com/react/documentation/api/pdfviewer/#importfailedevent) event triggers when importing annotations fails.
+
+- Event arguments: [ImportFailureEventArgs](https://ej2.syncfusion.com/react/documentation/api/pdfviewer/importFailureEventArgs/).
+
+Example:
+
+```jsx
+import * as React from 'react';
+import * as ReactDOM from 'react-dom/client';
+import { PdfViewerComponent, Toolbar, Magnification, Navigation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, Annotation, FormDesigner, FormFields, PageOrganizer, Inject } from '@syncfusion/ej2-react-pdfviewer';
+
+function App() {
+ const viewer = React.useRef(null);
+ return (
+ {
+ console.log(`Import failed: ${args.name}`);
+ }}
+ style={{ height: '600px' }}
+ >
+
+
+ );
+}
+
+const root = ReactDOM.createRoot(document.getElementById('pdfViewer'));
+root.render();
+```
+
+## importStart
+
+The [importStart](https://ej2.syncfusion.com/react/documentation/api/pdfviewer/#importstartevent) event triggers when importing annotations starts.
+
+- Event arguments: [ImportStartEventArgs](https://ej2.syncfusion.com/react/documentation/api/pdfviewer/importStartEventArgs/).
+
+Example:
+
+```jsx
+import * as React from 'react';
+import * as ReactDOM from 'react-dom/client';
+import { PdfViewerComponent, Toolbar, Magnification, Navigation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, Annotation, FormDesigner, FormFields, PageOrganizer, Inject } from '@syncfusion/ej2-react-pdfviewer';
+
+function App() {
+ const viewer = React.useRef(null);
+ return (
+ {
+ console.log('Import started');
+ }}
+ style={{ height: '600px' }}
+ >
+
+
+ );
+}
+
+const root = ReactDOM.createRoot(document.getElementById('pdfViewer'));
+root.render();
+```
+
+## importSuccess
+
+The [importSuccess](https://ej2.syncfusion.com/react/documentation/api/pdfviewer/#importsuccessevent) event triggers when annotations are imported successfully.
+
+- Event arguments: [ImportSuccessEventArgs](https://ej2.syncfusion.com/react/documentation/api/pdfviewer/importSuccessEventArgs/).
+
+Example:
+
+```jsx
+import * as React from 'react';
+import * as ReactDOM from 'react-dom/client';
+import { PdfViewerComponent, Toolbar, Magnification, Navigation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, Annotation, FormDesigner, FormFields, PageOrganizer, Inject } from '@syncfusion/ej2-react-pdfviewer';
+
+function App() {
+ const viewer = React.useRef(null);
+ return (
+ {
+ console.log('Import success');
+ }}
+ style={{ height: '600px' }}
+ >
+
+
+ );
+}
+
+const root = ReactDOM.createRoot(document.getElementById('pdfViewer'));
+root.render();
+```
+
+## keyboardCustomCommands
+
+The [keyboardCustomCommands](https://ej2.syncfusion.com/react/documentation/api/pdfviewer/#keyboardcustomcommandsevent) event triggers when customized keyboard command keys are pressed.
+
+- Event arguments: [KeyboardCustomCommandsEventArgs](https://ej2.syncfusion.com/react/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#keyboard-interaction) for details about adding and handling custom shortcut keys.
+Example:
+
+```jsx
+import * as React from 'react';
+import * as ReactDOM from 'react-dom/client';
+import { PdfViewerComponent, Toolbar, Magnification, Navigation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, Annotation, FormDesigner, FormFields, PageOrganizer, Inject } from '@syncfusion/ej2-react-pdfviewer';
+
+function App() {
+ const viewer = React.useRef(null);
+
+ const onCreated = React.useCallback(() => {
+ if (viewer.current) {
+ viewer.current.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 } },
+ ],
+ };
+ }
+ }, []);
+
+ return (
+ {
+ console.log('Custom command triggered:', args);
+ }}
+ style={{ height: '600px' }}
+ >
+
+
+ );
+}
+
+const root = ReactDOM.createRoot(document.getElementById('pdfViewer'));
+root.render();
+```
+
+## moveSignature
+
+The [moveSignature](https://ej2.syncfusion.com/react/documentation/api/pdfviewer/#movesignatureevent) event triggers when a signature is moved across the page.
+
+- Event arguments: `MoveSignatureEventArgs`.
+
+Example:
+
+```jsx
+import * as React from 'react';
+import * as ReactDOM from 'react-dom/client';
+import { PdfViewerComponent, Toolbar, Magnification, Navigation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, Annotation, FormDesigner, FormFields, PageOrganizer, Inject } from '@syncfusion/ej2-react-pdfviewer';
+
+function App() {
+ const viewer = React.useRef(null);
+ return (
+ {
+ console.log(`Signature moved on page ${args.id}`);
+ }}
+ style={{ height: '600px' }}
+ >
+
+
+ );
+}
+
+const root = ReactDOM.createRoot(document.getElementById('pdfViewer'));
+root.render();
+```
+
+## pageChange
+
+The [pageChange](https://ej2.syncfusion.com/react/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/react/documentation/api/pdfviewer/pageChangeEventArgs/).
+
+Example:
+
+```jsx
+import * as React from 'react';
+import * as ReactDOM from 'react-dom/client';
+import { PdfViewerComponent, Toolbar, Magnification, Navigation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, Annotation, FormDesigner, FormFields, PageOrganizer, Inject } from '@syncfusion/ej2-react-pdfviewer';
+
+function App() {
+ const viewer = React.useRef(null);
+ return (
+ {
+ console.log(`Page changed from ${args.previousPageNumber} to ${args.currentPageNumber}`);
+ }}
+ style={{ height: '600px' }}
+ >
+
+
+ );
+}
+
+const root = ReactDOM.createRoot(document.getElementById('pdfViewer'));
+root.render();
+```
+
+## pageClick
+
+The [pageClick](https://ej2.syncfusion.com/react/documentation/api/pdfviewer/#pageclickevent) event triggers when a mouse click occurs on a page.
+
+- Event arguments: [PageClickEventArgs](https://ej2.syncfusion.com/react/documentation/api/pdfviewer/pageClickEventArgs/).
+
+Example:
+
+```jsx
+import * as React from 'react';
+import * as ReactDOM from 'react-dom/client';
+import { PdfViewerComponent, Toolbar, Magnification, Navigation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, Annotation, FormDesigner, FormFields, PageOrganizer, Inject } from '@syncfusion/ej2-react-pdfviewer';
+
+function App() {
+ const viewer = React.useRef(null);
+ return (
+ {
+ console.log(`Page ${args.pageNumber} clicked at (${args.x}, ${args.y})`);
+ }}
+ style={{ height: '600px' }}
+ >
+
+
+ );
+}
+
+const root = ReactDOM.createRoot(document.getElementById('pdfViewer'));
+root.render();
+```
+
+## pageMouseover
+
+The [pageMouseover](https://ej2.syncfusion.com/react/documentation/api/pdfviewer/#pagemouseoverevent) event triggers when the mouse moves over a page.
+
+- Event arguments: `PageMouseoverEventArgs`.
+
+Example:
+
+```jsx
+import * as React from 'react';
+import * as ReactDOM from 'react-dom/client';
+import { PdfViewerComponent, Toolbar, Magnification, Navigation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, Annotation, FormDesigner, FormFields, PageOrganizer, Inject } from '@syncfusion/ej2-react-pdfviewer';
+
+function App() {
+ const viewer = React.useRef(null);
+ return (
+ {
+ console.log(`Mouse over page ${args.name}`);
+ }}
+ style={{ height: '600px' }}
+ >
+
+
+ );
+}
+
+const root = ReactDOM.createRoot(document.getElementById('pdfViewer'));
+root.render();
+```
+
+## pageOrganizerSaveAs
+
+The [pageOrganizerSaveAs](https://ej2.syncfusion.com/react/documentation/api/pdfviewer/#pageorganizersaveasevent) event triggers when a Save As action is performed in the page organizer.
+
+- Event arguments: `PageOrganizerSaveAsEventArgs`.
+
+Example:
+
+```jsx
+import * as React from 'react';
+import * as ReactDOM from 'react-dom/client';
+import { PdfViewerComponent, Toolbar, Magnification, Navigation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, Annotation, FormDesigner, FormFields, PageOrganizer, Inject } from '@syncfusion/ej2-react-pdfviewer';
+
+function App() {
+ const viewer = React.useRef(null);
+ return (
+ {
+ console.log(`Page organizer save triggered. File name: ${args.downloadDocument}`);
+ }}
+ style={{ height: '600px' }}
+ >
+
+
+ );
+}
+
+const root = ReactDOM.createRoot(document.getElementById('pdfViewer'));
+root.render();
+```
+
+## pageRenderComplete
+
+The [pageRenderComplete](https://ej2.syncfusion.com/react/documentation/api/pdfviewer/#pagerendercompleteevent) event triggers after a page finishes rendering.
+
+- Event arguments: [PageRenderCompleteEventArgs](https://ej2.syncfusion.com/react/documentation/api/pdfviewer/pageRenderCompleteEventArgs/).
+
+Example:
+
+```jsx
+import * as React from 'react';
+import * as ReactDOM from 'react-dom/client';
+import { PdfViewerComponent, Toolbar, Magnification, Navigation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, Annotation, FormDesigner, FormFields, PageOrganizer, Inject } from '@syncfusion/ej2-react-pdfviewer';
+
+function App() {
+ const viewer = React.useRef(null);
+ return (
+ {
+ console.log(`Page ${args.data} rendering completed.`);
+ }}
+ style={{ height: '600px' }}
+ >
+
+
+ );
+}
+
+const root = ReactDOM.createRoot(document.getElementById('pdfViewer'));
+root.render();
+```
+
+## pageRenderInitiate
+
+The [pageRenderInitiate](https://ej2.syncfusion.com/react/documentation/api/pdfviewer/#pagerenderinitiateevent) event triggers when page rendering begins.
+
+- Event arguments: [PageRenderInitiateEventArgs](https://ej2.syncfusion.com/react/documentation/api/pdfviewer/pageRenderInitiateEventArgs/).
+
+Example:
+
+```jsx
+import * as React from 'react';
+import * as ReactDOM from 'react-dom/client';
+import { PdfViewerComponent, Toolbar, Magnification, Navigation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, Annotation, FormDesigner, FormFields, PageOrganizer, Inject } from '@syncfusion/ej2-react-pdfviewer';
+
+function App() {
+ const viewer = React.useRef(null);
+ return (
+ {
+ console.log(`Page ${args.jsonData} rendering initiated.`);
+ }}
+ style={{ height: '600px' }}
+ >
+
+
+ );
+}
+
+const root = ReactDOM.createRoot(document.getElementById('pdfViewer'));
+root.render();
+```
+
+## printEnd
+
+The [printEnd](https://ej2.syncfusion.com/react/documentation/api/pdfviewer/#printendevent) event triggers when a print action completes.
+
+- Event arguments: [PrintEndEventArgs](https://ej2.syncfusion.com/react/documentation/api/pdfviewer/printEndEventArgs/).
+
+Example:
+
+```jsx
+import * as React from 'react';
+import * as ReactDOM from 'react-dom/client';
+import { PdfViewerComponent, Toolbar, Magnification, Navigation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, Annotation, FormDesigner, FormFields, PageOrganizer, Inject } from '@syncfusion/ej2-react-pdfviewer';
+
+function App() {
+ const viewer = React.useRef(null);
+ return (
+ {
+ console.log('Print action completed.');
+ }}
+ style={{ height: '600px' }}
+ >
+
+
+ );
+}
+
+const root = ReactDOM.createRoot(document.getElementById('pdfViewer'));
+root.render();
+```
+
+## printStart
+
+The [printStart](https://ej2.syncfusion.com/react/documentation/api/pdfviewer/#printstartevent) event triggers when a print action is initiated.
+
+- Event arguments: [PrintStartEventArgs](https://ej2.syncfusion.com/react/documentation/api/pdfviewer/printStartEventArgs/).
+
+Example:
+
+```jsx
+import * as React from 'react';
+import * as ReactDOM from 'react-dom/client';
+import { PdfViewerComponent, Toolbar, Magnification, Navigation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, Annotation, FormDesigner, FormFields, PageOrganizer, Inject } from '@syncfusion/ej2-react-pdfviewer';
+
+function App() {
+ const viewer = React.useRef(null);
+ return (
+ {
+ console.log('Print action initiated.');
+ }}
+ style={{ height: '600px' }}
+ >
+
+
+ );
+}
+
+const root = ReactDOM.createRoot(document.getElementById('pdfViewer'));
+root.render();
+```
+
+## removeSignature
+
+The [removeSignature](https://ej2.syncfusion.com/react/documentation/api/pdfviewer/#removesignatureevent) event triggers when a signature is removed.
+
+- Event arguments: [RemoveSignatureEventArgs](https://ej2.syncfusion.com/react/documentation/api/pdfviewer/removeSignatureEventArgs/).
+
+Example:
+
+```jsx
+import * as React from 'react';
+import * as ReactDOM from 'react-dom/client';
+import { PdfViewerComponent, Toolbar, Magnification, Navigation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, Annotation, FormDesigner, FormFields, PageOrganizer, Inject } from '@syncfusion/ej2-react-pdfviewer';
+
+function App() {
+ const viewer = React.useRef(null);
+ return (
+ {
+ console.log(`Signature removed from page ${args.bounds}`);
+ }}
+ style={{ height: '600px' }}
+ >
+
+
+ );
+}
+
+const root = ReactDOM.createRoot(document.getElementById('pdfViewer'));
+root.render();
+```
+
+## resizeSignature
+
+The [resizeSignature](https://ej2.syncfusion.com/react/documentation/api/pdfviewer/#resizesignatureevent) event triggers when a signature is resized.
+
+- Event arguments: [ResizeSignatureEventArgs](https://ej2.syncfusion.com/react/documentation/api/pdfviewer/resizeSignatureEventArgs/).
+
+Example:
+
+```jsx
+import * as React from 'react';
+import * as ReactDOM from 'react-dom/client';
+import { PdfViewerComponent, Toolbar, Magnification, Navigation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, Annotation, FormDesigner, FormFields, PageOrganizer, Inject } from '@syncfusion/ej2-react-pdfviewer';
+
+function App() {
+ const viewer = React.useRef(null);
+ return (
+ {
+ console.log(`Signature resized on page ${args.currentPosition}`);
+ }}
+ style={{ height: '600px' }}
+ >
+
+
+ );
+}
+
+const root = ReactDOM.createRoot(document.getElementById('pdfViewer'));
+root.render();
+```
+
+## resourcesLoaded
+
+The [resourcesLoaded](https://ej2.syncfusion.com/react/documentation/api/pdfviewer/#resourcesloadedevent) event triggers after the viewer's required resources are loaded.
+
+- Event arguments: `void`.
+
+Example:
+
+```jsx
+import * as React from 'react';
+import * as ReactDOM from 'react-dom/client';
+import { PdfViewerComponent, Toolbar, Magnification, Navigation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, Annotation, FormDesigner, FormFields, PageOrganizer, Inject } from '@syncfusion/ej2-react-pdfviewer';
+
+function App() {
+ const viewer = React.useRef(null);
+ return (
+ {
+ console.log('PDFium resources loaded.');
+ }}
+ style={{ height: '600px' }}
+ >
+
+
+ );
+}
+
+const root = ReactDOM.createRoot(document.getElementById('pdfViewer'));
+root.render();
+```
+
+## signaturePropertiesChange
+
+The [signaturePropertiesChange](https://ej2.syncfusion.com/react/documentation/api/pdfviewer/#signaturepropertieschangeevent) event triggers when signature properties change.
+
+- Event arguments: [SignaturePropertiesChangeEventArgs](https://ej2.syncfusion.com/react/documentation/api/pdfviewer/signaturePropertiesChangeEventArgs/).
+
+Example:
+
+```jsx
+import * as React from 'react';
+import * as ReactDOM from 'react-dom/client';
+import { PdfViewerComponent, Toolbar, Magnification, Navigation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, Annotation, FormDesigner, FormFields, PageOrganizer, Inject } from '@syncfusion/ej2-react-pdfviewer';
+
+function App() {
+ const viewer = React.useRef(null);
+ return (
+ {
+ console.log(`Signature properties changed on page ${args.type}`);
+ }}
+ style={{ height: '600px' }}
+ >
+
+
+ );
+}
+
+const root = ReactDOM.createRoot(document.getElementById('pdfViewer'));
+root.render();
+```
+
+## signatureSelect
+
+The [signatureSelect](https://ej2.syncfusion.com/react/documentation/api/pdfviewer/#signatureselectevent) event triggers when a signature is selected.
+
+- Event arguments: [SignatureSelectEventArgs](https://ej2.syncfusion.com/react/documentation/api/pdfviewer/signatureSelectEventArgs/).
+
+Example:
+
+```jsx
+import * as React from 'react';
+import * as ReactDOM from 'react-dom/client';
+import { PdfViewerComponent, Toolbar, Magnification, Navigation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, Annotation, FormDesigner, FormFields, PageOrganizer, Inject } from '@syncfusion/ej2-react-pdfviewer';
+
+function App() {
+ const viewer = React.useRef(null);
+ return (
+ {
+ console.log(`Signature selected on page ${args.signature}`);
+ }}
+ style={{ height: '600px' }}
+ >
+
+
+ );
+}
+
+const root = ReactDOM.createRoot(document.getElementById('pdfViewer'));
+root.render();
+```
+
+## signatureUnselect
+
+The [signatureUnselect](https://ej2.syncfusion.com/react/documentation/api/pdfviewer/#signatureunselectevent) event triggers when a signature is unselected.
+
+- Event arguments: [SignatureUnselectEventArgs](https://ej2.syncfusion.com/react/documentation/api/pdfviewer/signatureUnselectEventArgs/).
+
+Example:
+
+```jsx
+import * as React from 'react';
+import * as ReactDOM from 'react-dom/client';
+import { PdfViewerComponent, Toolbar, Magnification, Navigation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, Annotation, FormDesigner, FormFields, PageOrganizer, Inject } from '@syncfusion/ej2-react-pdfviewer';
+
+function App() {
+ const viewer = React.useRef(null);
+ return (
+ {
+ console.log(`Signature unselected ${args.signature}`);
+ }}
+ style={{ height: '600px' }}
+ >
+
+
+ );
+}
+
+const root = ReactDOM.createRoot(document.getElementById('pdfViewer'));
+root.render();
+```
+
+## textSearchComplete
+
+The [textSearchComplete](https://ej2.syncfusion.com/react/documentation/api/pdfviewer/#textsearchcompleteevent) event triggers when a text search completes.
+
+- Event arguments: [TextSearchCompleteEventArgs](https://ej2.syncfusion.com/react/documentation/api/pdfviewer/textSearchCompleteEventArgs/).
+
+Example:
+
+```jsx
+import * as React from 'react';
+import * as ReactDOM from 'react-dom/client';
+import { PdfViewerComponent, Toolbar, Magnification, Navigation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, Annotation, FormDesigner, FormFields, PageOrganizer, Inject } from '@syncfusion/ej2-react-pdfviewer';
+
+function App() {
+ const viewer = React.useRef(null);
+ return (
+ {
+ console.log('Text search completed.');
+ }}
+ style={{ height: '600px' }}
+ >
+
+
+ );
+}
+
+const root = ReactDOM.createRoot(document.getElementById('pdfViewer'));
+root.render();
+```
+
+## textSearchHighlight
+
+The [textSearchHighlight](https://ej2.syncfusion.com/react/documentation/api/pdfviewer/#textsearchhighlightevent) event triggers when searched text is highlighted.
+
+- Event arguments: [TextSearchHighlightEventArgs](https://ej2.syncfusion.com/react/documentation/api/pdfviewer/textSearchHighlightEventArgs/).
+
+Example:
+
+```jsx
+import * as React from 'react';
+import * as ReactDOM from 'react-dom/client';
+import { PdfViewerComponent, Toolbar, Magnification, Navigation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, Annotation, FormDesigner, FormFields, PageOrganizer, Inject } from '@syncfusion/ej2-react-pdfviewer';
+
+function App() {
+ const viewer = React.useRef(null);
+ return (
+ {
+ console.log(`Search result ${args.bounds} highlighted.`);
+ }}
+ style={{ height: '600px' }}
+ >
+
+
+ );
+}
+
+const root = ReactDOM.createRoot(document.getElementById('pdfViewer'));
+root.render();
+```
+
+## textSearchStart
+
+The [textSearchStart](https://ej2.syncfusion.com/react/documentation/api/pdfviewer/#textsearchstartevent) event triggers when a text search is initiated.
+
+- Event arguments: [TextSearchStartEventArgs](https://ej2.syncfusion.com/react/documentation/api/pdfviewer/textSearchStartEventArgs/).
+
+Example:
+
+```jsx
+import * as React from 'react';
+import * as ReactDOM from 'react-dom/client';
+import { PdfViewerComponent, Toolbar, Magnification, Navigation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, Annotation, FormDesigner, FormFields, PageOrganizer, Inject } from '@syncfusion/ej2-react-pdfviewer';
+
+function App() {
+ const viewer = React.useRef(null);
+ return (
+ {
+ console.log(`Text search started for: "${args.searchText}"`);
+ }}
+ style={{ height: '600px' }}
+ >
+
+
+ );
+}
+
+const root = ReactDOM.createRoot(document.getElementById('pdfViewer'));
+root.render();
+```
+
+## textSelectionEnd
+
+The [textSelectionEnd](https://ej2.syncfusion.com/react/documentation/api/pdfviewer/#textselectionendevent) event triggers when text selection is complete.
+
+- Event arguments: [TextSelectionEndEventArgs](https://ej2.syncfusion.com/react/documentation/api/pdfviewer/textSelectionEndEventArgs/).
+
+Example:
+
+```jsx
+import * as React from 'react';
+import * as ReactDOM from 'react-dom/client';
+import { PdfViewerComponent, Toolbar, Magnification, Navigation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, Annotation, FormDesigner, FormFields, PageOrganizer, Inject } from '@syncfusion/ej2-react-pdfviewer';
+
+function App() {
+ const viewer = React.useRef(null);
+ return (
+ {
+ console.log(`Text selection ended on page ${args.pageIndex}.`);
+ }}
+ style={{ height: '600px' }}
+ >
+
+
+ );
+}
+
+const root = ReactDOM.createRoot(document.getElementById('pdfViewer'));
+root.render();
+```
+
+## textSelectionStart
+
+The [textSelectionStart](https://ej2.syncfusion.com/react/documentation/api/pdfviewer/#textselectionstartevent) event triggers when text selection is initiated.
+
+- Event arguments: `TextSelectionStartEventArgs`.
+
+Example:
+
+```jsx
+import * as React from 'react';
+import * as ReactDOM from 'react-dom/client';
+import { PdfViewerComponent, Toolbar, Magnification, Navigation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, Annotation, FormDesigner, FormFields, PageOrganizer, Inject } from '@syncfusion/ej2-react-pdfviewer';
+
+function App() {
+ const viewer = React.useRef(null);
+ return (
+ {
+ console.log(`Text selection started on page ${args.pageIndex}.`);
+ }}
+ style={{ height: '600px' }}
+ >
+
+
+ );
+}
+
+const root = ReactDOM.createRoot(document.getElementById('pdfViewer'));
+root.render();
+```
+
+## thumbnailClick
+
+The [thumbnailClick](https://ej2.syncfusion.com/react/documentation/api/pdfviewer/#thumbnailclickevent) event triggers when a thumbnail is clicked.
+
+- Event arguments: [ThumbnailClickEventArgs](https://ej2.syncfusion.com/react/documentation/api/pdfviewer/thumbnailClickEventArgs/).
+
+Example:
+
+```jsx
+import * as React from 'react';
+import * as ReactDOM from 'react-dom/client';
+import { PdfViewerComponent, Toolbar, Magnification, Navigation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, Annotation, FormDesigner, FormFields, PageOrganizer, Inject } from '@syncfusion/ej2-react-pdfviewer';
+
+function App() {
+ const viewer = React.useRef(null);
+ return (
+ {
+ console.log(`Thumbnail clicked for page index ${args.pageNumber}.`);
+ }}
+ style={{ height: '600px' }}
+ >
+
+
+ );
+}
+
+const root = ReactDOM.createRoot(document.getElementById('pdfViewer'));
+root.render();
+```
+
+> Tip: For annotation and signature-specific events and arguments, see the dedicated Annotations Events topic.
+
+See also:
+
+- [Annotation events](./annotation/annotation-event)
+- [Form field events](./form-designer/form-field-events)
+- [Organize PDF events](./organize-pdf/organize-pdf-events)
diff --git a/Document-Processing/PDF/PDF-Viewer/react/feature-module.md b/Document-Processing/PDF/PDF-Viewer/react/feature-module.md
index 440dbc1ee..e6f2a2406 100644
--- a/Document-Processing/PDF/PDF-Viewer/react/feature-module.md
+++ b/Document-Processing/PDF/PDF-Viewer/react/feature-module.md
@@ -2,30 +2,30 @@
layout: post
title: Feature module in React Pdfviewer component | Syncfusion
description: Learn here all about Feature module in Syncfusion React Pdfviewer component of Syncfusion Essential JS 2 and more.
-control: Feature module
+control: PDF Viewer
platform: document-processing
documentation: ug
domainurl: ##DomainURL##
---
-# Feature module in React Pdfviewer component
+# Feature module in React PDF Viewer Control
The PDF Viewer features are segregated into individual feature-wise modules to enable selectively referencing in the application. The required modules should be injected to extend its functionality. The following are the selective modules of PDF Viewer that can be included as required:
-The available PdfViewer modules are:
-
-* **Toolbar**:- Built-in toolbar for better user interaction.
-* **Magnification**:- Perform zooming operation for better viewing experience.
-* **Navigation**:- Easy navigation across the PDF pages.
-* **LinkAnnotation**:- Easy navigation within and outside of the PDF document.
-* **ThumbnailView**:- Easy navigation with in the PDF document.
-* **BookmarkView**:- Easy navigation based on the bookmark content of the PDF document.
-* **TextSelection**:- Select and copy text from a PDF file.
-* **TextSearch**:- Search a text easily across the PDF document.
-* **Print**:- Print the entire document or a specific page directly from the browser.
-* **Annotation**:- Annotations can be added or edited in the PDF document.
-* **FormFields**:- Preserve the form fields in the PDF document.
-* **FormDesigner**:- Form fields can be added or edited in the PDF document.
+The available PDF Viewer modules are:
+
+* [**Toolbar**](./toolbar-customization/annotation-toolbar-customization): Built-in toolbar for user interaction.
+* [**Magnification**](./magnification): Perform zoom operations for a better viewing experience.
+* [**Navigation**](./interactive-pdf-navigation/page-navigation): Navigate across pages.
+* [**LinkAnnotation**](./interactive-pdf-navigation/hyperlink-navigation): Navigate within the document or to external destinations via hyperlinks.
+* [**ThumbnailView**](./interactive-pdf-navigation/page-thumbnail-navigation): Navigate within the document using page thumbnails.
+* [**BookmarkView**](./interactive-pdf-navigation/bookmark-navigation): Navigate using document bookmarks (table of contents).
+* [**TextSelection**](./textselection): Select and copy text from the document.
+* [**TextSearch**](./text-search): Search for text across the document.
+* [**Print**](./print): Print the entire document or specific pages directly from the browser.
+* [**Annotation**](./annotation/text-markup-annotation): Add and edit annotations.
+* [**FormFields**](./form-designer/create-programmatically): Work with form fields in the document.
+* [**FormDesigner**](./form-designer/create-programmatically): 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.
diff --git a/Document-Processing/PDF/PDF-Viewer/react/form-designer/create-programmatically.md b/Document-Processing/PDF/PDF-Viewer/react/form-designer/create-programmatically.md
index 4d0405d2b..e8bd923b0 100644
--- a/Document-Processing/PDF/PDF-Viewer/react/form-designer/create-programmatically.md
+++ b/Document-Processing/PDF/PDF-Viewer/react/form-designer/create-programmatically.md
@@ -1,29 +1,28 @@
---
layout: post
-title: Create programmatically in React Pdfviewer component | Syncfusion
-description: Learn here all about Create programmatically in Syncfusion React Pdfviewer component of Syncfusion Essential JS 2 and more.
-control: Create programmatically
+title: Create form fields in the React PDF Viewer component | Syncfusion
+description: Learn how to add, update, delete, save, print, validate, and import/export form fields in the Syncfusion React PDF Viewer component.
+control: PDF Viewer
platform: document-processing
documentation: ug
-domainurl: ##DomainURL##
---
-# Create programmatically in React Pdfviewer component
+# Create programmatically in React 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 js tabtitle="index.JSX" %}
@@ -64,7 +63,7 @@ function App() {
@@ -117,7 +116,7 @@ export function App() {
@@ -133,14 +132,14 @@ root.render();
{% endhighlight %}
{% endtabs %}
-N> To set up the **server-backed PDF Viewer**, add the following `serviceUrl` within the
element in either the `index.TSX` or `index.JSX` file:
-**serviceUrl="https://document.syncfusion.com/web-services/pdf-viewer/api/pdfviewer"**.
+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/react/addformfield-cs1/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 js tabtitle="index.JSX" %}
@@ -182,7 +181,7 @@ export function App() {
@@ -235,7 +234,7 @@ export function App() {
@@ -251,14 +250,14 @@ root.render();
{% endhighlight %}
{% endtabs %}
-N> To set up the **server-backed PDF Viewer**, add the following `serviceUrl` within the
element in either the `index.TSX` or `index.JSX` file:
-**serviceUrl="https://document.syncfusion.com/web-services/pdf-viewer/api/pdfviewer"**.
+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/react/updateformfield-cs1/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 js tabtitle="index.JSX" %}
@@ -300,7 +299,7 @@ export function App() {
@@ -353,7 +352,7 @@ export function App() {
@@ -369,14 +368,14 @@ root.render();
{% endhighlight %}
{% endtabs %}
-N> To set up the **server-backed PDF Viewer**, add the following `serviceUrl` within the
element in either the `index.TSX` or `index.JSX` file:
-**serviceUrl="https://document.syncfusion.com/web-services/pdf-viewer/api/pdfviewer"**.
+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/react/deleteformfield-cs1/index.html" %}
## setFormFieldMode programmatically
-The `setFormFieldMode` method is a function in the Syncfusion® React 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.
{% tabs %}
{% highlight js tabtitle="Standalone" %}
@@ -399,7 +398,7 @@ function App() {
);
## 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 js tabtitle="Standalone" %}
@@ -479,7 +478,7 @@ function App() {
{ pdfviewer = scope; }}
id="container"
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.2.2/dist/ej2-pdfviewer-lib"
style={{ 'height': '640px' }}>
);
## 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 the print action using the following code snippet:
{% tabs %}
{% highlight js tabtitle="Standalone" %}
@@ -553,7 +554,7 @@ function App() {
{ pdfviewer = scope; }}
id="container"
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.2.2/dist/ej2-pdfviewer-lib"
enablePrint={true}
style={{ 'height': '640px' }}>
@@ -603,15 +604,15 @@ root.render();
## 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 js tabtitle="Standalone" %}
@@ -638,7 +639,7 @@ function App() {
{ pdfviewer = scope; }}
id="container"
documentPath="https://cdn.syncfusion.com/content/pdf/form-designer.pdf"
- resourceUrl="https://cdn.syncfusion.com/ej2/24.1.41/dist/ej2-pdfviewer-lib"
+ resourceUrl="https://cdn.syncfusion.com/ej2/31.2.2/dist/ej2-pdfviewer-lib"
documentLoad={documentLoaded}
enableFormFieldsValidation={true}
ValidateFormFields= {validateFormFields}
@@ -700,11 +701,11 @@ root.render();
## 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 methods `importFormFields`, `exportFormFields`, `exportFormFieldsAsObject`.
+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
@@ -713,7 +714,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 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 and import the form field data as FDF.
+The following example exports and imports form field data as FDF.
```
@@ -740,7 +741,7 @@ function OnImportFdf() {
### Export and import as XFDF
-The following code explains how to export and import the form field data as XFDF.
+The following example exports and imports form field data as XFDF.
```
@@ -767,7 +768,7 @@ function OnImportXfdf(){
### Export and import as JSON
-The following code explains how to export and import the form field data as JSON.
+The following example exports and imports form field data as JSON.
```
@@ -794,7 +795,7 @@ function OnImportJson(){
### 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.
@@ -832,20 +833,20 @@ function importData(){
```
## 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.
@@ -870,7 +871,7 @@ function updateProperties(){
}
```
-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.
{% tabs %}
{% highlight js tabtitle="Standalone" %}
@@ -923,7 +924,7 @@ return (
{/* Inject the required services */}
@@ -1005,10 +1006,10 @@ root.render();
{% endhighlight %}
{% endtabs %}
-
+
-The following code example explains how to update the properties of the initial field added to the document from the form designer toolbar.
+The following code shows how to configure default properties for an initial field added from the Form Designer toolbar.
{% tabs %}
{% highlight js tabtitle="Standalone" %}
@@ -1052,7 +1053,7 @@ return (
{/* Inject the required services */}
@@ -1126,13 +1127,13 @@ root.render();
{% endtabs %}
-
+
### Textbox field settings
Using the `updateFormField` method, the form fields can be updated programmatically.
-The following code example explains how to update the Textbox field properties on a button click.
+The following example updates Textbox field properties on a button click.
```html
@@ -1166,7 +1167,7 @@ The following code example explains how to update the Textbox field properties o
}
```
-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.
{% tabs %}
{% highlight js tabtitle="Standalone" %}
@@ -1225,7 +1226,7 @@ return (
{/* Inject the required services */}
@@ -1312,13 +1313,13 @@ root.render();
{% endhighlight %}
{% endtabs %}
-
+
### Password field settings
Using the `updateFormField` method, the form fields can be updated programmatically.
-The following code example explains how to update the Password field properties on a button click.
+The following example updates Password field properties on a button click.
```html
@@ -1351,7 +1352,7 @@ The following code example explains how to update the Password field properties
}
```
-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.
{% tabs %}
{% highlight js tabtitle="Standalone" %}
@@ -1408,7 +1409,7 @@ return (
{/* Inject the required services */}
@@ -1494,13 +1495,13 @@ root.render();
{% endhighlight %}
{% endtabs %}
-
+
### CheckBox field settings
Using the `updateFormField` method, the form fields can be updated programmatically.
-The following code example explains how to update the CheckBox field properties on a button click.
+The following example updates CheckBox field properties on a button click.
```html
@@ -1527,7 +1528,7 @@ The following code example explains how to update the CheckBox field properties
}
```
-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.
{% tabs %}
{% highlight js tabtitle="Standalone" %}
@@ -1574,7 +1575,7 @@ return (
@@ -1655,13 +1656,13 @@ root.render();
{% endtabs %}
-
+
### RadioButton field settings
Using the `updateFormField` method, the form fields can be updated programmatically.
-The following code example explains how to update the RadioButton field properties on a button click.
+The following example updates RadioButton field properties on a button click.
```html
@@ -1688,7 +1689,7 @@ The following code example explains how to update the RadioButton field properti
}
```
-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.
{% tabs %}
{% highlight js tabtitle="Standalone" %}
@@ -1737,7 +1738,7 @@ return (
@@ -1819,13 +1820,13 @@ root.render();
{% endhighlight %}
{% endtabs %}
-
+
### ListBox field settings
Using the `updateFormField` method, the form fields can be updated programmatically.
-The following code example explains how to update the ListBox field properties on a button click.
+The following example updates ListBox field properties on a button click.
```html
@@ -1859,7 +1860,7 @@ The following code example explains how to update the ListBox field properties o
```
-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.
{% tabs %}
{% highlight js tabtitle="Standalone" %}
@@ -1916,7 +1917,7 @@ return (
@@ -2004,13 +2005,13 @@ root.render();
{% endhighlight %}
{% endtabs %}
-
+
### 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.
```typescript
@@ -2040,7 +2041,7 @@ The following code example explains how to update the DropDown field properties
```
-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.
{% tabs %}
{% highlight js tabtitle="Standalone" %}
@@ -2097,7 +2098,7 @@ return (
@@ -2188,4 +2189,4 @@ root.render();
{% endtabs %}
-
\ No newline at end of file
+
diff --git a/Document-Processing/PDF/PDF-Viewer/react/form-designer/create-with-user-interface-interaction.md b/Document-Processing/PDF/PDF-Viewer/react/form-designer/create-with-user-interface-interaction.md
index 4a0f011b1..a3068725c 100644
--- a/Document-Processing/PDF/PDF-Viewer/react/form-designer/create-with-user-interface-interaction.md
+++ b/Document-Processing/PDF/PDF-Viewer/react/form-designer/create-with-user-interface-interaction.md
@@ -1,29 +1,28 @@
---
layout: post
-title: User interaction in React Pdfviewer component | Syncfusion
-description: Learn here all about Create with user interface interaction in Syncfusion React Pdfviewer component of Syncfusion Essential JS 2 and more.
-control: Create with user interface interaction
+title: Design form fields in the React PDF Viewer component | Syncfusion
+description: Learn how to add, drag, resize, edit, and manage form fields using the UI in the Syncfusion React PDF Viewer component.
+control: PDF Viewer
platform: document-processing
documentation: ug
-domainurl: ##DomainURL##
---
-# Create with user interface interaction
+# Create with user interface interaction for React
-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.
{% tabs %}
{% highlight js tabtitle="Standalone" %}
@@ -44,7 +43,7 @@ function App() {
id="container"
ref={(scope) => { pdfviewer = scope; }}
documentPath="https://cdn.syncfusion.com/content/pdf/form-designer.pdf"
- resourceUrl="https://cdn.syncfusion.com/ej2/24.1.41/dist/ej2-pdfviewer-lib"
+ resourceUrl="https://cdn.syncfusion.com/ej2/31.2.2/dist/ej2-pdfviewer-lib"
enableFormDesignerToolbar={true}
style={{ 'height': '640px' }}>
@@ -96,41 +95,41 @@ root.render();
## 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.
{% tabs %}
{% highlight js tabtitle="Standalone" %}
@@ -161,7 +160,7 @@ function App() {
id="container"
ref={(scope) => { pdfviewer = scope; }}
documentPath="https://cdn.syncfusion.com/content/pdf/form-designer.pdf"
- resourceUrl="https://cdn.syncfusion.com/ej2/24.1.41/dist/ej2-pdfviewer-lib"
+ resourceUrl="https://cdn.syncfusion.com/ej2/31.2.2/dist/ej2-pdfviewer-lib"
style={{ 'height': '640px' }}>
@@ -85,7 +85,7 @@ export function App() {
@@ -125,7 +125,7 @@ function App() {
@@ -158,7 +158,7 @@ export function App() {
@@ -198,7 +198,7 @@ function App() {
@@ -231,7 +231,7 @@ export function App() {
@@ -271,7 +271,7 @@ function App() {
@@ -304,7 +304,7 @@ export function App() {
@@ -344,7 +344,7 @@ function App() {
@@ -377,7 +377,7 @@ export function App() {
@@ -419,7 +419,7 @@ function App() {
@@ -454,7 +454,7 @@ export function App() {
@@ -496,7 +496,7 @@ function App() {
@@ -531,7 +531,7 @@ export function App() {
@@ -590,7 +590,7 @@ function App() {
@@ -642,7 +642,7 @@ export function App() {
@@ -682,7 +682,7 @@ function App() {
@@ -715,7 +715,7 @@ export function App() {
@@ -757,7 +757,7 @@ function App() {
@@ -792,7 +792,7 @@ export function App() {
@@ -832,7 +832,7 @@ function App() {
@@ -865,7 +865,7 @@ export function App() {
@@ -905,7 +905,7 @@ function App() {
@@ -938,7 +938,7 @@ export function App() {
@@ -979,7 +979,7 @@ function App() {
@@ -1013,7 +1013,7 @@ export function App() {
diff --git a/Document-Processing/PDF/PDF-Viewer/react/form-filling.md b/Document-Processing/PDF/PDF-Viewer/react/form-filling.md
new file mode 100644
index 000000000..c50071a9d
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/react/form-filling.md
@@ -0,0 +1,99 @@
+---
+layout: post
+title: Form filling in React PDF Viewer | Syncfusion
+description: Learn how to view, fill, export, and import PDF form fields using the Syncfusion React PDF Viewer, including disabling interaction and working with signatures.
+platform: document-processing
+control: PDF Viewer
+documentation: ug
+domainurl: ##DomainURL##
+---
+
+# Form filling in React 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 * as ReactDOM from 'react-dom';
+import * as React from 'react';
+import './index.css';
+import { PdfViewerComponent, Toolbar, Magnification, Navigation, LinkAnnotation, BookmarkView,
+ ThumbnailView, Print, TextSelection, Annotation, TextSearch, Inject } from '@syncfusion/ej2-react-pdfviewer';
+
+let pdfviewer;
+
+function App() {
+ return (
+ );
+}
+const root = ReactDOM.createRoot(document.getElementById('sample'));
+root.render();
+
+{% 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/react/form-designer/create-programmatically#export-and-import-form-fields).
+
+## See also
+
+* [Handwritten signature in React PDF Viewer](./annotation/signature-annotation)
+* [Form Designer events](./form-designer/form-field-events)
diff --git a/Document-Processing/PDF/PDF-Viewer/react/formdesigner/programmatically-work-with-form-field.md b/Document-Processing/PDF/PDF-Viewer/react/formdesigner/programmatically-work-with-form-field.md
deleted file mode 100644
index 8e664eb99..000000000
--- a/Document-Processing/PDF/PDF-Viewer/react/formdesigner/programmatically-work-with-form-field.md
+++ /dev/null
@@ -1,175 +0,0 @@
----
-layout: post
-title: Programmatically work with form field in React Pdfviewer component | Syncfusion
-description: Learn here all about Programmatically work with form field in Syncfusion React Pdfviewer component of Syncfusion Essential JS 2 and more.
-control: Programmatically work with form field
-platform: document-processing
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Programmatically work with form field in React Pdfviewer component
-
-The PDF Viewer control provides the option to add, edit and delete the Form Fields. The Form Fields type supported by the PDF Viewer Control are:
-
- * Textbox
- * Password
- * CheckBox
- * RadioButton
- * ListBox
- * DropDown
- * SignatureField
- * InitialField
-
-## Add a form field to PDF document programmatically
-
-Using addFormField method, the form fields can be added to the PDF document programmatically. We need to pass two parameters in this method. They are Form Field Type and Properties of Form Field Type. To add form field programmatically, Use the following code.
-
-{% tabs %}
-{% highlight js tabtitle="index.jsx" %}
-{% include code-snippet/pdfviewer/react/addformfield-cs2/app/index.jsx %}
-{% endhighlight %}
-{% highlight ts tabtitle="index.tsx" %}
-{% include code-snippet/pdfviewer/react/addformfield-cs2/app/index.tsx %}
-{% endhighlight %}
-{% endtabs %}
-
-{% tabs %}
-{% highlight js tabtitle="Standalone" %}
-{% previewsample "Document-Processing/code-snippet/pdfviewer/react/addformfield-cs2/index.html" %}
-{% endhighlight %}
-{% highlight js tabtitle="Server-Backed" %}
-{% previewsample "Document-Processing/code-snippet/pdfviewer/react/addformfield-cs2/index.html" %}
-{% endhighlight %}
-{% endtabs %}
-
-## Edit/Update form field programmatically
-
-Using updateFormField method, Form Field can be updated programmatically. We should get the Form Field object/Id from FormFieldCollections property that you would like to edit and pass it as a parameter to updateFormField method. The second parameter should be the properties that you would like to update for Form Field programmatically. We have updated the value and background Color properties of Textbox Form Field.
-
-{% tabs %}
-{% highlight js tabtitle="index.jsx" %}
-{% include code-snippet/pdfviewer/react/updateformfield-cs2/app/index.jsx %}
-{% endhighlight %}
-{% highlight ts tabtitle="index.tsx" %}
-{% include code-snippet/pdfviewer/react/updateformfield-cs2/app/index.tsx %}
-{% endhighlight %}
-{% endtabs %}
-
-{% tabs %}
-{% highlight js tabtitle="Standalone" %}
-{% previewsample "Document-Processing/code-snippet/pdfviewer/react/updateformfield-cs2/index.html" %}
-{% endhighlight %}
-{% highlight js tabtitle="Server-Backed" %}
-{% previewsample "Document-Processing/code-snippet/pdfviewer/react/updateformfield-cs2/index.html" %}
-{% endhighlight %}
-{% endtabs %}
-
-## Delete form field programmatically
-
-Using deleteFormField method, the form field can be deleted programmatically. We should retrieve the Form Field object/Id from FormFieldCollections property that you would like to delete and pass it as a parameter to deleteFormField method. To delete a Form Field programmatically, use the following code.
-
-{% tabs %}
-{% highlight js tabtitle="index.jsx" %}
-{% include code-snippet/pdfviewer/react/deleteformfield-cs2/app/index.jsx %}
-{% endhighlight %}
-{% highlight ts tabtitle="index.tsx" %}
-{% include code-snippet/pdfviewer/react/deleteformfield-cs2/app/index.tsx %}
-{% endhighlight %}
-{% endtabs %}
-
-{% tabs %}
-{% highlight js tabtitle="Standalone" %}
-{% previewsample "Document-Processing/code-snippet/pdfviewer/react/deleteformfield-cs2-standalone/index.html" %}
-{% endhighlight %}
-{% highlight js tabtitle="Server-Backed" %}
-{% previewsample "Document-Processing/code-snippet/pdfviewer/react/deleteformfield-cs2/index.html" %}
-{% endhighlight %}
-{% endtabs %}
-
-## 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.,
-
-{% raw %}
-
-```ts
-
-import * as ReactDOM from 'react-dom';
-import * as React from 'react';
-import { PdfViewerComponent, Toolbar, Magnification, Navigation, LinkAnnotation, BookmarkView,ThumbnailView,
- Print, TextSelection, Annotation, TextSearch, FormDesigner, FormFields, Inject } from '@syncfusion/ej2-react-pdfviewer';
-let pdfviewer;
-
-function App() {
- function downloadClicked() {
- var viewer = document.getElementById('container').ej2_instances[0];
- viewer.download();
- }
- return (
);
-}
-const root = ReactDOM.createRoot(document.getElementById('sample'));
-root.render();
-
-```
-{% endraw %}
-
-## 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.
-
-
-
-{% raw %}
-
-```ts
-
-import * as ReactDOM from 'react-dom';
-import * as React from 'react';
-import { PdfViewerComponent, Toolbar, Magnification, Navigation, LinkAnnotation, BookmarkView,ThumbnailView,
- Print, TextSelection, Annotation, TextSearch, FormDesigner, FormFields, Inject } from '@syncfusion/ej2-react-pdfviewer';
-export function App() {
- return (
-
- {/* Render the PDF Viewer */}
-
-
-
-
-
);
-}
-const root = ReactDOM.createRoot(document.getElementById('sample'));
-root.render();
-
-```
-{% endraw %}
-
-## 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.
-
-
diff --git a/Document-Processing/PDF/PDF-Viewer/react/formdesigner/user-interaction-with-form-fields.md b/Document-Processing/PDF/PDF-Viewer/react/formdesigner/user-interaction-with-form-fields.md
deleted file mode 100644
index b95ad7ce3..000000000
--- a/Document-Processing/PDF/PDF-Viewer/react/formdesigner/user-interaction-with-form-fields.md
+++ /dev/null
@@ -1,139 +0,0 @@
----
-layout: post
-title: User interaction with form fields in React Pdfviewer component | Syncfusion
-description: Learn here all about User interaction with form fields in Syncfusion React Pdfviewer component of Syncfusion Essential JS 2 and more.
-control: User interaction with form fields
-platform: document-processing
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# User interaction with form fields in React Pdfviewer component
-
-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.
-
-{% raw %}
-
-```ts
-
-import * as ReactDOM from 'react-dom';
-import * as React from 'react';
-import { PdfViewerComponent, Toolbar, Magnification, Navigation, LinkAnnotation, BookmarkView,
- ThumbnailView, Print, TextSelection, Annotation, TextSearch, Inject, FormDesigner, FormFields } from '@syncfusion/ej2-react-pdfviewer';
-
-function App() {
- return (
-
- {/* Render the PDF Viewer */}
-
-
-
-
-
- );
-}
-const root = ReactDOM.createRoot(document.getElementById('sample'));
-root.render();
-
-```
-{% endraw %}
-
-## 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.
-
-{% raw %}
-
-```ts
-
-import * as ReactDOM from 'react-dom';
-import * as React from 'react';
-import { PdfViewerComponent, Toolbar, Magnification, Navigation, LinkAnnotation, BookmarkView, ThumbnailView,
- Print, TextSelection, Annotation, TextSearch, Inject, FormDesigner, FormFields } from '@syncfusion/ej2-react-pdfviewer';
-let pdfviewer;
-
-function App() {
- function undoClicked() {
- var viewer = document.getElementById('container').ej2_instances[0];
- viewer.undo();
- }
- function redoClicked() {
- var viewer = document.getElementById('container').ej2_instances[0];
- viewer.redo();
- }
- return (
- );
-}
-const root = ReactDOM.createRoot(document.getElementById('sample'));
-root.render();
-
-```
-{% endraw %}
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer/react/getting-started.md b/Document-Processing/PDF/PDF-Viewer/react/getting-started.md
index e74bef472..f4724c498 100644
--- a/Document-Processing/PDF/PDF-Viewer/react/getting-started.md
+++ b/Document-Processing/PDF/PDF-Viewer/react/getting-started.md
@@ -8,7 +8,7 @@ documentation: ug
domainurl: ##DomainURL##
---
-# Getting Started with Standalone PDF Viewer component
+# Getting started in Standalone PDF Viewer control in React
This section explains the steps required to create a simple Standalone React PDF Viewer and demonstrates the basic usage of the PDF Viewer control in a React application.
@@ -122,7 +122,7 @@ function App() {
@@ -240,7 +240,7 @@ return (
{/* Inject the required services */}
{/* Inject the required services */}
® PDF Viewer are listed below.
+
+* [How to add annotation in text search in react?](./how-to/add-annotation-in-text-search-ts)
+* [How to add custom header to the PDF Viewer ajax request?](./how-to/add-header-value)
+* [How to add a save button to PDF Viewer toolbar?](./how-to/add-save-button-ts)
+* [How to customize the annotation selectors?](./how-to/annotation-selectors)
+* [How to change the author name of the annotation dynamically?](./how-to/change-author-name-using-annotation-settings)
+* [How to clear all the annotations from the PDF document?](./how-to/clear-annotations)
+* [How to configure the annotation selector settings?](./how-to/configure-annotationselector-setting-ts)
+* [What are the supported conformance or standards of PDF Viewer?](./how-to/conformance)
+* [How to control the visibility of the annotation?](./how-to/control-annotation-visibility-ts)
+* [How to convert the PDF library bounds to PDF viewer bounds?](./how-to/convert-pdf-library-bounds-to-pdf-viewer-bounds-ts)
+* [How to create PDF Viewer service using ASP.NET Core?](./how-to/create-pdfviewer-service-core)
+* [How to create PDF viewer web service using ASP.NET MVC?](./how-to/create-pdfviewer-service)
+* [How to customize the context menu in PDF Viewer?](./how-to/custom-context-menu)
+* [How to add custom font in handwritten signature?](./how-to/custom-font-signature-field-ts)
+* [How to add custom fonts for form fields and free text annotations?](./how-to/custom-fonts-ts)
+* [How to customize text search highlight color in PDF Viewer?](./how-to/customize-text-search-color)
+* [How to delete a specific annotation from the PDF document?](./how-to/delete-annotation)
+* [How to disable the context menu?](./how-to/disable-context-menu)
+* [How to disable tile rendering in PDF Viewer?](./how-to/disable-tile-rendering)
+* [How to display custom tooltip for annotation?](./how-to/display-custom-tool-tip-for-annotation)
+* [How to get the download start event?](./how-to/download-start-event-ts)
+* [How to enable or disable the local storage?](./how-to/enable-local-storage-ts)
+* [Enable the resizer for text markup annotation?](./how-to/enable-resize)
+* [How to enable or disable the text selection?](./how-to/enable-text-selection-ts)
+* [How to export the PDF pages as images?](./how-to/export-as-image-ts)
+* [How to extract text from the PDF document?](./how-to/extract-text-completed-ts)
+* [How to extract text from a specific region?](./how-to/extract-text-option-ts)
+* [How to extract text from the PDF document?](./how-to/extract-text-ts)
+* [How to find the text in the PDF document asynchronously?](./how-to/find-text-async-ts)
+* [How to get the base64 string of the loaded document?](./how-to/get-base64-ts)
+* [How to get the page information of the loaded document?](./how-to/get-page-info-ts)
+* [How to perform highlight, underline, and strikethrough for the selected text?](./how-to/highlight-underline-strikeout-text)
+* [How to identify the added annotation and its mode?](./how-to/identify-added-annotation-mode)
+* [How to import annotations from the PDF document?](./how-to/import-annotations)
+* [How to import and export annotations in PDF Viewer?](./how-to/import-export-annotation-ts)
+* [How to load a PDF document in PDF Viewer?](./how-to/load-document)
+* [How to set the minimum and maximum zoom percentage?](./how-to/min-max-zoom-ts)
+* [How to open the bookmark pane when the document is loaded?](./how-to/open-bookmark-ts)
+* [How to open the thumbnail pane when the document is loaded?](./how-to/open-thumbnail)
+* [How to get the annotation when it is overlapped with another annotation on its selection?](./how-to/overlapped-annotation)
+* [How to get the page render started and completed event?](./how-to/pagerenderstarted-pagerendercompleted-ts)
+* [How to print the PDF document silently?](./how-to/print-document)
+* [How to resolve the `Unable to find an entry point named 'FreeExportedValues' in DLL 'pdfium''?](./how-to/resolve-unable-to-find-an-entry-point-error)
+* [How to restrict the zooming in mobile mode?](./how-to/restricting-zoom-in-mobile-mode-ts)
+* [How to save the PDF document to database or URL?](./how-to/save-pdf-document-to-url)
+* [How to select annotations in multi page?](./how-to/select-multi-page-annotations)
+* [How to show custom stamp item in the stamp annotation?](./how-to/show-custom-stamp-item-ts)
+* [How to show or hide a particular annotation?](./how-to/show-hide-annotation-ts)
+* [How to get the signature selected and unselected event?](./how-to/signatureselect-signatureunselect-ts)
+* [How to unload the PDF document from the viewer?](./how-to/unload-document)
+
diff --git a/Document-Processing/PDF/PDF-Viewer/react/how-to/add-annotation-in-text-search.md b/Document-Processing/PDF/PDF-Viewer/react/how-to/add-annotation-in-text-search.md
index 434ecae11..27933637d 100644
--- a/Document-Processing/PDF/PDF-Viewer/react/how-to/add-annotation-in-text-search.md
+++ b/Document-Processing/PDF/PDF-Viewer/react/how-to/add-annotation-in-text-search.md
@@ -1,24 +1,21 @@
---
layout: post
-title: Add Annotation in Text Search in React PDF Viewer | Syncfusion
-description: Learn how to add rectangle annotations using search text bounds in Syncfusion RReact Pdfviewer component of Syncfusion Essential JS 2 and more.
+title: Add Rectangle Annotation via Text Search in Syncfusion React PDF Viewer
+description: Discover how to add rectangle annotations via text search in the Syncfusion React PDF Viewer for a seamless mobile experience.
control: PDF Viewer
platform: document-processing
documentation: ug
-domainurl: ##DomainURL##
---
-# Add Rectangle Annotations Using Search Text Bounds in PDF Viewer
+# Add Rectangle Annotations via Text Search in PDF Viewer
-## Overview
+A concise guide to adding rectangle annotations at highlighted text search results in the React PDF Viewer to visually emphasize matches and improve readability.
-This guide demonstrates how to add rectangle annotations based on the bounds of highlighted search text in the PDF Viewer. This technique is useful for emphasizing search results with visual markers in annotation-supported applications.
-
-## Steps to Add Rectangle Annotations on Search Result Highlight
+## Steps to add rectangle annotations on search result highlight
**Step 1:** Follow the steps provided in the [Syncfusion® Getting Started Guide](https://help.syncfusion.com/document-processing/pdf/pdf-viewer/react/getting-started) to set up a basic PDF Viewer sample.
-**Step 2:** Set Up the PdfViewer Component to add rectangle annotations based on the bounds of highlighted search text in the PDF Viewer.
+**Step 2:** Initialize the PDF Viewer with the required modules
{% tabs %}
{% highlight js tabtitle="Standalone" %}
@@ -102,7 +99,7 @@ class App extends React.Component {
ref={this.viewerRef}
id="PdfViewer"
documentPath="https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf"
- resourceUrl="https://cdn.syncfusion.com/ej2/28.1.33/dist/ej2-pdfviewer-lib"
+ resourceUrl="https://cdn.syncfusion.com/ej2/31.2.2/dist/ej2-pdfviewer-lib"
style={{ height: '640px' }}
>
);
{% endhighlight %}
{% endtabs %}
-By following this guide, you will enable the PDF Viewer to add rectangle annotations at search result locations, thus increasing the visibility of search results in your application.
+Following these steps enables the PDF Viewer to add rectangle annotations at search result locations, improving the visibility of matches.
[View sample on GitHub](https://github.com/SyncfusionExamples/react-pdf-viewer-examples/tree/master/How%20to)
diff --git a/Document-Processing/PDF/PDF-Viewer/react/how-to/add-header-value.md b/Document-Processing/PDF/PDF-Viewer/react/how-to/add-header-value.md
new file mode 100644
index 000000000..a271af197
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/react/how-to/add-header-value.md
@@ -0,0 +1,32 @@
+---
+layout: post
+title: Add header values to AJAX requests in React PDF Viewer | Syncfusion
+description: Learn how to include custom headers in PDF Viewer AJAX requests using ajaxRequestSettings and ajaxHeaders in the React PDF Viewer component.
+platform: document-processing
+control: PDF Viewer
+documentation: ug
+---
+
+# Add header values in the React PDF Viewer
+
+Use the ajaxHeaders property in the PDF Viewer’s [ajaxRequestSettings](https://ej2.syncfusion.com/documentation/api/pdfviewer/#ajaxrequestsettings) to include custom headers with each AJAX request.
+
+Example: Add a custom Authorization header using ajaxRequestSettings
+
+```ts
+
+viewer.ajaxRequestSettings = {
+ ajaxHeaders: [
+ {
+ headerName: "Authorization",
+
+ headerValue: "Bearer 64565dfgfdsjweiuvbiuyhiueygf"
+ }
+ ],
+
+ withCredentials: false
+};
+
+```
+
+Find the sample [how to add custom headers in AjaxRequestSettings](https://stackblitz.com/edit/react-dnkbqh66-tnifjnlb?file=package.json,index.js)
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer/react/how-to/add-save-button.md b/Document-Processing/PDF/PDF-Viewer/react/how-to/add-save-button.md
index c5cd4de29..922cccb23 100644
--- a/Document-Processing/PDF/PDF-Viewer/react/how-to/add-save-button.md
+++ b/Document-Processing/PDF/PDF-Viewer/react/how-to/add-save-button.md
@@ -1,22 +1,22 @@
---
layout: post
-title: Add save button in toolbar in React Pdfviewer component | Syncfusion
-description: Learn here all about Add Save button in Syncfusion React Pdfviewer component of Syncfusion Essential JS 2 and more.
+title: Add Save Button to Toolbar in React PDF Viewer
+description: Learn how to add, show, hide, enable, and disable a custom Save button in the built-in toolbar of the React PDF Viewer component.
control: Toolbar
platform: document-processing
documentation: ug
domainurl: ##DomainURL##
---
-# Add Save button in Built-In Toolbar in React
+# Add a Save Button to the Built-in Toolbar in React PDF Viewer
-PDF Viewer allows you to customize(add, show, hide, enable, and disable) existing items in a toolbar.
+PDF Viewer supports customizing toolbar items, including adding, showing, hiding, enabling, and disabling items.
-* Save Button - New `save` button-item can defined by [**CustomToolbarItemModel**](https://ej2.syncfusion.com/react/documentation/api/pdfviewer/customToolbarItemModel/) and with existing items in [**ToolbarSettings**](https://ej2.syncfusion.com/react/documentation/api/pdfviewer/toolbarSettings/) property. Newly added save button-item click action can be defined in [`toolbarclick`](https://ej2.syncfusion.com/react/documentation/api/toolbar/clickEventArgs/).
+- Save button: The Save button can be defined using [CustomToolbarItemModel](https://ej2.syncfusion.com/react/documentation/api/pdfviewer/customToolbarItemModel/) and included alongside existing items via [ToolbarSettings](https://ej2.syncfusion.com//react/documentation/api/file-manager/toolbarSettings/). Handle the click action using [`toolbarclick`](https://ej2.syncfusion.com/react/documentation/api/file-manager/toolbarClickEventArgs/).
-* Show, Hide - `Save` button-item can be shown or hidden using the [`ToolbarSettings`](https://ej2.syncfusion.com/react/documentation/api/pdfviewer/toolbarSettings/) property. Pre-defined toolbar items are available with [`ToolbarItem`](https://ej2.syncfusion.com/react/documentation/api/pdfviewer/toolbarItem/).
+- Show or hide: The Save button can be shown or hidden using [ToolbarSettings](https://ej2.syncfusion.com/react/documentation/api/file-manager/toolbarSettings/). Predefined items are listed under [`ToolbarItem`](https://ej2.syncfusion.com/react/documentation/api/chart/toolbarItems/).
-* Enable, Disable - `Save` button-item can be enabled or disable using [`enabletoolbaritem`](https://ej2.syncfusion.com/react/documentation/api/pdfviewer/toolbar/#enabletoolbaritem)
+- Enable or disable: The Save button can be enabled or disabled using [`enabletoolbaritem`](https://ej2.syncfusion.com/react/documentation/api/pdfviewer/toolbar/).
{% tabs %}
{% highlight js tabtitle="Standalone" %}
@@ -55,7 +55,7 @@ return (
@@ -126,34 +126,34 @@ root.render();
{% endhighlight %}
{% endtabs %}
->Note : Default value of toolbar items is ['OpenOption', 'PageNavigationTool','MagnificationTool', 'PanTool', 'SelectionTool', 'SearchOption', 'PrintOption', 'DownloadOption','UndoRedoTool', 'AnnotationEditTool', 'FormDesignerEditTool', 'CommentTool', 'SubmitForm']
+N> Default toolbar items: ['OpenOption', 'PageNavigationTool','MagnificationTool', 'PanTool', 'SelectionTool', 'SearchOption', 'PrintOption', 'DownloadOption','UndoRedoTool', 'AnnotationEditTool', 'FormDesignerEditTool', 'CommentTool', 'SubmitForm']
-### Align Property
+### Align property
-The align property is used to specify the alignment of a `save` button-item within the toolbar.
+Specifies the alignment of the Save button within the toolbar.
-`Left`: Aligns the item to the left side of the toolbar.
-`Right`: Aligns the item to the right side of the toolbar.
+- Left: Aligns the item to the left side of the toolbar.
+- Right: Aligns the item to the right side of the toolbar.
-### Tooltip Property
+### Tooltip property
-The tooltip property is used to set the tooltip text for a `save` button-item. Tooltip provides additional information when a user hovers over the item.
+Sets the tooltip text for the Save button. The tooltip provides additional information on hover.
-### CssClass Property
+### CssClass property
-The cssClass property is used to apply custom CSS classes to a `save` button-item. It allows custom styling of the `save` button-item.
+Applies custom CSS classes to the Save button for styling.
-### Prefix Property
+### Prefix property
-The prefix property is used to set the CSS class or icon that should be added as a prefix to the existing content of the toolbar item.
+Sets the CSS class or icon to add as a prefix to the Save button content.
-### ID Property
+### ID property
-The id property within a CustomToolbarItemModel is a compulsory attribute that plays a vital role in toolbar customization. It serves as a unique identifier for each toolbar item, facilitating distinct references and interactions.
+The id property within a CustomToolbarItemModel is required and uniquely identifies each toolbar item for configuration and interaction.
-When defining or customizing toolbar items, it is mandatory to assign a specific and descriptive id to each item.
-These properties are commonly used when defining custom toolbar items with the `CustomToolbarItemModel` in the context of Syncfusion® PDF Viewer. When configuring the toolbar using the `ToolbarSettings` property, you can include these properties to customize the appearance and behavior of each toolbar item.
+When defining or customizing toolbar items, assign a specific, descriptive id to each item. These properties are commonly used when defining custom toolbar items with `CustomToolbarItemModel` in the context of Syncfusion PDF Viewer. When configuring the toolbar using the `ToolbarSettings` property, include these properties to customize appearance and behavior.
-N> When customizing `save` button-item, you have the flexibility to include either icons or text based on your design preference.
+
+N> When customizing the Save button, icons or text can be used based on design preference.
[View sample in GitHub](https://github.com/SyncfusionExamples/react-pdf-viewer-examples/tree/master/How%20to)
diff --git a/Document-Processing/PDF/PDF-Viewer/react/how-to/add-signature.md b/Document-Processing/PDF/PDF-Viewer/react/how-to/add-signature.md
index ea33f3c1c..7eb63ddbd 100644
--- a/Document-Processing/PDF/PDF-Viewer/react/how-to/add-signature.md
+++ b/Document-Processing/PDF/PDF-Viewer/react/how-to/add-signature.md
@@ -23,7 +23,7 @@ The PDF Viewer library allows you to add signature in the signature field of the
annotationSelector
+
+```
+
+```ts
+
+document.getElementById('annotationSelector').addEventListener('click', () => {
+ viewer.rectangleSettings.annotationSelectorSettings.resizerShape = 'Circle';
+ viewer.annotationModule.editAnnotation(viewer.annotationCollection[0]);
+});
+
+```
+
+Sample: [How to customize the annotation selector](https://stackblitz.com/edit/react-dnkbqh66-tsqcqdcx?file=index.js,index.html)
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer/react/how-to/change-author-name-using-annotation-settings.md b/Document-Processing/PDF/PDF-Viewer/react/how-to/change-author-name-using-annotation-settings.md
new file mode 100644
index 000000000..e0bd095e9
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/react/how-to/change-author-name-using-annotation-settings.md
@@ -0,0 +1,58 @@
+---
+layout: post
+title: Change author name using annotation settings in React PDF Viewer | Syncfusion
+description: Learn how to change the author name and related annotation settings using the annotationSettings API in the React PDF Viewer.
+platform: document-processing
+control: PDF Viewer
+documentation: ug
+domainurl: ##DomainURL##
+---
+
+# Change author name using annotation settings in React PDF Viewer
+
+The PDF Viewer allows customizing individual annotation settings using the annotationSettings API, which exposes properties common to all annotations.
+
+API name: annotationSettings
+
+| Property Name | Data type & Default Value | Description |
+|---|---|---|
+| author | String ("Guest") | Specifies the author of the annotation. |
+| minWidth | Number (0) | Specifies the minimum width of the annotation. |
+| maxWidth | Number (0) | Specifies the maximum width of the annotation. |
+| minHeight | Number (0) | Specifies the minimum height of the annotation. |
+| maxHeight | Number (0) | Specifies the maximum height of the annotation. |
+| isLock | Boolean (false) | Specifies whether the annotation is locked. If true, the annotation cannot be selected. |
+| isPrint | Boolean (true) | Specifies whether the annotation is included in print actions. |
+| isDownload | Boolean (true) | Specifies whether the annotation is included in download actions. |
+| Free Text Settings |
+| allowOnlyTextInput | Boolean (false) | Specifies text-only mode for free text annotations. If true, moving or resizing is disabled. |
+
+Change the author name and other properties using the annotationSettings API as shown below.
+
+{% tabs %}
+{% highlight ts tabtitle="Standalone" %}
+```ts
+import { PdfViewer, Toolbar, Magnification, Navigation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, TextSearch, Print, Annotation, FormFields } from "../src/index";
+
+PdfViewer.Inject(Toolbar, Magnification, Navigation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, TextSearch, Print, Annotation, FormFields);
+let viewer: PdfViewer = new PdfViewer();
+viewer.load('https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf', null);
+viewer.annotationSettings = { author: 'syncfusion', minHeight: 30, maxHeight: 500, minWidth: 30, maxWidth: 500, isLock: false, isPrint: true, isDownload: true };
+viewer.freeTextSettings = { allowTextOnly : true };
+viewer.appendTo("#pdfViewer");
+```
+{% endhighlight %}
+{% highlight ts tabtitle="Server-Backed" %}
+```ts
+import { PdfViewer, Toolbar, Magnification, Navigation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, TextSearch, Print, Annotation, FormFields } from "../src/index";
+
+PdfViewer.Inject(Toolbar, Magnification, Navigation, LinkAnnotation, ThumbnailView, BookmarkView, TextSelection, TextSearch, Print, Annotation, FormFields);
+let viewer: PdfViewer = new PdfViewer();
+viewer.serviceUrl = "https://document.syncfusion.com/web-services/pdf-viewer/api/pdfviewer/";
+viewer.load('https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf', null);
+viewer.annotationSettings = { author: 'syncfusion', minHeight: 30, maxHeight: 500, minWidth: 30, maxWidth: 500, isLock: false, isPrint: true, isDownload: true };
+viewer.freeTextSettings = { allowTextOnly : true };
+viewer.appendTo("#pdfViewer");
+```
+{% endhighlight %}
+{% endtabs %}
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer/react/how-to/clear-annotation.md b/Document-Processing/PDF/PDF-Viewer/react/how-to/clear-annotation.md
index 450d4845e..b0efe333b 100644
--- a/Document-Processing/PDF/PDF-Viewer/react/how-to/clear-annotation.md
+++ b/Document-Processing/PDF/PDF-Viewer/react/how-to/clear-annotation.md
@@ -1,24 +1,24 @@
---
layout: post
-title: Clear annotation in React Pdfviewer component | Syncfusion
-description: Learn here all about Clear annotation in Syncfusion React Pdfviewer component of Syncfusion Essential JS 2 and more.
-control: Clear annotation
+title: Clear annotations in React PDF Viewer | Syncfusion
+description: Learn how to clear all annotations or delete specific annotations in the React PDF Viewer using deleteAnnotations and deleteAnnotationById.
+control: PDF Viewer
platform: document-processing
documentation: ug
domainurl: ##DomainURL##
---
-# Clear annotation in React Pdfviewer component
+# Clear annotations in React PDF Viewer
-To clear all the annotations in a PDF document using the Syncfusion® PDF Viewer, you can use the **deleteAnnotations()** method. This method is used to clear all the annotations present in the currently loaded document.
+Use the [deleteAnnotations](https://ej2.syncfusion.com/react/documentation/api/pdfviewer/#deleteannotations) method to clear all annotations in the currently loaded document.
-Here is an example of how you can clear all the annotations present in the currently loaded document:
+Example: Clear all annotations in the loaded document
```html
```
-We can also delete specific annotation with the **deleteAnnotationById()** method. This method is used to delete a specific annotation using its id.
+To remove a specific annotation, use the deleteAnnotationById method to target an annotation by its id.
-Here is an example of how you can delete specific annotation with the **deleteAnnotationById()** method:
+Example: Delete a specific annotation by id
```html
```
-Find the sample [how to clear annotations using deleteAnnotations](https://stackblitz.com/edit/react-xlvqkm?file=public%2Findex.html)
\ No newline at end of file
+Sample: How to clear annotations using deleteAnnotations
+(https://stackblitz.com/edit/react-xlvqkm?file=public%2Findex.html)
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer/react/how-to/configure-annotation-selector-setting.md b/Document-Processing/PDF/PDF-Viewer/react/how-to/configure-annotation-selector-setting.md
index 7122c949b..14714071c 100644
--- a/Document-Processing/PDF/PDF-Viewer/react/how-to/configure-annotation-selector-setting.md
+++ b/Document-Processing/PDF/PDF-Viewer/react/how-to/configure-annotation-selector-setting.md
@@ -1,32 +1,30 @@
---
layout: post
-title: AnnotationSelector Setting in React Pdfviewer component | Syncfusion
-description: Learn here all about AnnotationSelector Setting in Syncfusion React Pdfviewer component of Syncfusion Essential JS 2 and more.
+title: Configure annotation selector settings in React PDF Viewer | Syncfusion
+description: Learn how to configure annotation selector settings in the React PDF Viewer using annotationSelectorSettings and related options.
control: PDF Viewer
platform: document-processing
documentation: ug
domainurl: ##DomainURL##
---
-# How to Configure Annotation Selector Settings
+# Configure annotation selector settings
-### Annotation Selector Settings
+Use the [annotationSelectorSettings](https://ej2.syncfusion.com/react/documentation/api/pdfviewer/annotationSelectorSettings/) property to customize the appearance and behavior of the annotation selector in the UI.
-The [**annotationSelectorSettings**](https://ej2.syncfusion.com/react/documentation/api/pdfviewer/annotationSelectorSettings/) property allows you to customize the appearance and behavior of the annotation selector in the UI.
+AnnotationSelectorSettingsModel
-The [**AnnotationSelectorSettingsModel**](https://ej2.syncfusion.com/react/documentation/api/pdfviewer/annotationSelectorSettingsModel/) defines the settings for the annotation selector, including border colors, sizes, and shapes. It provides fine-grained control over how annotations are displayed and interacted with.
+The [AnnotationSelectorSettingsModel](https://ej2.syncfusion.com/react/documentation/api/accumulation-chart/accumulationAnnotationSettingsModel/) defines settings such as border colors, sizes, and shapes, enabling fine-grained control over how annotations are displayed and interacted with.
-### How to Configure Annotation Selector Settings
-
-**Step 1:** Follow the steps provided in the [link](https://help.syncfusion.com/document-processing/pdf/pdf-viewer/react/getting-started/) to create a simple PDF Viewer sample.
-
-**Step 2:** Add JavaScript for Annotation Selector Settings: Below the PDF Viewer in your view, include the following script to configure the annotationSelectorSettings
+Steps to configure annotation selector settings
+- Step 1: Create a PDF Viewer instance and initialize it.
+- Step 2: Set the annotationSelectorSettings property to customize selector behavior.
{% raw %}
```javascript
® PDF Viewer. This process allows the annotations to be visible only in the Syncfusion® PDF Viewer.
+This guide explains how to control the visibility of PDF annotations in documents loaded and saved using the Syncfusion PDF Viewer in React, so annotations are visible only in the viewer when required.
-### How to Control Annotation Visibility
+Steps to control annotation visibility
-**Step 1:** Follow the steps provided in the [link](https://help.syncfusion.com/document-processing/pdf/pdf-viewer/angular/getting-started/) to create a simple PDF Viewer sample.
+**Step 1:** Follow the steps provided in the [link](https://help.syncfusion.com/document-processing/pdf/pdf-viewer/react/getting-started/) to create a simple PDF Viewer sample.
**Step 2:** Set Up Your React Component
@@ -41,7 +41,7 @@ function App() {
@@ -114,6 +114,6 @@ root.render();
{% endhighlight %}
{% endtabs %}
-By following these steps, the annotations in a PDF document can be set to be visible in the Syncfusion® PDF Viewer, providing control over annotation visibility based on different platforms.
+Following these steps ensures annotations are visible in the Syncfusion PDF Viewer while controlling their visibility in the downloaded PDF.
[View sample in GitHub](https://github.com/SyncfusionExamples/react-pdf-viewer-examples/tree/master/How%20to)
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer/react/how-to/convert-pdf-library-bounds-to-pdf-viewer-bounds.md b/Document-Processing/PDF/PDF-Viewer/react/how-to/convert-pdf-library-bounds-to-pdf-viewer-bounds.md
index 61607e4a2..8f1f75b37 100644
--- a/Document-Processing/PDF/PDF-Viewer/react/how-to/convert-pdf-library-bounds-to-pdf-viewer-bounds.md
+++ b/Document-Processing/PDF/PDF-Viewer/react/how-to/convert-pdf-library-bounds-to-pdf-viewer-bounds.md
@@ -1,32 +1,30 @@
---
layout: post
-title: Converting Library Bounds in React PdfViewer | Syncfusion
-description: Learn how to convert Library bounds into Viewer bounds in Syncfusion React Pdfviewer component of Syncfusion Essential JS 2 and more.
+title: Convert PDF Library bounds to PDF Viewer bounds | Syncfusion
+description: Learn how to convert PDF Library bounds into PDF Viewer bounds when exporting annotations, ensuring accurate placement in the React PDF Viewer.
control: PDF Viewer
platform: document-processing
documentation: ug
domainurl: ##DomainURL##
---
-# Converting PDF Library Bounds to PDF Viewer Bounds
+# Convert PDF Library bounds to PDF Viewer bounds
-### Overview
+When exporting annotations from the PDF Library, convert the bounds values into the PDF Viewer format to ensure accurate placement.
-When exporting annotations from the PDF Library, you may need to convert the bounds values into the PDF Viewer format. This guide will help you achieve that using the Syncfusion® PDF Viewer component.
+Steps to convert bounds values
-### How to Convert Bounds Values
+**Step 1:** Initialize the PDF Viewer instance
-**Step 1:** Initialize the PdfViewer Instance
+Create an instance of the PDF Viewer and configure it with the required services.
-Create an instance of the PdfViewer and configure it with the required services.
-
-**Step 2:** Handle Export Success
+**Step 2:** Handle export success
Convert the exported blob URL to an object and then extract and convert the annotation bounds.
-**Step 3:** Create a Function to Convert Blob URL to Object
+**Step 3:** Convert Blob URL to object
-This function fetches the blob data and converts it into a JSON object.
+Fetch the blob data and convert it into a JSON object.
{% tabs %}
{% highlight js tabtitle="Server-Backed" %}
@@ -155,8 +153,8 @@ root.render();
{% endhighlight %}
{% endtabs %}
-### Conclusion
+Conclusion
-By following these steps, you can successfully convert PDF Library bounds values into PDF Viewer bounds values when exporting annotations as JSON. This will help maintain accuracy in the annotation placement and ensure a seamless user experience.
+These steps convert PDF Library bounds values into PDF Viewer bounds values when exporting annotations as JSON, maintaining accurate annotation placement.
[View sample in GitHub](https://github.com/SyncfusionExamples/react-pdf-viewer-examples/tree/master/How%20to/)
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer/react/how-to/custom-context-menu.md b/Document-Processing/PDF/PDF-Viewer/react/how-to/custom-context-menu.md
index 0c152695c..51b43db11 100644
--- a/Document-Processing/PDF/PDF-Viewer/react/how-to/custom-context-menu.md
+++ b/Document-Processing/PDF/PDF-Viewer/react/how-to/custom-context-menu.md
@@ -1,20 +1,20 @@
---
layout: post
-title: Customize context menu in | Syncfusion
-description: Learn here all about Customize context menu in Syncfusion React PDF Viewer component of Syncfusion Essential JS 2 and more.
+title: Customize the context menu in React PDF Viewer | Syncfusion
+description: Learn how to add and customize custom context menu options in the React PDF Viewer using addCustomMenu, customContextMenuSelect, and related events.
control: PDF Viewer
platform: document-processing
documentation: ug
domainurl: ##DomainURL##
---
-# Customize context menu in React Pdfviewer component
+# Customize the context menu in PDF Viewer
-PDF Viewer allows you to add custom option in context menu. It can be achieved by using the `addCustomMenu()` method and custom action is defined using the `customContextMenuSelect()`method.
+PDF Viewer supports adding custom options to the context menu using the [addCustomMenu()](https://ej2.syncfusion.com/react/documentation/api/pdfviewer/#addcustommenu) method. Define actions for custom items with the [customContextMenuSelect()](https://ej2.syncfusion.com/react/documentation/api/pdfviewer/#customcontextMenuselect) method.
-### Add Custom Option
+### Add a custom option
-The following code shows how to add custom option in context menu.
+The following example adds custom options to the context menu.
```js
export function App() {
@@ -58,7 +58,7 @@ The following code shows how to add custom option in context menu.
);
```
-### Customize custom option in context menu
+#### Show or hide custom items before opening
-The PDF Viewer feature enables customization of custom options and the ability to toggle the display of the default context menu. When the addCustomMenu parameter is set to `true`, the default menu is hidden; conversely, when it is set to `false`, the default menu items are displayed.
+Use [customContextMenuBeforeOpen()](https://ej2.syncfusion.com/react/documentation/api/pdfviewer/#customcontextMenubeforeopen) to hide or show custom options dynamically.
```js
export function App() {
@@ -120,7 +120,7 @@ The PDF Viewer feature enables customization of custom options and the ability t
);
```
-The following is the output of custom context menu with customization.
+The following is the output of the custom context menu with customization.
{% tabs %}
{% highlight js tabtitle="index.jsx" %}
diff --git a/Document-Processing/PDF/PDF-Viewer/react/how-to/custom-font-signature-field.md b/Document-Processing/PDF/PDF-Viewer/react/how-to/custom-font-signature-field.md
index 165742268..34de478d4 100644
--- a/Document-Processing/PDF/PDF-Viewer/react/how-to/custom-font-signature-field.md
+++ b/Document-Processing/PDF/PDF-Viewer/react/how-to/custom-font-signature-field.md
@@ -1,25 +1,24 @@
---
layout: post
-title: How to change the font family in Syncfusion React Pdfviewer component
-description: Learn how to change the font family in Form Field's Type Signature in Syncfusion React Pdfviewer component of Syncfusion Essential JS 2 and more.
+title: Change font family in React PDF Viewer | Syncfusion
+description: Learn how to change the font family for form field type signatures and initials in the React PDF Viewer using typeSignatureFonts and typeInitialFonts.
platform: document-processing
control: PDF Viewer
documentation: ug
domainurl: ##DomainURL##
---
-# To Change the Font Family
-Change the Font Family in Type Signature of the Syncfusion® PDF Viewer by adding a custom css stylesheet to the document , and then apply the desired font family to the type signature element. Include the Google font link in the HTML head section to apply the Google Font.
+# Change the font family for type signatures
-### Signature Field property
+Change the font family for Type Signature and Initial fields by adding a stylesheet to load fonts and assigning them via the PDF Viewer settings. Include Google Font links in the HTML head to use those fonts.
-The Syncfusion® PDF Viewer provides the ability to change the font family for Signature and Initial Field using `typeSignatureFonts` and `typeInitialFonts`property.
+### Signature field property
-The following steps are used to include custom fonts for signature and initial field.
+The PDF Viewer supports changing fonts for Signature and Initial fields using the `typeSignatureFonts` and `typeInitialFonts` properties.
**Step 1:** Follow the steps provided in the [link](https://help.syncfusion.com/document-processing/pdf/pdf-viewer/react/getting-started) to create a simple PDF Viewer sample.
-**Step 2:** Insert the following code snippet to implement the functionality for using custom fonts in Signature field.
+**Step 2:** Use the following code to apply custom fonts to the Signature field.
{% tabs %}
{% highlight js tabtitle="Standalone" %}
@@ -61,9 +60,9 @@ root.render();
{% endtabs %}
-### Initial Field property
+### Initial field property
-Insert the following code snippet to implement the functionality for using custom fonts in Initial field.
+Use the following code to apply custom fonts to the Initial field.
{% tabs %}
{% highlight js tabtitle="Standalone" %}
@@ -105,4 +104,4 @@ root.render();
{% endhighlight %}
{% endtabs %}
-By implementing this , you can use custom fonts in form field's signature in both `signature` and `initial` field
\ No newline at end of file
+By implementing this configuration, custom fonts can be used for both Signature and Initial form fields.
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer/react/how-to/custom-fonts.md b/Document-Processing/PDF/PDF-Viewer/react/how-to/custom-fonts.md
index efd872055..1cfdc2985 100644
--- a/Document-Processing/PDF/PDF-Viewer/react/how-to/custom-fonts.md
+++ b/Document-Processing/PDF/PDF-Viewer/react/how-to/custom-fonts.md
@@ -1,23 +1,28 @@
---
layout: post
-title: Add custom fonts to the PDF Viewer using the PDF document | Syncfusion
-description: Learn here all about how to add custom fonts using the PDF document in Syncfusion React Pdfviewer component of Syncfusion Essential JS 2 and more.
+title: Add custom fonts in React PDF Viewer | Syncfusion
+description: Learn how to add and load custom TTF fonts for documents displayed in the React PDF Viewer using the customFonts property.
control: PDF Viewer
platform: document-processing
documentation: ug
domainurl: ##DomainURL##
---
-# How to add custom fonts to the PDF viewer used in the PDF document
+# Add custom fonts in PDF Viewer
-To use custom fonts in the Syncfusion® PDF Viewer within your PDF document, you need to add the custom TTF font files to the resource URL directory and configure the viewer to load these fonts. You can specify the custom font names using the
-**customFonts** property, which accepts an array of font names.
+The React PDF Viewer supports loading, editing, and saving custom fonts in form fields such as text boxes, list boxes, and drop-downs by using the customFonts property. Add the required TTF files to the resource URL directory used by the viewer so they can be loaded at runtime and used in forms.
-The following steps are used to customize the selection border.
+## Integrating Custom Font Collections into Form Fields in PDF Viewer
-**Step 1:** Add the custom TTF font files to the resource URL path referenced in your application. For example, place the custom TTF files in the ej2-pdfviewer-lib folder, which will serve as the resource URL path.
+To ensure proper rendering and saving of form fields that use custom fonts, especially when the fonts are not installed on the system, place the TTF files in the resource URL path referenced by the viewer and specify their names through the customFonts property (string array). These fonts will then be available for loading, editing, and saving form fields in the PDF.
-**Step 2:** The following code snippet are how you can add custom fonts to the PDF viewer.
+To use custom fonts in the Syncfusion PDF Viewer, add the custom TTF files to the resource URL directory and configure the viewer to load them. Specify font file names using the `customFonts` property as an array of names.
+
+Steps to add custom fonts
+
+**Step 1:** Add custom TTF font files to the resource URL path referenced in the application. For example, place the TTF files in the ej2-pdfviewer-lib folder that serves as the resource URL path.
+
+**Step 2:** Use the following code to configure custom fonts in the PDF Viewer.
{% raw %}
@@ -33,4 +38,6 @@ The following steps are used to customize the selection border.
```
{% endraw %}
-By following these steps, you can successfully integrate and use custom fonts in your PDF documents displayed in the EJ2 PDF Viewer.
\ No newline at end of file
+These steps integrate custom fonts into PDF documents displayed in the PDF Viewer.
+
+> Note: If a form field (TextBox, ListBox, DropDown) using a custom font has text larger than the field’s bounds, the downloaded PDF may render incorrectly in browsers or third‑party viewers. It displays correctly in the Syncfusion PDF Viewer. To avoid this, use a font size that fits within the field or enlarge the field before saving/downloading.
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer/react/how-to/delete-annotation.md b/Document-Processing/PDF/PDF-Viewer/react/how-to/delete-annotation.md
index 8c33749bd..9b829fe8f 100644
--- a/Document-Processing/PDF/PDF-Viewer/react/how-to/delete-annotation.md
+++ b/Document-Processing/PDF/PDF-Viewer/react/how-to/delete-annotation.md
@@ -1,22 +1,22 @@
---
layout: post
-title: Delete annotation in React Pdfviewer component | Syncfusion
-description: Learn here all about Delete annotation in Syncfusion React Pdfviewer component of Syncfusion Essential JS 2 and more.
-control: Delete annotation
+title: Delete an annotation in React PDF Viewer | Syncfusion
+description: Learn how to delete a specific annotation in the React PDF Viewer using the deleteAnnotationById method.
+control: PDF Viewer
platform: document-processing
documentation: ug
domainurl: ##DomainURL##
---
-# Delete annotation in React Pdfviewer component
+# Delete an annotation in PDF Viewer
-The PDF Viewer library allows you to delete a specific annotation from a PDF document. Deleting a specific annotation can be done using the **deleteAnnotationById()** method. This method is used to delete a specific annotation using its id.
+Use the `deleteAnnotationById()` method to remove a specific annotation from a PDF document by its id.
-The following steps are used to delete a specific annotation from PDF Document.
+Steps to delete a specific annotation
-**Step 1:** Follow the steps provided in the [link](https://help.syncfusion.com/document-processing/pdf/pdf-viewer/angular/getting-started/) to create a simple PDF Viewer sample.
+**Step 1:** Follow the steps provided in the [link](https://help.syncfusion.com/document-processing/pdf/pdf-viewer/react/getting-started/) to create a simple PDF Viewer sample.
-**Step 2:** Use the following code snippet to delete a specific annotation using `deleteAnnotationById()` method.
+**Step 2:** Use the following code to delete a specific annotation using `deleteAnnotationById()`.
```
@@ -30,4 +30,5 @@ The following steps are used to delete a specific annotation from PDF Document.
```
-Find the sample [how to delete a specific annotation using deleteAnnotationById](https://stackblitz.com/edit/react-svdb9y?file=src%2Findex.js)
\ No newline at end of file
+Sample: How to delete a specific annotation using deleteAnnotationById
+(https://stackblitz.com/edit/react-svdb9y?file=src%2Findex.js)
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer/react/how-to/download-start-event.md b/Document-Processing/PDF/PDF-Viewer/react/how-to/download-start-event.md
index 1f69e5f00..193765a4c 100644
--- a/Document-Processing/PDF/PDF-Viewer/react/how-to/download-start-event.md
+++ b/Document-Processing/PDF/PDF-Viewer/react/how-to/download-start-event.md
@@ -1,20 +1,16 @@
---
layout: post
-title: Controlling File Downloadsl in React Pdfviewer component | Syncfusion
-description: Learn here how to Controlling File Downloads in Syncfusion React Pdfviewer component of Syncfusion Essential JS 2 and more.
+title: Control file downloads in React PDF Viewer | Syncfusion
+description: Learn how to intercept and control file downloads in the React PDF Viewer using the downloadStart event.
control: Open thumbnail
platform: document-processing
documentation: ug
domainurl: ##DomainURL##
---
-# Controlling File Downloads in Syncfusion® PDF Viewer
+# Control file downloads in PDF Viewer
-In the Syncfusion® PDF Viewer, we've introduced a new feature that enables you to manage file downloads more effectively. This feature allows you to intercept and potentially skip the download process of a PDF document, providing enhanced control over user interactions within your application.
-
-### Using the downloadStart Event
-
-The key to this functionality lies in the downloadStart event, which offers a mechanism to intercept the initiation of the download process. Within the event handler, you can set the cancel argument to true to programmatically prevent the download action from proceeding.
+Use the downloadStart event to intercept the start of a download and optionally cancel it. In the event handler, set `args.cancel = true` to prevent the download.
{% tabs %}
{% highlight js tabtitle="Standalone" %}
@@ -30,7 +26,7 @@ let pdfviewer;
function App() {
function downloadStart(args){
- // Your custom logic here
+ // Custom logic
args.cancel = true; // Prevent download action
};
return (
@@ -40,7 +36,7 @@ function App() {
ref={(scope) => { pdfviewer = scope; }}
id="container"
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.2.2/dist/ej2-pdfviewer-lib"
downloadStart={downloadStart}
style={{ 'height': '640px' }}>
);
{% endhighlight %}
{% endtabs %}
-By default, the cancel argument is set to `false`, indicating that the download action will proceed unless explicitly canceled by your custom logic.
+By default, `args.cancel` is `false`, so the download proceeds unless explicitly canceled.
-### Enhanced Flexibility
+### Flexibility
-By leveraging the `downloadStart` event and its cancel argument, you gain the ability to implement custom logic to control and potentially prevent download actions based on your application's specific requirements. This enhancement provides greater flexibility in managing user interactions with PDF documents, empowering you to tailor the experience according to your needs.
\ No newline at end of file
+Leverage the [downloadStart](https://ej2.syncfusion.com/react/documentation/api/pdfviewer/#downloadstart) event to apply custom rules for allowing or preventing downloads based on application needs.
diff --git a/Document-Processing/PDF/PDF-Viewer/react/how-to/enable-local-storage.md b/Document-Processing/PDF/PDF-Viewer/react/how-to/enable-local-storage.md
index ff2af8b02..b21781a88 100644
--- a/Document-Processing/PDF/PDF-Viewer/react/how-to/enable-local-storage.md
+++ b/Document-Processing/PDF/PDF-Viewer/react/how-to/enable-local-storage.md
@@ -1,20 +1,20 @@
---
layout: post
-title: Managing Local Storage in React Pdfviewer component | Syncfusion
-description: Learn how to manage local storage in Syncfusion React Pdfviewer component of Syncfusion Essential JS 2 and more.
+title: Manage local storage in React PDF Viewer | Syncfusion
+description: Learn how to control session-specific data storage in the React PDF Viewer using the enableLocalStorage property.
control: PDF Viewer
platform: document-processing
documentation: ug
domainurl: ##DomainURL##
---
-# Managing Local Storage in Syncfusion® PDF Viewer
+# Manage local storage in PDF Viewer
-The Syncfusion® PDF Viewer provides the `enableLocalStorage` property, which allows you to control how session-specific data is stored. You can choose to store this data in an internal collection or rely on the default session storage.
+Use the `enableLocalStorage` property to control whether session-specific data is stored in session storage (default) or an internal in-memory collection.
-### Using the enableLocalStorage Property
+### Use enableLocalStorage
-Set the `enableLocalStorage` property to manage whether the PDF Viewer uses session storage (default) or an internal collection. When set to `true`, session-specific data is kept in memory. Otherwise, session storage is used.
+Set `enableLocalStorage` to manage storage behavior. When `true`, data is kept in memory; otherwise, session storage is used.
{% tabs %}
{% highlight js tabtitle="Server-Backed" %}
@@ -48,14 +48,10 @@ root.render();
{% endhighlight %}
{% endtabs %}
-### Impact and Considerations
+### Considerations
-- **Increased Memory Usage**: Setting `enableLocalStorage` to `true` can increase memory usage, particularly with larger documents or those containing many interactive elements, such as form fields and annotations.
-- **Avoiding Memory Leaks**: It is crucial to properly dispose of the PDF Viewer instance when it's no longer needed to prevent memory leaks, especially when using in-memory storage.
-- **Default Behavior**: By default, this property is set to `false`, meaning the session storage mechanism is utilized unless explicitly changed.
-
-### Enhanced Control
-
-Leveraging the `enableLocalStorage` property provides greater flexibility in managing how data is stored during a session, allowing you to optimize performance and storage based on your application’s specific requirements.
+- Memory usage can increase when using in-memory storage with large documents or many interactive elements.
+- Dispose of the PDF Viewer instance when no longer needed to avoid memory leaks.
+- Default: `enableLocalStorage` is `false`, so session storage is used unless changed.
[View sample in GitHub](https://github.com/SyncfusionExamples/react-pdf-viewer-examples/tree/master/How%20to/)
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer/react/how-to/enable-text-selection.md b/Document-Processing/PDF/PDF-Viewer/react/how-to/enable-text-selection.md
index bfe198e52..88618f184 100644
--- a/Document-Processing/PDF/PDF-Viewer/react/how-to/enable-text-selection.md
+++ b/Document-Processing/PDF/PDF-Viewer/react/how-to/enable-text-selection.md
@@ -1,20 +1,20 @@
---
layout: post
-title: Enable Text Selection in React PdfViewer component | Syncfusion
-description: Learn how to Enable Text Selection in Syncfusion React PdfViewer component of Syncfusion Essential JS 2 and more.
+title: Enable or disable text selection in React PDF Viewer | Syncfusion
+description: Learn how to enable or disable text selection in the React PDF Viewer using the enableTextSelection property.
control: PDF Viewer
platform: document-processing
documentation: ug
domainurl: ##DomainURL##
---
-# Enable or Disable Text Selection in Syncfusion PDF Viewer
+# Enable or disable text selection in PDF Viewer
-The Syncfusion PDF Viewer provides the `enableTextSelection` property, which allows you to control whether users can select text within the displayed PDF document. This feature can be toggled programmatically during runtime.
+Use the `enableTextSelection` property to control whether users can select text in the displayed PDF. This setting can be configured at initialization and toggled at runtime.
-## Configure Text Selection on Initialization
+## Configure on initialization
-You can set the initial text selection behavior when initializing the PDF Viewer control by configuring the `enableTextSelection` property.
+Set initial behavior when instantiating the PDF Viewer.
{% tabs %}
{% highlight js tabtitle="Standalone" %}
@@ -33,7 +33,7 @@ export function App() {
@@ -51,9 +51,9 @@ root.render();
{% endhighlight %}
{% endtabs %}
-## Toggle Text Selection Dynamically
+## Toggle dynamically
-You can change the text selection behavior at runtime using buttons, menu options, or other UI elements. The following example demonstrates how to toggle text selection with button clicks:
+Change the behavior at runtime using buttons or other UI.
{% tabs %}
{% highlight js tabtitle="Standalone" %}
@@ -97,7 +97,7 @@ export class App extends React.Component {
id="pdfViewer"
ref={this.pdfViewer}
documentPath="https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf"
- resourceUrl="https://cdn.syncfusion.com/ej2/28.1.33/dist/ej2-pdfviewer-lib"
+ resourceUrl="https://cdn.syncfusion.com/ej2/31.2.2/dist/ej2-pdfviewer-lib"
enableTextSelection={false}
style={{ height: '640px' }}
>
@@ -116,14 +116,14 @@ root.render();
{% endhighlight %}
{% endtabs %}
-## Use Cases and Considerations
+## Use cases and considerations
-- **Document Protection**: Disabling text selection helps prevent unauthorized copying of sensitive content.
-- **Read-only Documents**: In scenarios where documents are meant for viewing only, disabling text selection can provide a cleaner user experience.
-- **Interactive Applications**: Toggle text selection based on user roles or document states in complex applications.
+- Document protection: Disable text selection to help prevent copying sensitive content.
+- Read-only documents: Provide a cleaner viewing experience by preventing selection.
+- Interactive apps: Toggle selection based on user roles or document states.
-## Default Behavior
+## Default behavior
-By default, text selection is enabled in the PDF Viewer. Set the `enableTextSelection` property to `false` explicitly if you want to disable this functionality.
+Text selection is enabled by default. Set `enableTextSelection` to `false` to disable it.
-[View Sample in GitHub](https://github.com/SyncfusionExamples/react-pdf-viewer-examples/tree/master/How%20to)
\ No newline at end of file
+[View sample in GitHub](https://github.com/SyncfusionExamples/react-pdf-viewer-examples/tree/master/How%20to)
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer/react/how-to/export-as-image.md b/Document-Processing/PDF/PDF-Viewer/react/how-to/export-as-image.md
index 134bf387c..d37974077 100644
--- a/Document-Processing/PDF/PDF-Viewer/react/how-to/export-as-image.md
+++ b/Document-Processing/PDF/PDF-Viewer/react/how-to/export-as-image.md
@@ -1,22 +1,22 @@
---
layout: post
-title: Export As Image in React PDF Viewer component | Syncfusion
-description: Learn here all about Export As Image in Syncfusion React PDF Viewer component of Syncfusion Essential JS 2 and more.
+title: Export pages as images in React PDF Viewer | Syncfusion
+description: Learn how to export pages as Base64-encoded images in the React PDF Viewer using exportAsImage and exportAsImages.
control: PDF Viewer
platform: document-processing
documentation: ug
domainurl: ##DomainURL##
---
-# Export As Image in React Pdfviewer component
+# Export pages as images in PDF Viewer
-The PDF Viewer library allows you to export specified pages as a Base64-encoded image string using the **exportAsImage()** method and exporting a range of pages as Base64-encoded image strings using the **exportAsImages()** method.
+Export a single page as a Base64-encoded image using `exportAsImage()` or export a range of pages using `exportAsImages()`.
-The following steps are used to exportAsImage.
+Steps to export pages as images
**Step 1:** Follow the steps provided in the [link](https://help.syncfusion.com/document-processing/pdf/pdf-viewer/react/getting-started/) to create a simple PDF Viewer sample.
-**Step 2:** The following code snippet to implement the functionality for exporting a specified page as a Base64-encoded image string or exporting a range of pages as Base64-encoded image strings.
+**Step 2:** Use the following code to export a specified page as a Base64-encoded image or a range of pages as Base64-encoded images.
```
@@ -33,7 +33,7 @@ exportAsImage() {
});
}
```
-Similarly, to code snippet for exports the specified page as a Base64-encoded image string, allowing for custom image size:
+Export a specified page as a Base64-encoded image with a custom size:
```
@@ -51,7 +51,7 @@ exportAsImageWithSize() {
});
}
```
-Similarly, to code snippet for exports the range of pages as Base64-encoded image strings:
+Export a range of pages as Base64-encoded image strings:
```
@@ -68,7 +68,7 @@ exportAsImages() {
});
}
```
-Similarly, to code snippet for exports the range of pages as Base64-encoded image strings, allowing for custom image size:
+Export a range of pages as Base64-encoded images with a custom size:
```
@@ -87,4 +87,4 @@ exportAsImageWithSize() {
}
```
-By following these steps, you can successfully integrate and use the export as image API in the EJ2 PDF Viewer.
\ No newline at end of file
+These APIs enable exporting viewer pages as images for further processing or download.
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer/react/how-to/extract-text-completed.md b/Document-Processing/PDF/PDF-Viewer/react/how-to/extract-text-completed.md
index d88fb52a0..1d281650f 100644
--- a/Document-Processing/PDF/PDF-Viewer/react/how-to/extract-text-completed.md
+++ b/Document-Processing/PDF/PDF-Viewer/react/how-to/extract-text-completed.md
@@ -1,18 +1,17 @@
---
layout: post
-title: extractTextCompleted Event in React Pdfviewer component | Syncfusion
-description: Learn here all about extractTextCompleted Event in Syncfusion React Pdfviewer component of Syncfusion Essential JS 2 and more.
-control: extractTextCompleted
+title: extractTextCompleted event in React PDF Viewer | Syncfusion
+description: Learn how to use the extractTextCompleted event and isExtractText property in the Syncfusion React PDF Viewer to extract text and bounds.
+control: PDF Viewer
platform: document-processing
documentation: ug
-domainurl: ##DomainURL##
---
-# Extract text using extractTextCompleted Event in React Pdfviewer component
+# Use extractTextCompleted to extract text in React PDF Viewer
-The PDF Viewer library allows you to extract the text from a page along with the bounds. Text extraction can be done using the [**isExtractText**](https://ej2.syncfusion.com/react/documentation/api/pdfviewer/#isextracttext) property and [**extractTextCompleted**](https://ej2.syncfusion.com/react/documentation/api/pdfviewer/#extracttextcompleted) event.
+Use the [isExtractText](https://ej2.syncfusion.com/react/documentation/api/pdfviewer/#isextracttext) property and the [extractTextCompleted](https://ej2.syncfusion.com/react/documentation/api/pdfviewer/#extracttextcompleted) event to extract page text along with bounds.
-Here is an example of how you can use the isExtractText property and extractTextCompleted event:
+The following example shows how to enable text extraction and handle the completion event:
{% raw %}
@@ -40,4 +39,4 @@ function extractTextCompleted(args){
```
{% endraw %}
-Find the sample [how to Extract Text](https://stackblitz.com/edit/react-ijmx6c?file=src%2Findex.js)
\ No newline at end of file
+Find the sample: [How to extract text](https://stackblitz.com/edit/react-ijmx6c?file=src%2Findex.js)
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer/react/how-to/extract-text-option.md b/Document-Processing/PDF/PDF-Viewer/react/how-to/extract-text-option.md
index ab93fc1f5..3a86da98a 100644
--- a/Document-Processing/PDF/PDF-Viewer/react/how-to/extract-text-option.md
+++ b/Document-Processing/PDF/PDF-Viewer/react/how-to/extract-text-option.md
@@ -1,16 +1,15 @@
---
layout: post
-title: Extract text Option in React Pdfviewer component | Syncfusion
-description: Learn here all about Extract text Option in Syncfusion React Pdfviewer component of Syncfusion Essential JS 2 and more.
-control: Extract text Option
+title: Configure extractTextOption in React PDF Viewer | Syncfusion
+description: Learn how to use the extractTextOption property in the Syncfusion React PDF Viewer to control text extraction and memory usage.
+control: PDF Viewer
platform: document-processing
documentation: ug
-domainurl: ##DomainURL##
---
-# Extract Text Option in Syncfusion React Pdfviewer Control
+# Configure extractTextOption in React PDF Viewer
-The `extractTextOption` property in the Syncfusion PdfViewer control allows you to optimize memory usage by controlling the level of text extraction. This setting influences the data returned in the `extractTextCompleted` event. You can select one of the following options to determine the kind of text extraction and layout information to retrieve.
+The `extractTextOption` property controls how text is extracted and optimizes memory usage. It also affects the data returned in the `extractTextCompleted` event. Choose one of the following options to determine the text and layout data to retrieve.
### Available Options:
@@ -50,7 +49,7 @@ export function App() {
@@ -77,6 +76,6 @@ root.render();
**extractTextOption.None:** This option does not extract or return any text or layout information. It is used to optimize memory usage when no text extraction is necessary. This setting is only relevant for the `extractTextCompleted` event and cannot be used with the `ExtractText` method.
-N> Text Search: When using the `ExtractTextOption.TextOnly` and `extractTextOption.None` option, the findText method will not work. Instead, you should use the findTextAsync method to perform text searches asynchronously.
+N> Text search: When using the `extractTextOption.TextOnly` or `extractTextOption.None` options, the `findText` method is unavailable. Use the `findTextAsync` method to perform text searches asynchronously.
[View Sample in GitHub](https://github.com/SyncfusionExamples/react-pdf-viewer-examples/tree/master/How%20to)
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer/react/how-to/extract-text.md b/Document-Processing/PDF/PDF-Viewer/react/how-to/extract-text.md
index abedeeacf..3e6914809 100644
--- a/Document-Processing/PDF/PDF-Viewer/react/how-to/extract-text.md
+++ b/Document-Processing/PDF/PDF-Viewer/react/how-to/extract-text.md
@@ -1,39 +1,39 @@
---
layout: post
-title: Extract Text in React Pdfviewer component | Syncfusion
-description: Learn about the Extract Text in Syncfusion React Pdfviewer component of Syncfusion Essential JS 2 and more.
-control: Extract Text
+title: Use extractText in React PDF Viewer | Syncfusion
+description: Learn how to use the extractText method in the Syncfusion React PDF Viewer to extract text and bounds from one or more pages.
+control: PDF Viewer
platform: document-processing
documentation: ug
-domainurl: ##DomainURL##
---
-# Extract Text Method in Syncfusion PdfViewer Control
+# Extract text using extractText in React PDF Viewer
-The `extractText` method of the Syncfusion PdfViewer control enables text extraction from one or more pages in a PDF document. This method is useful for retrieving the text content along with its associated data, such as the bounds of each text element.
+The `extractText` method extracts text from one or more pages and can return plain text or text with bounds for each element.
-### extractText Method
-The extractText method retrieves text data from the specified page(s) of a PDF document. It can extract text from one page, a range of pages, or even provide detailed text data, depending on the options specified.
+### extractText method
+Retrieves text data from one page or a range of pages based on the specified options.
#### Parameters:
**startIndex:** The starting page index for text extraction (0-based index).
-**endIndex Or isOptions:** This can either be the ending page index for the text extraction (for extracting from multiple pages) or an option specifying text extraction criteria for a single page.
+**endIndex or isOptions:** Either the ending page index (for multiple pages) or an option specifying extraction criteria for a single page.
**options (optional):** Specifies additional options, such as extracting plain text `TextOnly` or more detailed text data `TextAndBounds`. You can specify various options for text extraction. These options determine whether you want to extract plain text, text with bounds, or detailed text data.
-***TextOnly:*** Extracts only the plain text content without bounds or additional information.
-
-***TextAndBounds:*** Extracts text content along with its bounds (coordinates) within the PDF.
+- TextOnly: Extracts only plain text without bounds.
+- TextAndBounds: Extracts text with bounds (coordinates).
#### Returns:
-The method returns a Promise that resolves to an object containing two properties:
+Returns a Promise with:
+- textData: An array of TextDataSettingsModel with details including bounds and page text.
+- pageText: A concatenated string of plain text from the specified page(s).
**textData:** An array of TextDataSettingsModel objects, each representing the details of the extracted text (including bounds, page text, etc.).
**pageText:** A concatenated string of plain text extracted from the specified page(s).
-### Usage of extractText in Syncfusion PdfViewer Control
+### Usage of extractText in Syncfusion PDF Viewer Control
Here is an example that demonstrates how to use the extractText method along with event handling:
```html
@@ -79,7 +79,7 @@ export function App() {
);
{% endhighlight %}
{% endtabs %}
-#### Explanation:
-**Single Page Extraction:** The first `extractText` call extracts text from page 1 (`startIndex = 1`), using the 'TextOnly' option for plain text extraction.
-
-**Multiple Pages Extraction:** The second extractText call extracts text from pages 0 through 2 (`startIndex = 0, endIndex = 2`), using the `TextOnly` option for plain text extraction.
+#### Explanation
+- Single page: Extracts text from page 1 (`startIndex = 1`) using `TextOnly`.
+- Multiple pages: Extracts text from pages 0–2 (`startIndex = 0, endIndex = 2`) using `TextOnly`.
[View Sample in GitHub](https://github.com/SyncfusionExamples/react-pdf-viewer-examples/tree/master/How%20to)
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer/react/how-to/find-text-async.md b/Document-Processing/PDF/PDF-Viewer/react/how-to/find-text-async.md
index e54509e9c..55c7a8518 100644
--- a/Document-Processing/PDF/PDF-Viewer/react/how-to/find-text-async.md
+++ b/Document-Processing/PDF/PDF-Viewer/react/how-to/find-text-async.md
@@ -1,18 +1,17 @@
---
layout: post
-title: Find Text Async in React Pdfviewer component | Syncfusion
-description: Learn about the `findTextAsync` in Syncfusion React Pdfviewer component of Syncfusion Essential JS 2 and more.
-control: Find Text Async
+title: Use findTextAsync in React PDF Viewer | Syncfusion
+description: Learn how to search text asynchronously with findTextAsync in the Syncfusion React PDF Viewer and retrieve match bounds.
+control: PDF Viewer
platform: document-processing
documentation: ug
-domainurl: ##DomainURL##
---
-# Find Text using findTextAsync Method in Syncfusion React PdfViewer Control
+# Find text with findTextAsync in React PDF Viewer
-The findTextAsync method in the Syncfusion PdfViewer control allows you to search for specific text or an array of strings asynchronously within a PDF document. The method returns the bounding rectangles for each occurrence of the search term, allowing you to find and work with text positions in the document.
+The `findTextAsync` method searches for a string or array of strings asynchronously and returns bounding rectangles for each match. Use it to locate text positions across the document or on a specific page.
-Here is an example of how you can use the **findTextAsync** method:
+Here is an example of how to use `findTextAsync`:
```html
@@ -55,7 +54,7 @@ export function App() {
);
{% endhighlight %}
{% endtabs %}
-### Description:
+### Description
The `findTextAsync` method is designed for performing an asynchronous text search within a PDF document. You can use it to search for a single string or multiple strings, with the ability to control case sensitivity. By default, the search is applied to all pages of the document. However, you can adjust this behavior by specifying the page number (pageIndex), which allows you to search only a specific page if needed.
-### Parameters:
+### Parameters
-**text (string | string[]):**
+**text (string | string[]):** The text or array of texts to search for in the document.
-The text or an array of texts you want to search for in the document.
+**matchCase (boolean):** Whether the search is case-sensitive. `true` matches exact case; `false` ignores case.
-**matchCase (boolean):**
+**pageIndex (optional, number):** Zero-based page index to search. If omitted, searches all pages.
-Indicates whether the search should be case-sensitive.
-When set to true, the search will match the exact case.
-When set to false, the search will ignore case differences.
-
-**pageIndex (optional, number):**
-
-Specifies the page number (zero-based index) to search within the document.
-If not provided, the search will be performed across all pages in the document.
-For example, passing 0 would search only the first page of the document.
-
-### Example Workflow:
+### Example workflow
**findTextAsync('pdf', false):**
This will search for the term "pdf" in a case-insensitive manner across all pages of the document.
diff --git a/Document-Processing/PDF/PDF-Viewer/react/how-to/get-base64.md b/Document-Processing/PDF/PDF-Viewer/react/how-to/get-base64.md
index 38a4538ee..d3b39e1a2 100644
--- a/Document-Processing/PDF/PDF-Viewer/react/how-to/get-base64.md
+++ b/Document-Processing/PDF/PDF-Viewer/react/how-to/get-base64.md
@@ -1,22 +1,21 @@
---
layout: post
-title: Retrieving Base64 Value in React Pdfviewer component | Syncfusion
-description: Learn here all about how to retrieve the Base64 value in Syncfusion React Pdfviewer component of Syncfusion Essential JS 2 and more.
-control: Toolbar
+title: Get Base64 from loaded PDF in React PDF Viewer | Syncfusion
+description: Learn how to retrieve the Base64 value of a loaded PDF in the Syncfusion React PDF Viewer using saveAsBlob and FileReader.
+control: PDF Viewer
platform: document-processing
documentation: ug
-domainurl: ##DomainURL##
---
-# Retrieving Base64 Value from a PDF in PDF Viewer
+# Get Base64 value from a loaded PDF
### Overview
-This guide demonstrates how to fetch the base64-encoded value of a PDF document loaded in the Syncfusion® PDF Viewer using React. This is useful for sending the PDF as a base64 string or processing it in the front end.
+This guide shows how to get the base64-encoded value of a PDF loaded in the Syncfusion PDF Viewer using React. This is useful for sending the PDF as a base64 string or processing it on the client.
### How to Retrieve Base64 Value
-**Step 1:** Follow the steps provided in the [link](https://help.syncfusion.com/document-processing/pdf/pdf-viewer/react/getting-started) to create a simple PDF Viewer sample.
+**Step 1:** Follow the steps in the [Get started with React PDF Viewer](https://help.syncfusion.com/document-processing/pdf/pdf-viewer/react/getting-started) guide to create a sample.
**Step 2:** Set Up Your React Component
@@ -178,6 +177,6 @@ root.render();
### Conclusion
-By implementing these steps in your React application, you can convert a PDF document loaded in the Syncfusion® PDF Viewer to a base64 string upon button click. This facilitates the manipulation or transfer of PDF data as needed.
+By following these steps, a loaded PDF can be converted to a Base64 string on button click for transfer or processing.
[View sample in GitHub](https://github.com/SyncfusionExamples/react-pdf-viewer-examples/tree/master/How%20to)
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer/react/how-to/getPageInfo.md b/Document-Processing/PDF/PDF-Viewer/react/how-to/getPageInfo.md
index 6fee041e2..18734eaa7 100644
--- a/Document-Processing/PDF/PDF-Viewer/react/how-to/getPageInfo.md
+++ b/Document-Processing/PDF/PDF-Viewer/react/how-to/getPageInfo.md
@@ -1,22 +1,22 @@
---
layout: post
-title: Get Page Info in React PDF Viewer component | Syncfusion
-description: Learn here all about Get Page Info in Syncfusion React PDF Viewer component of Syncfusion Essential JS 2 and more.
+title: Get page info in React PDF Viewer | Syncfusion
+description: Learn how to retrieve page height, width, and rotation using getPageInfo in the Syncfusion React PDF Viewer.
control: PDF Viewer
platform: document-processing
documentation: ug
domainurl: ##DomainURL##
---
-# Get Page Info in React Pdfviewer component
+# Get page info in React PDF Viewer
-The PDF Viewer library allows you to retrieves the information of a specified page in the viewer using the **getPageInfo()** method.This provides Essential® information such as the height, width and rotation.
+Use the **getPageInfo()** method to retrieve information for a specified page, including height, width, and rotation.
-The following steps are used to getPageInfo.
+The following steps show how to use `getPageInfo`.
-**Step 1:** Follow the steps provided in the [link](https://help.syncfusion.com/document-processing/pdf/pdf-viewer/react/getting-started/) to create a simple PDF Viewer sample.
+**Step 1:** Follow the steps in the [Get started with React PDF Viewer](https://help.syncfusion.com/document-processing/pdf/pdf-viewer/react/getting-started/) guide to create a sample.
-**Step 2:** The following code snippet to implement the functionality for retrieving height, width and rotation of a specified page in the viewer.
+**Step 2:** Use the following code to get the height, width, and rotation for a specified page.
{% tabs %}
{% highlight js tabtitle="Standalone" %}
@@ -103,6 +103,6 @@ root.render();
{% endhighlight %}
{% endtabs %}
-By following these steps, you can successfully integrate and use the get page info API in the EJ2 PDF Viewer.
+By following these steps, the page info API can be integrated and used in the EJ2 PDF Viewer.
[View Sample in GitHub](https://github.com/SyncfusionExamples/react-pdf-viewer-examples/tree/master/How%20to)
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer/react/how-to/import-export-annotation.md b/Document-Processing/PDF/PDF-Viewer/react/how-to/import-export-annotation.md
index 42f0b4201..ecdb215d1 100644
--- a/Document-Processing/PDF/PDF-Viewer/react/how-to/import-export-annotation.md
+++ b/Document-Processing/PDF/PDF-Viewer/react/how-to/import-export-annotation.md
@@ -1,22 +1,21 @@
---
layout: post
-title: Import export annotation in React Pdfviewer component | Syncfusion
-description: Learn here all about Import export annotation in Syncfusion React Pdfviewer component of Syncfusion Essential JS 2 and more.
-control: Import export annotation object
+title: Import and export annotations in React PDF Viewer | Syncfusion
+description: Learn how to import and export annotations as objects, JSON, or XFDF in the Syncfusion React PDF Viewer.
+control: PDF Viewer
platform: document-processing
documentation: ug
-domainurl: ##DomainURL##
---
-# Import export annotation in React Pdfviewer component
+# Import and export annotations in React PDF Viewer
-The PDF Viewer library allows you to import annotations from objects or streams instead of loading it as a file. To import such annotation objects, the PDF Viewer control must export the PDF annotations as objects using the [**ExportAnnotationsAsObject()**](https://ej2.syncfusion.com/react/documentation/api/pdfviewer/#exportannotationsasobject) method. Only the annotations objects that are exported from the PDF Viewer can be imported.
+Import annotations from objects or streams instead of files. To import such objects, first export annotations as objects using the [exportAnnotationsAsObject()](https://ej2.syncfusion.com/react/documentation/api/pdfviewer/#exportannotationsasobject) method. Only objects exported from the PDF Viewer can be imported.
-The following steps are used to import and export annotations in various formats such as objects, JSON, and XFDF.
+Use the following steps to import and export annotations as objects, JSON, or XFDF.
**Step 1:** Follow the steps provided in the [link](https://help.syncfusion.com/document-processing/pdf/pdf-viewer/react/getting-started/) to create a simple PDF Viewer sample.
-**Step 2:** Use the following code snippet to perform import and export annotation.
+**Step 2:** Use the following code to perform import and export operations.
```
diff --git a/Document-Processing/PDF/PDF-Viewer/react/how-to/load-document.md b/Document-Processing/PDF/PDF-Viewer/react/how-to/load-document.md
index 19dc78c79..e02256a27 100644
--- a/Document-Processing/PDF/PDF-Viewer/react/how-to/load-document.md
+++ b/Document-Processing/PDF/PDF-Viewer/react/how-to/load-document.md
@@ -1,28 +1,27 @@
---
layout: post
-title: Load document in React Pdfviewer component | Syncfusion
-description: Learn here all about Load document in Syncfusion React Pdfviewer component of Syncfusion Essential JS 2 and more.
-control: Load document
+title: Load documents dynamically in React PDF Viewer | Syncfusion
+description: Learn how to load or switch PDF documents dynamically in the Syncfusion React PDF Viewer using the load method.
+control: PDF Viewer
platform: document-processing
documentation: ug
-domainurl: ##DomainURL##
---
-# Load document in React Pdfviewer component
+# Load documents dynamically in React PDF Viewer
-The PDF Viewer library allows to switch or load PDF documents dynamically after the initial load operation. To achieve this, load the PDF document as a base64 string or the file name into the PDF Viewer control using the [**Load()**](https://ej2.syncfusion.com/react/documentation/api/pdfviewer/#load) method dynamically.
+Load or switch PDF documents dynamically after the initial load. Use the [load](https://ej2.syncfusion.com/react/documentation/api/pdfviewer/#load) method to load a PDF by Base64 string or file name.
The following steps are used to load the PDF document dynamically.
-**Step 1:** Follow the steps provided in the [link](https://help.syncfusion.com/document-processing/pdf/pdf-viewer/react/getting-started/) to create a simple PDF Viewer sample.
+**Step 1:** Follow the steps in the [Get started with React PDF Viewer](https://help.syncfusion.com/document-processing/pdf/pdf-viewer/react/getting-started/) guide to create a sample.
-**Step 2:** Use the following code snippet to load the PDF document using a base64 string.
+**Step 2:** Use the following code to load a PDF using a Base64 string.
```
```
-**Step 3:** Use the following code snippet to the load PDF document the using document name.
+**Step 3:** Use the following code to load a PDF by document name.
```
```
-Similarly, to close the Bookmark pane programmatically, employ the following code snippet:
+To close the Bookmark pane programmatically, use the following code:
```
diff --git a/Document-Processing/PDF/PDF-Viewer/react/how-to/open-thumbnail.md b/Document-Processing/PDF/PDF-Viewer/react/how-to/open-thumbnail.md
index e913cc788..f0afe2d2b 100644
--- a/Document-Processing/PDF/PDF-Viewer/react/how-to/open-thumbnail.md
+++ b/Document-Processing/PDF/PDF-Viewer/react/how-to/open-thumbnail.md
@@ -1,20 +1,19 @@
---
layout: post
-title: Open thumbnail in React Pdfviewer component | Syncfusion
-description: Learn here all about Open thumbnail in Syncfusion React Pdfviewer component of Syncfusion Essential JS 2 and more.
-control: Open thumbnail
+title: Open the thumbnail pane programmatically | Syncfusion
+description: Learn how to open the thumbnail pane programmatically in the Syncfusion React PDF Viewer using openThumbnailPane.
+control: PDF Viewer
platform: document-processing
documentation: ug
-domainurl: ##DomainURL##
---
-# Open thumbnail in React Pdfviewer component
+# Open the thumbnail pane programmatically
-The PDF Viewer library allows you to open the thumbnail pane programmatically using the [**openThumbnailPane()**](https://ej2.syncfusion.com/react/documentation/api/pdfviewer/thumbnailView/#openthumbnailpane) method.
+Open the thumbnail pane programmatically using the [openThumbnailPane()](https://ej2.syncfusion.com/react/documentation/api/pdfviewer/thumbnailView/#openthumbnailpane) method.
The following steps are used to open the thumbnail.
-**Step 1:** Follow the steps provided in the [link](https://help.syncfusion.com/document-processing/pdf/pdf-viewer/react/getting-started/) to create a simple PDF Viewer sample.
+**Step 1:** Follow the steps in the [Get started with React PDF Viewer](https://help.syncfusion.com/react/document-processing/pdf/pdf-viewer/react/getting-started/) guide to create a sample.
**Step 2:** Use the following code snippet to open thumbnail.
@@ -30,4 +29,4 @@ The following steps are used to open the thumbnail.
```
-Find the sample [how to open the thumbnail pane programmatically](https://stackblitz.com/edit/react-8rp7h2?file=public%2Findex.html)
\ No newline at end of file
+Find the sample: [Open the thumbnail pane programmatically](https://stackblitz.com/edit/react-8rp7h2?file=public%2Findex.html)
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer/react/how-to/pagerenderstarted-pagerendercompleted-event.md b/Document-Processing/PDF/PDF-Viewer/react/how-to/pagerenderstarted-pagerendercompleted-event.md
index bc187bf04..70f4b0817 100644
--- a/Document-Processing/PDF/PDF-Viewer/react/how-to/pagerenderstarted-pagerendercompleted-event.md
+++ b/Document-Processing/PDF/PDF-Viewer/react/how-to/pagerenderstarted-pagerendercompleted-event.md
@@ -1,24 +1,23 @@
---
layout: post
-title: Rendering event in React PDF Viewer component | Syncfusion
-description: Learn here all about pageRenderInitiate and pageRenderComplete event in Syncfusion React PDF Viewer component of Syncfusion Essential JS 2 and more.
+title: Handle pageRenderInitiate and pageRenderComplete | Syncfusion
+description: Learn how to use the pageRenderInitiate and pageRenderComplete events in the Syncfusion React PDF Viewer during page rendering.
control: PDF Viewer
platform: document-processing
documentation: ug
-domainurl: ##DomainURL##
---
-# PageRenderInitiate and PageRenderComplete event
+# Handle pageRenderInitiate and pageRenderComplete events
-In Syncfusion® PDF Viewer, `pageRenderInitiate` and `pageRenderComplete` actions are events that occur during the rendering process of PDF documents.
+In the Syncfusion PDF Viewer, the [pageRenderInitiate](https://ej2.syncfusion.com/react/documentation/api/pdfviewer/#pagerenderinitiate) and [pageRenderComplete](https://ej2.syncfusion.com/react/documentation/api/pdfviewer/#pagerendercomplete) events occur during page rendering.
-**PageRenderInitiate**
+**pageRenderInitiate**
-The `pageRenderInitiate` event is triggered when the rendering of a page in the PDF document begins. This event provides developers with an opportunity to perform any necessary initialization or setup before the rendering of the page content commences. It can be utilized to prepare resources, set up rendering parameters, or execute any other actions required before the page rendering process starts.
+Triggered when page rendering begins. Use this event to initialize or set up resources before rendering starts.
**PageRenderComplete**
-The `pageRenderComplete` event is triggered when the rendering of a page in the PDF document is completed. This event allows developers to perform cleanup tasks or finalize rendering-related processes after the rendering of the page content finishes. It can be used to release resources, finalize rendering settings, or handle any post-rendering tasks necessary for the application.
+Triggered when page rendering completes. Use this event to perform cleanup or finalize rendering-related tasks.
{% tabs %}
{% highlight js tabtitle="Standalone" %}
@@ -50,7 +49,7 @@ function App() {
ref={(scope) => { pdfviewer = scope; }}
id="container"
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.2.2/dist/ej2-pdfviewer-lib"
pageRenderInitiate={pageRenderInitiate}
pageRenderComplete={pageRenderComplete}
style={{ 'height': '640px' }}>
@@ -115,4 +114,4 @@ root.render();
The provided code demonstrates how to subscribe to the `pageRenderStart` and `pageRenderComplete` events in the Syncfusion® PDF Viewer component.
-[View sample in GitHub](https://github.com/SyncfusionExamples/react-pdf-viewer-examples/tree/master/How%20to/PageRenderStarted%20and%20PageRenderCompleted%20event)
\ No newline at end of file
+The following code demonstrates how to subscribe to these events in the Syncfusion PDF Viewer component.
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer/react/how-to/perform-form-field-double-click-event.md b/Document-Processing/PDF/PDF-Viewer/react/how-to/perform-form-field-double-click-event.md
index c0395e8d2..713efcafb 100644
--- a/Document-Processing/PDF/PDF-Viewer/react/how-to/perform-form-field-double-click-event.md
+++ b/Document-Processing/PDF/PDF-Viewer/react/how-to/perform-form-field-double-click-event.md
@@ -23,7 +23,7 @@ The PDF Viewer library allows you to trigger an event when you double click on t
diff --git a/Document-Processing/PDF/PDF-Viewer/react/how-to/resolve-unable-to-find-an-entry-point-error.md b/Document-Processing/PDF/PDF-Viewer/react/how-to/resolve-unable-to-find-an-entry-point-error.md
index 45b9ead4b..50cbd0fa3 100644
--- a/Document-Processing/PDF/PDF-Viewer/react/how-to/resolve-unable-to-find-an-entry-point-error.md
+++ b/Document-Processing/PDF/PDF-Viewer/react/how-to/resolve-unable-to-find-an-entry-point-error.md
@@ -1,26 +1,25 @@
---
layout: post
-title: Find an entry point error in React Pdfviewer component | Syncfusion
-description: Learn here how to resolve unable to find an entry point named error in React Pdfviewer component of Syncfusion Essential JS 2 and more.
-control: Resolve unable to find an entry point error
+title: Resolve “unable to find an entry point” error | Syncfusion
+description: Learn how to resolve the “unable to find an entry point” error after upgrading the Pdfium package in the Syncfusion React PDF Viewer.
+control: PDF Viewer
platform: document-processing
documentation: ug
-domainurl: ##DomainURL##
---
-# Resolve "Unable to find an entry point named FPDFText_GetCharAngle" error
+# Resolve “unable to find an entry point” error
-From the release of version **21.1.0.35 (2023 Volume 1)** of Essential Studio®, the Pdfium package has been upgraded to improve various functionalities like text search, text selection, rendering, and even performance. If you are updating your project to this version of the Syncfusion PDF Viewer, you may encounter the **"Web-Service is not listening"** error. The Network tab can help you identify the root cause of the issue, which is typically caused by an old version of pdfium assembly being referenced in the local web service project. Below are the assemblies to be referred to in the respective operating systems.
+Starting with **21.1.0.35 (2023 Volume 1)**, the Pdfium package was upgraded to improve text search, selection, rendering, and performance. After upgrading, the PDF Viewer may display a **“Web-Service is not listening”** error. In most cases, the Network tab reveals that an outdated Pdfium assembly is referenced in the local web service project. Ensure the correct native assembly is deployed for the target OS:
-* Windows – pdfium.dll
-* Linux – libpdfium.so
-* OSX – libpdfium.dylib
+- Windows: pdfium.dll
+- Linux: libpdfium.so
+- macOS: libpdfium.dylib

-## To solve this issue, you should follow the below steps:
+## Resolution steps
-1. Clear the bin and object files of the web-service project.
-2. Re-publish the web-service project.
+1. Delete the bin and obj folders in the web service project.
+2. Rebuild and republish the web service.
-N> **Note:** If you are hosting your application in Azure, AWS, or in Linux environments, delete the older published files and republish the application.
\ No newline at end of file
+N> If hosting in Azure, AWS, or Linux environments, remove old published files on the server before republishing.
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer/react/how-to/restricting-zoom-in-mobile-mode.md b/Document-Processing/PDF/PDF-Viewer/react/how-to/restricting-zoom-in-mobile-mode.md
index 8442ac9d5..5b4dadc43 100644
--- a/Document-Processing/PDF/PDF-Viewer/react/how-to/restricting-zoom-in-mobile-mode.md
+++ b/Document-Processing/PDF/PDF-Viewer/react/how-to/restricting-zoom-in-mobile-mode.md
@@ -1,16 +1,15 @@
---
layout: post
-title: Restrict Zoom Percentage in React PDF Viewer component | Syncfusion
-description: Learn here all how to restrict zoom percentage in Syncfusion React PDF Viewer component of Syncfusion Essential JS 2 and more.
+title: Restrict zoom percentage on mobile devices | Syncfusion
+description: Learn how to restrict zoom percentage on mobile devices using minZoom and maxZoom in the Syncfusion React PDF Viewer.
control: PDF Viewer
platform: document-processing
documentation: ug
-domainurl: ##DomainURL##
---
-# How to Restrict Zoom Percentage on Mobile Devices
+# Restrict zoom percentage on mobile devices
-In Syncfusion® PDF Viewer, you can easily restrict the zoom percentage on mobile devices using the **maxZoom** and **minZoom** property. This feature allows you to set specific limits for zooming, ensuring smoother scrolling performance and efficient document loading, on mobile devices.
+Restrict zoom on mobile devices using the `maxZoom` and `minZoom` properties. This improves scrolling performance and document loading on mobile.
{% tabs %}
{% highlight js tabtitle="Standalone" %}
@@ -41,7 +40,7 @@ function App() {
@@ -101,4 +100,6 @@ root.render();
{% endhighlight %}
{% endtabs %}
+This limits maximum zoom to 200% and minimum zoom to 10% on mobile devices, helping prevent performance issues from excessive zooming.
+
[View sample in GitHub](https://github.com/SyncfusionExamples/react-pdf-viewer-examples/tree/master/How%20to/Restrict%20Zoom%20Percentage%20on%20Mobile%20Devices)
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer/react/how-to/show-custom-stamp-item.md b/Document-Processing/PDF/PDF-Viewer/react/how-to/show-custom-stamp-item.md
index b7a2e74ff..2fb298086 100644
--- a/Document-Processing/PDF/PDF-Viewer/react/how-to/show-custom-stamp-item.md
+++ b/Document-Processing/PDF/PDF-Viewer/react/how-to/show-custom-stamp-item.md
@@ -1,26 +1,25 @@
---
layout: post
-title: Displaying Custom Items in React Pdfviewer component | Syncfusion
-description: Learn how to display custom items in the custom stamp Dropdown in Syncfusion React Pdfviewer component of Syncfusion Essential JS 2 and more.
-control: Toolbar
+title: Show custom items in the Custom Stamp dropdown | Syncfusion
+description: Learn how to display custom items in the Custom Stamp dropdown using customStampSettings in the Syncfusion React PDF Viewer.
+control: PDF Viewer
platform: document-processing
documentation: ug
-domainurl: ##DomainURL##
---
-# Displaying Custom Items in Custom Stamp Dropdown
+# Show custom items in the Custom Stamp dropdown
### Overview
-This guide explains how to add and display custom items in the custom stamp dropdown menu of Syncfusion's PDF Viewer using React. This feature allows users to easily access and apply custom stamps to their PDF documents.
+Add and display custom items in the Custom Stamp dropdown using React. This enables users to quickly apply personalized stamps in the PDF Viewer.
-### Steps to Show Custom Items in Custom Stamp Dropdown
+### Steps to show custom items in the Custom Stamp dropdown
-**Step 1:** Follow the steps provided in the [link](https://help.syncfusion.com/document-processing/pdf/pdf-viewer/react/getting-started) to create a simple PDF Viewer sample.
+**Step 1:** Follow the steps in the [Get started with React PDF Viewer](https://help.syncfusion.com/document-processing/pdf/pdf-viewer/react/getting-started) guide to create a sample.
-**Step 2:** Configure Custom Stamp Settings
+**Step 2:** Configure custom stamp settings
Within the PDF Viewer setup, utilize `customStampSettings` to specify the custom stamps that should appear in the dropdown menu.
@@ -75,7 +74,7 @@ class App extends React.Component {
ref={this.viewerRef}
id="PdfViewer"
documentPath="https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf"
- resourceUrl="https://cdn.syncfusion.com/ej2/27.2.2/dist/ej2-pdfviewer-lib"
+ resourceUrl="https://cdn.syncfusion.com/ej2/31.2.2/dist/ej2-pdfviewer-lib"
customStampSettings={customStampSettings}
style={{ height: '640px' }}
>
@@ -182,6 +181,6 @@ root.render();
{% endtabs %}
-By following these instructions, you can successfully configure to display custom items in the custom stamp dropdown, allowing users to easily apply personalized stamps to their documents.
+Use `customStampSettings` to specify the custom stamps that should appear in the dropdown menu.
[View sample in GitHub](https://github.com/SyncfusionExamples/react-pdf-viewer-examples/tree/master/How%20to)
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer/react/how-to/show-hide-annotation.md b/Document-Processing/PDF/PDF-Viewer/react/how-to/show-hide-annotation.md
index b966d72ec..0ed136fe3 100644
--- a/Document-Processing/PDF/PDF-Viewer/react/how-to/show-hide-annotation.md
+++ b/Document-Processing/PDF/PDF-Viewer/react/how-to/show-hide-annotation.md
@@ -1,22 +1,21 @@
---
layout: post
-title: Show and Hide Annotations in React Pdfviewer component | Syncfusion
-description: Learn here all about how to show and hide annotations in Syncfusion React Pdfviewer component of Syncfusion Essential JS 2 and more.
-control: Pdfviewer
+title: Show or hide annotations in React PDF Viewer | Syncfusion
+description: Learn how to toggle annotation visibility in the Syncfusion React PDF Viewer by exporting and importing annotations.
+control: PDF Viewer
platform: document-processing
documentation: ug
-domainurl: ##DomainURL##
---
-# Show and Hide Annotations in PDF Viewer
+# Show or hide annotations in the PDF Viewer
### Overview
-This guide demonstrates how to toggle the visibility of annotations in the Syncfusion PDF Viewer component for React. This functionality is useful when you need to temporarily hide annotations for a cleaner view or show them again for collaborative review.
+Toggle annotation visibility in the Syncfusion PDF Viewer using React. Hide annotations for a cleaner view and show them again as needed.
### How to Show and Hide Annotations
-**Step 1:** Follow the steps provided in the [link](https://help.syncfusion.com/document-processing/pdf/pdf-viewer/react/getting-started) to create a simple PDF Viewer sample.
+**Step 1:** Follow the steps in the [Get started with React PDF Viewer](https://help.syncfusion.com/document-processing/pdf/pdf-viewer/react/getting-started) guide to create a sample.
**Step 2:** Set Up Your React Component with Annotation Toggle Functionality
@@ -92,7 +91,7 @@ export class App extends React.Component {
@@ -126,6 +125,6 @@ root.render();
### Conclusion
-The ability to show and hide annotations provides users with a more flexible viewing experience. By implementing this functionality, you can allow users to focus on the document content without distractions when needed, and bring back annotations for collaborative review.
+These steps add the ability to toggle annotation visibility in a PDF Viewer application for selective viewing.
[View sample in GitHub](https://github.com/SyncfusionExamples/react-pdf-viewer-examples/tree/master/How%20to)
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer/react/how-to/signatureselect-signatureunselect.md b/Document-Processing/PDF/PDF-Viewer/react/how-to/signatureselect-signatureunselect.md
index 84ce1ae70..0f82ec904 100644
--- a/Document-Processing/PDF/PDF-Viewer/react/how-to/signatureselect-signatureunselect.md
+++ b/Document-Processing/PDF/PDF-Viewer/react/how-to/signatureselect-signatureunselect.md
@@ -1,26 +1,26 @@
---
layout: post
-title: Signature selection events in React PDF Viewer component | Syncfusion
-description: Learn here all about signatureSelect and signatureUnselect event in Syncfusion React PDF Viewer component of Syncfusion Essential JS 2 and more.
+title: Handle signatureSelect and signatureUnselect events | Syncfusion
+description: Learn how to handle signatureSelect and signatureUnselect events in the Syncfusion React PDF Viewer to manage handwritten signature selection state.
control: PDF Viewer
platform: document-processing
documentation: ug
domainurl: ##DomainURL##
---
-# SignatureSelect and SignatureUnselect event
+# Handle signatureSelect and signatureUnselect events
-The Syncfusion® PDF Viewer provides event-handling capabilities for various actions, including selecting and unselecting handwritten signatures. The `signatureSelect` and `signatureUnselect` events enable developers to programmatically manage the selection state of signatures within the PDF Viewer component.
+Use the [signatureSelect](https://ej2.syncfusion.com/react/documentation/api/pdfviewer/#signatureselect) and [signatureUnselect](https://ej2.syncfusion.com/react/documentation/api/pdfviewer/#signatureunselect) events to manage the selection state of handwritten signatures in the PDF Viewer.
**signatureSelect**
-The `signatureSelect` event triggers when a handwritten signature annotation is selected. This event allows developers to capture the signature selection and handle it programmatically, such as updating the UI or storing the selection data for further processing.
+Triggered when a handwritten signature annotation is selected. Use this event to capture selection and update the UI or store state.
**signatureUnselect**
-The `signatureUnselect` event triggers when a handwritten signature annotation is unselected. This event enables developers to manage the unselection programmatically, which can be useful for tasks like cleanup operations or updating the application's state to reflect that a signature is no longer selected.
+Triggered when a handwritten signature annotation is unselected. Use this event to handle cleanup or update application state.
-The code snippet demonstrates how to subscribe to the `signatureSelect` and `signatureUnselect` events in the Syncfusion® PDF Viewer component.
+The following code demonstrates how to subscribe to these events:
{% tabs %}
{% highlight js tabtitle="Standalone" %}
@@ -49,7 +49,7 @@ function App() {
ref={(scope) => { pdfviewer = scope; }}
id="container"
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.2.2/dist/ej2-pdfviewer-lib"
signatureSelect={signatureSelect}
signatureUnselect={signatureUnselect}
style={{ 'height': '640px' }}>
@@ -109,6 +109,6 @@ root.render();
{% endhighlight %}
{% endtabs %}
-The `signatureSelect` and `signatureUnselect` events in Syncfusion® PDF Viewer offer robust options for managing the state of handwritten signatures within your application. By handling these events, developers can create a more interactive and dynamic user experience, responding programmatically to signature selection and unselection.
+These events enable robust management of handwritten signature state, supporting interactive and dynamic user experiences.
-[View sample in GitHub]()
\ No newline at end of file
+[View sample in GitHub](https://github.com/SyncfusionExamples/react-pdf-viewer-examples/tree/master/How%20to)
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer/react/how-to/unload-document.md b/Document-Processing/PDF/PDF-Viewer/react/how-to/unload-document.md
index c110e3f09..e6f1e1050 100644
--- a/Document-Processing/PDF/PDF-Viewer/react/how-to/unload-document.md
+++ b/Document-Processing/PDF/PDF-Viewer/react/how-to/unload-document.md
@@ -2,7 +2,7 @@
layout: post
title: Unload document in React Pdfviewer component | Syncfusion
description: Learn here all about Unload document in Syncfusion React Pdfviewer component of Syncfusion Essential JS 2 and more.
-control: Unload document
+control: PDF Viewer
platform: document-processing
documentation: ug
domainurl: ##DomainURL##
diff --git a/Document-Processing/PDF/PDF-Viewer/react/images/add-revised.png b/Document-Processing/PDF/PDF-Viewer/react/images/add-revised.png
new file mode 100644
index 000000000..0e0a24bae
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/react/images/add-revised.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/react/images/add-shapes.png b/Document-Processing/PDF/PDF-Viewer/react/images/add-shapes.png
new file mode 100644
index 000000000..09ab8ef22
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/react/images/add-shapes.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/react/images/add-signature.png b/Document-Processing/PDF/PDF-Viewer/react/images/add-signature.png
new file mode 100644
index 000000000..3bf8fe062
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/react/images/add-signature.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/react/images/add-sticky-notes.png b/Document-Processing/PDF/PDF-Viewer/react/images/add-sticky-notes.png
new file mode 100644
index 000000000..d86780c44
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/react/images/add-sticky-notes.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/react/images/add-text-markup.png b/Document-Processing/PDF/PDF-Viewer/react/images/add-text-markup.png
new file mode 100644
index 000000000..7a09d8d5a
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/react/images/add-text-markup.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/react/images/adding-signature.png b/Document-Processing/PDF/PDF-Viewer/react/images/adding-signature.png
new file mode 100644
index 000000000..fd92aa760
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/react/images/adding-signature.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/react/images/after-enabling-annotation-toolbar.png b/Document-Processing/PDF/PDF-Viewer/react/images/after-enabling-annotation-toolbar.png
new file mode 100644
index 000000000..2387c4035
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/react/images/after-enabling-annotation-toolbar.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/react/images/change-property.png b/Document-Processing/PDF/PDF-Viewer/react/images/change-property.png
new file mode 100644
index 000000000..edb1b772d
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/react/images/change-property.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/react/images/close-comment-panel.png b/Document-Processing/PDF/PDF-Viewer/react/images/close-comment-panel.png
new file mode 100644
index 000000000..26af17938
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/react/images/close-comment-panel.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/react/images/comment-panel.png b/Document-Processing/PDF/PDF-Viewer/react/images/comment-panel.png
new file mode 100644
index 000000000..61c066ec0
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/react/images/comment-panel.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/react/images/delete-icon.png b/Document-Processing/PDF/PDF-Viewer/react/images/delete-icon.png
new file mode 100644
index 000000000..9c99dc690
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/react/images/delete-icon.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/react/images/edit-annotation.png b/Document-Processing/PDF/PDF-Viewer/react/images/edit-annotation.png
new file mode 100644
index 000000000..1b00dad78
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/react/images/edit-annotation.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/react/images/form-filling-signature-del.png b/Document-Processing/PDF/PDF-Viewer/react/images/form-filling-signature-del.png
new file mode 100644
index 000000000..0a320823d
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/react/images/form-filling-signature-del.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/react/images/form-filling-signature-dialog.png b/Document-Processing/PDF/PDF-Viewer/react/images/form-filling-signature-dialog.png
new file mode 100644
index 000000000..e6e87df83
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/react/images/form-filling-signature-dialog.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/react/images/form-filling-signature-signed.png b/Document-Processing/PDF/PDF-Viewer/react/images/form-filling-signature-signed.png
new file mode 100644
index 000000000..93470a0f5
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/react/images/form-filling-signature-signed.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/react/images/form-filling-signature.png b/Document-Processing/PDF/PDF-Viewer/react/images/form-filling-signature.png
new file mode 100644
index 000000000..9be25488e
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/react/images/form-filling-signature.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/react/images/form-filling.png b/Document-Processing/PDF/PDF-Viewer/react/images/form-filling.png
new file mode 100644
index 000000000..42c9b0064
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/react/images/form-filling.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/react/images/ink-annotation.png b/Document-Processing/PDF/PDF-Viewer/react/images/ink-annotation.png
new file mode 100644
index 000000000..163a1130e
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/react/images/ink-annotation.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/react/images/open-comment.png b/Document-Processing/PDF/PDF-Viewer/react/images/open-comment.png
new file mode 100644
index 000000000..900069fad
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/react/images/open-comment.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/react/images/open-fillcolor.png b/Document-Processing/PDF/PDF-Viewer/react/images/open-fillcolor.png
new file mode 100644
index 000000000..5eaa67806
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/react/images/open-fillcolor.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/react/images/open-ink.png b/Document-Processing/PDF/PDF-Viewer/react/images/open-ink.png
new file mode 100644
index 000000000..c52125247
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/react/images/open-ink.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/react/images/open-radius.png b/Document-Processing/PDF/PDF-Viewer/react/images/open-radius.png
new file mode 100644
index 000000000..0dd083a9c
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/react/images/open-radius.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/react/images/open-stamp.png b/Document-Processing/PDF/PDF-Viewer/react/images/open-stamp.png
new file mode 100644
index 000000000..74ccf1664
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/react/images/open-stamp.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/react/images/radius-annotation.png b/Document-Processing/PDF/PDF-Viewer/react/images/radius-annotation.png
new file mode 100644
index 000000000..2559f6da8
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/react/images/radius-annotation.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/react/images/select-text.png b/Document-Processing/PDF/PDF-Viewer/react/images/select-text.png
new file mode 100644
index 000000000..b7d119b38
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/react/images/select-text.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/react/images/sticky-notes-in-page.png b/Document-Processing/PDF/PDF-Viewer/react/images/sticky-notes-in-page.png
new file mode 100644
index 000000000..3a96cc714
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/react/images/sticky-notes-in-page.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/react/interaction-mode.md b/Document-Processing/PDF/PDF-Viewer/react/interaction-mode.md
index dfbca88df..8fd6b38d3 100644
--- a/Document-Processing/PDF/PDF-Viewer/react/interaction-mode.md
+++ b/Document-Processing/PDF/PDF-Viewer/react/interaction-mode.md
@@ -2,7 +2,7 @@
layout: post
title: Interaction mode in React Pdfviewer component | Syncfusion
description: Learn here all about Interaction mode in Syncfusion React Pdfviewer component of Syncfusion Essential JS 2 and more.
-control: Interaction mode
+control: PDF Viewer
platform: document-processing
documentation: ug
domainurl: ##DomainURL##
@@ -34,7 +34,7 @@ function App() {
@@ -113,7 +113,7 @@ function App() {
diff --git a/Document-Processing/PDF/PDF-Viewer/react/interactive-pdf-navigation/bookmark-navigation.md b/Document-Processing/PDF/PDF-Viewer/react/interactive-pdf-navigation/bookmark-navigation.md
new file mode 100644
index 000000000..8fbb6a65d
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/react/interactive-pdf-navigation/bookmark-navigation.md
@@ -0,0 +1,190 @@
+---
+layout: post
+title: Navigation in React Pdfviewer control | Syncfusion
+description: Learn here all about Navigation in Syncfusion React Pdfviewer control of Syncfusion Essential JS 2 and more.
+platform: document-processing
+control: PDF Viewer
+documentation: ug
+domainurl: ##DomainURL##
+---
+
+# Bookmark navigation in React PDF Viewer control
+
+The Bookmarks saved in PDF files are loaded and made ready for easy navigation.
+You can enable/disable bookmark navigation by using the following code snippet.,
+
+{% tabs %}
+{% highlight ts tabtitle="Standalone" %}
+
+import * as React from 'react';
+import * as ReactDOM from 'react-dom/client';
+import {
+ PdfViewerComponent,
+ Toolbar,
+ Magnification,
+ Navigation,
+ LinkAnnotation,
+ Annotation,
+ ThumbnailView,
+ BookmarkView,
+ TextSelection,
+ Inject
+} from '@syncfusion/ej2-react-pdfviewer';
+
+function App() {
+ let pdfviewer;
+ return (
+ { pdfviewer = scope; }}
+ enableBookmark={true}
+ documentPath="https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf"
+ resourceUrl="https://cdn.syncfusion.com/ej2/31.2.2/dist/ej2-pdfviewer-lib"
+ style={{ height: '500px', width: '100%' }}
+ >
+
+
+ );
+}
+
+const root = ReactDOM.createRoot(document.getElementById('PdfViewer'));
+root.render();
+
+{% endhighlight %}
+{% highlight ts tabtitle="Server-Backed" %}
+
+import * as React from 'react';
+import * as ReactDOM from 'react-dom/client';
+import {
+ PdfViewerComponent,
+ Toolbar,
+ Magnification,
+ Navigation,
+ LinkAnnotation,
+ Annotation,
+ ThumbnailView,
+ BookmarkView,
+ TextSelection,
+ Inject
+} from '@syncfusion/ej2-react-pdfviewer';
+
+function App() {
+ let pdfviewer;
+ return (
+ { pdfviewer = scope; }}
+ enableBookmark={true}
+ documentPath="https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf"
+ serviceUrl="https://document.syncfusion.com/web-services/pdf-viewer/api/pdfviewer/"
+ style={{ height: '500px', width: '100%' }}
+ >
+
+
+ );
+}
+
+const root = ReactDOM.createRoot(document.getElementById('PdfViewer'));
+root.render();
+
+{% endhighlight %}
+{% endtabs %}
+
+
+
+To perform bookmark navigation, you can use the **goToBookmark** method. It's important to note that the **goToBookmark** method will throw an error if the specified bookmark does not exist in the PDF document.
+
+Here is an example of how to use the **goToBookmark** method:
+
+```
+
+```
+
+```ts
+import * as React from 'react';
+import * as ReactDOM from 'react-dom/client';
+import { PdfViewerComponent, BookmarkView, Inject } from '@syncfusion/ej2-react-pdfviewer';
+
+let pdfviewer;
+
+function App() {
+ const onGoToBookmark = () => {
+ // x - pageIndex, y - Y coordinate
+ pdfviewer && pdfviewer.bookmark.goToBookmark(x, y);
+ };
+
+ return (
+
+ );
+}
+
+const root = ReactDOM.createRoot(document.getElementById('PdfViewer'));
+root.render();
+```
+
+x - Specifies the pageIndex for Navigate.
+
+y - Specifies the Y coordinates value of the Page.
+
+Also, you can use the **getBookmarks** method to retrieve a list of all the bookmarks in a PDF document. This method returns a List of Bookmark objects, which contain information about each bookmark.
+
+Here is an example of how to use the getBookmarks method:
+
+```
+
+```
+
+```ts
+import * as React from 'react';
+import * as ReactDOM from 'react-dom/client';
+import { PdfViewerComponent, BookmarkView, Inject } from '@syncfusion/ej2-react-pdfviewer';
+
+let pdfviewer;
+
+function App() {
+ const onGetBookmarks = () => {
+ var getBookmarks = pdfviewer && pdfviewer.bookmark.getBookmarks();
+ console.log(getBookmarks);
+ };
+
+ return (
+