PdfViewerModel

25 Sep 202524 minutes to read

Interface for a class PdfViewer

Properties

addSignature EmitType<AddSignatureEventArgs>

Triggers when a signature is added to a page of a PDF document.

ajaxRequestFailed EmitType<AjaxRequestFailureEventArgs>

Triggers when the AJAX request is failed.

ajaxRequestInitiate EmitType<AjaxRequestInitiateEventArgs>

Triggers before the data is sent to the server.

ajaxRequestSuccess EmitType<AjaxRequestSuccessEventArgs>

Triggers on successful AJAX request.

annotationAdd EmitType<AnnotationAddEventArgs>

Triggers when an annotation is added to a PDF document’s page.

annotationDoubleClick EmitType<AnnotationDoubleClickEventArgs>

Triggers when the annotation is double clicked.

annotationMouseLeave EmitType<AnnotationMouseLeaveEventArgs>

Triggers when the user mouse moves away from the annotation object.

annotationMouseover EmitType<AnnotationMouseoverEventArgs>

Triggers when the mouse is moved over the annotation object.

annotationMove EmitType<AnnotationMoveEventArgs>

Triggers when an annotation is moved over the page of the PDF document.

annotationMoving EmitType<AnnotationMovingEventArgs>

Triggers while moving an annotation.

annotationPropertiesChange EmitType<AnnotationPropertiesChangeEventArgs>

Triggers when the annotation’s property is modified on a PDF document page.

annotationRemove EmitType<AnnotationRemoveEventArgs>

Triggers when an annotation is removed from a PDF document’s page.

annotationResize EmitType<AnnotationResizeEventArgs>

Triggers when an annotation is resized over the page of a PDF document.

annotationSelect EmitType<AnnotationSelectEventArgs>

Triggers when an annotation is selected over the page of the PDF document.

annotationUnSelect EmitType<AnnotationUnSelectEventArgs>

Triggers when an annotation is unselected over the page of the PDF document.

beforeAddFreeText EmitType<BeforeAddFreeTextEventArgs>

Triggers before adding a text in the freeText annotation.

bookmarkClick EmitType<BookmarkClickEventArgs>

Triggers when the bookmark is clicked in the PDF Viewer’s bookmark panel.

commentAdd EmitType<CommentEventArgs>

Triggers when a comment for the annotation is added to the comment panel.

commentDelete EmitType<CommentEventArgs>

Triggers when the comment for the annotation in the comment panel is deleted.

commentEdit EmitType<CommentEventArgs>

Triggers when the comment for the annotation in the comment panel is edited.

commentSelect EmitType<CommentEventArgs>

Triggers when the comment for the annotation in the comment panel is selected.

commentStatusChanged EmitType<CommentEventArgs>

Triggers when the annotation’s comment for status is changed in the comment panel.

created EmitType<void>

Triggers during the creation of the PDF viewer component.

customContextMenuBeforeOpen EmitType<CustomContextMenuBeforeOpenEventArgs>

Fires before the custom context menu option is opened.

customContextMenuSelect EmitType<CustomContextMenuSelectEventArgs>

Fires when a custom context menu option is selected.

documentLoad EmitType<LoadEventArgs>

Triggers while loading document into PDF viewer.

documentLoadFailed EmitType<LoadFailedEventArgs>

Triggers while document loading failed in PdfViewer.

documentUnload EmitType<UnloadEventArgs>

Triggers while closing the document.

downloadEnd EmitType<DownloadEndEventArgs>

Triggers when the download actions are completed.

downloadStart EmitType<DownloadStartEventArgs>

Triggers when the download action is initiated.

exportFailed EmitType<ExportFailureEventArgs>

Triggers when the annotations export in a PDF document fails.

exportStart EmitType<ExportStartEventArgs>

Triggers when an exported annotation started in the PDF Viewer.

exportSuccess EmitType<ExportSuccessEventArgs>

Triggers when the annotations in a PDF document are successfully exported.

extractTextCompleted EmitType<ExtractTextCompletedEventArgs>

Triggers when an text extraction is completed in the PDF Viewer.

formFieldAdd EmitType<FormFieldAddArgs>

Triggers when a form field is added.

formFieldClick EmitType<FormFieldClickArgs>

Triggers when the form field is selected.

formFieldDoubleClick EmitType<FormFieldDoubleClickArgs>

Triggers when the form field is double-clicked.

formFieldFocusOut EmitType<FormFieldFocusOutEventArgs>

Triggers when focus out from the form fields.

formFieldMouseLeave EmitType<FormFieldMouseLeaveArgs>

Triggers when the mouse cursor leaves the form field.

formFieldMouseover EmitType<FormFieldMouseoverArgs>

Triggers when the mouse cursor is over a form field.

formFieldMove EmitType<FormFieldMoveArgs>

Triggers when a form field is moved.

formFieldPropertiesChange EmitType<FormFieldPropertiesChangeArgs>

Triggers when a property of form field is changed.

formFieldRemove EmitType<FormFieldRemoveArgs>

Triggers when a form field is removed.

formFieldResize EmitType<FormFieldResizeArgs>

Triggers when a form field is resized.

formFieldSelect EmitType<FormFieldSelectArgs>

Triggers when a form field is selected.

formFieldUnselect EmitType<FormFieldUnselectArgs>

Triggers when a form field is unselected.

hyperlinkClick EmitType<HyperlinkClickEventArgs>

Triggers when a hyperlink in a PDF document is clicked.

hyperlinkMouseOver EmitType<HyperlinkMouseOverArgs>

Triggers when hyperlink in a PDF document is hovered.

importFailed EmitType<ImportFailureEventArgs>

Triggers when the annotations imports in a PDF document fails.

importStart EmitType<ImportStartEventArgs>

Triggers when an imported annotation started to appear in the PDF document.

importSuccess EmitType<ImportSuccessEventArgs>

Triggers when the annotations in a PDF document are successfully imported.

keyboardCustomCommands EmitType<KeyboardCustomCommandsEventArgs>

Triggers when the customized keyboard command keys are pressed.

moveSignature EmitType<MoveSignatureEventArgs>

Triggers when a signature is moved across the page of a PDF document.

pageChange EmitType<PageChangeEventArgs>

Triggers when there is change in current page number.

pageClick EmitType<PageClickEventArgs>

Triggers when the mouse click is performed over the page of the PDF document.

pageMouseover EmitType<PageMouseoverEventArgs>

Triggers when moving the mouse over the page.

pageOrganizerSaveAs EmitType<PageOrganizerSaveAsEventArgs>

Triggers when the page organizer save as triggered.

pageRenderComplete EmitType<PageRenderCompleteEventArgs>

Triggers upon completion of page rendering.

pageRenderInitiate EmitType<PageRenderInitiateEventArgs>

Triggers upon the initiation of page rendering.

printEnd EmitType<PrintEndEventArgs>

Triggers when the print actions are completed.

printStart EmitType<PrintStartEventArgs>

Triggers when the print action is initiated.

removeSignature EmitType<RemoveSignatureEventArgs>

Triggers when the signature is removed from the page of a PDF document.

resizeSignature EmitType<ResizeSignatureEventArgs>

Triggers when the signature is resized and placed on a page of a PDF document.

resourcesLoaded EmitType<void>

Triggers after loading the Pdfium resources.

signaturePropertiesChange EmitType<SignaturePropertiesChangeEventArgs>

Triggers when the property of the signature is changed in the page of the PDF document.

signatureSelect EmitType<SignatureSelectEventArgs>

Triggers when signature is selected over the page of the PDF document.

signatureUnselect EmitType<SignatureUnselectEventArgs>

Triggers when signature is unselected over the page of the PDF document.

textSearchComplete EmitType<TextSearchCompleteEventArgs>

Triggers when the text search is completed.

textSearchHighlight EmitType<TextSearchHighlightEventArgs>

Triggers when the text search text is highlighted.

textSearchStart EmitType<TextSearchStartEventArgs>

Triggers when the text search is initiated.

textSelectionEnd EmitType<TextSelectionEndEventArgs>

Triggers when the text selection is complete.

textSelectionStart EmitType<TextSelectionStartEventArgs>

Triggers when the text selection is initiated.

thumbnailClick EmitType<ThumbnailClickEventArgs>

Triggers when the thumbnail in the PDF Viewer’s thumbnail panel is clicked.

toolbarClick EmitType<ClickEventArgs>

Triggers when custom toolbar item is clicked.

validateFormFields EmitType<ValidateFormFieldsArgs>

Triggers when validation is failed.

zoomChange EmitType<ZoomChangeEventArgs>

Triggers When the magnification value changes.

Get or set the dropdown field settings.

<body>
    <div id='sample'>
        <div id='loader'>Loading....</div>
    </div>    
</body>
import React from 'react';
import ReactDOM from 'react-dom/client';
import './index.css';
import { PdfViewerComponent, Toolbar, Magnification, Navigation, LinkAnnotation, BookmarkView, ThumbnailView, 
  Print, TextSelection, Annotation, TextSearch, FormFields, FormDesigner, Inject } from '@syncfusion/ej2-react-pdfviewer';

export function App() {
  const viewerRef = React.useRef(null);

  React.useEffect(() => {
    if (viewerRef.current) {
      (viewerRef.current as any).DropdownFieldSettings = {
        name: 'Dropdown1',
        value: 'item2',
        tooltip: 'Choose an option',
        options: [{itemName:'item1',itemValue:'item1'}, {itemName:'item2',itemValue:'item2'}, {itemName:'item3',itemValue:'item3'}],
        fontFamily: 'Times New Roman',
        fontSize: 12,
        fontStyle: 'None',
        color: '#000000',
        borderColor: '#000000',
        backgroundColor: '#ffffff',
        alignment: 'Left',
        isReadOnly: false,
        visibility: 'visible',
        isRequired: false,
        isPrint: true,
        thickness: 1
      };
    }
  }, []);

  return (
    <div className="control-section">
      <PdfViewerComponent
        id="container"
        ref={viewerRef}
        resourceUrl="https://cdn.syncfusion.com/ej2/30.1.37/dist/ej2-pdfviewer-lib"
        documentPath="https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf"
      >
        <Inject services={[Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, BookmarkView, ThumbnailView,
          Print, TextSelection, TextSearch, FormFields, FormDesigner]} />
      </PdfViewerComponent>
    </div>
  );
}
const rootElement = document.getElementById('sample')!;
const root = ReactDOM.createRoot(rootElement);
root.render(<App />);

ajaxRequestSettings AjaxRequestSettingsModel

Defines the ajax Request settings of the PDF Viewer.

<body>
    <div id='sample'>
        <div id='loader'>Loading....</div>
    </div>    
</body>
import React from 'react';
import ReactDOM from 'react-dom/client';
import './index.css';
import { PdfViewerComponent, Toolbar, Magnification, Navigation, LinkAnnotation, BookmarkView, ThumbnailView, Print, TextSelection, Annotation, TextSearch, FormFields, FormDesigner, Inject } from '@syncfusion/ej2-react-pdfviewer';
export function App() {
  return (<div>
    <div className='control-section'>
      <PdfViewerComponent 
        id="container" 
        serviceUrl = "https://services.syncfusion.com/react/production/api/pdfviewer"
        documentPath = "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf"
        style={{ 'height': '680px' }} 
        ajaxRequestSettings={{
          ajaxHeaders: [
            {
              headerName: "Authorization",
              headerValue: "Bearerabcdefghijklmnopqrstuvwxyz"
            }
          ],
          withCredentials: false
        }}
      >
        <Inject services={[Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, BookmarkView, ThumbnailView,
          Print, TextSelection, TextSearch, FormFields, FormDesigner]} />
      </PdfViewerComponent>
    </div>
  </div>);
}
const rootElement = document.getElementById('sample')!;
const root = ReactDOM.createRoot(rootElement);
root.render(<App />);

annotationDrawingOptions AnnotationDrawingOptionsModel

Options for configuring line type annotation drawing behavior.

<body>
    <div id='sample'>
        <div id='loader'>Loading....</div>
    </div>    
</body>
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, FormFields, FormDesigner, Inject } from '@syncfusion/ej2-react-pdfviewer';
export function App() {
  return (<div>
    <div className='control-section'>
      <PdfViewerComponent 
        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"
        style={{ 'height': '680px' }} 
        annotationDrawingOptions = {{
          enableLineAngleConstraints: true,
          restrictLineAngleTo: 90
        }}
      >
        <Inject services={[Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, BookmarkView, ThumbnailView,
          Print, TextSelection, TextSearch, FormFields, FormDesigner]} />
      </PdfViewerComponent>
    </div>
  </div>);
}
const root = ReactDOM.createRoot(document.getElementById('sample'));
root.render(<App />);

annotationSelectorSettings AnnotationSelectorSettingsModel

Defines the settings of annotation selector.

<body>
    <div id='sample'>
        <div id='loader'>Loading....</div>
    </div>    
</body>
import React from 'react';
import ReactDOM from 'react-dom/client';
import './index.css';
import { PdfViewerComponent, Toolbar, Magnification, Navigation, LinkAnnotation, BookmarkView, ThumbnailView, Print, TextSelection, Annotation, TextSearch, FormFields, FormDesigner, Inject, AnnotationResizerLocation, CursorType } from '@syncfusion/ej2-react-pdfviewer';
export function App() {
  return (<div>
    <div className='control-section'>
      <PdfViewerComponent 
        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"
        style={{ 'height': '680px' }} 
        // Change the annotation selector settings.
        annotationSelectorSettings={{
          selectionBorderColor: '#0000ff', 
          resizerBorderColor: '#ff0000', 
          resizerFillColor: '#4070ff', 
          resizerSize: 8, 
          selectionBorderThickness: 1, 
          resizerShape: 'Square', 
          selectorLineDashArray: [5, 6], 
          resizerLocation: AnnotationResizerLocation.Corners | AnnotationResizerLocation.Edges, 
          resizerCursorType: CursorType.grab 
        }}
      >
        <Inject services={[Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, BookmarkView, ThumbnailView,
          Print, TextSelection, TextSearch, FormFields, FormDesigner]} />
      </PdfViewerComponent>
    </div>
  </div>);
}
const rootElement = document.getElementById('sample')!;
const root = ReactDOM.createRoot(rootElement);
root.render(<App />);

annotationSettings AnnotationSettingsModel

Defines the settings of the annotations.

<body>
    <div id='sample'>
        <div id='loader'>Loading....</div>
    </div>    
</body>
import React from 'react';
import ReactDOM from 'react-dom/client';
import './index.css';
import { PdfViewerComponent, Toolbar, Magnification, Navigation, LinkAnnotation, BookmarkView, ThumbnailView, Print, TextSelection, Annotation, TextSearch, FormFields, FormDesigner, Inject, AllowedInteraction } from '@syncfusion/ej2-react-pdfviewer';
export function App() {
  return (<div>
    <div className='control-section'>
      <PdfViewerComponent 
        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"
        style={{ 'height': '680px' }} 
        // Change the annotation settings.
        annotationSettings = {{
          author: 'XYZ', 
          minHeight: 10, 
          minWidth: 10, 
          maxWidth: 100, 
          maxHeight: 100, 
          isLock: false, 
          skipPrint: false, 
          skipDownload: false, 
          allowedInteractions: [AllowedInteraction.Resize], 
        }}
      >
        <Inject services={[Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, BookmarkView, ThumbnailView,
          Print, TextSelection, TextSearch, FormFields, FormDesigner]} />
      </PdfViewerComponent>
    </div>
  </div>);
}
const rootElement = document.getElementById('sample')!;
const root = ReactDOM.createRoot(rootElement);
root.render(<App />);

areaSettings AreaSettingsModel

Defines the settings of area annotation.

<body>
    <div id='sample'>
        <div id='loader'>Loading....</div>
    </div>    
</body>
import React from 'react';
import ReactDOM from 'react-dom/client';
import './index.css';
import { PdfViewerComponent, Toolbar, Magnification, Navigation, LinkAnnotation, BookmarkView, ThumbnailView, Print, TextSelection, Annotation, TextSearch, FormFields, FormDesigner, Inject, CursorType, AnnotationResizerLocation, AllowedInteraction } from '@syncfusion/ej2-react-pdfviewer';
export function App() {
  return (<div>
    <div className='control-section'>
      <PdfViewerComponent 
        id="container" 
        resourceUrl = "https://cdn.syncfusion.com/ej2/30.1.37/dist/ej2-pdfviewer-lib"
        documentPath = "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf"
        style={{ 'height': '680px' }} 
        // Change the area annotation settings.
        areaSettings={{ 
          opacity: 1, 
          fillColor: '#ffffff00', 
          strokeColor: '#ff0000', 
          author: 'XYZ', 
          thickness: 1, 
          minHeight: 10, 
          minWidth: 10, 
          maxWidth: 100, 
          maxHeight: 100, 
          isLock: false, 
          annotationSelectorSettings: { 
            selectionBorderColor: '#0000ff',
            resizerBorderColor: '#000000',
            resizerFillColor: '#4070ff', 
            resizerSize: 8, 
            selectionBorderThickness: 1, 
            resizerShape: 'Circle', 
            selectorLineDashArray: [5, 6], 
            resizerLocation: AnnotationResizerLocation.Corners | AnnotationResizerLocation.Edges, 
            resizerCursorType: CursorType.grab 
          }, 
          allowedInteractions: [AllowedInteraction.Resize], 
          isPrint: true 
        }}
      >
        <Inject services={[Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, BookmarkView, ThumbnailView,
          Print, TextSelection, TextSearch, FormFields, FormDesigner]} />
      </PdfViewerComponent>
    </div>
  </div>);
}
const rootElement = document.getElementById('sample')!;
const root = ReactDOM.createRoot(rootElement);
root.render(<App />);

arrowSettings ArrowSettingsModel

Defines the settings of arrow annotation.

<body>
    <div id='sample'>
        <div id='loader'>Loading....</div>
    </div>    
</body>
import React from 'react';
import ReactDOM from 'react-dom/client';
import './index.css';
import { PdfViewerComponent, Toolbar, Magnification, Navigation, LinkAnnotation, BookmarkView, ThumbnailView, Print, TextSelection, Annotation, TextSearch, FormFields, FormDesigner, Inject, AnnotationResizerLocation, CursorType, AllowedInteraction } from '@syncfusion/ej2-react-pdfviewer';
export function App() {
  return (<div>
    <div className='control-section'>
      <PdfViewerComponent 
        id="container" 
        resourceUrl = "https://cdn.syncfusion.com/ej2/30.1.37/dist/ej2-pdfviewer-lib"
        documentPath = "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf"
        style={{ 'height': '680px' }} 
        // Change the arrow annotation settings.
        arrowSettings={{ 
          opacity: 1, 
          fillColor: '#9c2592', 
          strokeColor: '#ff0000', 
          author: 'XYZ', 
          thickness: 1, 
          borderDashArray: 1, 
          lineHeadStartStyle: 'Closed', 
          lineHeadEndStyle: 'Closed', 
          annotationSelectorSettings: {           
            selectionBorderColor: '#0000ff',
            resizerBorderColor: '#000000',
            resizerFillColor: '#FF4081', 
            resizerSize: 8, 
            selectionBorderThickness: 1, 
            resizerShape: 'Square', 
            selectorLineDashArray: [5, 6], 
            resizerLocation: 
            AnnotationResizerLocation.Corners | AnnotationResizerLocation.Edges, 
            resizerCursorType: CursorType.grab 
          }, 
          minHeight: 10, 
          minWidth: 10, 
          maxWidth: 100, 
          maxHeight: 100, 
          isLock: false, 
          allowedInteractions: [AllowedInteraction.Resize], 
          isPrint: true 
        }}
      >
        <Inject services={[Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, BookmarkView, ThumbnailView,
          Print, TextSelection, TextSearch, FormFields, FormDesigner]} />
      </PdfViewerComponent>
    </div>
  </div>);
}
const rootElement = document.getElementById('sample')!;
const root = ReactDOM.createRoot(rootElement);
root.render(<App />);

checkBoxFieldSettings CheckBoxFieldSettingsModel

Get or set the check box field settings.

<body>
    <div id='sample'>
        <div id='loader'>Loading....</div>
    </div>    
</body>
import React from 'react';
import ReactDOM from 'react-dom/client';
import './index.css';
import { PdfViewerComponent, Toolbar, Magnification, Navigation, LinkAnnotation, BookmarkView, ThumbnailView, 
  Print, TextSelection, Annotation, TextSearch, FormFields, FormDesigner, Inject } from '@syncfusion/ej2-react-pdfviewer';

export function App() {
  // Using proper type definition for the ref
  const viewerRef = React.useRef<PdfViewerComponent>(null);

  React.useEffect(() => {
  if (viewerRef.current) {
    // Using type assertion to bypass TypeScript checks
    (viewerRef.current as any).checkBoxFieldSettings = {
      name: 'CheckBox',
      isReadOnly: false,
      visibility: 'visible',
      isRequired: false,
      isPrint: true,
      tooltip: 'CheckBox',
      thickness: 4,
      isChecked: true,
      backgroundColor: '#ffffff',
      borderColor: '#000000',
      value: 'CheckBox'
    };
  }
}, []);

  return (
    <div className="control-section">
      <PdfViewerComponent
        id="container"
        ref={viewerRef}
        resourceUrl="https://cdn.syncfusion.com/ej2/30.1.37/dist/ej2-pdfviewer-lib"
        documentPath="https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf"
      >
        <Inject services={[Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, BookmarkView, ThumbnailView,
          Print, TextSelection, TextSearch, FormFields, FormDesigner]} />
      </PdfViewerComponent>
    </div>
  );
}

const rootElement = document.getElementById('sample')!;
const root = ReactDOM.createRoot(rootElement);
root.render(<App />);

circleSettings CircleSettingsModel

Defines the settings of circle annotation.

<body>
    <div id='sample'>
        <div id='loader'>Loading....</div>
    </div>    
