<!DOCTYPE html> <html lang="de"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>PDF Reader</title> <script src="https://cdnjs.cloudflare.com/ajax/libs/pdf.js/2.16.105/pdf.min.js"></script> <style> body { font-family: Arial, sans-serif; text-align: center; position: relative; } canvas { border: 1px solid black; margin-top: 10px; display: block; margin-left: auto; margin-right: auto; } .btn-conteiner { display: flex; justify-content: center; position: fixed; bottom: 20px; left: 50%; transform: translateX(-50%); --color-text: #ffffff; --color-background: #007BFF; } .btn-content { display: flex; justify-content: center; align-items: center; padding: 10px 40px; text-decoration: none; font-family: 'Poppins', sans-serif; font-weight: 600; font-size: 30px; color: var(--color-text); background: var(--color-background); transition: 1s; border-radius: 100px; box-shadow: 0 0 0.2em 0 var(--color-background); } .btn-content:hover { transition: 0.5s; box-shadow: 0 0 0.4em 0 var(--color-background); } </style> </head> <body> <h1>PDF Reader</h1> <input type="file" id="uploadPdf" accept="application/pdf"> <br> <canvas id="pdfCanvas"></canvas> <div class="btn-conteiner"> <a class="btn-content" href="#" id="nextPage"> <span class="btn-title">NEXT</span> </a> </div> <script> let pdfDoc = null; let currentPage = 1; document.getElementById('uploadPdf').addEventListener('change', function(event) { const file = event.target.files[0]; if (file) { const fileReader = new FileReader(); fileReader.onload = function() { const typedarray = new Uint8Array(this.result); pdfjsLib.getDocument({ data: typedarray }).promise.then(pdf => { pdfDoc = pdf; currentPage = 1; renderPage(currentPage); }).catch(error => { console.error("Fehler beim Laden des PDFs:", error); }); }; fileReader.readAsArrayBuffer(file); } }); function renderPage(pageNumber) { if (!pdfDoc) return; pdfDoc.getPage(pageNumber).then(page => { const scale = 1.5; const viewport = page.getViewport({ scale }); const canvas = document.getElementById('pdfCanvas'); const context = canvas.getContext('2d'); canvas.height = viewport.height; canvas.width = viewport.width; const renderContext = { canvasContext: context, viewport }; page.render(renderContext); }).catch(error => { console.error("Fehler beim Rendern der Seite:", error); }); } document.getElementById('nextPage').addEventListener('click', function(event) { event.preventDefault(); if (pdfDoc && currentPage < pdfDoc.numPages) { currentPage++; renderPage(currentPage); } }); </script> </body> </html>