Po renderowaniu (Funckcja "renderAllPages") ignorowane sa wszystkie zmiany na zmiennej "pdfContainer". Moglby ktos zobaczyc dlaczego tak sie dzieje? Polozenie suwaka jest ignorowane linie 47 oraz 48
// Ścieżka do twojego pliku PDF
const url = 'https://raw.githubusercontent.com/mozilla/pdf.js/ba2edeae/web/compressed.tracemonkey-pldi-09.pdf';
let pdfDoc = null;
let scale = 1.0; // Domyślna skala
const pdfContainer = document.getElementById('pdf-container');
const zoomInButton = document.getElementById('zoom-in');
const zoomOutButton = document.getElementById('zoom-out');
function renderPage(page, scale) {
const viewport = page.getViewport({ scale: scale });
const canvas = document.createElement('canvas');
const context = canvas.getContext('2d');
canvas.height = viewport.height;
canvas.width = viewport.width;
const renderContext = {
canvasContext: context,
viewport: viewport
};
return page.render(renderContext).promise.then(() => {
const div = document.createElement('div');
div.className = 'pdf-page';
div.appendChild(canvas);
pdfContainer.appendChild(div);
});
}
function renderAllPages(scale) {
pdfContainer.innerHTML = ''; // Wyczyszczenie kontenera przed renderowaniem
for (let pageNum = 1; pageNum <= pdfDoc.numPages; pageNum++) {
pdfDoc.getPage(pageNum).then(page => renderPage(page, scale));
}
}
pdfjsLib.getDocument(url).promise.then(pdf => {
pdfDoc = pdf;
renderAllPages(scale);
}).catch(err => {
console.error('Błąd podczas ładowania dokumentu PDF:', err);
});
zoomInButton.addEventListener('click', () => {
scale += 0.2;
renderAllPages(scale);
pdfContainer.scrollLeft = 1000;
pdfContainer.scrollTop = 4000;
});
zoomOutButton.addEventListener('click', () => {
if (scale > 0.25) {
scale -= 0.25;
renderAllPages(scale);
}
});