</body>
import React from 'react';
import ReactDOM from 'react-dom/client';
import './index.css';
import { PdfViewerComponent, Toolbar, Magnification, Navigation, LinkAnnotation, BookmarkView, ThumbnailView, Print, TextSelection, Annotation, TextSearch, FormFields, FormDesigner, Inject, AnnotationResizerLocation, CursorType, AllowedInteraction } from '@syncfusion/ej2-react-pdfviewer';
export function App() {
  return (<div>
    <div className='control-section'>
      <PdfViewerComponent 
        id="container" 
        resourceUrl = "https://cdn.syncfusion.com/ej2/30.1.37/dist/ej2-pdfviewer-lib"
        documentPath = "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf"
        style={{ 'height': '680px' }} 
        // Change the circle annotation settings.
        circleSettings = {{ 
          opacity: 1, 
          fillColor: '#9c2592', 
          strokeColor: '#ff0000', 
          author: 'XYZ', 
          thickness: 1, 
          annotationSelectorSettings: { 
            selectionBorderColor: '#0000ff',
            resizerBorderColor: '#000000',
            resizerFillColor: '#FF4081', 
            resizerSize: 8, 
            selectionBorderThickness: 1, 
            resizerShape: 'Square', 
            selectorLineDashArray: [5, 6], 
            resizerLocation: 
            AnnotationResizerLocation.Corners | AnnotationResizerLocation.Edges, 
            resizerCursorType: CursorType.grab 
          }, 
          minHeight: 10, 
          minWidth: 10, 
          maxWidth: 100, 
          maxHeight: 100, 
          isLock: false, 
          allowedInteractions: [AllowedInteraction.Resize], 
          isPrint: true 
        }}
      >
        <Inject services={[Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, BookmarkView, ThumbnailView,
          Print, TextSelection, TextSearch, FormFields, FormDesigner]} />
      </PdfViewerComponent>
    </div>
  </div>);
}
const rootElement = document.getElementById('sample')!;
const root = ReactDOM.createRoot(rootElement);
root.render(<App />);

commandManager CommandManagerModel

Defines a set of custom commands and binds them with a set of desired key gestures.

<body>
    <div id='sample'>
        <div id='loader'>Loading....</div>
    </div>    
</body>
import React from 'react';
import ReactDOM from 'react-dom/client';
import './index.css';
import { PdfViewerComponent, Toolbar, Magnification, Navigation, LinkAnnotation, BookmarkView, ThumbnailView, Print, TextSelection, Annotation, TextSearch, FormFields, FormDesigner, PdfKeys, ModifierKeys, Inject } from '@syncfusion/ej2-react-pdfviewer';
export function App() {
  function keyboardCustomCommands(args: any) {
        console.log(args);
		}
  return (<div>
    <div className='control-section'>
      <PdfViewerComponent 
        id="container" 
        resourceUrl="https://cdn.syncfusion.com/ej2/30.1.37/dist/ej2-pdfviewer-lib"
        documentPath="https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf"
        style={{ 'height': '680px' }} 
        keyboardCustomCommands={keyboardCustomCommands}
        commandManager = {{
            keyboardCommand: [{
                name: 'customCopy',
                gesture: {
                    pdfKeys: PdfKeys.G,
                    modifierKeys: ModifierKeys.Shift | ModifierKeys.Alt
                }
            },
            {
                name: 'customPaste',
                gesture: {
                    pdfKeys: PdfKeys.H,
                    modifierKeys: ModifierKeys.Shift | ModifierKeys.Alt
                }
            }]
        }}
      >
        <Inject services={[Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, BookmarkView, ThumbnailView,
          Print, TextSelection, TextSearch, FormFields, FormDesigner]} />
      </PdfViewerComponent>
    </div>
  </div>);
  
  
}
const rootElement = document.getElementById('sample')!;
const root = ReactDOM.createRoot(rootElement);
root.render(<App />);

contextMenuOption ContextMenuAction

Specifies the state of the ContextMenu in the PDF document.

<body>
    <div id='sample'>
        <div id='loader'>Loading....</div>
    </div>    
</body>
import React from 'react';
import ReactDOM from 'react-dom/client';
import './index.css';
import { PdfViewerComponent, Toolbar, Magnification, Navigation, LinkAnnotation, BookmarkView, ThumbnailView, Print, TextSelection, Annotation, TextSearch, FormFields, FormDesigner, Inject } from '@syncfusion/ej2-react-pdfviewer';
export function App() {
  return (<div>
    <div className='control-section'>
      <PdfViewerComponent 
        id="container" 
        resourceUrl = "https://cdn.syncfusion.com/ej2/30.1.37/dist/ej2-pdfviewer-lib"
        documentPath = "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf"
        style={{ 'height': '680px' }} 
        // Change the settings of the context menu option.
        contextMenuOption = "None"
      >
        <Inject services={[Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, BookmarkView, ThumbnailView,
          Print, TextSelection, TextSearch, FormFields, FormDesigner]} />
      </PdfViewerComponent>
    </div>
  </div>);
}
const rootElement = document.getElementById('sample')!;
const root = ReactDOM.createRoot(rootElement);
root.render(<App />);

contextMenuSettings ContextMenuSettingsModel

Defines the context menu settings.

<body>
    <div id='sample'>
        <div id='loader'>Loading....</div>
    </div>    
</body>
import React from 'react';
import ReactDOM from 'react-dom/client';
import './index.css';
import { PdfViewerComponent, Toolbar, Magnification, Navigation, LinkAnnotation, BookmarkView, ThumbnailView, Print, TextSelection, Annotation, TextSearch, FormFields, FormDesigner, Inject, ContextMenuItem } from '@syncfusion/ej2-react-pdfviewer';
export function App() {
  return (<div>
    <div className='control-section'>
      <PdfViewerComponent 
        id="container" 
        resourceUrl = "https://cdn.syncfusion.com/ej2/30.1.37/dist/ej2-pdfviewer-lib"
        documentPath = "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf"
        style={{ 'height': '680px' }} 
        // Change the context menu settings.
        contextMenuSettings = {{ 
          contextMenuAction: 'RightClick', 
          contextMenuItems: [
            ContextMenuItem.Comment, 
            ContextMenuItem.Copy, 
            ContextMenuItem.Cut, 
            ContextMenuItem.Delete, 
            ContextMenuItem.Highlight, 
            ContextMenuItem.Paste, 
            ContextMenuItem.Properties, 
            ContextMenuItem.ScaleRatio, 
            ContextMenuItem.Strikethrough, 
            ContextMenuItem.Underline
          ] 
        }}
      >
        <Inject services={[Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, BookmarkView, ThumbnailView,
          Print, TextSelection, TextSearch, FormFields, FormDesigner]} />
      </PdfViewerComponent>
    </div>
  </div>);
}
const rootElement = document.getElementById('sample')!;
const root = ReactDOM.createRoot(rootElement);
root.render(<App />);

currentPageNumber number

Returns the current page number of the document displayed in the PdfViewer control.

<body>
    <button onclick="currentPage()">Current Page Number</button>
    <div id='sample'>
        <div id='loader'>Loading....</div>
    </div>
</body>

<script>
    function currentPage(){
        var viewer = document.getElementById('container').ej2_instances[0];	
        // Logs the current page number.
        console.log("Current page number is - " + viewer.currentPageNumber);
    }
 </script>
import React from 'react';
import ReactDOM from 'react-dom/client';
import './index.css';
import { PdfViewerComponent, Toolbar, Magnification, Navigation, LinkAnnotation, BookmarkView, ThumbnailView, Print, TextSelection, Annotation, TextSearch, FormFields, FormDesigner, Inject } from '@syncfusion/ej2-react-pdfviewer';
export function App() {
  return (<div>
    <div className='control-section'>
      <PdfViewerComponent 
        id="container" 
        resourceUrl = "https://cdn.syncfusion.com/ej2/30.1.37/dist/ej2-pdfviewer-lib"
        documentPath = "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf"
        style={{ 'height': '680px' }} 
      
      >
        <Inject services={[Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, BookmarkView, ThumbnailView,
          Print, TextSelection, TextSearch, FormFields, FormDesigner]} />
      </PdfViewerComponent>
    </div>
  </div>);
}
const rootElement = document.getElementById('sample')!;
const root = ReactDOM.createRoot(rootElement);
root.render(<App />);

customFonts string[]

Specifies a collection of font names as strings. These fonts must be located in the resourceUrl folder.

customStamp CustomStampModel[]

Defines the stamp items of the PDF Viewer.

<body>
    <div id='sample'>
        <div id='loader'>Loading....</div>
    </div>    
</body>
import React from 'react';
import ReactDOM from 'react-dom/client';
import './index.css';
import { PdfViewerComponent, Toolbar, Magnification, Navigation, LinkAnnotation, BookmarkView, ThumbnailView, Print, TextSelection, Annotation, TextSearch, FormFields, FormDesigner, Inject } from '@syncfusion/ej2-react-pdfviewer';

function App() {
  const customStampSettings = {
    isAddToMenu: true,
    enableCustomStamp: true,
    customStamps: [
      {
        customStampName: "SampleSignature",
        customStampImageSource: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUA" // Replace with full base64 string
      }
    ]
  };

  return (
    <div>
      <div className='control-section'>
        <PdfViewerComponent
          id="container"
          resourceUrl="https://cdn.syncfusion.com/ej2/30.1.37/dist/ej2-pdfviewer-lib"
          documentPath="https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf"
          customStampSettings={customStampSettings}
          style={{ height: '680px' }}
        >
        <Inject services={[Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, BookmarkView, ThumbnailView,
          Print, TextSelection, TextSearch, FormFields, FormDesigner]} />
        </PdfViewerComponent>
      </div>
    </div>
  );
}
const rootElement = document.getElementById('sample')!;
const root = ReactDOM.createRoot(rootElement);
root.render(<App />);

customStampSettings CustomStampSettingsModel

Defines the settings of customStamp annotation.

<body>
    <div id='sample'>
        <div id='loader'>Loading....</div>
    </div>    
</body>
import React from 'react';
import ReactDOM from 'react-dom/client';
import './index.css';
import { PdfViewerComponent, Toolbar, Magnification, Navigation, LinkAnnotation, BookmarkView, ThumbnailView, Print, TextSelection, Annotation, TextSearch, FormFields, FormDesigner, Inject, AllowedInteraction } from '@syncfusion/ej2-react-pdfviewer';
export function App() {
  return (<div>
    <div className='control-section'>
      <PdfViewerComponent 
        id="container" 
        resourceUrl = "https://cdn.syncfusion.com/ej2/30.1.37/dist/ej2-pdfviewer-lib"
        documentPath = "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf"
        style={{ 'height': '680px' }} 
        // Change the custom stamp settings.
        customStampSettings = {{ 
            opacity: 1, 
            author: 'XYZ', 
            width: 100, 
            height: 100, 
            left: 200, 
            top: 200, 
            minHeight: 10, 
            minWidth: 10, 
            maxWidth: 100, 
            maxHeight: 100, 
            isLock: false, 
            enableCustomStamp: true, 
            allowedInteractions: [AllowedInteraction.None],
            isPrint: true 
        }}
      >
        <Inject services={[Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, BookmarkView, ThumbnailView,
          Print, TextSelection, TextSearch, FormFields, FormDesigner]} />
      </PdfViewerComponent>
    </div>
  </div>);
}
const rootElement = document.getElementById('sample')!;
const root = ReactDOM.createRoot(rootElement);
root.render(<App />);

dateTimeFormat string

Customize desired date and time format

<body>
    <div id='sample'>
        <div id='loader'>Loading....</div>
    </div>    
</body>
import React from 'react';
import ReactDOM from 'react-dom/client';
import './index.css';
import { PdfViewerComponent, Toolbar, Magnification, Navigation, LinkAnnotation, BookmarkView, ThumbnailView, Print, TextSelection, Annotation, TextSearch, FormFields, FormDesigner, Inject } from '@syncfusion/ej2-react-pdfviewer';
export function App() {
  return (<div>
    <div className='control-section'>
      <PdfViewerComponent 
        id="container" 
        resourceUrl = "https://cdn.syncfusion.com/ej2/30.1.37/dist/ej2-pdfviewer-lib"
        documentPath = "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf"
        style={{ 'height': '680px' }} 
        // Change the date time format.
        dateTimeFormat = "yyyy-MM-dd HH:mm:ss"
      >
        <Inject services={[Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, BookmarkView, ThumbnailView,
          Print, TextSelection, TextSearch, FormFields, FormDesigner]} />
      </PdfViewerComponent>
    </div>
  </div>);
}
const rootElement = document.getElementById('sample')!;
const root = ReactDOM.createRoot(rootElement);
root.render(<App />);

designerMode boolean

Enable or disable the interaction of form fields in the PDF Viewer.

<body>
    <div id='sample'>
        <div id='loader'>Loading....</div>
    </div>    
</body>
import React from 'react';
import ReactDOM from 'react-dom/client';
import './index.css';
import { PdfViewerComponent, Toolbar, Magnification, Navigation, LinkAnnotation, BookmarkView, ThumbnailView, Print, TextSelection, Annotation, TextSearch, FormFields, Inject, FormDesigner } from '@syncfusion/ej2-react-pdfviewer';
export function App() {
  return (<div>
    <div className='control-section'>
      <PdfViewerComponent 
        id="container" 
        resourceUrl = "https://cdn.syncfusion.com/ej2/30.1.37/dist/ej2-pdfviewer-lib"
        documentPath = "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf"
        style={{ 'height': '680px' }} 
        designerMode={true}
      >
        <Inject services={[Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, BookmarkView, ThumbnailView,
          Print, TextSelection, TextSearch, FormFields, FormDesigner]} />
      </PdfViewerComponent>
    </div>
  </div>);
}
const rootElement = document.getElementById('sample')!;
const root = ReactDOM.createRoot(rootElement);
root.render(<App />);

disableContextMenuItems ContextMenuItem[]

Disables the menu items in the context menu.

<body>
    <div id='sample'>
        <div id='loader'>Loading....</div>
    </div>    
</body>
import React from 'react';
import ReactDOM from 'react-dom/client';
import './index.css';
import { PdfViewerComponent, Toolbar, Magnification, Navigation, LinkAnnotation, BookmarkView, ThumbnailView, Print, TextSelection, Annotation, TextSearch, FormFields, FormDesigner, Inject, ContextMenuItem } from '@syncfusion/ej2-react-pdfviewer';
export function App() {
  return (<div>
    <div className='control-section'>
      <PdfViewerComponent 
        id="container" 
        resourceUrl = "https://cdn.syncfusion.com/ej2/30.1.37/dist/ej2-pdfviewer-lib"
        documentPath = "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf"
        style={{ 'height': '680px' }} 
        // Show or hide the context menu items.
        disableContextMenuItems = {[
          ContextMenuItem.Copy,
          ContextMenuItem.Paste
        ]}
      >
        <Inject services={[Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, BookmarkView, ThumbnailView,
          Print, TextSelection, TextSearch, FormFields, FormDesigner]} />
      </PdfViewerComponent>
    </div>
  </div>);
}
const rootElement = document.getElementById('sample')!;
const root = ReactDOM.createRoot(rootElement);
root.render(<App />);

distanceSettings DistanceSettingsModel

Defines the settings of distance annotation.

<body>
    <div id='sample'>
        <div id='loader'>Loading....</div>
    </div>    
</body>
import React from 'react';
import ReactDOM from 'react-dom/client';
import './index.css';
import { PdfViewerComponent, Toolbar, Magnification, Navigation, LinkAnnotation, BookmarkView, ThumbnailView, Print, TextSelection, Annotation, TextSearch, FormFields, FormDesigner, Inject, AnnotationResizerLocation, CursorType, AllowedInteraction } from '@syncfusion/ej2-react-pdfviewer';
export function App() {
  return (<div>
    <div className='control-section'>
      <PdfViewerComponent 
        id="container" 
        resourceUrl = "https://cdn.syncfusion.com/ej2/30.1.37/dist/ej2-pdfviewer-lib"
        documentPath = "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf"
        style={{ 'height': '680px' }} 
        // Change the distance annotation settings.
        distanceSettings = {{ 
          opacity: 1, 
          fillColor: '#0000ff',
          strokeColor: '#ff0000', 
          author: 'Guest', 
          thickness: 1, 
          borderDashArray: 1, 
          lineHeadStartStyle: 'Closed', 
          lineHeadEndStyle: 'Closed', 
          annotationSelectorSettings: { 
            selectionBorderColor: 'blue', 
            resizerBorderColor: 'black', 
            resizerFillColor: '#FF4081', 
            resizerSize: 8, 
            selectionBorderThickness: 1, 
            resizerShape: 'Square', 
            selectorLineDashArray: [5, 6], 
            resizerLocation: AnnotationResizerLocation.Corners | AnnotationResizerLocation.Edges, 
            resizerCursorType: CursorType.grab 
          }, 
          minHeight: 10, 
          minWidth: 10, 
          maxWidth: 100, 
          maxHeight: 100, 
          isLock: false, 
          leaderLength: 40, 
          resizeCursorType: CursorType.move, 
          allowedInteractions: [AllowedInteraction.Resize], 
          isPrint: true 
        }}
      >
        <Inject services={[Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, BookmarkView, ThumbnailView,
          Print, TextSelection, TextSearch, FormFields, FormDesigner]} />
      </PdfViewerComponent>
    </div>
  </div>);
}
const rootElement = document.getElementById('sample')!;
const root = ReactDOM.createRoot(rootElement);
root.render(<App />);

documentPath string

Sets the PDF document path for initial loading.

<body>
    <div id='sample'>
        <div id='loader'>Loading....</div>
    </div>    
</body>
import React from 'react';
import ReactDOM from 'react-dom/client';
import './index.css';
import { PdfViewerComponent, Toolbar, Magnification, Navigation, LinkAnnotation, BookmarkView, ThumbnailView, Print, TextSelection, Annotation, TextSearch, FormFields, FormDesigner, Inject } from '@syncfusion/ej2-react-pdfviewer';
export function App() {
  return (<div>
    <div className='control-section'>
      <PdfViewerComponent 
        id="container" 
        resourceUrl = "https://cdn.syncfusion.com/ej2/30.1.37/dist/ej2-pdfviewer-lib"
        documentPath = "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf"
        style={{ 'height': '680px' }} 
      >
        <Inject services={[Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, BookmarkView, ThumbnailView,
          Print, TextSelection, TextSearch, FormFields, FormDesigner]} />
      </PdfViewerComponent>
    </div>
  </div>);
}
const rootElement = document.getElementById('sample')!;
const root = ReactDOM.createRoot(rootElement);
root.render(<App />);

downloadFileName string

Gets or sets the download file name in the PdfViewer control.

<body>
    <div id='sample'>
        <div id='loader'>Loading....</div>
    </div>    
</body>
import React from 'react';
import ReactDOM from 'react-dom/client';
import './index.css';
import { PdfViewerComponent, Toolbar, Magnification, Navigation, LinkAnnotation, BookmarkView, ThumbnailView, Print, TextSelection, Annotation, TextSearch, FormFields, FormDesigner, Inject } from '@syncfusion/ej2-react-pdfviewer';
export function App() {
  return (<div>
    <div className='control-section'>
      <PdfViewerComponent 
        id="container" 
        resourceUrl = "https://cdn.syncfusion.com/ej2/30.1.37/dist/ej2-pdfviewer-lib"
        documentPath = "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf"
        style={{ 'height': '680px' }} 
        downloadFileName = 'Document_Downloaded'
      >
        <Inject services={[Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, BookmarkView, ThumbnailView,
          Print, TextSelection, TextSearch, FormFields, FormDesigner]} />
      </PdfViewerComponent>
    </div>
  </div>);
}
const rootElement = document.getElementById('sample')!;
const root = ReactDOM.createRoot(rootElement);
root.render(<App />);

enableAccessibilityTags boolean

Determines whether accessibility tags are enabled or disabled.
Accessibility tags can help make web content more accessible to users with disabilities.

<body>
    <div id='sample'>
        <div id='loader'>Loading....</div>
    </div>    
</body>
import React from 'react';
import ReactDOM from 'react-dom/client';
import './index.css';
import { PdfViewerComponent, Toolbar, Magnification, Navigation, LinkAnnotation, BookmarkView, ThumbnailView, Print, TextSelection, Annotation, TextSearch, FormFields, FormDesigner, AccessibilityTags, Inject } from '@syncfusion/ej2-react-pdfviewer';
export function App() {
  return (<div>
    <div className='control-section'>
      <PdfViewerComponent 
        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"
        style={{ 'height': '680px' }} 
        enableAccessibilityTags = {false}
      >
        <Inject services={[Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, BookmarkView, ThumbnailView,
          Print, TextSelection, TextSearch, FormFields, FormDesigner, AccessibilityTags]} />
      </PdfViewerComponent>
    </div>
  </div>);
}
const rootElement = document.getElementById('sample')!;
const root = ReactDOM.createRoot(rootElement);
root.render(<App />);

enableAnnotation boolean

Enable or disable the annotation in the PDF Viewer.

<body>
    <div id='sample'>
        <div id='loader'>Loading....</div>
    </div>    
</body>
import React from 'react';
import ReactDOM from 'react-dom/client';
import './index.css';
import { PdfViewerComponent, Toolbar, Magnification, Navigation, LinkAnnotation, BookmarkView, ThumbnailView, Print, TextSelection, Annotation, TextSearch, FormFields, FormDesigner, Inject } from '@syncfusion/ej2-react-pdfviewer';
export function App() {
  return (<div>
    <div className='control-section'>
      <PdfViewerComponent 
        id="container" 
        resourceUrl = "https://cdn.syncfusion.com/ej2/30.1.37/dist/ej2-pdfviewer-lib"
        documentPath = "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf"
        style={{ 'height': '680px' }} 
        // Enable or disable the Add or Edit Annotations tool in the toolbar.
        enableAnnotation = {false}
      >
        <Inject services={[Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, BookmarkView, ThumbnailView,
          Print, TextSelection, TextSearch, FormFields, FormDesigner]} />
      </PdfViewerComponent>
    </div>
  </div>);
}
const rootElement = document.getElementById('sample')!;
const root = ReactDOM.createRoot(rootElement);
root.render(<App />);

enableAnnotationToolbar boolean

Enable or disable the annotation toolbar and the PDF document is loaded with annotations in the PDF Viewer control initially.

<body>
    <div id='sample'>
        <div id='loader'>Loading....</div>
    </div>    
</body>
import React from 'react';
import ReactDOM from 'react-dom/client';
import './index.css';
import { PdfViewerComponent, Toolbar, Magnification, Navigation, LinkAnnotation, BookmarkView, ThumbnailView, Print, TextSelection, Annotation, TextSearch, FormFields, FormDesigner, Inject } from '@syncfusion/ej2-react-pdfviewer';
export function App() {
  return (<div>
    <div className='control-section'>
      <PdfViewerComponent 
        id="container" 
        resourceUrl = "https://cdn.syncfusion.com/ej2/30.1.37/dist/ej2-pdfviewer-lib"
        documentPath = "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf"
        style={{ 'height': '680px' }} 
        // Show or hide the annotation toolbar.
        enableAnnotationToolbar = {false}
      >
        <Inject services={[Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, BookmarkView, ThumbnailView,
          Print, TextSelection, TextSearch, FormFields, FormDesigner]} />
      </PdfViewerComponent>
    </div>
  </div>);
}
const rootElement = document.getElementById('sample')!;
const root = ReactDOM.createRoot(rootElement);
root.render(<App />);

enableAutoComplete boolean

Enable or disables the auto complete option in form documents.

<body>
    <div id='sample'>
        <div id='loader'>Loading....</div>
    </div>    
