Server IP : 144.76.124.212 / Your IP : 216.73.216.138 Web Server : LiteSpeed System : Linux l4cp.vnetindia.com 4.18.0-553.40.1.lve.el8.x86_64 #1 SMP Wed Feb 12 18:54:57 UTC 2025 x86_64 User : rakcha ( 1356) PHP Version : 7.4.33 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /home5/rakcha/www/js7/ |
Upload File : |
const url = '../docs7/rakcha.pdf'; let pdfDoc = null, pageNum = 1, pageIsRendering = false, pageNumIsPending = null; const scale = 1.5, canvas = document.querySelector('#pdf-render'), ctx = canvas.getContext('2d'); // Render the page const renderPage = num => { pageIsRendering = true; // Get page pdfDoc.getPage(num).then(page => { // Set scale const viewport = page.getViewport({ scale }); canvas.height = viewport.height; canvas.width = viewport.width; const renderCtx = { canvasContext: ctx, viewport }; page.render(renderCtx).promise.then(() => { pageIsRendering = false; if (pageNumIsPending !== null) { renderPage(pageNumIsPending); pageNumIsPending = null; } }); // Output current page document.querySelector('#page-num').textContent = num; }); }; // Check for pages rendering const queueRenderPage = num => { if (pageIsRendering) { pageNumIsPending = num; } else { renderPage(num); } }; // Show Prev Page const showPrevPage = () => { if (pageNum <= 1) { return; } pageNum--; queueRenderPage(pageNum); }; // Show Next Page const showNextPage = () => { if (pageNum >= pdfDoc.numPages) { return; } pageNum++; queueRenderPage(pageNum); }; // Get Document pdfjsLib .getDocument(url) .promise.then(pdfDoc_ => { pdfDoc = pdfDoc_; document.querySelector('#page-count').textContent = pdfDoc.numPages; renderPage(pageNum); }) .catch(err => { // Display error const div = document.createElement('div'); div.className = 'error'; div.appendChild(document.createTextNode(err.message)); document.querySelector('body').insertBefore(div, canvas); // Remove top bar document.querySelector('.top-bar').style.display = 'none'; }); // Button Events document.querySelector('#prev-page').addEventListener('click', showPrevPage); document.querySelector('#next-page').addEventListener('click', showNextPage);