VaKeR CYBER ARMY
Logo of a company Server : Apache/2.4.41 (Ubuntu)
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 :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : /var/www/html/libs/absol-full/dist/js/mdls__absol__src__Print__pdf.js
/*** 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);
}

VaKeR 2022