</body>
import React from 'react';
import ReactDOM from 'react-dom/client';
import './index.css';
import { PdfViewerComponent, Toolbar, Magnification, Navigation, LinkAnnotation, BookmarkView, ThumbnailView, Print, TextSelection, Annotation, TextSearch, FormFields, FormDesigner, Inject } from '@syncfusion/ej2-react-pdfviewer';
export function App() {
  return (<div>
    <div className='control-section'>
      <PdfViewerComponent 
        id="container" 
        resourceUrl = "https://cdn.syncfusion.com/ej2/30.1.37/dist/ej2-pdfviewer-lib"
        documentPath = "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf"
        style={{ 'height': '680px' }} 
        enableAutoComplete = {false}
      >
        <Inject services={[Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, BookmarkView, ThumbnailView,
          Print, TextSelection, TextSearch, FormFields, FormDesigner]} />
      </PdfViewerComponent>
    </div>
  </div>);
}
const rootElement = document.getElementById('sample')!;
const root = ReactDOM.createRoot(rootElement);
root.render(<App />);

enableBookmark boolean

Enables or disables the bookmark view in the PDF viewer

<body>
    <div id='sample'>
        <div id='loader'>Loading....</div>
    </div>    
</body>
import React from 'react';
import ReactDOM from 'react-dom/client';
import './index.css';
import { PdfViewerComponent, Toolbar, Magnification, Navigation, LinkAnnotation, BookmarkView, ThumbnailView, Print, TextSelection, Annotation, TextSearch, FormFields, FormDesigner, Inject } from '@syncfusion/ej2-react-pdfviewer';
export function App() {
  return (<div>
    <div className='control-section'>
      <PdfViewerComponent 
        id="container" 
        resourceUrl = "https://cdn.syncfusion.com/ej2/30.1.37/dist/ej2-pdfviewer-lib"
        documentPath = "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf"
        style={{ 'height': '680px' }} 
        // Show or hide the bookmark tool.
        enableBookmark = {false}
      >
        <Inject services={[Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, BookmarkView, ThumbnailView,
          Print, TextSelection, TextSearch, FormFields, FormDesigner]} />
      </PdfViewerComponent>
    </div>
  </div>);
}
const rootElement = document.getElementById('sample')!;
const root = ReactDOM.createRoot(rootElement);
root.render(<App />);

enableBookmarkStyles boolean

Enables or disables the bookmark styles in the PDF viewer

<body>
    <div id='sample'>
        <div id='loader'>Loading....</div>
    </div>    
</body>
import React from 'react';
import ReactDOM from 'react-dom/client';
import './index.css';
import { PdfViewerComponent, Toolbar, Magnification, Navigation, LinkAnnotation, BookmarkView, ThumbnailView, Print, TextSelection, Annotation, TextSearch, FormFields, FormDesigner, Inject } from '@syncfusion/ej2-react-pdfviewer';
export function App() {
  return (<div>
    <div className='control-section'>
      <PdfViewerComponent 
        id="container" 
        resourceUrl = "https://cdn.syncfusion.com/ej2/30.1.37/dist/ej2-pdfviewer-lib"
        documentPath = "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf"
        style={{ 'height': '680px' }} 
        enableBookmarkStyles={true}
      >
        <Inject services={[Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, BookmarkView, ThumbnailView,
          Print, TextSelection, TextSearch, FormFields, FormDesigner ]} />
      </PdfViewerComponent>
    </div>
  </div>);
}
const rootElement = document.getElementById('sample')!;
const root = ReactDOM.createRoot(rootElement);
root.render(<App />);

enableCommentPanel boolean

Enable or disables the Comment Panel of PdfViewer.

<body>
    <div id='sample'>
        <div id='loader'>Loading....</div>
    </div>    
</body>
import React from 'react';
import ReactDOM from 'react-dom/client';
import './index.css';
import { PdfViewerComponent, Toolbar, Magnification, Navigation, LinkAnnotation, BookmarkView, ThumbnailView, Print, TextSelection, Annotation, TextSearch, FormFields, FormDesigner, Inject } from '@syncfusion/ej2-react-pdfviewer';
export function App() {
  return (<div>
    <div className='control-section'>
      <PdfViewerComponent 
        id="container" 
        resourceUrl = "https://cdn.syncfusion.com/ej2/30.1.37/dist/ej2-pdfviewer-lib"
        documentPath = "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf"
        style={{ 'height': '680px' }} 
        // Enable or disable comment panel.
        enableCommentPanel = {false}
      >
        <Inject services={[Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, BookmarkView, ThumbnailView,
          Print, TextSelection, TextSearch, FormFields, FormDesigner]} />
      </PdfViewerComponent>
    </div>
  </div>);
}
const rootElement = document.getElementById('sample')!;
const root = ReactDOM.createRoot(rootElement);
root.render(<App />);

enableDesktopMode boolean

Gets or sets a boolean value to show or hide desktop toolbar in mobile devices.

<body>
    <div id='sample'>
        <div id='loader'>Loading....</div>
    </div>    
</body>
import React from 'react';
import ReactDOM from 'react-dom/client';
import './index.css';
import { PdfViewerComponent, Toolbar, Magnification, Navigation, LinkAnnotation, BookmarkView, ThumbnailView, Print, TextSelection, Annotation, TextSearch, FormFields, FormDesigner, Inject } from '@syncfusion/ej2-react-pdfviewer';
export function App() {
  return (<div>
    <div className='control-section'>
      <PdfViewerComponent 
        id="container" 
        resourceUrl = "https://cdn.syncfusion.com/ej2/30.1.37/dist/ej2-pdfviewer-lib"
        documentPath = "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf" 
        style={{ 'height': '680px' }} 
        // Enable or disable desktop mode.
        enableDesktopMode = {true}
      >
        <Inject services={[Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, BookmarkView, ThumbnailView,
          Print, TextSelection, TextSearch, FormFields, FormDesigner]} />
      </PdfViewerComponent>
    </div>
  </div>);
}
const rootElement = document.getElementById('sample')!;
const root = ReactDOM.createRoot(rootElement);
root.render(<App />);

enableDownload boolean

Enable or disables the download option of PdfViewer.

<body>
    <div id='sample'>
        <div id='loader'>Loading....</div>
    </div>    
</body>
import React from 'react';
import ReactDOM from 'react-dom/client';
import './index.css';
import { PdfViewerComponent, Toolbar, Magnification, Navigation, LinkAnnotation, BookmarkView, ThumbnailView, Print, TextSelection, Annotation, TextSearch, FormFields, FormDesigner, Inject } from '@syncfusion/ej2-react-pdfviewer';
export function App() {
  return (<div>
    <div className='control-section'>
      <PdfViewerComponent 
        id="container" 
        resourceUrl = "https://cdn.syncfusion.com/ej2/30.1.37/dist/ej2-pdfviewer-lib"
        documentPath = "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf"
        style={{ 'height': '680px' }} 
        // Enable or disable download.
        enableDownload = {false}
      >
        <Inject services={[Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, BookmarkView, ThumbnailView,
          Print, TextSelection, TextSearch, FormFields, FormDesigner]} />
      </PdfViewerComponent>
    </div>
  </div>);
}
const rootElement = document.getElementById('sample')!;
const root = ReactDOM.createRoot(rootElement);
root.render(<App />);

enableFormDesigner boolean

Show or hide the form designer tool in the main toolbar of the PDF Viewer.

<body>
    <div id='sample'>
        <div id='loader'>Loading....</div>
    </div>    
</body>
import React from 'react';
import ReactDOM from 'react-dom/client';
import './index.css';
import { PdfViewerComponent, Toolbar, Magnification, Navigation, LinkAnnotation, BookmarkView, ThumbnailView, Print, TextSelection, Annotation, TextSearch, FormFields, FormDesigner, Inject } from '@syncfusion/ej2-react-pdfviewer';
export function App() {
  return (<div>
    <div className='control-section'>
      <PdfViewerComponent 
        id="container" 
        resourceUrl = "https://cdn.syncfusion.com/ej2/30.1.37/dist/ej2-pdfviewer-lib"
        documentPath = "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf"
        style={{ 'height': '680px' }} 
        // Enable or disable form designer.
        enableFormDesigner = {false}
      >
        <Inject services={[Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, BookmarkView, ThumbnailView,
          Print, TextSelection, TextSearch, FormFields, FormDesigner]} />
      </PdfViewerComponent>
    </div>
  </div>);
}
const rootElement = document.getElementById('sample')!;
const root = ReactDOM.createRoot(rootElement);
root.render(<App />);

enableFormDesignerToolbar boolean

Enable or disable the form designer toolbar and the PDF document is loaded with from fields in the PDF Viewer control initially.

<body>
    <div id='sample'>
        <div id='loader'>Loading....</div>
    </div>    
</body>
import React from 'react';
import ReactDOM from 'react-dom/client';
import './index.css';
import { PdfViewerComponent, Toolbar, Magnification, Navigation, LinkAnnotation, BookmarkView, ThumbnailView, Print, TextSelection, Annotation, TextSearch, FormFields, FormDesigner, Inject } from '@syncfusion/ej2-react-pdfviewer';
export function App() {
  return (<div>
    <div className='control-section'>
      <PdfViewerComponent 
        id="container" 
        resourceUrl = "https://cdn.syncfusion.com/ej2/30.1.37/dist/ej2-pdfviewer-lib"
        documentPath = "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf"  
        style={{ 'height': '680px' }} 
        // Enable or disable form designer.
        enableFormDesigner = {false}
      >
        <Inject services={[Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, BookmarkView, ThumbnailView,
          Print, TextSelection, TextSearch, FormFields, FormDesigner]} />
      </PdfViewerComponent>
    </div>
  </div>);
}
const rootElement = document.getElementById('sample')!;
const root = ReactDOM.createRoot(rootElement);
root.render(<App />);

enableFormFields boolean

Enable or disable the form fields in the PDF Viewer.

<body>
    <div id='sample'>
        <div id='loader'>Loading....</div>
    </div>    
</body>
import React from 'react';
import ReactDOM from 'react-dom/client';
import './index.css';
import { PdfViewerComponent, Toolbar, Magnification, Navigation, LinkAnnotation, BookmarkView, ThumbnailView, Print, TextSelection, Annotation, TextSearch, FormFields, Inject } from '@syncfusion/ej2-react-pdfviewer';
export function App() {
  return (<div>
    <div className='control-section'>
      <PdfViewerComponent 
        id="container" 
        resourceUrl="https://cdn.syncfusion.com/ej2/30.1.37/dist/ej2-pdfviewer-lib"
        documentPath="https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf"
        style={{ 'height': '680px' }} 
        // Enable or disable form fields.
        enableFormFields = {false}
      >
        <Inject services={[Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, BookmarkView, ThumbnailView,
          Print, TextSelection, TextSearch, FormFields ]} />
      </PdfViewerComponent>
    </div>
  </div>);
}
const rootElement = document.getElementById('sample')!;
const root = ReactDOM.createRoot(rootElement);
root.render(<App />);

enableFormFieldsValidation boolean

Enable or disable the form fields validation.

<body>
    <div id='sample'>
        <div id='loader'>Loading....</div>
    </div>    
</body>
import React from 'react';
import ReactDOM from 'react-dom/client';
import './index.css';
import { PdfViewerComponent, Toolbar, Magnification, Navigation, LinkAnnotation, BookmarkView, ThumbnailView, Print, TextSelection, Annotation, TextSearch, FormFields, FormDesigner, Inject } from '@syncfusion/ej2-react-pdfviewer';
export function App() {
  return (<div>
    <div className='control-section'>
      <PdfViewerComponent 
        id="container" 
        resourceUrl = "https://cdn.syncfusion.com/ej2/30.1.37/dist/ej2-pdfviewer-lib"
        documentPath = "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf"
        style={{ 'height': '680px' }} 
        enableFormFieldsValidation={true}
      >
        <Inject services={[Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, BookmarkView, ThumbnailView,
          Print, TextSelection, TextSearch, FormFields, FormDesigner]} />
      </PdfViewerComponent>
    </div>
  </div>);
}
const rootElement = document.getElementById('sample')!;
const root = ReactDOM.createRoot(rootElement);
root.render(<App />);

enableFreeText boolean

Enable or disable the free text annotation in the PDF Viewer.

<body>
    <div id='sample'>
        <div id='loader'>Loading....</div>
    </div>    
</body>
import React from 'react';
import ReactDOM from 'react-dom/client';
import './index.css';
import { PdfViewerComponent, Toolbar, Magnification, Navigation, LinkAnnotation, BookmarkView, ThumbnailView, Print, TextSelection, Annotation, TextSearch, FormFields, FormDesigner, Inject } from '@syncfusion/ej2-react-pdfviewer';
export function App() {
  return (<div>
    <div className='control-section'>
      <PdfViewerComponent 
        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" 
        style={{ 'height': '680px' }} 
        // Enable or disable free text.
        enableFreeText = {false}
      >
        <Inject services={[Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, BookmarkView, ThumbnailView,
          Print, TextSelection, TextSearch, FormFields, FormDesigner]} />
      </PdfViewerComponent>
    </div>
  </div>);
}
const rootElement = document.getElementById('sample')!;
const root = ReactDOM.createRoot(rootElement);
root.render(<App />);

enableHandwrittenSignature boolean

Enables or disables the handwritten signature in PDF document.

<body>
    <div id='sample'>
        <div id='loader'>Loading....</div>
    </div>    
</body>
import React from 'react';
import ReactDOM from 'react-dom/client';
import './index.css';
import { PdfViewerComponent, Toolbar, Magnification, Navigation, LinkAnnotation, BookmarkView, ThumbnailView, Print, TextSelection, Annotation, TextSearch, FormFields, FormDesigner, Inject } from '@syncfusion/ej2-react-pdfviewer';
export function App() {
  return (<div>
    <div className='control-section'>
      <PdfViewerComponent 
        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" 
        style={{ 'height': '680px' }} 
        // Enable or disable hand written signature.
        enableHandwrittenSignature = {false}
      >
        <Inject services={[Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, BookmarkView, ThumbnailView,
          Print, TextSelection, TextSearch, FormFields, FormDesigner]} />
      </PdfViewerComponent>
    </div>
  </div>);
}
const rootElement = document.getElementById('sample')!;
const root = ReactDOM.createRoot(rootElement);
root.render(<App />);

Enables or disables the hyperlinks in PDF document.

<body>
    <div id='sample'>
        <div id='loader'>Loading....</div>
    </div>    
</body>
import React from 'react';
import ReactDOM from 'react-dom/client';
import './index.css';
import { PdfViewerComponent, Toolbar, Magnification, Navigation, LinkAnnotation, BookmarkView, ThumbnailView, Print, TextSelection, Annotation, TextSearch, FormFields, FormDesigner, Inject } from '@syncfusion/ej2-react-pdfviewer';
export function App() {
  return (<div>
    <div className='control-section'>
      <PdfViewerComponent 
        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" 
        style={{ 'height': '680px' }} 
        // Enable or disable hyper link.
        enableHyperlink = {false}
      >
        <Inject services={[Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, BookmarkView, ThumbnailView,
          Print, TextSelection, TextSearch, FormFields, FormDesigner]} />
      </PdfViewerComponent>
    </div>
  </div>);
}
const rootElement = document.getElementById('sample')!;
const root = ReactDOM.createRoot(rootElement);
root.render(<App />);

enableImportAnnotationMeasurement boolean

Enable or disable the customization of measure values in PDF Viewer.

<body>
    <div id='sample'>
        <div id='loader'>Loading....</div>
    </div>    
</body>
import React from 'react';
import ReactDOM from 'react-dom/client';
import './index.css';
import { PdfViewerComponent, Toolbar, Magnification, Navigation, LinkAnnotation, BookmarkView, ThumbnailView, Print, TextSelection, Annotation, TextSearch, FormFields, FormDesigner, Inject } from '@syncfusion/ej2-react-pdfviewer';
export function App() {
  return (<div>
    <div className='control-section'>
      <PdfViewerComponent 
        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"
        style={{ 'height': '680px' }} 
        // Enable or disable import annotation measurement.
        enableImportAnnotationMeasurement = {false}
      >
        <Inject services={[Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, BookmarkView, ThumbnailView,
          Print, TextSelection, TextSearch, FormFields, FormDesigner]} />
      </PdfViewerComponent>
    </div>
  </div>);
}
const rootElement = document.getElementById('sample')!;
const root = ReactDOM.createRoot(rootElement);
root.render(<App />);

enableInkAnnotation boolean

If it is set as false, then the ink annotation support in the PDF Viewer will be disabled. By default it is true.

<body>
    <div id='sample'>
        <div id='loader'>Loading....</div>
    </div>    
</body>
import React from 'react';
import ReactDOM from 'react-dom/client';
import './index.css';
import { PdfViewerComponent, Toolbar, Magnification, Navigation, LinkAnnotation, BookmarkView, ThumbnailView, Print, TextSelection, Annotation, TextSearch, FormFields, FormDesigner, Inject } from '@syncfusion/ej2-react-pdfviewer';
export function App() {
  return (<div>
    <div className='control-section'>
      <PdfViewerComponent 
        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" 
        style={{ 'height': '680px' }} 
        // Enable or disable ink annotation.
        enableInkAnnotation = {false}
      >
        <Inject services={[Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, BookmarkView, ThumbnailView,
          Print, TextSelection, TextSearch, FormFields, FormDesigner]} />
      </PdfViewerComponent>
    </div>
  </div>);
}
const rootElement = document.getElementById('sample')!;
const root = ReactDOM.createRoot(rootElement);
root.render(<App />);

enableLocalStorage boolean

Enable or disable session storage for PDF Viewer data.
When true, the PDF Viewer stores data in an internal collection instead of session storage.
When false, the default session storage mechanism is used.
Remarks:

  • Setting enableLocalStorage to true stores all session-specific data (e.g., form fields, annotations, signatures) in memory, increasing memory usage based on the document size and content complexity.
  • Larger documents or those with more interactive elements will consume more memory.
  • Ensure proper cleanup by destroying the PDF Viewer instance when no longer needed to avoid memory leaks.

enableMagnification boolean

Enable or disable the Magnification module of PDF Viewer.

<body>
    <div id='sample'>
        <div id='loader'>Loading....</div>
    </div>    
</body>
import React from 'react';
import ReactDOM from 'react-dom/client';
import './index.css';
import { PdfViewerComponent, Toolbar, Magnification, Navigation, LinkAnnotation, BookmarkView, ThumbnailView, Print, TextSelection, Annotation, TextSearch, FormFields, FormDesigner, Inject } from '@syncfusion/ej2-react-pdfviewer';
export function App() {
  return (<div>
    <div className='control-section'>
      <PdfViewerComponent 
        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" 
        style={{ 'height': '680px' }} 
        // Enable or disable magnification.
        enableMagnification = {false}
      >
        <Inject services={[Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, BookmarkView, ThumbnailView,
          Print, TextSelection, TextSearch, FormFields, FormDesigner]} />
      </PdfViewerComponent>
    </div>
  </div>);
}
const rootElement = document.getElementById('sample')!;
const root = ReactDOM.createRoot(rootElement);
root.render(<App />);

enableMeasureAnnotation boolean

Enable or disable the calibrate annotation in the PDF Viewer.

<body>
    <div id='sample'>
        <div id='loader'>Loading....</div>
    </div>    
</body>
import React from 'react';
import ReactDOM from 'react-dom/client';
import './index.css';
import { PdfViewerComponent, Toolbar, Magnification, Navigation, LinkAnnotation, BookmarkView, ThumbnailView, Print, TextSelection, Annotation, TextSearch, FormFields, FormDesigner, Inject } from '@syncfusion/ej2-react-pdfviewer';
export function App() {
  return (<div>
    <div className='control-section'>
      <PdfViewerComponent 
        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" 
        style={{ 'height': '680px' }} 
        // Enable or disable measure annotation.
        enableMeasureAnnotation = {false}
      >
        <Inject services={[Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, BookmarkView, ThumbnailView,
          Print, TextSelection, TextSearch, FormFields, FormDesigner]} />
      </PdfViewerComponent>
    </div>
  </div>);
}
const rootElement = document.getElementById('sample')!;
const root = ReactDOM.createRoot(rootElement);
root.render(<App />);

enableMultiLineOverlap boolean

Enable or disable the multi line text markup annotations in overlapping collections.

<body>
    <div id='sample'>
        <div id='loader'>Loading....</div>
    </div>    
</body>
import React from 'react';
import ReactDOM from 'react-dom/client';
import './index.css';
import { PdfViewerComponent, Toolbar, Magnification, Navigation, LinkAnnotation, BookmarkView, ThumbnailView, Print, TextSelection, Annotation, TextSearch, FormFields, FormDesigner, Inject } from '@syncfusion/ej2-react-pdfviewer';
export function App() {
  return (<div>
    <div className='control-section'>
      <PdfViewerComponent 
        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" 
        style={{ 'height': '680px' }} 
        // Enable or disable multi line text markup annotations in overlapping collections.
        enableMultiLineOverlap = {true}
      >
        <Inject services={[Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, BookmarkView, ThumbnailView,
          Print, TextSelection, TextSearch, FormFields, FormDesigner]} />
      </PdfViewerComponent>
    </div>
  </div>);
}
const rootElement = document.getElementById('sample')!;
const root = ReactDOM.createRoot(rootElement);
root.render(<App />);

enableMultiPageAnnotation boolean

Enables or disables the multi-page text markup annotation selection in UI.

<body>
    <div id='sample'>
        <div id='loader'>Loading....</div>
    </div>    
</body>
import React from 'react';
import ReactDOM from 'react-dom/client';
import './index.css';
import { PdfViewerComponent, Toolbar, Magnification, Navigation, LinkAnnotation, BookmarkView, ThumbnailView, Print, TextSelection, Annotation, TextSearch, FormFields, FormDesigner, Inject } from '@syncfusion/ej2-react-pdfviewer';
export function App() {
  return (<div>
    <div className='control-section'>
      <PdfViewerComponent 
        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" 
        style={{ 'height': '680px' }} 
        // Enable or disable multi-page text markup annotation selection.
        enableMultiPageAnnotation = {true}
      >
        <Inject services={[Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, BookmarkView, ThumbnailView,
          Print, TextSelection, TextSearch, FormFields, FormDesigner]} />
      </PdfViewerComponent>
    </div>
  </div>);
}
const rootElement = document.getElementById('sample')!;
const root = ReactDOM.createRoot(rootElement);
root.render(<App />);

enableNavigation boolean

Enable or disable the Navigation module of PDF Viewer.

<body>
    <div id='sample'>
        <div id='loader'>Loading....</div>
    </div>    
