react-styled-pdf v0.1.4
pdf-viewer-reactjs
Simple react PDF Viewer component with controls like
- Page navigation
- Zoom
- Rotation
Every element can be styled upon your preferences using default classes your own and also custom react element can be passed.
it is originally forked from mgr-pdf-viewer-react then inspired by pdf-viewer-reactjs
Example: Live demo is available here
How to install
npm install pdf-viewer-reactjsHow to use
import React from 'react';
import PDFViewer from 'pdf-viewer-reactjs';
const ExamplePDFViewer = () => {
return (
<PDFViewer
document={{
url: 'https://arxiv.org/pdf/1805.00772.pdf'
}}
/>
);
};
export default ExamplePDFViewer;Documentation
React component prop. types:
document:Type:
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 });Required: true
- Description: Provides a way to fetch the PDF document
loader:- Type: Node
- Required: false
- Description: A custom loader element that will be shown while the PDF is loading
page:- Type: Number
- Required: false
- Description: The page that will be shown first on document load
scale:- Type: Number
- Required: false
- Description: Scale factor relative to the component parent element
scaleStep:- Type: Number
- Required: false
- Description: Scale factor to be increased or decreased on Zoom-in or zoom-out
maxScale:- Type: Number
- Required: false
- Description: Maximun scale factor for zoom-in
rotationAngle:- Type: Number
- Required: false
- Description: Initial rotation of the document, values can be -90, 0 or 90
onDocumentClick:- Type: Function
- Required: false
- Description: A function that will be called only on clicking the PDF page itself, NOT on the navbar
onPrevBtnClick:- Type: Function
- Required: false
- Description: A function that will be called on clicking on the previous page button, page number can be accessed in the function.
onNextBtnClick:- Type: Function
- Required: false
- Description: A function that will be called on clicking on the next page button, page number can be accessed in the function.
css:- Type: String
- Required: false
- Description: CSS classes that will be setted for the component wrapper
canvasCss:- Type: String
- Required: false
- Description: CSS classes that will be setted for the PDF page
hideNavbar:- Type: Boolean
- Required: false
- Description: By default navbar is displayed, but can be hidden by passing this prop
navbarOnTop:- Type: Boolean
- Required: false
- Description: By default navbar is displayed on bottom, but can be placed on top by passing this prop
hideZoom:- Type: Boolean
- Required: false
- Description: By default zoom buttons are displayed, but can be hidden by passing this prop
hideRotation:- Type: Boolean
- Required: false
- Description: By default rotation buttons are displayed, but can be hidden by passing this prop
navigation:Type:
PropTypes.oneOfType([ // Can be an object with css classes or react elements to be rendered PropTypes.shape({ css: PropTypes.shape({ navbarWrapper: String, // CSS Class for the previous page button zoomOutBtn: String, // CSS Class for the previous page button resetZoomBtn: String, // CSS Class for the previous page button zoomInBtn: String, // CSS Class for the previous page button previousPageBtn: String, // CSS Class for the previous page button pageIndicator: String, // CSS Class for the previous page button nextPageBtn: String, // CSS Class for the previous page button rotateLeftBtn: String, // CSS Class for the previous page button resetRotationBtn: String, // CSS Class for the previous page button rotateRightBtn: String // CSS Class for the previous page button }) }), // Or a full navigation component PropTypes.any // Full navigation React element ]);Required: false
- Description: Defines the navigation bar styles and/or elements.
The navigation element should accept following properties:
pagefor current page numberpagesfor total number of pagesscalefor zoommaxScalefor maximum zoomrotationAnglefor rotationhideZoomfor hiding zoomhideRotationfor hding rotationhandleNextClickfor next button clickhandlePrevClickfor previous button clickhandleZoomInfor zoom-in button clickhandleResetZoomfor reset zoom button clickhandleZoomOutfor zoom-out button clickhandleRotateLeftfor left rotationhandleResetRotationfor reset rotationhandleRotateRightfor right rotation