• What is KendoReact
  • Getting Started
  • Server Components
  • Components
    • Animation
    • Barcodes
    • Buttons
    • Chartsupdated
    • Common Utilities
    • Conversational UIupdated
    • Data Gridupdated
    • Data Query
    • Data Tools
    • Date Inputs
    • Date Math
    • Dialogs
    • Drawing
    • Dropdownsupdated
    • Editor
    • Excel Export
    • File Saver
    • Formupdated
    • Ganttupdated
    • Gauges
    • Indicators
    • Inputsupdated
    • Labels
    • Layoutupdated
    • ListBox
    • ListView
    • Map
    • Notification
    • OrgChartnew
    • PDF Processing
    • PDFViewer
    • PivotGrid
    • Popup
    • Progress Bars
    • Ripple
    • Scheduler
    • ScrollView
    • Sortable
    • Spreadsheetupdated
    • TaskBoard
    • Tooltips
    • TreeList
    • TreeViewupdated
    • Upload
  • Sample Applications
  • Styling & Themes
  • Common Features
  • Project Setup
  • Knowledge Base
  • Changelog
  • Updates
  • Troubleshooting

Getting Started with the KendoReact PDFViewer

This guide provides essential information about using the KendoReact PDFViewer package. You will learn how to install the PDFViewer package, add a PDFViewer component to your project, style the component, and activate your license.


After completing this guide, you will be able to reproduce the following example.

Example
View Source
Change Theme:

Setting Up Your React Project

Before you install the KendoReact PDFViewer, 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 PDFViewer Package

All KendoReact packages are distributed through npm and offer a similar installation experience. To use the PDFViewer component, start with the installation of the PDFViewer 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 PDFViewer component in the React App.

In the src/App.js file of your React project, import the PDFViewer component from the PDFViewer 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

  1. After installing the PDFViewer package and importing the components, add the PDFViewer tag to the App component file of your React project (for example, src/App.js).

  2. 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')
    );
  3. To style the PDFViewer, 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 existing App.css import.

    import '@progress/kendo-theme-default/dist/all.css';
  4. Build and run the application by typing the following command in the root folder of your project:

    npm start
  5. Navigate to http://localhost:3000 to see the KendoReact PDFViewer 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 PDFViewer package requires you to install the following peer dependencies in your application:

Package NameDescription
react 16.8.2*Contains the functionality necessary to define React components.
react-domContains the React renderer for the web.
@progress/kendo-date-mathContains the logic for working with date objects and timezones.
@progress/kendo-data-queryApplies sorting, filtering, grouping, and aggregate data operations.
@progress/kendo-drawingContains the Drawing library, which provides interactive vector graphics.
@progress/kendo-file-saverThe File Saver component enables you to save files on the client machine.
@progress/kendo-react-animationEnables the animations in the KendoReact components.
@progress/kendo-react-buttonsContains the KendoReact Buttons components.
@progress/kendo-react-data-toolsDelivers components required to manage and control the data in the application.
@progress/kendo-react-dateinputsContains the KendoReact Date Inputs components that are used to select the date and time for an appointment.
@progress/kendo-react-dropdownsContains the KendoReact Dropdowns, which allows users to choose from a predefined list of options.
@progress/kendo-react-indicatorsContains the KendoReact Indicator components.
@progress/kendo-react-inputsContains the KendoReact Inputs components.
@progress/kendo-react-intlContains 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-treeviewContains the KendoReact Treeview components.
@progress/kendo-react-uploadContains the KendoReact Upload components.
@progress/kendo-licensingContains the internal infrastructure related to licensing.
@progress/kendo-svg-iconsContains the KendoReact SVG icons.

Learning Resources