</body>
import React from 'react';
import ReactDOM from 'react-dom/client';
import './index.css';
import { PdfViewerComponent, Toolbar, Magnification, Navigation, LinkAnnotation, BookmarkView, ThumbnailView, Print, TextSelection, Annotation, TextSearch, FormFields, FormDesigner, Inject } from '@syncfusion/ej2-react-pdfviewer';
export function App() {
  return (<div>
    <div className='control-section'>
      <PdfViewerComponent 
        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" 
        style={{ 'height': '680px' }} 
        // Enable or disable navigation.
        enableNavigation = {false}
      >
        <Inject services={[Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, BookmarkView, ThumbnailView,
          Print, TextSelection, TextSearch, FormFields, FormDesigner]} />
      </PdfViewerComponent>
    </div>
  </div>);
}
const rootElement = document.getElementById('sample')!;
const root = ReactDOM.createRoot(rootElement);
root.render(<App />);

enableNavigationToolbar boolean

Enable or disables the Navigation toolbar of PdfViewer.

<body>
    <div id='sample'>
        <div id='loader'>Loading....</div>
    </div>    
</body>
import React from 'react';
import ReactDOM from 'react-dom/client';
import './index.css';
import { PdfViewerComponent, Toolbar, Magnification, Navigation, LinkAnnotation, BookmarkView, ThumbnailView, Print, TextSelection, Annotation, TextSearch, FormFields, FormDesigner, Inject } from '@syncfusion/ej2-react-pdfviewer';
export function App() {
  return (<div>
    <div className='control-section'>
      <PdfViewerComponent 
        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" 
        style={{ 'height': '680px' }} 
        // Enable or disable navigation tool bar.
        enableNavigationToolbar = {false}
      >
        <Inject services={[Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, BookmarkView, ThumbnailView,
          Print, TextSelection, TextSearch, FormFields, FormDesigner]} />
      </PdfViewerComponent>
    </div>
  </div>);
}
const rootElement = document.getElementById('sample')!;
const root = ReactDOM.createRoot(rootElement);
root.render(<App />);

enablePageOrganizer boolean

add or remove the page organizer in the PDF Viewer.

<body>
    <div id='sample'>
        <div id='loader'>Loading....</div>
    </div>    
</body>
import React from 'react';
import ReactDOM from 'react-dom/client';
import './index.css';
import { PdfViewerComponent, Toolbar, Magnification, Navigation, LinkAnnotation, BookmarkView, ThumbnailView, Print, TextSelection, Annotation, TextSearch, FormFields, FormDesigner, PageOrganizer, Inject } from '@syncfusion/ej2-react-pdfviewer';
export function App() {
  return (<div>
    <div className='control-section'>
      <PdfViewerComponent 
        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"
        style={{ 'height': '680px' }}
        enablePageOrganizer = {false}
      >
        <Inject services={[Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, BookmarkView, ThumbnailView,
          Print, TextSelection, TextSearch, FormFields, FormDesigner, PageOrganizer]} />
      </PdfViewerComponent>
    </div>
  </div>);
}
const rootElement = document.getElementById('sample')!;
const root = ReactDOM.createRoot(rootElement);
root.render(<App />);

enablePersistence boolean

Enable or disable persisting component’s state between page reloads.

enablePinchZoom boolean

Enable or disable the pinch zoom option in the PDF Viewer.

<body>
    <div id='sample'>
        <div id='loader'>Loading....</div>
    </div>    
</body>
import React from 'react';
import ReactDOM from 'react-dom/client';
import './index.css';
import { PdfViewerComponent, Toolbar, Magnification, Navigation, LinkAnnotation, BookmarkView, ThumbnailView, Print, TextSelection, Annotation, TextSearch, FormFields, FormDesigner, Inject } from '@syncfusion/ej2-react-pdfviewer';
export function App() {
  return (<div>
    <div className='control-section'>
      <PdfViewerComponent 
        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" 
        style={{ 'height': '680px' }} 
        // Enable or disable pinch zoom.
        enablePinchZoom = {false}
      >
        <Inject services={[Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, BookmarkView, ThumbnailView,
          Print, TextSelection, TextSearch, FormFields, FormDesigner]} />
      </PdfViewerComponent>
    </div>
  </div>);
}
const rootElement = document.getElementById('sample')!;
const root = ReactDOM.createRoot(rootElement);
root.render(<App />);

enablePrint boolean

Enable or disables the print option of PdfViewer.

<body>
    <div id='sample'>
        <div id='loader'>Loading....</div>
    </div>    
</body>
import React from 'react';
import ReactDOM from 'react-dom/client';
import './index.css';
import { PdfViewerComponent, Toolbar, Magnification, Navigation, LinkAnnotation, BookmarkView, ThumbnailView, Print, TextSelection, Annotation, TextSearch, FormFields, FormDesigner, Inject } from '@syncfusion/ej2-react-pdfviewer';
export function App() {
  return (<div>
    <div className='control-section'>
      <PdfViewerComponent 
        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" 
        style={{ 'height': '680px' }} 
        // Enable or disable print.
        enablePrint = {false}
      >
        <Inject services={[Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, BookmarkView, ThumbnailView,
          Print, TextSelection, TextSearch, FormFields, FormDesigner]} />
      </PdfViewerComponent>
    </div>
  </div>);
}
const rootElement = document.getElementById('sample')!;
const root = ReactDOM.createRoot(rootElement);
root.render(<App />);

enablePrintRotation boolean

If it is set as FALSE, will suppress the page rotation of Landscape document on print action. By default it is TRUE.

<body>
    <div id='sample'>
        <div id='loader'>Loading....</div>
    </div>    
</body>
import React from 'react';
import ReactDOM from 'react-dom/client';
import './index.css';
import { PdfViewerComponent, Toolbar, Magnification, Navigation, LinkAnnotation, BookmarkView, ThumbnailView, Print, TextSelection, Annotation, TextSearch, FormFields, FormDesigner, Inject } from '@syncfusion/ej2-react-pdfviewer';
export function App() {
  return (<div>
    <div className='control-section'>
      <PdfViewerComponent 
        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" 
        style={{ 'height': '680px' }} 
        enablePrintRotation = {false}
      >
        <Inject services={[Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, BookmarkView, ThumbnailView,
          Print, TextSelection, TextSearch, FormFields, FormDesigner]} />
      </PdfViewerComponent>
    </div>
  </div>);
}
const rootElement = document.getElementById('sample')!;
const root = ReactDOM.createRoot(rootElement);
root.render(<App />);

enableRtl boolean

Enable or disable rendering component in right to left direction.

enableShapeAnnotation boolean

Enable or disable the shape annotation in the PDF Viewer.

<body>
    <div id='sample'>
        <div id='loader'>Loading....</div>
    </div>    
</body>
import React from 'react';
import ReactDOM from 'react-dom/client';
import './index.css';
import { PdfViewerComponent, Toolbar, Magnification, Navigation, LinkAnnotation, BookmarkView, ThumbnailView, Print, TextSelection, Annotation, TextSearch, FormFields, FormDesigner, Inject } from '@syncfusion/ej2-react-pdfviewer';
export function App() {
  return (<div>
    <div className='control-section'>
      <PdfViewerComponent 
        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" 
        style={{ 'height': '680px' }} 
        // Enable or disable sahpe annotation.
        enableShapeAnnotation = {false}
      >
        <Inject services={[Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, BookmarkView, ThumbnailView,
          Print, TextSelection, TextSearch, FormFields, FormDesigner]} />
      </PdfViewerComponent>
    </div>
  </div>);
}
const rootElement = document.getElementById('sample')!;
const root = ReactDOM.createRoot(rootElement);
root.render(<App />);

enableShapeLabel boolean

Enable or disable the Label for shapeAnnotations of PDF Viewer.

<body>
    <div id='sample'>
        <div id='loader'>Loading....</div>
    </div>    
</body>
import React from 'react';
import ReactDOM from 'react-dom/client';
import './index.css';
import { PdfViewerComponent, Toolbar, Magnification, Navigation, LinkAnnotation, BookmarkView, ThumbnailView, Print, TextSelection, Annotation, TextSearch, FormFields, FormDesigner, Inject } from '@syncfusion/ej2-react-pdfviewer';
export function App() {
  return (<div>
    <div className='control-section'>
      <PdfViewerComponent 
        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" 
        style={{ 'height': '680px' }} 
        // Enable or disable shape label for shape annotations.
        enableShapeLabel = {true}
      >
        <Inject services={[Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, BookmarkView, ThumbnailView,
          Print, TextSelection, TextSearch, FormFields, FormDesigner]} />
      </PdfViewerComponent>
    </div>
  </div>);
}
const rootElement = document.getElementById('sample')!;
const root = ReactDOM.createRoot(rootElement);
root.render(<App />);

enableStampAnnotations boolean

Enables and disable the stamp annotations when the PDF viewer control is loaded initially.

<body>
    <div id='sample'>
        <div id='loader'>Loading....</div>
    </div>    
</body>
import React from 'react';
import ReactDOM from 'react-dom/client';
import './index.css';
import { PdfViewerComponent, Toolbar, Magnification, Navigation, LinkAnnotation, BookmarkView, ThumbnailView, Print, TextSelection, Annotation, TextSearch, FormFields, FormDesigner, Inject } from '@syncfusion/ej2-react-pdfviewer';
export function App() {
  return (<div>
    <div className='control-section'>
      <PdfViewerComponent 
        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" 
        style={{ 'height': '680px' }} 
        // Enable or disable stamp annotations.
        enableStampAnnotations = {false}
      >
        <Inject services={[Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, BookmarkView, ThumbnailView,
          Print, TextSelection, TextSearch, FormFields, FormDesigner]} />
      </PdfViewerComponent>
    </div>
  </div>);
}
const rootElement = document.getElementById('sample')!;
const root = ReactDOM.createRoot(rootElement);
root.render(<App />);

enableStickyNotesAnnotation boolean

Enables and disable the stickyNotes annotations when the PDF viewer control is loaded initially.

<body>
    <div id='sample'>
        <div id='loader'>Loading....</div>
    </div>    
</body>
import React from 'react';
import ReactDOM from 'react-dom/client';
import './index.css';
import { PdfViewerComponent, Toolbar, Magnification, Navigation, LinkAnnotation, BookmarkView, ThumbnailView, Print, TextSelection, Annotation, TextSearch, FormFields, FormDesigner, Inject } from '@syncfusion/ej2-react-pdfviewer';
export function App() {
  return (<div>
    <div className='control-section'>
      <PdfViewerComponent 
        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" 
        style={{ 'height': '680px' }} 
        // Enable or disable sticky notes annotation.
        enableStickyNotesAnnotation = {false}
      >
        <Inject services={[Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, BookmarkView, ThumbnailView,
          Print, TextSelection, TextSearch, FormFields, FormDesigner]} />
      </PdfViewerComponent>
    </div>
  </div>);
}
const rootElement = document.getElementById('sample')!;
const root = ReactDOM.createRoot(rootElement);
root.render(<App />);

enableTextMarkupAnnotation boolean

Enable or disable the text markup annotation in the PDF Viewer.

<body>
    <div id='sample'>
        <div id='loader'>Loading....</div>
    </div>    
</body>
import React from 'react';
import ReactDOM from 'react-dom/client';
import './index.css';
import { PdfViewerComponent, Toolbar, Magnification, Navigation, LinkAnnotation, BookmarkView, ThumbnailView, Print, TextSelection, Annotation, TextSearch, FormFields, FormDesigner, Inject } from '@syncfusion/ej2-react-pdfviewer';
export function App() {
  return (<div>
    <div className='control-section'>
      <PdfViewerComponent 
        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" 
        style={{ 'height': '680px' }} 
        // Enable or disable text markup annotation.
        enableTextMarkupAnnotation = {false}
      >
        <Inject services={[Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, BookmarkView, ThumbnailView,
          Print, TextSelection, TextSearch, FormFields, FormDesigner]} />
      </PdfViewerComponent>
    </div>
  </div>);
}
const rootElement = document.getElementById('sample')!;
const root = ReactDOM.createRoot(rootElement);
root.render(<App />);

enableTextMarkupResizer boolean

Enable or disable the text markup resizer to modify the bounds in UI.

<body>
    <div id='sample'>
        <div id='loader'>Loading....</div>
    </div>    
</body>
import React from 'react';
import ReactDOM from 'react-dom/client';
import './index.css';
import { PdfViewerComponent, Toolbar, Magnification, Navigation, LinkAnnotation, BookmarkView, ThumbnailView, Print, TextSelection, Annotation, TextSearch, FormFields, FormDesigner, Inject } from '@syncfusion/ej2-react-pdfviewer';
export function App() {
  return (<div>
    <div className='control-section'>
      <PdfViewerComponent 
        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" 
        style={{ 'height': '680px' }} 
        // Enable or disable text mark up resizer.
        enableTextMarkupResizer = {true}
      >
        <Inject services={[Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, BookmarkView, ThumbnailView,
          Print, TextSelection, TextSearch, FormFields, FormDesigner]} />
      </PdfViewerComponent>
    </div>
  </div>);
}
const rootElement = document.getElementById('sample')!;
const root = ReactDOM.createRoot(rootElement);
root.render(<App />);

enableTextSearch boolean

Enable or disable the text search in the PDF Viewer.

<body>
    <div id='sample'>
        <div id='loader'>Loading....</div>
    </div>    
</body>
import React from 'react';
import ReactDOM from 'react-dom/client';
import './index.css';
import { PdfViewerComponent, Toolbar, Magnification, Navigation, LinkAnnotation, BookmarkView, ThumbnailView, Print, TextSelection, Annotation, TextSearch, FormFields, FormDesigner, Inject } from '@syncfusion/ej2-react-pdfviewer';
export function App() {
  return (<div>
    <div className='control-section'>
      <PdfViewerComponent 
        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" 
        style={{ 'height': '680px' }} 
        // Enable or disable text search.
        enableTextSearch = {false}
      >
        <Inject services={[Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, BookmarkView, ThumbnailView,
          Print, TextSelection, TextSearch, FormFields, FormDesigner]} />
      </PdfViewerComponent>
    </div>
  </div>);
}
const rootElement = document.getElementById('sample')!;
const root = ReactDOM.createRoot(rootElement);
root.render(<App />);

enableTextSelection boolean

Enable or disable the text selection in the PDF Viewer.

<body>
    <div id='sample'>
        <div id='loader'>Loading....</div>
    </div>    
</body>
import React from 'react';
import ReactDOM from 'react-dom/client';
import './index.css';
import { PdfViewerComponent, Toolbar, Magnification, Navigation, LinkAnnotation, BookmarkView, ThumbnailView, Print, TextSelection, Annotation, TextSearch, FormFields, FormDesigner, Inject } from '@syncfusion/ej2-react-pdfviewer';
export function App() {
  return (<div>
    <div className='control-section'>
      <PdfViewerComponent 
        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" 
        style={{ 'height': '680px' }} 
        // Enable or disable text selection.
        enableTextSelection = {false}
      >
        <Inject services={[Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, BookmarkView, ThumbnailView,
          Print, TextSelection, TextSearch, FormFields, FormDesigner]} />
      </PdfViewerComponent>
    </div>
  </div>);
}
const rootElement = document.getElementById('sample')!;
const root = ReactDOM.createRoot(rootElement);
root.render(<App />);

enableThumbnail boolean

Enables or disables the thumbnail view in the PDF viewer

<body>
    <div id='sample'>
        <div id='loader'>Loading....</div>
    </div>    
</body>
import React from 'react';
import ReactDOM from 'react-dom/client';
import './index.css';
import { PdfViewerComponent, Toolbar, Magnification, Navigation, LinkAnnotation, BookmarkView, ThumbnailView, Print, TextSelection, Annotation, TextSearch, FormFields, FormDesigner, Inject } from '@syncfusion/ej2-react-pdfviewer';
export function App() {
  return (<div>
    <div className='control-section'>
      <PdfViewerComponent 
        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" 
        style={{ 'height': '680px' }} 
        // Enable or disable thumbnail.
        enableThumbnail = {false}
      >
        <Inject services={[Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, BookmarkView, ThumbnailView,
          Print, TextSelection, TextSearch, FormFields, FormDesigner]} />
      </PdfViewerComponent>
    </div>
  </div>);
}
const rootElement = document.getElementById('sample')!;
const root = ReactDOM.createRoot(rootElement);
root.render(<App />);

enableToolbar boolean

Enable or disables the toolbar of PdfViewer.

<body>
    <div id='sample'>
        <div id='loader'>Loading....</div>
    </div>    
</body>
import React from 'react';
import ReactDOM from 'react-dom/client';
import './index.css';
import { PdfViewerComponent, Toolbar, Magnification, Navigation, LinkAnnotation, BookmarkView, ThumbnailView, Print, TextSelection, Annotation, TextSearch, FormFields, FormDesigner, Inject } from '@syncfusion/ej2-react-pdfviewer';
export function App() {
  return (<div>
    <div className='control-section'>
      <PdfViewerComponent 
        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" 
        style={{ 'height': '680px' }} 
        // Enable or disable tool bar.
        enableToolbar = {false}
      >
        <Inject services={[Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, BookmarkView, ThumbnailView,
          Print, TextSelection, TextSearch, FormFields, FormDesigner]} />
      </PdfViewerComponent>
    </div>
  </div>);
}
const rootElement = document.getElementById('sample')!;
const root = ReactDOM.createRoot(rootElement);
root.render(<App />);

enableZoomOptimization boolean

Enable or disable the zoom optimization mode in PDF Viewer.

<body>
    <div id='sample'>
        <div id='loader'>Loading....</div>
    </div>    
</body>
import React from 'react';
import ReactDOM from 'react-dom/client';
import './index.css';
import { PdfViewerComponent, Toolbar, Magnification, Navigation, LinkAnnotation, BookmarkView, ThumbnailView, Print, TextSelection, Annotation, TextSearch, FormFields, FormDesigner, Inject } from '@syncfusion/ej2-react-pdfviewer';
export function App() {
  return (<div>
    <div className='control-section'>
      <PdfViewerComponent 
        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" 
        style={{ 'height': '680px' }} 
        // Enable or disable zoom optimization.
        enableZoomOptimization = {false}
      >
        <Inject services={[Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, BookmarkView, ThumbnailView,
          Print, TextSelection, TextSearch, FormFields, FormDesigner]} />
      </PdfViewerComponent>
    </div>
  </div>);
}
const rootElement = document.getElementById('sample')!;
const root = ReactDOM.createRoot(rootElement);
root.render(<App />);

exportAnnotationFileName string

Gets or sets the export annotations JSON file name in the PdfViewer control.

<body>
    <div id='sample'>
        <div id='loader'>Loading....</div>
    </div>    
</body>
import React from 'react';
import ReactDOM from 'react-dom/client';
import './index.css';
import { PdfViewerComponent, Toolbar, Magnification, Navigation, LinkAnnotation, BookmarkView, ThumbnailView, Print, TextSelection, Annotation, TextSearch, FormFields, FormDesigner, Inject } from '@syncfusion/ej2-react-pdfviewer';
export function App() {
  return (<div>
    <div className='control-section'>
      <PdfViewerComponent 
        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" 
        style={{ 'height': '680px' }} 
        // Change the export annotation file name.
        exportAnnotationFileName = 'Annotation export file_1'
      >
        <Inject services={[Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, BookmarkView, ThumbnailView,
          Print, TextSelection, TextSearch, FormFields, FormDesigner]} />
      </PdfViewerComponent>
    </div>
  </div>);
}
const rootElement = document.getElementById('sample')!;
const root = ReactDOM.createRoot(rootElement);
root.render(<App />);

extractTextOption ExtractTextOption

Enables different levels of extract text for the Standalone PDF Viewer.
The choice of extractTextCompleted determines the content of the textData.
Options:

  • ExtractTextOption.TextAndBounds: Indicates that both plain text and text with bounds (layout information) are returned.
    This is the default behavior, providing both the extracted text and its positional data.
    Use this option when you need both the textual content and its layout information for further processing or analysis.
  • ExtractTextOption.TextOnly: Indicates that only plain text is extracted and returned.
    This option does not include any additional bounds information.
  • ExtractTextOption.BoundsOnly: Indicates that text is returned along with layout information, such as bounds or coordinates.
    This option does not include plain text and is useful when only positional data is required.
  • ExtractTextOption.None: Indicates that no text information is returned. This option is not applicable for the ExtractText method and is only used in the extractTextCompleted event when no text data is available.

This property is used to determine how textData should be managed during the extractTextCompleted event.

formFieldCollections FormFieldModel[]

Gets the form fields present in the loaded PDF document. It used to get the form fields id, name, type and it’s values.

<body>
    <button onclick="Form()">Form Field Collections</button>
    <div id='sample'>
        <div id='loader'>Loading....</div>
    </div>
</body>

<script>
    function Form(){
        var viewer = document.getElementById('container').ej2_instances[0];	
        // Logs the form field collections.
        console.log(viewer.formFieldCollections);
    }
 </script>
import React from 'react';
import ReactDOM from 'react-dom/client';
import './index.css';
import { PdfViewerComponent, Toolbar, Magnification, Navigation, LinkAnnotation, BookmarkView, ThumbnailView, Print, TextSelection, Annotation, TextSearch, FormFields, FormDesigner, Inject } from '@syncfusion/ej2-react-pdfviewer';
export function App() {
  return (<div>
    <div className='control-section'>
      <PdfViewerComponent 
      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"
      style={{ 'height': '680px' }} 
      >
        <Inject services={[Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, BookmarkView, ThumbnailView,
          Print, TextSelection, TextSearch, FormFields, FormDesigner]} />
      </PdfViewerComponent>
    </div>
  </div>);
}
const rootElement = document.getElementById('sample')!;
const root = ReactDOM.createRoot(rootElement);
root.render(<App />);

freeTextSettings FreeTextSettingsModel

Defines the settings of free text annotation.

<body>
    <div id='sample'>
        <div id='loader'>Loading....</div>
    </div>    
