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';
const ExamplePDFViewer = () => {
return (<PDFViewer document={{
url: 'https://arxiv.org/pdf/quant-ph/0410100.pdf'
}} />);
}
export default ExamplePDFViewer
React component prop. types:
* document:
* Type:
```js
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
})
```
Description: Provides a way to fetch the PDF document
loader:
Description: A custom loader element that will be shown while the PDF is loading
page:
Description: The page that will be shown first on document load
scale:
Description: Scale factor relative to the component parent element
onDocumentClick:
Description: A function that will be called only on clicking the PDF page itself, NOT on the navbar
css:
Description: CSS classes that will be setted for the component wrapper
hideNavbar:
Description: By default navbar is displayed, but can be hidden by passing this prop
navigation:
Type:
js
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
])
* Required: false
* Description: Defines the navigation bar styles and/or elements.
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.
$ claude mcp add mgr-pdf-viewer-react \
-- python -m otcore.mcp_server <graph>