This project is not maintained anymore. Feel free to:
Simple react PDF Viewer component with controls. Every element can be styled upon your preferences using default classes our your own.
npm install mgr-pdf-viewer-react --save
Since it is a React module, I suppose you have the webpack and babel configured.
import React from 'react';
import PDFViewer from 'mgr-pdf-viewer-react';
const ExamplePDFViewer = () => {
return (<PDFViewer document={{
url: 'https://arxiv.org/pdf/quant-ph/0410100.pdf'
}} />);
}
export default ExamplePDFViewer
React component prop. types:
document
:
PropTypes.shape({
file: Any, // File object,
url: String, // URL to fetch the pdf
connection: Object, // connection parameters to fetch the PDF, see PDF.js docs
base64: String, // PDF file encoded in base64
binary: UInt8Array
})
loader
:
page
:
scale
:
onDocumentClick
:
css
:
hideNavbar
:
navigation
:
PropTypes.oneOfType([
// Can be an object with css classes or react elements to be rendered
PropTypes.shape({
css: PropTypes.shape({
previousPageBtn: String, // CSS Class for the previous page button
nextPageBtn: String, // CSS Class for the next page button
pages: String, // CSS Class for the pages indicator
wrapper: String // CSS Class for the navigation wrapper
}),
elements: PropTypes.shape({
previousPageBtn: Any, // previous page button React element
nextPageBtn: Any, // next page button React element
pages: Any// pages indicator React Element
})
}),
// Or a full navigation component
PropTypes.any // Full navigation React element
])
The previousPageBtn
and the nextPageBtn
elements should take following properties: page
for current page number, pages
for total number of pages, and the callback function handlePrevClick
for the previousPageBtn
and handleNextClick
for the nextPageBtn
.
The pages
element should take following properties: page
for current page number, pages
for total number of pages.
The navigation
element (so the full navigation element) should accept following properties: page
for current page number, pages
for total number of pages, and the callback functions handlePrevClick
and handleNextClick
.