</body>
import React from 'react';
import ReactDOM from 'react-dom/client';
import './index.css';
import { PdfViewerComponent, Toolbar, Magnification, Navigation, LinkAnnotation, BookmarkView, ThumbnailView, Print, TextSelection, Annotation, TextSearch, FormFields, FormDesigner, Inject, AnnotationResizerLocation, FontStyle, CursorType, AllowedInteraction } from '@syncfusion/ej2-react-pdfviewer';
export function App() {
  return (<div>
    <div className='control-section'>
      <PdfViewerComponent 
        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"
        style={{ 'height': '680px' }} 
        // Changes the free text annotation settings.
        freeTextSettings = {{
          opacity: 1,
          fillColor: "#ffffff00",
          borderColor: "#4070ff",
          author: "XYZ",
          borderWidth: 1,
          width: 151,
          fontSize: 16,
          height: 24.6,
          fontColor: "#000",
          fontFamily: "Helvetica",
          defaultText: "Type Here",
          textAlignment: "Right",
          fontStyle: FontStyle.Italic,
          allowEditTextOnly: false,
          annotationSelectorSettings: {
            selectionBorderColor: "#000fff",
            resizerBorderColor: "#000000",
            resizerFillColor: "#FF4081",
            resizerSize: 8,
            selectionBorderThickness: 1,
            resizerShape: "Circle",
            selectorLineDashArray: [],
            resizerLocation:
            AnnotationResizerLocation.Corners | AnnotationResizerLocation.Edges,
            resizerCursorType: CursorType.auto,
          },
          minHeight: 10,
          minWidth: 10,
          maxWidth: 100,
          maxHeight: 100,
          isLock: false,
          allowedInteractions: [AllowedInteraction.Resize],
          isPrint: true,
          isReadonly: false,
          enableAutoFit: false
        }}
      >
        <Inject services={[Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, BookmarkView, ThumbnailView,
          Print, TextSelection, TextSearch, FormFields, FormDesigner]} />
      </PdfViewerComponent>
    </div>
  </div>);
}
const rootElement = document.getElementById('sample')!;
const root = ReactDOM.createRoot(rootElement);
root.render(<App />);

handWrittenSignatureSettings HandWrittenSignatureSettingsModel

Defines the settings of handWrittenSignature.

<body>
    <div id='sample'>
        <div id='loader'>Loading....</div>
    </div>    
</body>
import React from 'react';
import ReactDOM from 'react-dom/client';
import './index.css';
import { PdfViewerComponent, Toolbar, Magnification, Navigation, LinkAnnotation, BookmarkView, ThumbnailView, Print, TextSelection, Annotation, TextSearch, FormFields, FormDesigner, Inject, CursorType, AnnotationResizerLocation, DisplayMode } from '@syncfusion/ej2-react-pdfviewer';
export function App() {
  return (<div>
    <div className='control-section'>
      <PdfViewerComponent 
        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"
        style={{ 'height': '680px' }} 
        // Changes the hand written signature settings.
        handWrittenSignatureSettings = {{
          signatureItem: ["Signature", "Initial"],
          saveSignatureLimit: 1,
          saveInitialLimit: 1,
          opacity: 1,
          strokeColor: "#000000",
          width: 150,
          height: 100,
          thickness: 1,
          annotationSelectorSettings: {
            selectionBorderColor: "#0000FF",
            resizerBorderColor: "#000000",
            resizerFillColor: "#FF4081",
            resizerSize: 8,
            selectionBorderThickness: 1,
            resizerShape: "Circle",
            selectorLineDashArray: [5, 6],
            resizerLocation:
            AnnotationResizerLocation.Corners | AnnotationResizerLocation.Edges,
            resizerCursorType: CursorType.grab,
          },
          signatureDialogSettings: {
            displayMode: DisplayMode.Draw | DisplayMode.Text | DisplayMode.Upload,
            hideSaveSignature: false
          },
          initialDialogSettings: {
            displayMode: DisplayMode.Draw | DisplayMode.Text | DisplayMode.Upload,
            hideSaveSignature: false
          }
        }}
      >
        <Inject services={[Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, BookmarkView, ThumbnailView,
          Print, TextSelection, TextSearch, FormFields, FormDesigner]} />
      </PdfViewerComponent>
    </div>
  </div>);
}
const rootElement = document.getElementById('sample')!;
const root = ReactDOM.createRoot(rootElement);
root.render(<App />);

height string|number

Defines the scrollable height of the PdfViewer control.

<body>
    <div id='sample'>
        <div id='loader'>Loading....</div>
    </div>    
</body>
import React from 'react';
import ReactDOM from 'react-dom/client';
import './index.css';
import { PdfViewerComponent, Toolbar, Magnification, Navigation, LinkAnnotation, BookmarkView, ThumbnailView, Print, TextSelection, Annotation, TextSearch, FormFields, FormDesigner, Inject } from '@syncfusion/ej2-react-pdfviewer';
export function App() {
  return (<div>
    <div className='control-section'>
      <PdfViewerComponent 
        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" 
        // Change the height of the PDF viewer.
        height = {400}
      >
        <Inject services={[Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, BookmarkView, ThumbnailView,
          Print, TextSelection, TextSearch, FormFields, FormDesigner]} />
      </PdfViewerComponent>
    </div>
  </div>);
}
const rootElement = document.getElementById('sample')!;
const root = ReactDOM.createRoot(rootElement);
root.render(<App />);

hideSaveSignature boolean

Gets or sets a boolean value to show or hide the save signature check box option in the signature dialog.
FALSE by default

highlightSettings HighlightSettingsModel

Defines the settings of highlight annotation.

<body>
    <div id='sample'>
        <div id='loader'>Loading....</div>
    </div>    
</body>
import React from 'react';
import ReactDOM from 'react-dom/client';
import './index.css';
import { PdfViewerComponent, Toolbar, Magnification, Navigation, LinkAnnotation, BookmarkView, ThumbnailView, Print, TextSelection, Annotation, TextSearch, FormFields, FormDesigner, Inject, AnnotationResizerLocation, AllowedInteraction } from '@syncfusion/ej2-react-pdfviewer';
export function App() {
  return (<div>
    <div className='control-section'>
      <PdfViewerComponent 
        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"
        style={{ 'height': '680px' }} 
        // Changes the highlight annotation settings.
        highlightSettings = {{
          opacity: 1,
          color: "#DAFF56",
          author: "XYZ",
          annotationSelectorSettings: {
            selectionBorderColor: "#0000FF",
            resizerBorderColor: "#000000",
            resizerFillColor: "#FF4081",
            resizerSize: 8,
            selectionBorderThickness: 1,
            resizerShape: "Square",
            selectorLineDashArray: [5, 6],
            resizerLocation:
            AnnotationResizerLocation.Corners | AnnotationResizerLocation.Edges
          },
          isLock: false,
          enableMultiPageAnnotation: false,
          enableTextMarkupResizer: false,
          allowedInteractions: [AllowedInteraction.Resize],
          isPrint: true
        }}
      >
        <Inject services={[Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, BookmarkView, ThumbnailView,
          Print, TextSelection, TextSearch, FormFields, FormDesigner]} />
      </PdfViewerComponent>
    </div>
  </div>);
}
const rootElement = document.getElementById('sample')!;
const root = ReactDOM.createRoot(rootElement);
root.render(<App />);

hyperlinkOpenState LinkTarget

Specifies the open state of the hyperlink in the PDF document.

<body>
    <div id='sample'>
        <div id='loader'>Loading....</div>
    </div>    
</body>
import React from 'react';
import ReactDOM from 'react-dom/client';
import './index.css';
import { PdfViewerComponent, Toolbar, Magnification, Navigation, LinkAnnotation, BookmarkView, ThumbnailView, Print, TextSelection, Annotation, TextSearch, FormFields, FormDesigner, Inject } from '@syncfusion/ej2-react-pdfviewer';
export function App() {
  return (<div>
    <div className='control-section'>
      <PdfViewerComponent 
        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" 
        style={{ 'height': '680px' }} 
        hyperlinkOpenState = 'NewTab'
      >
        <Inject services={[Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, BookmarkView, ThumbnailView,
          Print, TextSelection, TextSearch, FormFields, FormDesigner]} />
      </PdfViewerComponent>
    </div>
  </div>);
}
const rootElement = document.getElementById('sample')!;
const root = ReactDOM.createRoot(rootElement);
root.render(<App />);

initialDialogSettings SignatureDialogSettingsModel

Get or set the signature dialog settings for initial field.

<body>
    <div id='sample'>
        <div id='loader'>Loading....</div>
    </div>    
</body>
import React from 'react';
import ReactDOM from 'react-dom/client';
import './index.css';
import { PdfViewerComponent, Toolbar, Magnification, Navigation, LinkAnnotation, BookmarkView, ThumbnailView, Print, TextSelection, Annotation, TextSearch, FormFields, FormDesigner, Inject, DisplayMode } from '@syncfusion/ej2-react-pdfviewer';
export function App() {
  return (<div>
    <div className='control-section'>
      <PdfViewerComponent 
        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" 
        style={{ 'height': '680px' }} 
        // Changes the initial dialog settings.
        handWrittenSignatureSettings = {{
          initialDialogSettings: {
            displayMode: DisplayMode.Draw | DisplayMode.Text | DisplayMode.Upload,
            hideSaveSignature: true
          }
        }}

        initialFieldSettings = {{
          initialDialogSettings: {
            displayMode: DisplayMode.Draw | DisplayMode.Text | DisplayMode.Upload,
            hideSaveSignature: true
          }
        }}
      >
        <Inject services={[Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, BookmarkView, ThumbnailView,
          Print, TextSelection, TextSearch, FormFields, FormDesigner]} />
      </PdfViewerComponent>
    </div>
  </div>);
}
const rootElement = document.getElementById('sample')!;
const root = ReactDOM.createRoot(rootElement);
root.render(<App />);

initialFieldSettings InitialFieldSettingsModel

Get or set the initial field settings.

<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Allura">
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Tangerine">
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Sacramento">
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Inspiration">
<body>
    <div id='sample'>
        <div id='loader'>Loading....</div>
    </div>    
</body>
import React from 'react';
import ReactDOM from 'react-dom/client';
import './index.css';
import { PdfViewerComponent, Toolbar, Magnification, Navigation, LinkAnnotation, BookmarkView, ThumbnailView, Print, TextSelection, Annotation, TextSearch, FormFields, FormDesigner, Inject } from '@syncfusion/ej2-react-pdfviewer';
export function App() {
  return (<div>
    <div className='control-section'>
      <PdfViewerComponent 
        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"
        style={{ 'height': '680px' }} 
        initialFieldSettings={{
          typeInitialFonts: ['Allura', 'Tangerine', 'Sacramento', 'Inspiration']
        }}
    >
    <Inject services={[Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, BookmarkView, ThumbnailView,
          Print, TextSelection, TextSearch, FormFields, FormDesigner]} />
      </PdfViewerComponent>
    </div>
  </div>);
}
const rootElement = document.getElementById('sample')!;
const root = ReactDOM.createRoot(rootElement);
root.render(<App />);

initialRenderPages number

Initially renders the first N pages of the PDF document when the document is loaded.

<body>
    <div id='sample'>
        <div id='loader'>Loading....</div>
    </div>    
</body>
import React from 'react';
import ReactDOM from 'react-dom/client';
import './index.css';
import { PdfViewerComponent, Toolbar, Magnification, Navigation, LinkAnnotation, BookmarkView, ThumbnailView, Print, TextSelection, Annotation, TextSearch, FormFields, FormDesigner, AccessibilityTags, Inject } from '@syncfusion/ej2-react-pdfviewer';
export function App() {
  return (<div>
    <div className='control-section'>
      <PdfViewerComponent 
        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" 
        style={{ 'height': '680px' }} 
        // Specifies the maximum number of pages that should be rendered on the document loading.
        initialRenderPages = {4}
      >
        <Inject services={[Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, BookmarkView, ThumbnailView,
          Print, TextSelection, TextSearch, FormFields, FormDesigner, AccessibilityTags]} />
      </PdfViewerComponent>
    </div>
  </div>);
}
const rootElement = document.getElementById('sample')!;
const root = ReactDOM.createRoot(rootElement);
root.render(<App />);

inkAnnotationSettings InkAnnotationSettingsModel

Defines the ink annotation settings for PDF Viewer.It used to customize the strokeColor, thickness, opacity of the ink annotation.

<body>
    <div id='sample'>
        <div id='loader'>Loading....</div>
    </div>    
</body>
import React from 'react';
import ReactDOM from 'react-dom/client';
import './index.css';
import { PdfViewerComponent, Toolbar, Magnification, Navigation, LinkAnnotation, BookmarkView, ThumbnailView, Print, TextSelection, Annotation, TextSearch, FormFields, FormDesigner, Inject, AnnotationResizerLocation, CursorType, AllowedInteraction } from '@syncfusion/ej2-react-pdfviewer';
export function App() {
  return (<div>
    <div className='control-section'>
      <PdfViewerComponent 
        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"
        style={{ 'height': '680px' }} 
        // Changes the ink annotation settings.
        inkAnnotationSettings = {{
          author: "XYZ",
          opacity: 1,
          strokeColor: "#ff0000",
          thickness: 1,
          annotationSelectorSettings: {
            selectionBorderColor: "#0000FF",
            resizerBorderColor: "#000000",
            resizerFillColor: "#FF4081",
            resizerSize: 8,
            selectionBorderThickness: 1,
            resizerShape: "Circle",
            selectorLineDashArray: [5, 6],
            resizerLocation:
            AnnotationResizerLocation.Corners | AnnotationResizerLocation.Edges,
            resizerCursorType: CursorType.grab
          },
          isLock: false,
          allowedInteractions: [AllowedInteraction.Resize],
          isPrint: true
        }}
      >
        <Inject services={[Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, BookmarkView, ThumbnailView,
          Print, TextSelection, TextSearch, FormFields, FormDesigner]} />
      </PdfViewerComponent>
    </div>
  </div>);
}
const rootElement = document.getElementById('sample')!;
const root = ReactDOM.createRoot(rootElement);
root.render(<App />);

interactionMode InteractionMode

Sets the interaction mode of the PDF Viewer.

<body>
    <div id='sample'>
        <div id='loader'>Loading....</div>
    </div>    
</body>
import React from 'react';
import ReactDOM from 'react-dom/client';
import './index.css';
import { PdfViewerComponent, Toolbar, Magnification, Navigation, LinkAnnotation, BookmarkView, ThumbnailView, Print, TextSelection, Annotation, TextSearch, FormFields, FormDesigner, Inject } from '@syncfusion/ej2-react-pdfviewer';
export function App() {
  return (<div>
    <div className='control-section'>
      <PdfViewerComponent 
        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" 
        style={{ 'height': '680px' }} 
        // Change the interaction mode.
        interactionMode = "Pan"
      >
        <Inject services={[Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, BookmarkView, ThumbnailView,
          Print, TextSelection, TextSearch, FormFields, FormDesigner]} />
      </PdfViewerComponent>
    </div>
  </div>);
}
const rootElement = document.getElementById('sample')!;
const root = ReactDOM.createRoot(rootElement);
root.render(<App />);

isAnnotationToolbarVisible boolean

Opens the annotation toolbar when the PDF document is loaded in the PDF Viewer control initially
and get the annotation Toolbar Visible status.

<body>
    <div id='sample'>
        <div id='loader'>Loading....</div>
    </div>    
</body>
import React from 'react';
import ReactDOM from 'react-dom/client';
import './index.css';
import { PdfViewerComponent, Toolbar, Magnification, Navigation, LinkAnnotation, BookmarkView, ThumbnailView, Print, TextSelection, Annotation, TextSearch, FormFields, FormDesigner, Inject } from '@syncfusion/ej2-react-pdfviewer';
export function App() {
  return (<div>
    <div className='control-section'>
      <PdfViewerComponent 
        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"
        style={{ 'height': '680px' }} 
        // Show or hide the annotation tool bar.
        isAnnotationToolbarVisible = {true}
      >
        <Inject services={[Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, BookmarkView, ThumbnailView,
          Print, TextSelection, TextSearch, FormFields, FormDesigner]} />
      </PdfViewerComponent>
    </div>
  </div>);
}
const rootElement = document.getElementById('sample')!;
const root = ReactDOM.createRoot(rootElement);
root.render(<App />);

isBookmarkPanelOpen boolean

Gets or sets a boolean value to show or hide the bookmark panel while loading a document.

<body>
    <div id='sample'>
        <div id='loader'>Loading....</div>
    </div>    
</body>
import React from 'react';
import ReactDOM from 'react-dom/client';
import './index.css';
import { PdfViewerComponent, Toolbar, Magnification, Navigation, LinkAnnotation, BookmarkView, ThumbnailView, Print, TextSelection, Annotation, TextSearch, FormFields, FormDesigner, Inject } from '@syncfusion/ej2-react-pdfviewer';
export function App() {
  return (<div>
    <div className='control-section'>
      <PdfViewerComponent 
        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" 
        style={{ 'height': '680px' }} 
        // Show or hide the bookmark panel.
        isBookmarkPanelOpen = {true}
      >
        <Inject services={[Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, BookmarkView, ThumbnailView,
          Print, TextSelection, TextSearch, FormFields, FormDesigner]} />
      </PdfViewerComponent>
    </div>
  </div>);
}
const rootElement = document.getElementById('sample')!;
const root = ReactDOM.createRoot(rootElement);
root.render(<App />);

isCommandPanelOpen boolean

If it set as true, then the command panel show at initial document loading in the PDF viewer

<body>
    <div id='sample'>
        <div id='loader'>Loading....</div>
    </div>    
</body>
import React from 'react';
import ReactDOM from 'react-dom/client';
import './index.css';
import { PdfViewerComponent, Toolbar, Magnification, Navigation, LinkAnnotation, BookmarkView, ThumbnailView, Print, TextSelection, Annotation, TextSearch, FormFields, FormDesigner, Inject } from '@syncfusion/ej2-react-pdfviewer';
export function App() {
  return (<div>
    <div className='control-section'>
      <PdfViewerComponent 
        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" 
        style={{ 'height': '680px' }} 
        // Show or hide the command panel.
        isCommandPanelOpen = {true}
      >
        <Inject services={[Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, BookmarkView, ThumbnailView,
          Print, TextSelection, TextSearch, FormFields, FormDesigner]} />
      </PdfViewerComponent>
    </div>
  </div>);
}
const rootElement = document.getElementById('sample')!;
const root = ReactDOM.createRoot(rootElement);
root.render(<App />);

isDocumentEdited boolean

Checks whether the PDF document is edited.

<body>
    <button onclick="doc()">Is Document Edited</button>
    <div id='sample'>
        <div id='loader'>Loading....</div>
    </div> 
</body>

<script>
    function doc(){
        var viewer = document.getElementById('container').ej2_instances[0];	
        // Logs whether the PDF document is edited.
        console.log("Is the document edited - " + viewer.isDocumentEdited );
    }
 </script>
import React from 'react';
import ReactDOM from 'react-dom/client';
import './index.css';
import { PdfViewerComponent, Toolbar, Magnification, Navigation, LinkAnnotation, BookmarkView, ThumbnailView, Print, TextSelection, Annotation, TextSearch, FormFields, FormDesigner, Inject } from '@syncfusion/ej2-react-pdfviewer';
export function App() {
  return (<div>
    <div className='control-section'>
      <PdfViewerComponent 
      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"
      style={{ 'height': '680px' }} 
      >
        <Inject services={[Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, BookmarkView, ThumbnailView,
          Print, TextSelection, TextSearch, FormFields, FormDesigner]} />
      </PdfViewerComponent>
    </div>
  </div>);
}
const rootElement = document.getElementById('sample')!;
const root = ReactDOM.createRoot(rootElement);
root.render(<App />);

isExtractText boolean

Enable or disable the text extract from the PDF viewer.

<body>
    <div id='sample'>
        <div id='loader'>Loading....</div>
    </div>    
</body>
import React from 'react';
import ReactDOM from 'react-dom/client';
import './index.css';
import { PdfViewerComponent, Toolbar, Magnification, Navigation, LinkAnnotation, BookmarkView, ThumbnailView, Print, TextSelection, Annotation, TextSearch, FormFields, FormDesigner, Inject } from '@syncfusion/ej2-react-pdfviewer';
export function App() {
  return (<div>
    <div className='control-section'>
      <PdfViewerComponent 
        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"
        style={{ 'height': '680px' }}
        isExtractText = {true}
      >
        <Inject services={[Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, BookmarkView, ThumbnailView,
          Print, TextSelection, TextSearch, FormFields, FormDesigner]} />
      </PdfViewerComponent>
    </div>
  </div>);
}
const rootElement = document.getElementById('sample')!;
const root = ReactDOM.createRoot(rootElement);
root.render(<App />);

isFormDesignerToolbarVisible boolean

Opens the form designer toolbar when the PDF document is loaded in the PDF Viewer control initially
and get the form designer Toolbar Visible status.

<body>
    <div id='sample'>
        <div id='loader'>Loading....</div>
    </div>    
</body>
import React from 'react';
import ReactDOM from 'react-dom/client';
import './index.css';
import { PdfViewerComponent, Toolbar, Magnification, Navigation, LinkAnnotation, BookmarkView, ThumbnailView, Print, TextSelection, Annotation, TextSearch, FormFields, FormDesigner, Inject } from '@syncfusion/ej2-react-pdfviewer';
export function App() {
  return (<div>
    <div className='control-section'>
      <PdfViewerComponent 
        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" 
        style={{ 'height': '680px' }} 
        // Show or hide form designer toolbar.
        isFormDesignerToolbarVisible = {true}
      >
        <Inject services={[Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, BookmarkView, ThumbnailView,
          Print, TextSelection, TextSearch, FormFields, FormDesigner]} />
      </PdfViewerComponent>
    </div>
  </div>);
}
const rootElement = document.getElementById('sample')!;
const root = ReactDOM.createRoot(rootElement);
root.render(<App />);

isFormFieldDocument boolean

Enable if the PDF document contains form fields.

<body>
    <button onclick="Form()">Is Form Field Document</button>
    <div id='sample'>
        <div id='loader'>Loading....</div>
    </div>
</body>

<script>
    function Form(){
        var viewer = document.getElementById('container').ej2_instances[0];	
        // Logs the presence of form fields in a document.
        console.log("Is form fields exist in the document - " + viewer.isFormFieldDocument);
    }
 </script>
import React from 'react';
import ReactDOM from 'react-dom/client';
import './index.css';
import { PdfViewerComponent, Toolbar, Magnification, Navigation, LinkAnnotation, BookmarkView, ThumbnailView, Print, TextSelection, Annotation, TextSearch, FormFields, FormDesigner, Inject } from '@syncfusion/ej2-react-pdfviewer';
export function App() {
  return (<div>
    <div className='control-section'>
      <PdfViewerComponent 
      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" 
      style={{ 'height': '680px' }} 
      
      >
        <Inject services={[Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, BookmarkView, ThumbnailView,
          Print, TextSelection, TextSearch, FormFields, FormDesigner]} />
      </PdfViewerComponent>
    </div>
  </div>);
}
const rootElement = document.getElementById('sample')!;
const root = ReactDOM.createRoot(rootElement);
root.render(<App />);

isMaintainSelection boolean

Maintain the selection of text markup annotation.

<body>
    <div id='sample'>
        <div id='loader'>Loading....</div>
    </div>    
