Getting Started with the KendoReact PDF Viewer
This guide provides essential information about using the KendoReact PDF Viewer package. You will learn how to install the PDF Viewer package, add a PDF Viewer component to your project, style the component, and activate your license.
After completing this guide, you will be able to reproduce the following example.
Setting Up Your React Project
Before you install the KendoReact PDF Viewer, make sure that you have a running React project. The easiest way to set up a project for the KendoReact components is to use the create-kendoreact-app
tool that is described in the Get Started with KendoReact article.
Installing the PDF Viewer Package
All KendoReact packages are distributed through npm and offer a similar installation experience. To use the PDF Viewer component, start with the installation of the PDF Viewer npm package and its dependencies. Use Node.js v5.0.0 or later.
npm install --save @progress/kendo-react-pdf-viewer @progress/kendo-data-query @progress/kendo-drawing @progress/kendo-file-saver @progress/kendo-react-animation @progress/kendo-react-buttons @progress/kendo-react-data-tools @progress/kendo-react-dateinputs @progress/kendo-react-dropdowns @progress/kendo-react-indicators @progress/kendo-react-inputs @progress/kendo-react-intl @progress/kendo-react-progressbars @progress/kendo-react-treeview @progress/kendo-react-upload @progress/kendo-licensing @progress/kendo-svg-icons
When using the component with Next.js, it will also be required to install the node-loader library and load it to the webpack in
next.config.js
as demonstrated below. In addition, depending on the configuration, it might also be needed to install the canvas dependency:
const nextConfig = {
webpack: (config, { dev, isServer, webpack, nextRuntime }) => {
config.module.rules.push({
test: /\.node$/,
loader: "node-loader"
});
return config;
}
}
Importing the Component
After installing the package, import the PDF Viewer component in the React App.
In the src/App.js
file of your React project, import the PDFViewer
component from the PDF Viewer package.
// ES2015 module syntax
import { PDFViewer } from '@progress/kendo-react-pdf-viewer';
// CommonJS format
const { PDFViewer } = require('@progress/kendo-react-pdf-viewer');
Using the Component
-
After installing the PDF Viewer package and importing the components, add the PDFViewer tag to the App component file of your React project (for example,
src/App.js
). -
Set the
url
prop to a local PDF file in order to display initial PDF content in the viewer.function PDFViewerContainer() { return ( <> <PDFViewer url="sample.pdf"/> </> ); } ReactDOM.render( <PDFViewerContainer />, document.getElementById('app') );
-
To style the PDF Viewer, install and import the Default theme, which is one of the three beautiful themes for KendoReact.
3.1. Install the Default theme package.
npm install --save @progress/kendo-theme-default
3.2. Import the CSS file from the package in
src/App.js
. Add this import before your existingApp.css
import.import '@progress/kendo-theme-default/dist/all.css';
-
Build and run the application by typing the following command in the root folder of your project:
npm start
-
Navigate to http://localhost:3000 to see the KendoReact PDF Viewer component on the page.
Activating Your License Key
Using any of the UI components in the KendoReact library requires either a commercial license key or an active trial license key.
Follow the instructions on the KendoReact My License page to activate your trial or commercial license. You can skip this step if your application already contains a KendoReact license file.
Dependencies
The PDF Viewer package requires you to install the following peer dependencies in your application:
Package Name | Description |
---|---|
react 16.8.2* | Contains the functionality necessary to define React components. |
react-dom | Contains the React renderer for the web. |
@progress/kendo-date-math | Contains the logic for working with date objects and timezones. |
@progress/kendo-data-query | Applies sorting, filtering, grouping, and aggregate data operations. |
@progress/kendo-drawing | Contains the Drawing library, which provides interactive vector graphics. |
@progress/kendo-file-saver | The File Saver component enables you to save files on the client machine. |
@progress/kendo-react-animation | Enables the animations in the KendoReact components. |
@progress/kendo-react-buttons | Contains the KendoReact Buttons components. |
@progress/kendo-react-data-tools | Delivers components required to manage and control the data in the application. |
@progress/kendo-react-dateinputs | Contains the KendoReact Date Inputs components that are used to select the date and time for an appointment. |
@progress/kendo-react-dropdowns | Contains the KendoReact Dropdowns, which allows users to choose from a predefined list of options. |
@progress/kendo-react-indicators | Contains the KendoReact Indicator components. |
@progress/kendo-react-inputs | Contains the KendoReact Inputs components. |
@progress/kendo-react-intl | Contains the KendoReact Internationalization package that applies the desired cultures by providing services and pipes for the parsing and formatting of dates and numbers. |
@progress/kendo-react-treeview | Contains the KendoReact Treeview components. |
@progress/kendo-react-upload | Contains the KendoReact Upload components. |
@progress/kendo-licensing | Contains the internal infrastructure related to licensing. |
@progress/kendo-svg-icons | Contains the KendoReact SVG icons. |