Files
filestash/client/pages/viewerpage/pdfviewer_lazy.js
2022-01-30 23:38:40 +11:00

37 lines
1.2 KiB
JavaScript

import React, { useState } from "react";
import { Document, Page, pdfjs } from "react-pdf";
import "react-pdf/dist/esm/Page/AnnotationLayer.css";
pdfjs.GlobalWorkerOptions.workerSrc = "/assets/vendor/pdfjs/2.6.347/build/pdf.worker.js";
export function PDFJSViewer({ src }) {
const [numPages, setNumPages] = useState(0);
return (
<Document
file={src}
onLoadSuccess={(d) => setNumPages(d["numPages"])}
options={{
cMapUrl: "/assets/vendor/pdfjs/cmaps/",
cMapPacked: true,
}}>
{
Array.from(
new Array(numPages),
(el, index) => (
<Page
key={`page_${index + 1}`}
pageNumber={index + 1}
width={
window.innerWidth > 850 ?
800 :
Math.max(window.innerWidth - 50, 100)
}
/>
),
)
}
</Document>
);
}