</body>
import React from 'react';
import ReactDOM from 'react-dom/client';
import './index.css';
import { PdfViewerComponent, Toolbar, Magnification, Navigation, LinkAnnotation, BookmarkView, ThumbnailView, Print, TextSelection, Annotation, TextSearch, FormFields, FormDesigner, Inject } from '@syncfusion/ej2-react-pdfviewer';
export function App() {
  return (<div>
    <div className='control-section'>
      <PdfViewerComponent 
        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" 
        style={{ 'height': '680px' }} 
        isMaintainSelection = {true}
      >
        <Inject services={[Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, BookmarkView, ThumbnailView,
          Print, TextSelection, TextSearch, FormFields, FormDesigner]} />
      </PdfViewerComponent>
    </div>
  </div>);
}
const rootElement = document.getElementById('sample')!;
const root = ReactDOM.createRoot(rootElement);
root.render(<App />);

isPageOrganizerOpen boolean

Specifies whether the page organizer dialog will be displayed upon the initial document loading in the PDF Viewer.

<body>
    <div id='sample'>
        <div id='loader'>Loading....</div>
    </div>    
</body>
import React from 'react';
import ReactDOM from 'react-dom/client';
import './index.css';
import { PdfViewerComponent, Toolbar, Magnification, Navigation, LinkAnnotation, BookmarkView, ThumbnailView, Print, TextSelection, Annotation, TextSearch, FormFields, FormDesigner, PageOrganizer, Inject } from '@syncfusion/ej2-react-pdfviewer';
export function App() {
  return (<div>
    <div className='control-section'>
      <PdfViewerComponent 
        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"
        style={{ 'height': '680px' }} 
        // Show or hide the thumbnail view.
        isPageOrganizerOpen = {true}
      >
        <Inject services={[Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, BookmarkView, ThumbnailView,
          Print, TextSelection, TextSearch, FormFields, FormDesigner, PageOrganizer]} />
      </PdfViewerComponent>
    </div>
  </div>);
}
const rootElement = document.getElementById('sample')!;
const root = ReactDOM.createRoot(rootElement);
root.render(<App />);

isSignatureEditable boolean

Enables or disable saving Hand Written signature as editable in the PDF.

<body>
    <div id='sample'>
        <div id='loader'>Loading....</div>
    </div>    
</body>
import React from 'react';
import ReactDOM from 'react-dom/client';
import './index.css';
import { PdfViewerComponent, Toolbar, Magnification, Navigation, LinkAnnotation, BookmarkView, ThumbnailView, Print, TextSelection, Annotation, TextSearch, FormFields, FormDesigner, Inject } from '@syncfusion/ej2-react-pdfviewer';
export function App() {
  return (<div>
    <div className='control-section'>
      <PdfViewerComponent 
        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" 
        style={{ 'height': '680px' }} 
        // Enable or disable saving the hand written signature.
        isSignatureEditable = {true}
      >
        <Inject services={[Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, BookmarkView, ThumbnailView,
          Print, TextSelection, TextSearch, FormFields, FormDesigner]} />
      </PdfViewerComponent>
    </div>
  </div>);
}
const rootElement = document.getElementById('sample')!;
const root = ReactDOM.createRoot(rootElement);
root.render(<App />);

isThumbnailViewOpen boolean

If it set as true, then the thumbnail view show at initial document loading in the PDF Viewer

<body>
    <div id='sample'>
        <div id='loader'>Loading....</div>
    </div>    
</body>
import React from 'react';
import ReactDOM from 'react-dom/client';
import './index.css';
import { PdfViewerComponent, Toolbar, Magnification, Navigation, LinkAnnotation, BookmarkView, ThumbnailView, Print, TextSelection, Annotation, TextSearch, FormFields, FormDesigner, Inject } from '@syncfusion/ej2-react-pdfviewer';
export function App() {
  return (<div>
    <div className='control-section'>
      <PdfViewerComponent 
        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" 
        style={{ 'height': '680px' }} 
        // Show or hide the thumbnail view.
        isThumbnailViewOpen = {true}
      >
        <Inject services={[Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, BookmarkView, ThumbnailView,
          Print, TextSelection, TextSearch, FormFields, FormDesigner]} />
      </PdfViewerComponent>
    </div>
  </div>);
}
const rootElement = document.getElementById('sample')!;
const root = ReactDOM.createRoot(rootElement);
root.render(<App />);

isValidFreeText boolean

Checks if the freeText value is valid or not.

<body>
    <button onclick="validText()">Show is free text is valid or not</button>
    <div id='sample'>
        <div id='loader'>Loading....</div>
    </div>
</body>

<script>
    function validText(){
        var viewer = document.getElementById('container').ej2_instances[0];	
        // Logs the freeText value is valid or not. 
        console.log("Is valid FreeText - " + viewer.isValidFreeText);
    }
 </script>
import React from 'react';
import ReactDOM from 'react-dom/client';
import './index.css';
import { PdfViewerComponent, Toolbar, Magnification, Navigation, LinkAnnotation, BookmarkView, ThumbnailView, Print, TextSelection, Annotation, TextSearch, FormFields, FormDesigner, Inject } from '@syncfusion/ej2-react-pdfviewer';
export function App() {
  return (<div>
    <div className='control-section'>
      <PdfViewerComponent 
      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" 
      style={{ 'height': '680px' }} 
      >
        <Inject services={[Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, BookmarkView, ThumbnailView,
          Print, TextSelection, TextSearch, FormFields, FormDesigner]} />
      </PdfViewerComponent>
    </div>
  </div>);
}
const rootElement = document.getElementById('sample')!;
const root = ReactDOM.createRoot(rootElement);
root.render(<App />);

lineSettings LineSettingsModel

Defines the settings of line annotation.

<body>
    <div id='sample'>
        <div id='loader'>Loading....</div>
    </div>    
</body>
import React from 'react';
import ReactDOM from 'react-dom/client';
import './index.css';
import { PdfViewerComponent, Toolbar, Magnification, Navigation, LinkAnnotation, BookmarkView, ThumbnailView, Print, TextSelection, Annotation, TextSearch, FormFields, FormDesigner, Inject, AnnotationResizerLocation, CursorType, AllowedInteraction } from '@syncfusion/ej2-react-pdfviewer';
export function App() {
  return (<div>
    <div className='control-section'>
      <PdfViewerComponent 
        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" 
        style={{ 'height': '680px' }} 
        // Change the line annotation settings.
        lineSettings = {{
          opacity: 1,
          fillColor: '#ffffff00',
          strokeColor: '#ff0000',
          author: "XYZ",
          thickness: 1,
          borderDashArray: 1, 
          lineHeadStartStyle: 'None', 
          lineHeadEndStyle: 'None',
          annotationSelectorSettings: {
            selectionBorderColor: "#0000FF",
            resizerBorderColor: "#000000",
            resizerFillColor: "#FF4081",
            resizerSize: 8,
            selectionBorderThickness: 1,
            resizerShape: "Square",
            selectorLineDashArray: [5, 6],
            resizerLocation:
            AnnotationResizerLocation.Corners | AnnotationResizerLocation.Edges, 
            resizerCursorType: CursorType.grab
          },
          minHeight: 10, 
          minWidth: 10, 
          maxWidth: 100, 
          maxHeight: 100, 
          isLock: false, 
          allowedInteractions: [AllowedInteraction.Resize],
          isPrint: true 
        }}
      >
        <Inject services={[Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, BookmarkView, ThumbnailView,
          Print, TextSelection, TextSearch, FormFields, FormDesigner]} />
      </PdfViewerComponent>
    </div>
  </div>);
}
const rootElement = document.getElementById('sample')!;
const root = ReactDOM.createRoot(rootElement);
root.render(<App />);

listBoxFieldSettings ListBoxFieldSettingsModel

Get or set the listbox field settings.

<body>
    <div id='sample'>
        <div id='loader'>Loading....</div>
    </div>    
</body>
import React from 'react';
import ReactDOM from 'react-dom/client';
import './index.css';
import { PdfViewerComponent, Toolbar, Magnification, Navigation, LinkAnnotation, BookmarkView, ThumbnailView, 
  Print, TextSelection, Annotation, TextSearch, FormFields, FormDesigner, Inject, 
  FontStyle} from '@syncfusion/ej2-react-pdfviewer';

export function App() {
  const viewerRef = React.useRef<PdfViewerComponent>(null);

  React.useEffect(() => {
    if (viewerRef.current) {
      const customOptions = [
        { itemName: 'item1', itemValue: 'item1' },
        { itemName: 'item2', itemValue: 'item2' },
        { itemName: 'item3', itemValue: 'item3' }
      ];

      viewerRef.current.listBoxFieldSettings = {
        name: 'ListBox',
        value: 'item2',
        tooltip: 'ListBox',
        options: customOptions,
        fontFamily: 'Courier',
        fontSize: 10,
        fontStyle: FontStyle.None,
        color: '#0000ff',
        borderColor: '#000000',
        backgroundColor: '#fff000',
        alignment: 'Left',
        isReadOnly: false,
        visibility: 'visible',
        isRequired: false,
        isPrint: true,
        thickness: 4
      };
    }
  }, []);

  return (
    <div className="control-section">
      <PdfViewerComponent
        id="container"
        ref={viewerRef}
        resourceUrl="https://cdn.syncfusion.com/ej2/30.1.37/dist/ej2-pdfviewer-lib"
        documentPath="https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf"
      >
        <Inject services={[Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, BookmarkView, ThumbnailView,
          Print, TextSelection, TextSearch, FormFields, FormDesigner]} />
      </PdfViewerComponent>
    </div>
  );
}
const rootElement = document.getElementById('sample')!;
const root = ReactDOM.createRoot(rootElement);
root.render(<App />);

locale string

Overrides the global culture and localization value for this component. Default global culture is ‘en-US’.

maxZoom number

Specifies the maximum allowable zoom level for the control, with a default value of 400.

<body>
    <div id='sample'>
        <div id='loader'>Loading....</div>
    </div>    
</body>
import React from 'react';
import ReactDOM from 'react-dom/client';
import './index.css';
import { PdfViewerComponent, Toolbar, Magnification, Navigation, LinkAnnotation, BookmarkView, ThumbnailView, Print, TextSelection, Annotation, TextSearch, FormFields, FormDesigner, Inject } from '@syncfusion/ej2-react-pdfviewer';
export function App() {
  return (<div>
    <div className='control-section'>
      <PdfViewerComponent 
        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"
        style={{ 'height': '680px' }} 
        // Change the maximum zoom value.
        maxZoom = {270}
      >
        <Inject services={[Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, BookmarkView, ThumbnailView,
          Print, TextSelection, TextSearch, FormFields, FormDesigner]} />
      </PdfViewerComponent>
    </div>
  </div>);
}
const rootElement = document.getElementById('sample')!;
const root = ReactDOM.createRoot(rootElement);
root.render(<App />);

measurementSettings MeasurementSettingsModel

Defines the settings of measurement annotation.

<body>
    <div id='sample'>
        <div id='loader'>Loading....</div>
    </div>    
</body>
import React from 'react';
import ReactDOM from 'react-dom/client';
import './index.css';
import { PdfViewerComponent, Toolbar, Magnification, Navigation, LinkAnnotation, BookmarkView, ThumbnailView, Print, TextSelection, Annotation, TextSearch, FormFields, FormDesigner, Inject } from '@syncfusion/ej2-react-pdfviewer';
export function App() {
  return (<div>
    <div className='control-section'>
      <PdfViewerComponent 
        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"
        style={{ 'height': '680px' }} 
        // Change the measurement annotation settings.
        measurementSettings = {{ 
          conversionUnit: 'cm', 
          displayUnit: 'cm', 
          scaleRatio: 1,
          depth: 96 
        }}
      >
        <Inject services={[Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, BookmarkView, ThumbnailView,
          Print, TextSelection, TextSearch, FormFields, FormDesigner]} />
      </PdfViewerComponent>
    </div>
  </div>);
}
const rootElement = document.getElementById('sample')!;
const root = ReactDOM.createRoot(rootElement);
root.render(<App />);

minZoom number

Specifies the minimum acceptable zoom level for the control, with a default value of 10.

<body>
    <div id='sample'>
        <div id='loader'>Loading....</div>
    </div>    
</body>
import React from 'react';
import ReactDOM from 'react-dom/client';
import './index.css';
import { PdfViewerComponent, Toolbar, Magnification, Navigation, LinkAnnotation, BookmarkView, ThumbnailView, Print, TextSelection, Annotation, TextSearch, FormFields, FormDesigner, Inject } from '@syncfusion/ej2-react-pdfviewer';
export function App() {
  return (<div>
    <div className='control-section'>
      <PdfViewerComponent 
        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" 
        style={{ 'height': '680px' }} 
        // Change the minimum zoom value.
        minZoom = {45}
      >
        <Inject services={[Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, BookmarkView, ThumbnailView,
          Print, TextSelection, TextSearch, FormFields, FormDesigner]} />
      </PdfViewerComponent>
    </div>
  </div>);
}
const rootElement = document.getElementById('sample')!;
const root = ReactDOM.createRoot(rootElement);
root.render(<App />);

pageCount number

gets the page count of the document loaded in the PdfViewer control.

<body>
    <button onclick="count()">Page Count</button>
    <div id='sample'>
        <div id='loader'>Loading....</div>
    </div>
</body>

<script>
    function count(){
        var viewer = document.getElementById('container').ej2_instances[0];	
        console.log("Total page count = " + viewer.pageCount);
    }
 </script>
import React from 'react';
import ReactDOM from 'react-dom/client';
import './index.css';
import { PdfViewerComponent, Toolbar, Magnification, Navigation, LinkAnnotation, BookmarkView, ThumbnailView, Print, TextSelection, Annotation, TextSearch, FormFields, FormDesigner, Inject } from '@syncfusion/ej2-react-pdfviewer';
export function App() {
  return (<div>
    <div className='control-section'>
      <PdfViewerComponent 
      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" 
      style={{ 'height': '680px' }} 
      >
        <Inject services={[Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, BookmarkView, ThumbnailView,
          Print, TextSelection, TextSearch, FormFields, FormDesigner]} />
      </PdfViewerComponent>
    </div>
  </div>);
}
const rootElement = document.getElementById('sample')!;
const root = ReactDOM.createRoot(rootElement);
root.render(<App />);

pageOrganizerSettings PageOrganizerSettingsModel

This property allows for control over various page management functionalities within the PDF Viewer. By setting it to true, users will be able to delete, insert, rotate pages, rearrange pages. Conversely, setting it to false will disable these actions.

<body>
    <div id='sample'>
        <div id='loader'>Loading....</div>
    </div>    
</body>
import React from 'react';
import ReactDOM from 'react-dom/client';
import './index.css';
import { PdfViewerComponent, Toolbar, Magnification, Navigation, LinkAnnotation, BookmarkView, ThumbnailView, Print, TextSelection, Annotation, TextSearch, FormFields, FormDesigner, PageOrganizer, Inject } from '@syncfusion/ej2-react-pdfviewer';
export function App() {
  return (<div>
    <div className='control-section'>
      <PdfViewerComponent 
        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" 
        style={{ 'height': '680px' }} 
        // Change the page organizer settings.
        pageOrganizerSettings = {{ 
            canInsert: true, 
            canRotate: false,
            canDelete: true,
            canCopy: true,
            canRearrange: true,
            canImport: true,
            showImageZoomingSlider: true,
            imageZoomMin: 1,
            imageZoomMax: 5,
            imageZoom: 1
        }}
      >
        <Inject services={[Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, BookmarkView, ThumbnailView,
          Print, TextSelection, TextSearch, FormFields, FormDesigner, PageOrganizer]} />
      </PdfViewerComponent>
    </div>
  </div>);
}
const rootElement = document.getElementById('sample')!;
const root = ReactDOM.createRoot(rootElement);
root.render(<App />);

pageOrganizerZoomChanged EmitType<PageOrganizerZoomChangedEventArgs>

Triggers when the zoom level changes in the Page Organizer view.
This event provides details about the previous and current zoom values

passwordFieldSettings PasswordFieldSettingsModel

Get or set the password field settings.

<body>
    <div id='sample'>
        <div id='loader'>Loading....</div>
    </div>    
</body>
import React from 'react';
import ReactDOM from 'react-dom/client';
import './index.css';
import { PdfViewerComponent, Toolbar, Magnification, Navigation, LinkAnnotation, BookmarkView, ThumbnailView, 
  Print, TextSelection, Annotation, TextSearch, FormFields, FormDesigner, Inject, 
  FontStyle} from '@syncfusion/ej2-react-pdfviewer';
export function App() {
  const viewerRef = React.useRef<PdfViewerComponent>(null);

  React.useEffect(() => {
    if (viewerRef.current) {
        viewerRef.current.passwordFieldSettings = {
        name: 'Password1',
        value: '',
        tooltip: 'Enter your password',
        fontFamily: 'Arial',
        fontSize: 12,
        fontStyle: FontStyle.None,
        color: '#000000',
        borderColor: '#000000',
        backgroundColor: '#ffffff',
        alignment: 'Left',
        isReadOnly: false,
        visibility: 'visible',
        isRequired: true,
        isPrint: true,
        thickness: 1,
        maxLength: 20
      };
    }
  }, []);

  return (
    <div className="control-section">
      <PdfViewerComponent
        id="container"
        ref={viewerRef}
        resourceUrl="https://cdn.syncfusion.com/ej2/30.1.37/dist/ej2-pdfviewer-lib"
        documentPath="https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf"
      >
        <Inject services={[Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, BookmarkView, ThumbnailView,
          Print, TextSelection, TextSearch, FormFields, FormDesigner]} />
      </PdfViewerComponent>
    </div>
  );
}
const rootElement = document.getElementById('sample')!;
const root = ReactDOM.createRoot(rootElement);
root.render(<App />);

perimeterSettings PerimeterSettingsModel

Defines the settings of perimeter annotation.

<body>
    <div id='sample'>
        <div id='loader'>Loading....</div>
    </div>    
</body>
import React from 'react';
import ReactDOM from 'react-dom/client';
import './index.css';
import { PdfViewerComponent, Toolbar, Magnification, Navigation, LinkAnnotation, BookmarkView, ThumbnailView, Print, TextSelection, Annotation, TextSearch, FormFields, FormDesigner, Inject, AnnotationResizerLocation, CursorType, AllowedInteraction } from '@syncfusion/ej2-react-pdfviewer';
export function App() {
  return (<div>
    <div className='control-section'>
      <PdfViewerComponent 
        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" 
        style={{ 'height': '680px' }} 
        // Change the perimeter annotation settings.
        perimeterSettings = {{
          opacity: 1,
          fillColor: "#ffffff00",
          strokeColor: "#ff0000",
          author: "XYZ",
          thickness: 1,
          borderDashArray: 1,
          lineHeadStartStyle: "Open",
          lineHeadEndStyle: "Open",
          minHeight: 10,
          minWidth: 10,
          maxWidth: 100,
          maxHeight: 100,
          isLock: false,
          annotationSelectorSettings: {
            selectionBorderColor: "#0000FF",
            resizerBorderColor: "#000000",
            resizerFillColor: "#4070ff",
            resizerSize: 8,
            selectionBorderThickness: 1,
            resizerShape: "Circle",
            selectorLineDashArray: [5, 6],
            resizerLocation:
            AnnotationResizerLocation.Corners | AnnotationResizerLocation.Edges,
            resizerCursorType: CursorType.grab
          },
          allowedInteractions: [AllowedInteraction.Resize],
          isPrint: true
        }}
      >
        <Inject services={[Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, BookmarkView, ThumbnailView,
          Print, TextSelection, TextSearch, FormFields, FormDesigner]} />
      </PdfViewerComponent>
    </div>
  </div>);
}
const rootElement = document.getElementById('sample')!;
const root = ReactDOM.createRoot(rootElement);
root.render(<App />);

polygonSettings PolygonSettingsModel

Defines the settings of polygon annotation.

<body>
    <div id='sample'>
        <div id='loader'>Loading....</div>
    </div>    
</body>
import React from 'react';
import ReactDOM from 'react-dom/client';
import './index.css';
import { PdfViewerComponent, Toolbar, Magnification, Navigation, LinkAnnotation, BookmarkView, ThumbnailView, Print, TextSelection, Annotation, TextSearch, FormFields, FormDesigner, Inject, AnnotationResizerLocation, CursorType, AllowedInteraction } from '@syncfusion/ej2-react-pdfviewer';
export function App() {
  return (<div>
    <div className='control-section'>
      <PdfViewerComponent 
        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" 
        style={{ 'height': '680px' }} 
        // Change the polygon annotation settings.
        polygonSettings = {{
          opacity: 1,
          fillColor: "#ffffff00",
          strokeColor: "#ff0000",
          author: "XYZ",
          thickness: 1,
          annotationSelectorSettings: {
            selectionBorderColor: "#03497C",
            resizerBorderColor: "#000000",
            resizerFillColor: "#FF4081",
            resizerSize: 8,
            selectionBorderThickness: 1,
            resizerShape: "Square",
            selectorLineDashArray: [5, 6],
            resizerLocation:
            AnnotationResizerLocation.Corners | AnnotationResizerLocation.Edges,
            resizerCursorType: CursorType.grab
          },
          minHeight: 10,
          minWidth: 10,
          maxWidth: 100,
          maxHeight: 100,
          isLock: false,
          allowedInteractions: [AllowedInteraction.Resize],
          isPrint: true
        }}
      >
        <Inject services={[Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, BookmarkView, ThumbnailView,
          Print, TextSelection, TextSearch, FormFields, FormDesigner]} />
      </PdfViewerComponent>
    </div>
  </div>);
}
const rootElement = document.getElementById('sample')!;
const root = ReactDOM.createRoot(rootElement);
root.render(<App />);

printMode PrintMode

Specifies the print mode in the PDF Viewer.

<body>
    <div id='sample'>
        <div id='loader'>Loading....</div>
    </div>    
</body>
import React from 'react';
import ReactDOM from 'react-dom/client';
import './index.css';
import { PdfViewerComponent, Toolbar, Magnification, Navigation, LinkAnnotation, BookmarkView, ThumbnailView, Print, TextSelection, Annotation, TextSearch, FormFields, FormDesigner, Inject } from '@syncfusion/ej2-react-pdfviewer';
export function App() {
  return (<div>
    <div className='control-section'>
      <PdfViewerComponent 
        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" 
        style={{ 'height': '680px' }} 
        printMode = "NewWindow"
      >
        <Inject services={[Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, BookmarkView, ThumbnailView,
          Print, TextSelection, TextSearch, FormFields, FormDesigner]} />
      </PdfViewerComponent>
    </div>
  </div>);
}
const rootElement = document.getElementById('sample')!;
const root = ReactDOM.createRoot(rootElement);
root.render(<App />);

printScaleFactor number

Specifies the document printing quality. The default printing quality is set to 1.0. This limit varies from 0.5 to 5.0. If an invalid value is specified, the default value of 1.0 will be used. For documents with smaller page dimensions, a higher print quality is recommended.

<body>
    <div id='sample'>
        <div id='loader'>Loading....</div>
    </div>    
