The React PDF Viewer component enables you to view, annotate, prepare and fill forms, and print PDF files from your web applications.
Getting started . Online demos . Learn more
Trusted by the world's leading companies
You can use create-react-app
to setup applications. To create React app use the following command.
npx create-react-app my-app --template typescript
cd my-app
npm start
All Syncfusion react packages are published in the npmjs.com registry. To install the react PDF Viewer package, use the following command.
npm install @syncfusion/ej2-react-pdfviewer --save
Add CSS references needed for a PDF Viewer in src/index.css from the ../node_modules/@syncfusion package folder.
@import '../node_modules/@syncfusion/ej2-base/styles/material.css';
@import '../node_modules/@syncfusion/ej2-buttons/styles/material.css';
@import '../node_modules/@syncfusion/ej2-inputs/styles/material.css';
@import '../node_modules/@syncfusion/ej2-popups/styles/material.css';
@import '../node_modules/@syncfusion/ej2-lists/styles/material.css';
@import '../node_modules/@syncfusion/ej2-navigations/styles/material.css';
@import '../node_modules/@syncfusion/ej2-dropdowns/styles/material.css';
@import '../node_modules/@syncfusion/ej2-splitbuttons/styles/material.css';
@import '../node_modules/@syncfusion/ej2-notifications/styles/material.css';
@import "../node_modules/@syncfusion/ej2-react-pdfviewer/styles/material.css";
In the src/index.js file, use the following code snippet to render the Syncfusion React PDF Viewer control and import index.css to apply styles to the PDF Viewer:
import { createRoot } from 'react-dom/client';
import './index.css';
import * as React from 'react';
import {
PdfViewerComponent,
Toolbar,
Magnification,
Navigation,
LinkAnnotation,
BookmarkView,
ThumbnailView,
Print,
TextSelection,
TextSearch,
Annotation,
FormFields,
FormDesigner,
Inject,
} from '@syncfusion/ej2-react-pdfviewer';
import { SampleBase } from './sample-base';
export class Default extends SampleBase {
render() {
return (
<div>
<div className="control-section">
<PdfViewerComponent
id="container"
documentPath="PDF_Succinctly.pdf"
serviceUrl="https://ej2services.syncfusion.com/production/web-services/api/pdfviewer"
toolbarSettings={{ showTooltip: true, toolbarItems: ['OpenOption', 'PanTool', 'AnnotationEditTool', 'FormDesignerEditTool', ], annotationToolbarItems: ['HandWrittenSignatureTool'], formDesignerToolbarItems: ['TextboxTool', 'PasswordTool', ] }}
style={{ height: '640px' }}
>
<Inject
services={[
Toolbar,
Magnification,
Navigation,
LinkAnnotation,
BookmarkView,
ThumbnailView,
Print,
TextSelection,
TextSearch,
Annotation,
FormFields,
FormDesigner,
]}
/>
</PdfViewerComponent>
</div>
</div>
);
}
}
const root = createRoot(document.getElementById('sample'));
root.render(<Default />);
PDF Viewer component is also offered in the following list of frameworks.
JavaScript |
Angular |
Vue |
ASP.NET Core |
ASP.NET MVC |
---|
- View PDF Document - Open and display both the normal and the protected PDF files with AES and RC4 encryption.
- Annotations - Annotate with text markup, shapes, stamps, ink, and sticky notes.
- Form Fields - Form filling and form designing can be done.
- Signature - Hand-written and digital signatures are allowed.
- Toolbar - Built-in-toolbar and custom toolbars to perform user interaction of PDF Viewer functionalities.
- Navigation - Easy navigation with the help of bookmarks, thumbnails, hyperlinks, and table of contents.
- Magnification - Fit to page, fit to width, and automatic (fits to the visible area).
- Search - Search a text easily across the PDF document.
- Core Interactions - Allows scrolling, zooming, panning, selection, and page navigation.
- Print - Print the entire document or a specific page directly from the browser.
- Globalization - Provides inherent support to localize the UI.
Product support is available through the following mediums.
- Support ticket - Guaranteed Response in 24 hours | Unlimited tickets | Holiday support
- Community forum
- GitHub issues
- Request feature or report bug
- Live chat
Check the changelog here. Get minor improvements and bug fixes every week to stay up to date with frequent updates.
This is a commercial product and requires a paid license for possession or use. Syncfusion’s licensed software, including this component, is subject to the terms and conditions of Syncfusion's EULA. To acquire a license for 80+ React UI components, you can purchase or start a free 30-day trial.
A free community license is also available for companies and individuals whose organizations have less than $1 million USD in annual gross revenue and five or fewer developers.
See LICENSE FILE for more info.
© Copyright 2024 Syncfusion, Inc. All Rights Reserved. The Syncfusion Essential Studio license and copyright applies to this distribution.