UNPKG

react-pdf-flipbook-viewer

Version:

A customizable React component to render PDF documents in a flipbook-style viewer — perfect for brochures, magazines, and interactive documents. ## Features

87 lines (71 loc) 2.9 kB
# React PDF Flipbook Viewer A customizable React component to render PDF documents in a flipbook-style viewer — perfect for brochures, magazines, and interactive documents. ## Features - **Flipbook Navigation**: Navigate through the PDF pages using flipbook-style animations. - **Zoom and Pan**: Zoom in and out of the pages and pan around for better viewing. - **Fullscreen Mode**: Toggle fullscreen mode for an immersive reading experience. - **Keyboard Shortcuts**: Use keyboard arrows to navigate through the pages. - **Responsive Design**: Optimized for various screen sizes. ## Installation Install using npm ```bash npm install react-pdf-flipbook-viewer ``` or with yarn ```bash yarn add react-pdf-flipbook-viewer ``` ## Tailwind Setup This Library requires Tailwindcss. Add the following line to your tailwind.config.js : ```js module.exports = { content: [ './node_modules/react-pdf-flipbook-viewer/**/*.{js,ts,jsx,tsx}', ], } ``` ## Usage This is a basic Example using nextjs: ```tsx 'use client'; import {FlipbookViewer} from 'react-pdf-flipbook-viewer' import React from 'react' const Page = () => { return ( <div className="block"> <FlipbookViewer pdfUrl='/demo.pdf' /> </div> ) } export default Page ``` ## Components ### FlipbookViewer | Prop | Type | Description | |---------------|-----------|--------------------------------------------------| | `pdfUrl` | `string` | URL of the PDF document to be displayed. | | `shareUrl` | `string` | URL to be used for sharing the document. | | `className` | `string` | Additional CSS classes for styling. | | `disableShare`| `boolean` | Flag to disable the share button. | ## Local Development You can run the following to setup a development environment: ```bash git clone https://github.com/Timeler1/react-pdf-flipbook-viewer cd react-pdf-flipbook-viewer npm install npm run build ``` You can use ``yalc`` to test changes locally in another project. ## Thanks Special thanks to the creator of the original project, [mohitkumawat310](https://github.com/mohitkumawat310/react-pdf-flipbook-viewer). Thanks also to the libraries used in this Project: - [React](https://reactjs.org/) - [react-pdf](https://github.com/wojtekmaj/react-pdf) - [react-pageflip](https://github.com/Nodlik/react-pageflip) - [react-zoom-pan-pinch](https://github.com/prc5/react-zoom-pan-pinch) - [screenfull](https://github.com/sindresorhus/screenfull.js) - [tailwindcss](https://tailwindcss.com/) - [class-variance-authority](https://github.com/joe-bell/class-variance-authority) - [clsx](https://github.com/lukeed/clsx) - [lucide-react](https://github.com/lucide-icons/lucide) - [react-share](https://github.com/nygardk/react-share)