</body>
import React from 'react';
import ReactDOM from 'react-dom/client';
import './index.css';
import { PdfViewerComponent, Toolbar, Magnification, Navigation, LinkAnnotation, BookmarkView, ThumbnailView, Print, TextSelection, Annotation, TextSearch, FormFields, FormDesigner, Inject } from '@syncfusion/ej2-react-pdfviewer';
export function App() {
  return (<div>
    <div className='control-section'>
      <PdfViewerComponent 
        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"
        style={{ 'height': '680px' }} 
        printScaleFactor = {2}
      >
        <Inject services={[Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, BookmarkView, ThumbnailView,
          Print, TextSelection, TextSearch, FormFields, FormDesigner]} />
      </PdfViewerComponent>
    </div>
  </div>);
}
const rootElement = document.getElementById('sample')!;
const root = ReactDOM.createRoot(rootElement);
root.render(<App />);

radioButtonFieldSettings RadioButtonFieldSettingsModel

Get or set the radio button field settings.

<body>
    <div id='sample'>
        <div id='loader'>Loading....</div>
    </div>    
</body>
import React from 'react';
import ReactDOM from 'react-dom/client';
import './index.css';
import { PdfViewerComponent, Toolbar, Magnification, Navigation, LinkAnnotation, BookmarkView, ThumbnailView, 
  Print, TextSelection, Annotation, TextSearch, FormFields, FormDesigner, Inject } from '@syncfusion/ej2-react-pdfviewer';

export function App() {
  const viewerRef = React.useRef<PdfViewerComponent>(null);

  React.useEffect(() => {
      if (viewerRef.current) {
        viewerRef.current.radioButtonFieldSettings = {
          name: 'RadioButton',
          isReadOnly: false,
          visibility: 'visible',
          isRequired: false,
          isPrint: true,
          tooltip: 'RadioButton',
          thickness: 4,
          isSelected: true,
          backgroundColor: '#ffffff',
          borderColor: '#000fff',
          value: 'RadioButton'
        };
      }
    }, []);


  return (
    <div className="control-section">
      <PdfViewerComponent
        id="container"
        ref={viewerRef}
        resourceUrl="https://cdn.syncfusion.com/ej2/30.1.37/dist/ej2-pdfviewer-lib"
        documentPath="https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf"
      >
        <Inject services={[Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, BookmarkView, ThumbnailView,
          Print, TextSelection, TextSearch, FormFields, FormDesigner]} />
      </PdfViewerComponent>
    </div>
  );
}

const rootElement = document.getElementById('sample')!;
const root = ReactDOM.createRoot(rootElement);
root.render(<App />);

radiusSettings RadiusSettingsModel

Defines the settings of radius annotation.

<body>
    <div id='sample'>
        <div id='loader'>Loading....</div>
    </div>    
</body>
import React from 'react';
import ReactDOM from 'react-dom/client';
import './index.css';
import { PdfViewerComponent, Toolbar, Magnification, Navigation, LinkAnnotation, BookmarkView, ThumbnailView, Print, TextSelection, Annotation, TextSearch, FormFields, FormDesigner, Inject, AnnotationResizerLocation, CursorType, AllowedInteraction } from '@syncfusion/ej2-react-pdfviewer';
export function App() {
  return (<div>
    <div className='control-section'>
      <PdfViewerComponent 
        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" 
        style={{ 'height': '680px' }} 
        // Change the radius annotation settings.
        radiusSettings = {{
          opacity: 1,
          fillColor: "#ffffff00",
          strokeColor: "#ff0000",
          author: "XYZ",
          thickness: 1,
          annotationSelectorSettings: {
            selectionBorderColor: "#03497C",
            resizerBorderColor: "#FF0000",
            resizerFillColor: "#4070ff",
            resizerSize: 8,
            selectionBorderThickness: 1,
            resizerShape: "Circle",
            selectorLineDashArray: [5, 6],
            resizerLocation:
            AnnotationResizerLocation.Corners | AnnotationResizerLocation.Edges,
            resizerCursorType: CursorType.grab
          },
          minHeight: 10,
          minWidth: 10,
          maxWidth: 100,
          maxHeight: 100,
          isLock: false,
          allowedInteractions: [AllowedInteraction.Resize],
          isPrint: true
        }}
      >
        <Inject services={[Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, BookmarkView, ThumbnailView,
          Print, TextSelection, TextSearch, FormFields, FormDesigner]} />
      </PdfViewerComponent>
    </div>
  </div>);
}

const rootElement = document.getElementById('sample')!;
const root = ReactDOM.createRoot(rootElement);
root.render(<App />);

rectangleSettings RectangleSettingsModel

Defines the settings of rectangle annotation.

<body>
    <div id='sample'>
        <div id='loader'>Loading....</div>
    </div>    
</body>
import React from 'react';
import ReactDOM from 'react-dom/client';
import './index.css';
import { PdfViewerComponent, Toolbar, Magnification, Navigation, LinkAnnotation, BookmarkView, ThumbnailView, Print, TextSelection, Annotation, TextSearch, FormFields, FormDesigner, Inject, AnnotationResizerLocation, CursorType, AllowedInteraction } from '@syncfusion/ej2-react-pdfviewer';
export function App() {
  return (<div>
    <div className='control-section'>
      <PdfViewerComponent 
        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" 
        style={{ 'height': '680px' }} 
        // Change the rectangle annotation settings.
        rectangleSettings = {{
          opacity: 1,
          fillColor: "#9c2592",
          strokeColor: "#ff0000",
          author: "XYZ",
          thickness: 1,
          annotationSelectorSettings: {
            selectionBorderColor: "#03497C",
            resizerBorderColor: "#000000",
            resizerFillColor: "#FF4081",
            resizerSize: 8,
            selectionBorderThickness: 1,
            resizerShape: "Square",
            selectorLineDashArray: [5, 6],
            resizerLocation:
            AnnotationResizerLocation.Corners | AnnotationResizerLocation.Edges,
            resizerCursorType: CursorType.grab
          },
          minHeight: 10,
          minWidth: 10,
          maxWidth: 100,
          maxHeight: 100,
          isLock: false,
          allowedInteractions: [AllowedInteraction.Resize],
          isPrint: true
        }}
      >
        <Inject services={[Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, BookmarkView, ThumbnailView,
          Print, TextSelection, TextSearch, FormFields, FormDesigner]} />
      </PdfViewerComponent>
    </div>
  </div>);
}

const rootElement = document.getElementById('sample')!;
const root = ReactDOM.createRoot(rootElement);
root.render(<App />);

resourceUrl string

Set the resource URL for assets or the public directory. The standalone PDF Viewer will load its custom resources from this URL.

<body>
    <div id='sample'>
        <div id='loader'>Loading....</div>
    </div>    
</body>
import React from 'react';
import ReactDOM from 'react-dom/client';
import './index.css';
import { PdfViewerComponent, Toolbar, Magnification, Navigation, LinkAnnotation, BookmarkView, ThumbnailView, Print, TextSelection, Annotation, TextSearch, FormFields, FormDesigner, Inject } from '@syncfusion/ej2-react-pdfviewer';
export function App() {
  return (<div>
    <div className='control-section'>
      <PdfViewerComponent 
        id="container" 
        documentPath="https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf"
        resourceUrl="http://localhost:3000/ej2-pdfviewer-lib" 
        style={{ 'height': '680px' }} 
      >
        <Inject services={[Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, BookmarkView, ThumbnailView,
          Print, TextSelection, TextSearch, FormFields, FormDesigner]} />
      </PdfViewerComponent>
    </div>
  </div>);
}
const rootElement = document.getElementById('sample')!;
const root = ReactDOM.createRoot(rootElement);
root.render(<App />);

restrictZoomRequest boolean

restrict zoom request.

<body>
    <div id='sample'>
        <div id='loader'>Loading....</div>
    </div>    
</body>
import React from 'react';
import ReactDOM from 'react-dom/client';
import './index.css';
import { PdfViewerComponent, Toolbar, Magnification, Navigation, LinkAnnotation, BookmarkView, ThumbnailView, Print, TextSelection, Annotation, TextSearch, FormFields, FormDesigner, Inject } from '@syncfusion/ej2-react-pdfviewer';
export function App() {
  return (<div>
    <div className='control-section'>
      <PdfViewerComponent 
        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"
        style={{ 'height': '680px' }}
        tileRenderingSettings = {{
          enableTileRendering: false
        }} 
        restrictZoomRequest = {true}
      >
        <Inject services={[Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, BookmarkView, ThumbnailView,
          Print, TextSelection, TextSearch, FormFields, FormDesigner]} />
      </PdfViewerComponent>
    </div>
  </div>);
}
const rootElement = document.getElementById('sample')!;
const root = ReactDOM.createRoot(rootElement);
root.render(<App />);

retryCount number

Specifies the retry count for the failed requests.

<body>
    <div id='sample'>
        <div id='loader'>Loading....</div>
    </div>    
</body>
import React from 'react';
import ReactDOM from 'react-dom/client';
import './index.css';
import { PdfViewerComponent, Toolbar, Magnification, Navigation, LinkAnnotation, BookmarkView, ThumbnailView, Print, TextSelection, Annotation, TextSearch, FormFields, FormDesigner, Inject } from '@syncfusion/ej2-react-pdfviewer';
export function App() {
  return (<div>
    <div className='control-section'>
      <PdfViewerComponent 
        id="container" 
        documentPath="PDF_Succinctly.pdf"
        serviceUrl="https://localhost:44309/pdfviewer" 
        style={{ 'height': '680px' }} 
        retryCount = {3}
      >
        <Inject services={[Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, BookmarkView, ThumbnailView,
          Print, TextSelection, TextSearch, FormFields, FormDesigner]} />
      </PdfViewerComponent>
    </div>
  </div>);
}
const rootElement = document.getElementById('sample')!;
const root = ReactDOM.createRoot(rootElement);
root.render(<App />);

retryStatusCodes number[]

Specifies the response status codes for retrying a failed request with a “3xx”, “4xx”, or “5xx” response status code.
The value can have multiple values, such as [500, 401, 400], and the default value is 500.

<body>
    <div id='sample'>
        <div id='loader'>Loading....</div>
    </div>    
</body>
import React from 'react';
import ReactDOM from 'react-dom/client';
import './index.css';
import { PdfViewerComponent, Toolbar, Magnification, Navigation, LinkAnnotation, BookmarkView, ThumbnailView, Print, TextSelection, Annotation, TextSearch, FormFields, FormDesigner, Inject } from '@syncfusion/ej2-react-pdfviewer';
export function App() {
  return (<div>
    <div className='control-section'>
      <PdfViewerComponent 
        id="container" 
        documentPath="PDF_Succinctly.pdf"
        serviceUrl="https://localhost:44309/pdfviewer" 
        style={{ 'height': '680px' }} 
        // Change the retry status code as 405, 503, etc;
        retryStatusCodes = {[500, 401, 400]}
      >
        <Inject services={[Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, BookmarkView, ThumbnailView,
          Print, TextSelection, TextSearch, FormFields, FormDesigner]} />
      </PdfViewerComponent>
    </div>
  </div>);
}
const rootElement = document.getElementById('sample')!;
const root = ReactDOM.createRoot(rootElement);
root.render(<App />);

retryTimeout number

Gets or sets the timeout for retries in seconds.

<body>
    <div id='sample'>
        <div id='loader'>Loading....</div>
    </div>    
</body>
import React from 'react';
import ReactDOM from 'react-dom/client';
import './index.css';
import { PdfViewerComponent, Toolbar, Magnification, Navigation, LinkAnnotation, BookmarkView, ThumbnailView, Print, TextSelection, Annotation, TextSearch, FormFields, FormDesigner, AccessibilityTags, Inject } from '@syncfusion/ej2-react-pdfviewer';
export function App() {
  return (<div>
    <div className='control-section'>
      <PdfViewerComponent 
        id="container" 
        documentPath="PDF_Succinctly.pdf"
        serviceUrl="https://localhost:44309/pdfviewer" 
        style={{ 'height': '680px' }} 
        retryCount={5}
        retryTimeout={10}
      >
        <Inject services={[Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, BookmarkView, ThumbnailView,
          Print, TextSelection, TextSearch, FormFields, FormDesigner, AccessibilityTags]} />
      </PdfViewerComponent>
    </div>
  </div>);
}
const rootElement = document.getElementById('sample')!;
const root = ReactDOM.createRoot(rootElement);
root.render(<App />);

scrollSettings ScrollSettingsModel

Defines the scroll settings.

<body>
    <div id='sample'>
        <div id='loader'>Loading....</div>
    </div>    
</body>
import React from 'react';
import ReactDOM from 'react-dom/client';
import './index.css';
import { PdfViewerComponent, Toolbar, Magnification, Navigation, LinkAnnotation, BookmarkView, ThumbnailView, Print, TextSelection, Annotation, TextSearch, FormFields, FormDesigner, Inject } from '@syncfusion/ej2-react-pdfviewer';
export function App() {
  return (<div>
    <div className='control-section'>
      <PdfViewerComponent 
        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" 
        style={{ 'height': '680px' }} 
        // Change the scroll settings.
        scrollSettings = {{ 
          delayPageRequestTimeOnScroll: 150 
      }}
      >
        <Inject services={[Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, BookmarkView, ThumbnailView,
          Print, TextSelection, TextSearch, FormFields, FormDesigner]} />
      </PdfViewerComponent>
    </div>
  </div>);
}
const rootElement = document.getElementById('sample')!;
const root = ReactDOM.createRoot(rootElement);
root.render(<App />);

selectedItems SelectorModel

Defines the collection of selected items, size and position of the selector

serverActionSettings ServerActionSettingsModel

Defines the settings of the PDF Viewer service.

<body>
    <div id='sample'>
        <div id='loader'>Loading....</div>
    </div>    
</body>
import React from 'react';
import ReactDOM from 'react-dom/client';
import './index.css';
import { PdfViewerComponent, Toolbar, Magnification, Navigation, LinkAnnotation, BookmarkView, ThumbnailView, Print, TextSelection, Annotation, TextSearch, FormFields, FormDesigner, Inject } from '@syncfusion/ej2-react-pdfviewer';
export function App() {
  return (<div>
    <div className='control-section'>
      <PdfViewerComponent 
        id="container" 
        documentPath="PDF_Succinctly.pdf"
        serviceUrl="https://localhost:44309/pdfviewer" 
        style={{ 'height': '680px' }} 
        // Change the server action settings.
        serverActionSettings = {{
          load: "Load",
          renderPages: "RenderPdfPages",
          unload: "Unload",
          download: "Download",
          renderThumbnail: "RenderThumbnailImages",
          print: "PrintImages",
          renderComments: "RenderAnnotationComments",
          importAnnotations: "ImportAnnotations",
          exportAnnotations: "ExportAnnotations",
          importFormFields: "ImportFormFields",
          exportFormFields: "ExportFormFields",
          renderTexts: "RenderPdfTexts"
        }}
      >
        <Inject services={[Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, BookmarkView, ThumbnailView,
          Print, TextSelection, TextSearch, FormFields, FormDesigner]} />
      </PdfViewerComponent>
    </div>
  </div>);
}
const rootElement = document.getElementById('sample')!;
const root = ReactDOM.createRoot(rootElement);
root.render(<App />);

serviceUrl string

Defines the service url of the PdfViewer control.

<body>
    <div id='sample'>
        <div id='loader'>Loading....</div>
    </div>    
</body>
import React from 'react';
import ReactDOM from 'react-dom/client';
import './index.css';
import { PdfViewerComponent, Toolbar, Magnification, Navigation, LinkAnnotation, BookmarkView, ThumbnailView, Print, TextSelection, Annotation, TextSearch, FormFields, FormDesigner, Inject } from '@syncfusion/ej2-react-pdfviewer';
export function App() {
  return (<div>
    <div className='control-section'>
      <PdfViewerComponent 
        id="container" 
        documentPath="PDF_Succinctly.pdf"
        serviceUrl="https://localhost:44309/pdfviewer" 
        style={{ 'height': '680px' }} 
      >
        <Inject services={[Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, BookmarkView, ThumbnailView,
          Print, TextSelection, TextSearch, FormFields, FormDesigner]} />
      </PdfViewerComponent>
    </div>
  </div>);
}
const rootElement = document.getElementById('sample')!;
const root = ReactDOM.createRoot(rootElement);
root.render(<App />);

shapeLabelSettings ShapeLabelSettingsModel

Defines the settings of shape label.

<body>
    <div id='sample'>
        <div id='loader'>Loading....</div>
    </div>    
</body>
import React from 'react';
import ReactDOM from 'react-dom/client';
import './index.css';
import { PdfViewerComponent, Toolbar, Magnification, Navigation, LinkAnnotation, BookmarkView, ThumbnailView, Print, TextSelection, Annotation, TextSearch, FormFields, FormDesigner, Inject } from '@syncfusion/ej2-react-pdfviewer';
export function App() {
  return (<div>
    <div className='control-section'>
      <PdfViewerComponent 
        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"
        style={{ 'height': '680px' }} 
        enableShapeLabel = {true}
        // Change the shape label settings.
        shapeLabelSettings = {{ 
          opacity: 1, 
          fillColor: '#9c2592', 
          fontColor: '#000000', 
          fontSize: 16, 
          fontFamily: 'Arial',
          labelContent: 'XYZ',
          notes:'Note1'
        }}
      >
        <Inject services={[Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, BookmarkView, ThumbnailView,
          Print, TextSelection, TextSearch, FormFields, FormDesigner]} />
      </PdfViewerComponent>
    </div>
  </div>);
}
const rootElement = document.getElementById('sample')!;
const root = ReactDOM.createRoot(rootElement);
root.render(<App />);

showDigitalSignatureAppearance boolean

Show or hide the digital signature appearance in the document.

<body>
    <div id='sample'>
        <div id='loader'>Loading....</div>
    </div>    
</body>
import React from 'react';
import ReactDOM from 'react-dom/client';
import './index.css';
import { PdfViewerComponent, Toolbar, Magnification, Navigation, LinkAnnotation, BookmarkView, ThumbnailView, Print, TextSelection, Annotation, TextSearch, FormFields, FormDesigner, Inject } from '@syncfusion/ej2-react-pdfviewer';
export function App() {
  return (<div>
    <div className='control-section'>
      <PdfViewerComponent 
        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"
        style={{ 'height': '680px' }} 
        // Show or hide the appearence of digital signature.
        showDigitalSignatureAppearance = {false}
      >
        <Inject services={[Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, BookmarkView, ThumbnailView,
          Print, TextSelection, TextSearch, FormFields, FormDesigner]} />
      </PdfViewerComponent>
    </div>
  </div>);
}
const rootElement = document.getElementById('sample')!;
const root = ReactDOM.createRoot(rootElement);
root.render(<App />);

showNotificationDialog boolean

If it is set as false then error message box is not displayed in PDF viewer control.

<body>
    <div id='sample'>
        <div id='loader'>Loading....</div>
    </div>    
</body>
import React from 'react';
import ReactDOM from 'react-dom/client';
import './index.css';
import { PdfViewerComponent, Toolbar, Magnification, Navigation, LinkAnnotation, BookmarkView, ThumbnailView, Print, TextSelection, Annotation, TextSearch, FormFields, FormDesigner, Inject } from '@syncfusion/ej2-react-pdfviewer';
export function App() {
  return (<div>
    <div className='control-section'>
      <PdfViewerComponent 
        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" 
        style={{ 'height': '680px' }} 
        showNotificationDialog = {false}
      >
        <Inject services={[Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, BookmarkView, ThumbnailView,
          Print, TextSelection, TextSearch, FormFields, FormDesigner]} />
      </PdfViewerComponent>
    </div>
  </div>);
}
const rootElement = document.getElementById('sample')!;
const root = ReactDOM.createRoot(rootElement);
root.render(<App />);

signatureDialogSettings SignatureDialogSettingsModel

Get or set the signature dialog settings for signature field.

<body>
    <div id='sample'>
        <div id='loader'>Loading....</div>
    </div>    
</body>
import React from 'react';
import ReactDOM from 'react-dom/client';
import './index.css';
import { PdfViewerComponent, Toolbar, Magnification, Navigation, LinkAnnotation, BookmarkView, ThumbnailView, Print, TextSelection, Annotation, TextSearch, FormFields, FormDesigner, Inject, DisplayMode } from '@syncfusion/ej2-react-pdfviewer';
export function App() {
  return (<div>
    <div className='control-section'>
      <PdfViewerComponent 
        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"
        style={{ 'height': '680px' }} 
        // Change the signature dialog settings.
        handWrittenSignatureSettings = {{
          signatureDialogSettings: {
            displayMode: DisplayMode.Draw | DisplayMode.Text | DisplayMode.Upload,
            hideSaveSignature: true
          }
        }}
        signatureFieldSettings = {{
          signatureDialogSettings: {
            displayMode: DisplayMode.Draw | DisplayMode.Text | DisplayMode.Upload,
            hideSaveSignature: true
          }
        }}
      >
        <Inject services={[Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, BookmarkView, ThumbnailView,
          Print, TextSelection, TextSearch, FormFields, FormDesigner]} />
      </PdfViewerComponent>
    </div>
  </div>);
}
const rootElement = document.getElementById('sample')!;
const root = ReactDOM.createRoot(rootElement);
root.render(<App />);

signatureFieldSettings SignatureFieldSettingsModel

Get or set the signature field settings.

<head>
  <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Allura">
  <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Tangerine">
  <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Sacramento">
  <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Inspiration">
</head>
<body>
    <div id='sample'>
        <div id='loader'>Loading....</div>
    </div>    
</body>
import React from 'react';
import ReactDOM from 'react-dom/client';
import './index.css';
import { PdfViewerComponent, Toolbar, Magnification, Navigation, LinkAnnotation, BookmarkView, ThumbnailView, Print, TextSelection, Annotation, TextSearch, FormFields, FormDesigner, Inject } from '@syncfusion/ej2-react-pdfviewer';
export function App() {
  return (<div>
    <div className='control-section'>
      <PdfViewerComponent 
        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"
        style={{ 'height': '680px' }} 
        signatureFieldSettings={{
          typeSignatureFonts: ['Allura', 'Tangerine', 'Sacramento', 'Inspiration']
        }}
    >
    <Inject services={[Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, BookmarkView, ThumbnailView,
          Print, TextSelection, TextSearch, FormFields, FormDesigner]} />
      </PdfViewerComponent>
    </div>
  </div>);
}
const rootElement = document.getElementById('sample')!;
const root = ReactDOM.createRoot(rootElement);
root.render(<App />);

signatureFitMode SignatureFitMode

Specifies the signature mode in the PDF Viewer.

<body>
    <div id='sample'>
        <div id='loader'>Loading....</div>
    </div>    
