![]() System : Linux absol.cf 5.4.0-198-generic #218-Ubuntu SMP Fri Sep 27 20:18:53 UTC 2024 x86_64 User : www-data ( 33) PHP Version : 7.4.33 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare, Directory : /var/www/html/libs/absol-full/dist/js/ |
Upload File : |
/*** module: node_modules/absol/src/Print/pdf.js ***/ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.mergePdfs = mergePdfs; var _XLoader = require("../Network/XLoader"); // var pdLibUrl = 'https://unpkg.com/pdf-lib/dist/pdf-lib.js'; var pdLibUrl = 'https://absol.cf/vendor/pdf-lib.js'; var libSync = null; function loadVendorLib() { if (libSync) return libSync; if ('PDFLib' in window) { libSync = Promise.resolve(window.PDFLib); } else { libSync = (0, _XLoader.loadScript)(pdLibUrl).then(() => window.PDFLib); } return libSync; } function loadPdf(data) { if (typeof data === "string") { return fetch(data).then(res => res.arrayBuffer()).then(buff => loadPdf(buff)); } else if (data instanceof ArrayBuffer) { return PDFLib.PDFDocument.load(data); } else return null; } function mergePdfs(pdfsToMerges, onProcess) { var processInfo = { all: pdfsToMerges.length, loaded: 0, merged: 0 }; return loadVendorLib().then(() => { var pdfSync = pdfsToMerges.map(it => loadPdf(it).then(r => { processInfo.loaded++; onProcess && onProcess(processInfo); return r; })); pdfSync.push(PDFLib.PDFDocument.create()); return Promise.all(pdfSync); }).then(pdfs => { var mergedPdf = pdfs.pop(); return pdfs.reduce((sync, pdf) => { return mergedPdf.copyPages(pdf, pdf.getPageIndices()).then(copiedPages => sync.then(() => copiedPages)).then(copiedPages => { copiedPages.forEach(page => { mergedPdf.addPage(page); }); processInfo.merged++; onProcess && onProcess(processInfo); }); }, Promise.resolve()).then(() => mergedPdf); }).then(mergedPdf => mergedPdf); }