PdfViewerComponent
25 Sep 202524 minutes to read
`Represents the react PdfViewer Component.
<PdfViewerComponent />
Properties
DropdownFieldSettings DropdownFieldSettingsModel
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 />);accessibilityTags AccessibilityTags
Gets the Accessibility Tags object of the pdf viewer.
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 />);annotation Annotation
Gets the annotation object of the pdf viewer.
annotationCollection any[]
Get the Loaded document annotation Collections in the PdfViewer control.
<body>
<button onclick="annot()">Annotation collection</button>
<div id='sample'>
<div id='loader'>Loading....</div>
</div>
</body>
<script>
function annot(){
var viewer = document.getElementById('container').ej2_instances[0];
// Logs the annotation collection.
console.log(viewer.annotationCollection);
}
</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 />);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 />);bookmark BookmarkView
Gets the bookmark view object of the pdf viewer.
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 />);Defaults to {}
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 />);Defaults to RightClick
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 />);Defaults to 0
customFonts string[]
Specifies a collection of font names as strings. These fonts must be located in the resourceUrl folder.
Defaults to []
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 />);Defaults to false
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 />);Defaults to []
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 />);Defaults to true
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 />);Defaults to true
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 />);Defaults to true
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 />);Defaults to true
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 />);Defaults to true
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 />);Defaults to false
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 />);Defaults to true
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 />);Defaults to false
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 />);Defaults to true
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 />);Defaults to true
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 />);Defaults to true
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 />);Defaults to true
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 />);Defaults to false
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 />);Defaults to true
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 />);Defaults to true
enableHyperlink boolean
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 />);Defaults to true
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 />);Defaults to true
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 />);Defaults to true
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
enableLocalStoragetotruestores 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.
Defaults to false
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 />);Defaults to true
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 />);Defaults to true
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 />);Defaults to false
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 />);Defaults to false
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 />);Defaults to true
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 />);Defaults to true
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 />);Defaults to true
enablePersistence boolean
Enable or disable persisting component’s state between page reloads.
Defaults to false
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 />);Defaults to true
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 />);Defaults to true
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 />);Defaults to true
enableRtl boolean
Enable or disable rendering component in right to left direction.
Defaults to false
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 />);Defaults to true
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 />);Defaults to false
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 />);Defaults to true
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 />);Defaults to true
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 />);Defaults to true
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 />);Defaults to false
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 />);Defaults to true
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 />);Defaults to true
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 />);Defaults to true
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 />);Defaults to true
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 />);Defaults to true
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.
Defaults to ‘TextAndBounds’
fileName string
Gets or sets the document name loaded in the PdfViewer control.
<body>
<button onclick="file()">File Name</button>
<div id='sample'>
<div id='loader'>Loading....</div>
</div>
</body>
<script>
function file(){
var viewer = document.getElementById('container').ej2_instances[0];
// Logs the loaded PDF file name.
console.log("File name - " + viewer.fileName);
}
</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 />);formDesigner FormDesigner
Gets the FormDesigner object of the pdf viewer.
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 />);Defaults to ‘auto’
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
Defaults to false
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 />);Defaults to CurrentTab
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 />);Defaults to 2
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 />);Defaults to TextSelection
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 />);Defaults to false
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 />);Defaults to false
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 />);Defaults to false
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 />);Defaults to false
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 />);Defaults to false
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 />);Defaults to false
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 />);Defaults to false
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 />);Defaults to false
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 />);Defaults to false
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 />);Defaults to false
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 />);Defaults to false
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’.
Defaults to ’’
magnification Magnification
Gets the magnification object of the pdf viewer.
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 />);Defaults to 400
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 />);Defaults to 10
navigation Navigation
Gets the navigation object of the pdf viewer.
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 />);Defaults to 0
pageOrganizer PageOrganizer
Gets the page organizer object of the PDF Viewer.
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 />);print Print
Gets the print object of the pdf viewer.
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 />);Defaults to Default
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 />);Defaults to 1.0
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 />);Defaults to ’’
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 />);Defaults to false
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 />);Defaults to 1
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 />);Defaults to [500]
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 />);Defaults to 0
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
Defaults to {}
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 />);Defaults to true
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 />);Defaults to true
signatureCollection any[]
Get the Loaded document signature Collections in the PdfViewer control.
<body>
<button onclick="sign()">Signature collection</button>
<div id='sample'>
<div id='loader'>Loading....</div>
</div>
</body>
<script>
function sign(){
var viewer = document.getElementById('container').ej2_instances[0];
// Logs the signature collection.
console.log(viewer.signatureCollection);
}
</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 />);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 />);Defaults to Default
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 />);textSearch TextSearch
Gets the text search object of the pdf viewer.
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 />);textSelection TextSelection
Gets the TextSelection object of the pdf viewer.
thumbnailView ThumbnailView
Gets the thumbnail-view object of the pdf viewer.
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 />);toolbar Toolbar
Gets the toolbar object of the pdf viewer.
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 />);Defaults to ‘auto’
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 />);Defaults to Default
zoomPercentage number
Returns the current zoom percentage of the PdfViewer control.
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 />);Defaults to 0
Methods
addAnnotation
Perform to add annotations in the PDF Viewer
| Parameter | Type | Description |
|---|---|---|
| annotation | any |
Specifies the annotation |
Returns void
addCustomMenu
Adds a custom menu item to the existing menu, with optional configurations.
| Parameter | Type | Description |
|---|---|---|
| menuItems | MenuItemModel[] |
The custom menu item to be added. |
| disableDefaultItems (optional) | boolean |
Optional. When set to true, this parameter disables the inclusion of default items in the menu. Defaults to false, meaning default items will be included. |
| appendToEnd (optional) | boolean |
Optional. When set to true, the custom menu item will be added at the bottom of the existing menu list. If false or not provided, the item will be added at the default position. |
Returns void
clearFormFields
Clears data from the form fields.
Parameter - Specifies the form field object.
| Parameter | Type | Description |
|---|---|---|
| formField (optional) | any |
It describes about the form field |
Returns void
convertClientPointToPagePoint
Convert user coordinates to the PDF page coordinates.
| Parameter | Type | Description |
|---|---|---|
| clientPoint | Point |
The user should provide a x, y coordinates. |
| pageNumber | number |
We need to pass pageNumber. |
Returns Point
convertPagePointToClientPoint
Convert page coordinates to the user coordinates.
| Parameter | Type | Description |
|---|---|---|
| pagePoint | Point |
The user should provide a page x, y coordinates. |
| pageNumber | number |
We need to pass pageNumber. |
Returns Point
convertPagePointToScrollingPoint
Convert page coordinates to the scrolling coordinates.
| Parameter | Type | Description |
|---|---|---|
| pagePoint | Point |
The user should provide a page x, y coordinates. |
| pageNumber | number |
We need to pass pageNumber. |
Returns Point
deleteAnnotations
To delete the annotation Collections in the PDF Document.
Returns void
destroy
Destroys all managed resources used by this object.
Returns void
download
Downloads the PDF document being loaded in the ejPdfViewer control.
Returns void
exportAnnotation
Perform export annotations action in the PDF Viewer
| Parameter | Type | Description |
|---|---|---|
| annotationDataFormat (optional) | AnnotationDataFormat |
-Gets the annotation data format |
Returns void
exportAnnotationsAsBase64String
Export annotations and returns a base64 string for both Json and XFDF formats
| Parameter | Type | Description |
|---|---|---|
| annotationDataFormat | AnnotationDataFormat |
Gets the annotation data format |
Returns Promise
exportAnnotationsAsObject
Perform export annotations action in the PDF Viewer
| Parameter | Type | Description |
|---|---|---|
| annotationDataFormat (optional) | AnnotationDataFormat |
Export the annotation based on the format. |
Returns Promise
exportFormFields
Exports the form field data in the specified data format.
| Parameter | Type | Description |
|---|---|---|
| data (optional) | string |
The path for exporting the fields. |
| formFieldDataFormat (optional) | FormFieldDataFormat |
Form field data format |
Returns void
exportFormFieldsAsObject
Returns an object which represents the form field data in the specified data format.
| Parameter | Type | Description |
|---|---|---|
| formFieldDataFormat (optional) | FormFieldDataFormat |
Form field data format |
Returns Promise
extractText
Extracts text from a specific page of the PDF document based on the supplied options.
| Parameter | Type | Description |
|---|---|---|
| pageIndex | number |
The index of the page from which text will be extracted. The first page is indexed as 0. |
| options | ExtractTextOption |
A configuration option specifying the type of text extraction, such as layout preferences. |
Returns Promise
focusFormField
Focus a form field in a document by its field name or the field object.
| Parameter | Type | Description |
|---|---|---|
| field | any |
It describes about the field value |
Returns void
getPageInfo
Retrieves the information of a specified page in the viewer.
| Parameter | Type | Description |
|---|---|---|
| pageIndex | number |
The page index to get the details. The first page is 0. |
Returns PageInfoModel
getPageNumberFromClientPoint
Get page number from the user coordinates x and y.
| Parameter | Type | Description |
|---|---|---|
| clientPoint | Point |
The user will provide a x, y coordinates. |
Returns number
importAnnotation
Perform imports annotations action in the PDF Viewer
| Parameter | Type | Description |
|---|---|---|
| importData | any |
Specifies the data for annotation imports |
| annotationDataFormat (optional) | AnnotationDataFormat |
Specifies the annotation data format |
Returns void
importFormFields
Imports the form fields data into the current PDF document.
| Parameter | Type | Description |
|---|---|---|
| data (optional) | string |
The path for importing the fields. |
| formFieldDataFormat (optional) | FormFieldDataFormat |
Gets the form field data format |
Returns void
load
Loads the given PDF document in the PDF viewer control
| Parameter | Type | Description |
|---|---|---|
| document |
string | Uint8Array
|
Specifies the document name for load |
| password | string |
Specifies the Given document password |
Returns void
redo
Perform redo action for the edited annotations
Returns void
resetFormFields
reset all form fields data
Returns void
retrieveFormFields
To retrieve the form fields in the PDF Document.
Returns FormFieldModel[]
saveAsBlob
Saves the PDF document being loaded in the PDF Viewer control as blob.
Returns Promise
setJsonData
To modify the Json Data in ajax request.
Returns void
showNotificationPopup
Specifies the message to be displayed in the popup.
| Parameter | Type | Description |
|---|---|---|
| errorString | string |
It describes about the error string value |
Returns void
undo
Perform undo action for the edited annotations
Returns void
unload
Unloads the PDF document being displayed in the PDF viewer.
Returns void
updateFormFields
To update the form fields within a PDF document, but only when the FormDesigner module is either not injected or has been disabled.
| Parameter | Type | Description |
|---|---|---|
| formFields | any |
It describes about the form field |
Returns void
updateFormFieldsValue
Update the form field values from externally.
| Parameter | Type | Description |
|---|---|---|
| fieldValue | any |
It describes about the field value |
Returns void
updateViewerContainer
updates the PDF Viewer container width and height from externally.
Returns void
zoomToRect
Brings the given rectangular region to view and zooms in the document to fit the region in client area (view port).
| Parameter | Type | Description |
|---|---|---|
| rectangle | Rect |
Specifies the region in client coordinates that is to be brought to view. |
Returns void
Events
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.