</body>
import React from 'react';
import ReactDOM from 'react-dom/client';
import './index.css';
import { PdfViewerComponent, Toolbar, Magnification, Navigation, LinkAnnotation, BookmarkView, ThumbnailView, Print, TextSelection, Annotation, TextSearch, FormFields, FormDesigner, Inject } from '@syncfusion/ej2-react-pdfviewer';
export function App() {
  return (<div>
    <div className='control-section'>
      <PdfViewerComponent 
        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" 
        style={{ 'height': '680px' }} 
        // Change the signature fit.
        signatureFitMode = "Stretch"
      >
        <Inject services={[Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, BookmarkView, ThumbnailView,
          Print, TextSelection, TextSearch, FormFields, FormDesigner]} />
      </PdfViewerComponent>
    </div>
  </div>);
}
const rootElement = document.getElementById('sample')!;
const root = ReactDOM.createRoot(rootElement);
root.render(<App />);

squigglySettings SquigglySettingsModel

Defines the settings of squiggly annotation.

<body>
    <div id='sample'>
        <div id='loader'>Loading....</div>
    </div>    
</body>
import React from 'react';
import ReactDOM from 'react-dom/client';
import './index.css';
import { PdfViewerComponent, Toolbar, Magnification, Navigation, LinkAnnotation, BookmarkView, ThumbnailView, Print, TextSelection, Annotation, TextSearch, FormFields, FormDesigner, Inject, AnnotationResizerLocation, AllowedInteraction } from '@syncfusion/ej2-react-pdfviewer';
export function App() {
  return (<div>
    <div className='control-section'>
      <PdfViewerComponent 
        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" 
        style={{ 'height': '680px' }} 
        // Change the squiggly annotation settings.
        squigglySettings = {{
          opacity: 1,
          color: "#ff0000",
          author: "XYZ",
          annotationSelectorSettings: {
            selectionBorderColor: "#03497C",
            resizerBorderColor: "#000000",
            resizerFillColor: "#FF4081",
            resizerSize: 8,
            selectionBorderThickness: 1,
            resizerShape: "Square",
            selectorLineDashArray: [5, 6],
            resizerLocation:
            AnnotationResizerLocation.Corners | AnnotationResizerLocation.Edges
          },
          isLock: false,
          enableMultiPageAnnotation: false,
          enableTextMarkupResizer: false,
          allowedInteractions: [AllowedInteraction.Resize],
          isPrint: true
        }}
      >
        <Inject services={[Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, BookmarkView, ThumbnailView,
          Print, TextSelection, TextSearch, FormFields, FormDesigner]} />
      </PdfViewerComponent>
    </div>
  </div>);
}
const rootElement = document.getElementById('sample')!;
const root = ReactDOM.createRoot(rootElement);
root.render(<App />);

stampSettings StampSettingsModel

Defines the settings of stamp annotation.

<body>
    <div id='sample'>
        <div id='loader'>Loading....</div>
    </div>    
</body>
import React from 'react';
import ReactDOM from 'react-dom/client';
import './index.css';
import { PdfViewerComponent, Toolbar, Magnification, Navigation, LinkAnnotation, BookmarkView, ThumbnailView, Print, TextSelection, Annotation, TextSearch, FormFields, FormDesigner, Inject, AnnotationResizerLocation, DynamicStampItem, SignStampItem, StandardBusinessStampItem, CursorType, AllowedInteraction } from '@syncfusion/ej2-react-pdfviewer';
export function App() {
  return (<div>
    <div className='control-section'>
      <PdfViewerComponent 
        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"
        style={{ 'height': '680px' }} 
        // Change the stamp annotation settings.
        stampSettings = {{
          opacity: 1,
          author: "XYZ",
          annotationSelectorSettings: {
            selectionBorderColor: "#03497C",
            resizerBorderColor: "#FF0000",
            resizerFillColor: "#FF4081",
            resizerSize: 8,
            selectionBorderThickness: 5,
            resizerShape: "Circle",
            selectorLineDashArray: [5, 6],
            resizerLocation:
            AnnotationResizerLocation.Corners | AnnotationResizerLocation.Edges,
            resizerCursorType: CursorType.grab
          },
          minHeight: 10,
          minWidth: 10,
          maxWidth: 100,
          maxHeight: 100,
          isLock: false,
          dynamicStamps: [
            DynamicStampItem.Revised,
            DynamicStampItem.Reviewed,
            DynamicStampItem.Received,
            DynamicStampItem.Confidential,
            DynamicStampItem.Approved,
            DynamicStampItem.NotApproved
          ],
          signStamps: [
            SignStampItem.Witness,
            SignStampItem.InitialHere,
            SignStampItem.SignHere,
            SignStampItem.Accepted,
            SignStampItem.Rejected
          ],
          standardBusinessStamps: [
            StandardBusinessStampItem.Approved,
            StandardBusinessStampItem.NotApproved,
            StandardBusinessStampItem.Draft,
            StandardBusinessStampItem.Final,
            StandardBusinessStampItem.Completed,
            StandardBusinessStampItem.Confidential,
            StandardBusinessStampItem.ForPublicRelease,
            StandardBusinessStampItem.NotForPublicRelease,
            StandardBusinessStampItem.ForComment,
            StandardBusinessStampItem.Void,
            StandardBusinessStampItem.PreliminaryResults,
            StandardBusinessStampItem.InformationOnly
          ],
          allowedInteractions: [AllowedInteraction.Resize],
          isPrint: true
        }}
      >
        <Inject services={[Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, BookmarkView, ThumbnailView,
          Print, TextSelection, TextSearch, FormFields, FormDesigner]} />
      </PdfViewerComponent>
    </div>
  </div>);
}
const rootElement = document.getElementById('sample')!;
const root = ReactDOM.createRoot(rootElement);
root.render(<App />);

stickyNotesSettings StickyNotesSettingsModel

Defines the settings of stickyNotes annotation.

<body>
    <div id='sample'>
        <div id='loader'>Loading....</div>
    </div>    
</body>
import React from 'react';
import ReactDOM from 'react-dom/client';
import './index.css';
import { PdfViewerComponent, Toolbar, Magnification, Navigation, LinkAnnotation, BookmarkView, ThumbnailView, Print, TextSelection, Annotation, TextSearch, FormFields, FormDesigner, Inject, AnnotationResizerLocation, CursorType, AllowedInteraction } from '@syncfusion/ej2-react-pdfviewer';
export function App() {
  return (<div>
    <div className='control-section'>
      <PdfViewerComponent 
        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" 
        style={{ 'height': '680px' }} 
        // Change the sticky note annotation settings.
        stickyNotesSettings = {{
          author: "XYZ",
          opacity: 1,
          annotationSelectorSettings: {
            selectionBorderColor: "#03497C",
            resizerBorderColor: "#FF0000",
            resizerFillColor: "#4070ff",
            resizerSize: 8,
            selectionBorderThickness: 1,
            resizerShape: "Circle",
            selectorLineDashArray: [5, 6],
            resizerLocation:
            AnnotationResizerLocation.Corners | AnnotationResizerLocation.Edges,
            resizerCursorType: CursorType.grab
          },
          isLock: false,
          allowedInteractions: [AllowedInteraction.Resize],
          isPrint: true
        }}
      >
        <Inject services={[Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, BookmarkView, ThumbnailView,
          Print, TextSelection, TextSearch, FormFields, FormDesigner]} />
      </PdfViewerComponent>
    </div>
  </div>);
}
const rootElement = document.getElementById('sample')!;
const root = ReactDOM.createRoot(rootElement);
root.render(<App />);

strikethroughSettings StrikethroughSettingsModel

Defines the settings of strikethrough annotation.

<body>
    <div id='sample'>
        <div id='loader'>Loading....</div>
    </div>    
</body>
import React from 'react';
import ReactDOM from 'react-dom/client';
import './index.css';
import { PdfViewerComponent, Toolbar, Magnification, Navigation, LinkAnnotation, BookmarkView, ThumbnailView, Print, TextSelection, Annotation, TextSearch, FormFields, FormDesigner, Inject, AnnotationResizerLocation, AllowedInteraction } from '@syncfusion/ej2-react-pdfviewer';
export function App() {
  return (<div>
    <div className='control-section'>
      <PdfViewerComponent 
        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" 
        style={{ 'height': '680px' }} 
        // Change the strikethrough annotation settings.
        strikethroughSettings = {{
          opacity: 1,
          color: "#DAFF56",
          author: "XYZ",
          annotationSelectorSettings: {
            selectionBorderColor: "#03497C",
            resizerBorderColor: "#000000",
            resizerFillColor: "#FF4081",
            resizerSize: 8,
            selectionBorderThickness: 1,
            resizerShape: "Square",
            selectorLineDashArray: [5, 6],
            resizerLocation:
            AnnotationResizerLocation.Corners | AnnotationResizerLocation.Edges
          },
          isLock: false,
          enableMultiPageAnnotation: false,
          enableTextMarkupResizer: false,
          allowedInteractions: [AllowedInteraction.Resize],
          isPrint: true
        }}
      >
        <Inject services={[Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, BookmarkView, ThumbnailView,
          Print, TextSelection, TextSearch, FormFields, FormDesigner]} />
      </PdfViewerComponent>
    </div>
  </div>);
}
const rootElement = document.getElementById('sample')!;
const root = ReactDOM.createRoot(rootElement);
root.render(<App />);

textFieldSettings TextFieldSettingsModel

Get or set the text field settings.

<body>
    <div id='sample'>
        <div id='loader'>Loading....</div>
    </div>    
</body>
import React from 'react';
import ReactDOM from 'react-dom/client';
import './index.css';
import {PdfViewerComponent, Toolbar, Magnification, Navigation, LinkAnnotation, BookmarkView, ThumbnailView, Print,
  TextSelection, Annotation, TextSearch, FormFields, FormDesigner, Inject,
  FontStyle} from '@syncfusion/ej2-react-pdfviewer';

export function App() {
  const viewerRef = React.useRef<PdfViewerComponent>(null);

  React.useEffect(() => {
    if (viewerRef.current) {
      viewerRef.current.textFieldSettings = {
        name: 'Box1',
        value: 'Value1',
        fontFamily: 'Courier',
        fontSize: 10,
        fontStyle: FontStyle.None,
        color: '#000fff',
        borderColor: '#0000ff',
        backgroundColor: '#ffffff',
        alignment: 'Right',
        isReadOnly: false,
        visibility: 'visible',
        maxLength: 0,
        isRequired: false,
        isPrint: true,
        tooltip: 'textBox',
        thickness: 1,
        isMultiline: false
      };
    }
  }, []);

  return (
    <div>
      <div className="control-section">
        <PdfViewerComponent
          id="container"
          ref={viewerRef}
          resourceUrl="https://cdn.syncfusion.com/ej2/30.1.37/dist/ej2-pdfviewer-lib"
          documentPath="https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf"
        >
          <Inject
            services={[Toolbar,Magnification,Navigation,Annotation,LinkAnnotation,BookmarkView,ThumbnailView,
              Print,TextSelection,TextSearch,FormFields, FormDesigner]}
          />
        </PdfViewerComponent>
      </div>
    </div>
  );
}

const rootElement = document.getElementById('sample')!;
const root = ReactDOM.createRoot(rootElement);
root.render(<App />);

textSearchColorSettings TextSearchColorSettingsModel

Sets the settings for the color of the text search highlight.

<body>
    <div id='sample'>
        <div id='loader'>Loading....</div>
    </div>    
</body>
import React from 'react';
import ReactDOM from 'react-dom/client';
import './index.css';
import { PdfViewerComponent, Toolbar, Magnification, Navigation, LinkAnnotation, BookmarkView, ThumbnailView, Print, TextSelection, Annotation, TextSearch, FormFields, FormDesigner, Inject } from '@syncfusion/ej2-react-pdfviewer';
export function App() {
  return (<div>
    <div className='control-section'>
      <PdfViewerComponent 
        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" 
        style={{ 'height': '680px' }} 
        // Change the text search color settings.
        textSearchColorSettings = {{ 
          searchHighlightColor: '#4070ff', 
          searchColor: '#FF4081' 
        }}
      >
        <Inject services={[Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, BookmarkView, ThumbnailView,
          Print, TextSelection, TextSearch, FormFields, FormDesigner]} />
      </PdfViewerComponent>
    </div>
  </div>);
}

const rootElement = document.getElementById('sample')!;
const root = ReactDOM.createRoot(rootElement);
root.render(<App />);

tileRenderingSettings TileRenderingSettingsModel

Defines the tile rendering settings.

<body>
    <div id='sample'>
        <div id='loader'>Loading....</div>
    </div>    
</body>
import React from 'react';
import ReactDOM from 'react-dom/client';
import './index.css';
import { PdfViewerComponent, Toolbar, Magnification, Navigation, LinkAnnotation, BookmarkView, ThumbnailView, Print, TextSelection, Annotation, TextSearch, FormFields, FormDesigner, Inject } from '@syncfusion/ej2-react-pdfviewer';
export function App() {
  return (<div>
    <div className='control-section'>
      <PdfViewerComponent 
        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"
        style={{ 'height': '680px' }} 
        // Change the tile rendering settings.
        tileRenderingSettings = {{
          enableTileRendering: false, 
          x: 0, 
          y: 0
        }}
      >
        <Inject services={[Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, BookmarkView, ThumbnailView,
          Print, TextSelection, TextSearch, FormFields, FormDesigner]} />
      </PdfViewerComponent>
    </div>
  </div>);
}

const rootElement = document.getElementById('sample')!;
const root = ReactDOM.createRoot(rootElement);
root.render(<App />);

toolbarSettings ToolbarSettingsModel

Defines the settings of the PDF Viewer toolbar.

<body>
    <div id='sample'>
        <div id='loader'>Loading....</div>
    </div>    
</body>
import React from 'react';
import ReactDOM from 'react-dom/client';
import './index.css';
import { PdfViewerComponent, Toolbar, Magnification, Navigation, LinkAnnotation, BookmarkView, ThumbnailView, Print, TextSelection, Annotation, TextSearch, FormFields, FormDesigner, Inject } from '@syncfusion/ej2-react-pdfviewer';
export function App() {
  return (<div>
    <div className='control-section'>
      <PdfViewerComponent 
        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" 
        style={{ 'height': '680px' }} 
        // Change the tool bar settings.
        toolbarSettings = {{
          showTooltip: false,
          toolbarItems: [
            "OpenOption",
            "UndoRedoTool",
            "PageNavigationTool",
            "MagnificationTool",
            "PanTool",
            "SelectionTool",
            "CommentTool",
            "SubmitForm",
            "AnnotationEditTool",
            "FormDesignerEditTool",
            "SearchOption",
            "PrintOption",
            "DownloadOption"
          ],
          annotationToolbarItems: [
            "HighlightTool",
            "UnderlineTool",
            "StrikethroughTool",
            "ColorEditTool",
            "OpacityEditTool",
            "AnnotationDeleteTool",
            "StampAnnotationTool",
            "HandWrittenSignatureTool",
            "InkAnnotationTool",
            "ShapeTool",
            "CalibrateTool",
            "StrokeColorEditTool",
            "ThicknessEditTool",
            "FreeTextAnnotationTool",
            "FontFamilyAnnotationTool",
            "FontSizeAnnotationTool",
            "FontStylesAnnotationTool",
            "FontAlignAnnotationTool",
            "FontColorAnnotationTool",
            "CommentPanelTool"
          ],
          formDesignerToolbarItems: [
            "TextboxTool",
            "PasswordTool",
            "CheckBoxTool",
            "RadioButtonTool",
            "DropdownTool",
            "ListboxTool",
            "DrawSignatureTool",
            "DeleteTool"
          ]
        }}
      >
        <Inject services={[Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, BookmarkView, ThumbnailView,
          Print, TextSelection, TextSearch, FormFields, FormDesigner]} />
      </PdfViewerComponent>
    </div>
  </div>);
}

const rootElement = document.getElementById('sample')!;
const root = ReactDOM.createRoot(rootElement);
root.render(<App />);

underlineSettings UnderlineSettingsModel

Defines the settings of underline annotation.

<body>
    <div id='sample'>
        <div id='loader'>Loading....</div>
    </div>    
</body>
import React from 'react';
import ReactDOM from 'react-dom/client';
import './index.css';
import { PdfViewerComponent, Toolbar, Magnification, Navigation, LinkAnnotation, BookmarkView, ThumbnailView, Print, TextSelection, Annotation, TextSearch, FormFields, FormDesigner, Inject, AnnotationResizerLocation, AllowedInteraction } from '@syncfusion/ej2-react-pdfviewer';
export function App() {
  return (<div>
    <div className='control-section'>
      <PdfViewerComponent 
        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" 
        style={{ 'height': '680px' }} 
        // Change the underline annotation settings.
        underlineSettings = {{
          opacity: 1,
          color: "#9c2592",
          author: "XYZ",
          annotationSelectorSettings: {
            selectionBorderColor: "#03497C",
            resizerBorderColor: "#000000",
            resizerFillColor: "#FF4081",
            resizerSize: 8,
            selectionBorderThickness: 1,
            resizerShape: "Square",
            selectorLineDashArray: [5, 6],
            resizerLocation:
            AnnotationResizerLocation.Corners | AnnotationResizerLocation.Edges
          },
          isLock: false,
          enableMultiPageAnnotation: false,
          enableTextMarkupResizer: false,
          allowedInteractions: [AllowedInteraction.Resize],
          isPrint: true
        }}
      >
        <Inject services={[Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, BookmarkView, ThumbnailView,
          Print, TextSelection, TextSearch, FormFields, FormDesigner]} />
      </PdfViewerComponent>
    </div>
  </div>);
}

const rootElement = document.getElementById('sample')!;
const root = ReactDOM.createRoot(rootElement);
root.render(<App />);

volumeSettings VolumeSettingsModel

Defines the settings of volume annotation.

<body>
    <div id='sample'>
        <div id='loader'>Loading....</div>
    </div>    
</body>
import React from 'react';
import ReactDOM from 'react-dom/client';
import './index.css';
import { PdfViewerComponent, Toolbar, Magnification, Navigation, LinkAnnotation, BookmarkView, ThumbnailView, Print, TextSelection, Annotation, TextSearch, FormFields, FormDesigner, Inject, CursorType, AnnotationResizerLocation, AllowedInteraction } from '@syncfusion/ej2-react-pdfviewer';
export function App() {
  return (<div>
    <div className='control-section'>
      <PdfViewerComponent 
        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" 
        style={{ 'height': '680px' }} 
        // Change the volume annotation settings.
        volumeSettings = {{
          opacity: 1,
          fillColor: "#ffffff00",
          strokeColor: "#ff0000",
          author: "XYZ",
          thickness: 1,
          minHeight: 10,
          minWidth: 10,
          maxWidth: 100,
          maxHeight: 100,
          isLock: false,
          annotationSelectorSettings: {
            selectionBorderColor: "#03497C",
            resizerBorderColor: "#000000",
            resizerFillColor: "#4070ff",
            resizerSize: 8,
            selectionBorderThickness: 1,
            resizerShape: "Circle",
            selectorLineDashArray: [5, 6],
            resizerLocation:
            AnnotationResizerLocation.Corners | AnnotationResizerLocation.Edges,
            resizerCursorType: CursorType.grab
          },
          allowedInteractions: [AllowedInteraction.Resize],
          isPrint: true
        }}
      >
        <Inject services={[Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, BookmarkView, ThumbnailView,
          Print, TextSelection, TextSearch, FormFields, FormDesigner]} />
      </PdfViewerComponent>
    </div>
  </div>);
}

const rootElement = document.getElementById('sample')!;
const root = ReactDOM.createRoot(rootElement);
root.render(<App />);

width string|number

Defines the scrollable width of the PdfViewer control.

<body>
    <div id='sample'>
        <div id='loader'>Loading....</div>
    </div>    
</body>
import React from 'react';
import ReactDOM from 'react-dom/client';
import './index.css';
import { PdfViewerComponent, Toolbar, Magnification, Navigation, LinkAnnotation, BookmarkView, ThumbnailView, Print, TextSelection, Annotation, TextSearch, FormFields, FormDesigner, Inject } from '@syncfusion/ej2-react-pdfviewer';
export function App() {
  return (<div>
    <div className='control-section'>
      <PdfViewerComponent 
        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" 
        style={{ 'height': '680px' }} 
        // Change the width.
        width = {300}
      >
        <Inject services={[Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, BookmarkView, ThumbnailView,
          Print, TextSelection, TextSearch, FormFields, FormDesigner]} />
      </PdfViewerComponent>
    </div>
  </div>);
}

const rootElement = document.getElementById('sample')!;
const root = ReactDOM.createRoot(rootElement);
root.render(<App />);

zoomMode ZoomMode

Specifies the rendering mode in the PDF Viewer.

<body>
    <div id='sample'>
        <div id='loader'>Loading....</div>
    </div>    
</body>
import React from 'react';
import ReactDOM from 'react-dom/client';
import './index.css';
import { PdfViewerComponent, Toolbar, Magnification, Navigation, LinkAnnotation, BookmarkView, ThumbnailView, Print, TextSelection, Annotation, TextSearch, FormFields, FormDesigner, Inject } from '@syncfusion/ej2-react-pdfviewer';
export function App() {
  return (<div>
    <div className='control-section'>
      <PdfViewerComponent 
        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"
        style={{ 'height': '680px' }} 
        zoomMode = "FitToWidth"
      >
        <Inject services={[Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, BookmarkView, ThumbnailView,
          Print, TextSelection, TextSearch, FormFields, FormDesigner]} />
      </PdfViewerComponent>
    </div>
  </div>);
}

const rootElement = document.getElementById('sample')!;
const root = ReactDOM.createRoot(rootElement);
root.render(<App />);

zoomValue number

Sets the initial loading zoom value from 10 to 400 in the PDF Viewer Control.

<body>
    <div id='sample'>
        <div id='loader'>Loading....</div>
    </div>    
</body>
import React from 'react';
import ReactDOM from 'react-dom/client';
import './index.css';
import { PdfViewerComponent, Toolbar, Magnification, Navigation, LinkAnnotation, BookmarkView, ThumbnailView, Print, TextSelection, Annotation, TextSearch, FormFields, FormDesigner, Inject } from '@syncfusion/ej2-react-pdfviewer';
export function App() {
  return (<div>
    <div className='control-section'>
      <PdfViewerComponent 
        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" 
        style={{ 'height': '680px' }} 
        // Change the zoom value.
        zoomValue = {75}
      >
        <Inject services={[Toolbar, Magnification, Navigation, Annotation, LinkAnnotation, BookmarkView, ThumbnailView,
          Print, TextSelection, TextSearch, FormFields, FormDesigner]} />
      </PdfViewerComponent>
    </div>
  </div>);
}
const rootElement = document.getElementById('sample')!;
const root = ReactDOM.createRoot(rootElement);
root.render(<App />);