Файловый менеджер - Редактировать - /home/clickysoft/public_html/somni.clickysoft.net/public/html/js/pdfThumbnails.js
Назад
/** * Find all img elements with data-pdf-thumbnail-file attribute, * then load pdf file given in the attribute, * then use pdf.js to draw the first page on a canvas, * then convert it to base64, * then set it as the img src. */ var createPDFThumbnails = function(){ var worker = null; var loaded = false; var renderQueue = []; // select all img elements with data-pdf-thumbnail-file attribute var nodesArray = Array.prototype.slice.call(document.querySelectorAll('img[data-pdf-thumbnail-file]')); if (!nodesArray.length) { // No PDF found, don't load PDF.js return; } if (!loaded && typeof(pdfjsLib) === 'undefined') { var src = document.querySelector('script[data-pdfjs-src]').getAttribute('data-pdfjs-src'); if (!src) { throw Error('PDF.js URL not set in "data-pdfjs-src" attribute: cannot load PDF.js'); } var script = document.createElement('script'); script.src = src; document.head.appendChild(script).onload = renderThumbnails; loaded = true; } else { renderThumbnails(); } function renderThumbnails() { if (!pdfjsLib) { throw Error("pdf.js failed to load. Check data-pdfjs-src attribute."); } nodesArray.forEach(function(element) { if (null === worker) { worker = new pdfjsLib.PDFWorker(); } var filePath = element.getAttribute('data-pdf-thumbnail-file'); var imgWidth = element.getAttribute('data-pdf-thumbnail-width'); var imgHeight = element.getAttribute('data-pdf-thumbnail-height'); pdfjsLib.getDocument({url: filePath, worker: worker}).promise.then(function (pdf) { pdf.getPage(1).then(function (page) { var canvas = document.createElement("canvas"); var viewport = page.getViewport({scale: 1.0}); var context = canvas.getContext('2d'); if (imgWidth) { viewport = page.getViewport({scale: imgWidth / viewport.width}); } else if (imgHeight) { viewport = page.getViewport({scale: imgHeight / viewport.height}); } canvas.height = viewport.height; canvas.width = viewport.width; page.render({ canvasContext: context, viewport: viewport }).promise.then(function () { element.src = canvas.toDataURL(); }); }).catch(function() { console.log("pdfThumbnails error: could not open page 1 of document " + filePath + ". Not a pdf ?"); }); }).catch(function() { console.log("pdfThumbnails error: could not find or open document " + filePath + ". Not a pdf ?"); }); }); } }; if ( document.readyState === "complete" || (document.readyState !== "loading" && !document.documentElement.doScroll) ) { createPDFThumbnails(); } else { document.addEventListener("DOMContentLoaded", createPDFThumbnails); }
| ver. 1.4 |
Github
|
.
| PHP 8.1.29 | Генерация страницы: 0 |
proxy
|
phpinfo
|
Настройка