implemented pdf viewer functionality.

This commit is contained in:
Joshua Ashton
2025-01-02 18:15:01 -07:00
parent 8e37fe2994
commit 5688ae674f
6 changed files with 80 additions and 20 deletions
+31 -4
View File
@@ -1,4 +1,4 @@
import React from "react";
import React, { useState } from "react";
import { Document, Page, pdfjs } from "react-pdf";
import "react-pdf/dist/Page/TextLayer.css";
import "react-pdf/dist/Page/AnnotationLayer.css";
@@ -9,13 +9,40 @@ export default function PdfViewer({ file }) {
import.meta.url,
).toString();
const [numPages, setNumPages] = useState(0);
const [pageNumber, setPageNumber] = useState(1);
function prev() {
if (pageNumber >= 2) {
setPageNumber(pageNumber - 1);
}
}
function next() {
if (pageNumber < numPages - 1) {
setPageNumber(pageNumber + 1);
}
}
console.log("numPages: " + numPages);
console.log("pageNumber: " + pageNumber);
return (
<>
<div className="pdf-container">
<Document file={file}>
<Page pageNumber={1} />
<Page pageNumber={2} />
<button className="pdf-button shadow" onClick={() => prev()}>
<span className="material-icons">arrow_back</span>
</button>
<Document
file={file}
onLoadSuccess={({ numPages: numPagesInPdf }) => {
setNumPages(numPagesInPdf);
}}
>
<Page pageNumber={pageNumber} />
</Document>
<button className="pdf-button shadow" onClick={() => next()}>
<span className="material-icons">arrow_forward</span>
</button>
</div>
</>
);