@resolveio/server-lib 20.7.93 → 20.7.94

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/methods/pdf.js CHANGED
@@ -1,2 +1,2 @@
1
- "use strict";var __awaiter=this&&this.__awaiter||function(t,a,r,i){return new(r=r||Promise)(function(n,e){function fulfilled(t){try{step(i.next(t))}catch(t){e(t)}}function rejected(t){try{step(i.throw(t))}catch(t){e(t)}}function step(t){var e;t.done?n(t.value):((e=t.value)instanceof r?e:new r(function(t){t(e)})).then(fulfilled,rejected)}step((i=i.apply(t,a||[])).next())})},__generator=this&&this.__generator||function(a,r){var i,s,o,l={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},f={next:verb(0),throw:verb(1),return:verb(2)};return"function"==typeof Symbol&&(f[Symbol.iterator]=function(){return this}),f;function verb(n){return function(t){var e=[n,t];if(i)throw new TypeError("Generator is already executing.");for(;l=f&&e[f=0]?0:l;)try{if(i=1,s&&(o=2&e[0]?s.return:e[0]?s.throw||((o=s.return)&&o.call(s),0):s.next)&&!(o=o.call(s,e[1])).done)return o;switch(s=0,(e=o?[2&e[0],o.value]:e)[0]){case 0:case 1:o=e;break;case 4:return l.label++,{value:e[1],done:!1};case 5:l.label++,s=e[1],e=[0];continue;case 7:e=l.ops.pop(),l.trys.pop();continue;default:if(!(o=0<(o=l.trys).length&&o[o.length-1])&&(6===e[0]||2===e[0])){l=0;continue}if(3===e[0]&&(!o||e[1]>o[0]&&e[1]<o[3]))l.label=e[1];else if(6===e[0]&&l.label<o[1])l.label=o[1],o=e;else{if(!(o&&l.label<o[2])){o[2]&&l.ops.pop(),l.trys.pop();continue}l.label=o[2],l.ops.push(e)}}e=r.call(a,l)}catch(t){e=[6,t],s=0}finally{i=o=0}if(5&e[0])throw e[1];return{value:e[0]?e[1]:void 0,done:!0}}}},fs=(Object.defineProperty(exports,"__esModule",{value:!0}),exports.loadPDFMethods=void 0,require("fs")),path=require("path"),pdf_lib_1=require("pdf-lib"),puppeteer=require("puppeteer"),simpl_schema_1=require("simpl-schema"),flag_collection_1=require("../collections/flag.collection"),pdfCnt=0;function loadPDFMethods(t){t.methods({generatePDF:{check:new simpl_schema_1.default({html:{type:String},fileName:{type:String},orientation:{type:String,optional:!0},fontSize:{type:String,optional:!0},upload:{type:Boolean,optional:!0},uploadFileOrder:{type:Number,optional:!0},uploadFileType:{type:String,optional:!0}}),function:function(p,g,u,h,b,w,m){return void 0===u&&(u="portrait"),void 0===h&&(h="12px"),void 0===b&&(b=!1),void 0===w&&(w=-1),void 0===m&&(m=""),__awaiter(this,void 0,void 0,function(){var e,n,a,r,i,s,o,l,f,c,d;return __generator(this,function(t){switch(t.label){case 0:return e=["--disable-dev-shm-usage","--no-sandbox","--disable-setuid-sandbox","--disable-accelerated-2d-canvas","--disable-gpu","--allow-file-access-from-files","--enable-local-file-accesses","--font-render-hinting=none"],n=null,[4,flag_collection_1.Flags.findOne({type:"Enable Debug PDF"})];case 1:return(a=t.sent())&&a.value?[4,puppeteer.launch({headless:!1,devtools:!0,args:e,ignoreDefaultArgs:["--disable-extensions"]})]:[3,3];case 2:return n=t.sent(),[3,5];case 3:return[4,puppeteer.launch({headless:!0,devtools:!1,args:e,ignoreDefaultArgs:["--disable-extensions"]})];case 4:n=t.sent(),t.label=5;case 5:return[4,n.newPage()];case 6:return r=t.sent(),o="",o=fs.existsSync(path.join(__dirname,"../private/fonts/dejavuserif.woff"))?path.join(__dirname,"../private/fonts/"):fs.existsSync(path.join(this.clientDir,"./private/fonts/dejavuserif.woff"))?path.join(this.clientDir,"./private/fonts/"):"/usr/share/fonts/dejavu/",l="data:application/font-woff;base64,"+Buffer.from(fs.readFileSync(o+"dejavuserif.woff").buffer).toString("base64"),i="data:application/font-woff;base64,"+Buffer.from(fs.readFileSync(o+"dejavuserif-bold.woff").buffer).toString("base64"),s="data:application/font-woff;base64,"+Buffer.from(fs.readFileSync(o+"dejavuserif-italic.woff").buffer).toString("base64"),o="data:application/font-woff;base64,"+Buffer.from(fs.readFileSync(o+"dejavuserif-bolditalic.woff").buffer).toString("base64"),l='\n\t\t\t\t\t<head>\n\t\t\t\t\t\t<style type="text/css">\n\t\t\t\t\t\t\t@font-face {\n\t\t\t\t\t\t\t\tfont-family: \'Dejavu Serif\';\n\t\t\t\t\t\t\t\tfont-style: normal;\n\t\t\t\t\t\t\t\tfont-weight: normal;\n\t\t\t\t\t\t\t\tsrc: url("'+l+"\") format('woff');\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t@font-face {\n\t\t\t\t\t\t\t\tfont-family: 'Dejavu Serif';\n\t\t\t\t\t\t\t\tfont-style: normal;\n\t\t\t\t\t\t\t\tfont-weight: bold;\n\t\t\t\t\t\t\t\tsrc: url(\""+i+"\") format('woff');\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t@font-face {\n\t\t\t\t\t\t\t\tfont-family: 'Dejavu Serif';\n\t\t\t\t\t\t\t\tfont-style: italic;\n\t\t\t\t\t\t\t\tfont-weight: normal;\n\t\t\t\t\t\t\t\tsrc: url(\""+s+"\") format('woff');\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t@font-face {\n\t\t\t\t\t\t\t\tfont-family: 'Dejavu Serif';\n\t\t\t\t\t\t\t\tfont-style: italic;\n\t\t\t\t\t\t\t\tfont-weight: bold;\n\t\t\t\t\t\t\t\tsrc: url(\""+o+"\") format('woff');\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\tbody {\n\t\t\t\t\t\t\t\tfont-family: 'Dejavu Serif', serif;\n\t\t\t\t\t\t\t\tfont-size: "+(h||"12px")+";\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t.row {\n\t\t\t\t\t\t\t\tdisplay: -webkit-flex;\n\t\t\t\t\t\t\t\tdisplay: flex;\n\t\t\t\t\t\t\t\tflex-wrap: wrap;\n\t\t\t\t\t\t\t\t-webkit-flex-wrap: wrap;\n\t\t\t\t\t\t\t\tpage-break-inside: avoid !important;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t.page-break {\n\t\t\t\t\t\t\t\tpage-break-before: always !important;\n\t\t\t\t\t\t\t\tpadding-top: 1px;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t.cell {\n\t\t\t\t\t\t\t\tbox-sizing: border-box;\n\t\t\t\t\t\t\t\tpadding : 2px;\n\t\t\t\t\t\t\t\t-webkit-flex: 1;\n\t\t\t\t\t\t\t\tword-wrap: break-word;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t.cell-no-padding {\n\t\t\t\t\t\t\t\tbox-sizing: border-box;\n\t\t\t\t\t\t\t\t-webkit-flex: 1;\n\t\t\t\t\t\t\t\tword-wrap: break-word;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t.centered {\n\t\t\t\t\t\t\t\t-webkit-justify-content: center;\n\t\t\t\t\t\t\t\t-webkit-align-items: center;\n\t\t\t\t\t\t\t\tdisplay: -webkit-flex;\n\t\t\t\t\t\t\t\ttext-align: center;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t.centered-left {\n\t\t\t\t\t\t\t\t-webkit-align-items: center;\n\t\t\t\t\t\t\t\tdisplay: -webkit-flex;\n\t\t\t\t\t\t\t\t-webkit-justify-content: flex-start;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t.centered-right {\n\t\t\t\t\t\t\t\t-webkit-justify-content: flex-end;\n\t\t\t\t\t\t\t\t-webkit-align-items: center;\n\t\t\t\t\t\t\t\tdisplay: -webkit-flex;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t.box {\n\t\t\t\t\t\t\t\tborder: 1px solid black;\n\t\t\t\t\t\t\t\tmargin: -1px 0px 0px -1px;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t.boxNoBorder {\n\t\t\t\t\t\t\t\tmargin: -1px 0px 0px -1px;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tpre {\n\t\t\t\t\t\t\t\twhite-space: pre-wrap; /* css-3 */\n\t\t\t\t\t\t\t\twhite-space: -moz-pre-wrap; /* Mozilla, since 1999 */\n\t\t\t\t\t\t\t\twhite-space: -pre-wrap; /* Opera 4-6 */\n\t\t\t\t\t\t\t\twhite-space: -o-pre-wrap; /* Opera 7 */\n\t\t\t\t\t\t\t\tword-wrap: break-word; /* Internet Explorer 5.5+ */\n\t\t\t\t\t\t\t\tfont-size: 12px;\n\t\t\t\t\t\t\t\tfont-family: 'Dejavu Serif'; \n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t</style>\n\t\t\t\t\t</head>\n\t\t\t\t\t<body>\n\t\t\t\t"+p.replace(new RegExp("flex-basis:","g"),"-webkit-flex-basis:").replace(new RegExp("flex:","g"),"-webkit-flex:")+"</body>",[4,r.setContent(l,{waitUntil:["domcontentloaded","load","networkidle0"]})];case 7:return t.sent(),[4,r.evaluateHandle("document.fonts.ready")];case 8:return t.sent(),f=pdfCnt+++"-"+g.replace(new RegExp(/[^0-9\.a-zA-Z]/g),""),[4,r.pdf({scale:1,landscape:"portrait"!==u,format:"letter",margin:{top:"1cm",bottom:"1cm",left:"1cm",right:"1cm"},printBackground:!0,displayHeaderFooter:!0,headerTemplate:"\n\t\t\t\t\t\t<style>\n\t\t\t\t\t\t\t#header { \n\t\t\t\t\t\t\t\tpadding: 0 0 10px 10px !important; \n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t</style>\n\t\t\t\t\t\t<span></span>\n\t\t\t\t\t",footerTemplate:'\n\t\t\t\t\t\t<style>\n\t\t\t\t\t\t\t#footer { \n\t\t\t\t\t\t\t\tpadding: 0 0 10px 10px !important;\n\t\t\t\t\t\t\t\tfont-size: 10px;\n\t\t\t\t\t\t\t\tfont-family: san-serif;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t</style>\n\t\t\t\t\t\t<div style="padding-bottom: 2px; padding-right: 15px; text-align: right; width: 100%;">\n\t\t\t\t\t\t\tPage&nbsp;<span class="pageNumber"></span>&nbsp;of&nbsp;<span class="totalPages"></span>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t',path:path.join(__dirname,f),timeout:0})];case 9:return(t.sent(),a&&a.value)?"landscape"!==u?[3,11]:[4,r.setViewport({width:1100,height:850})]:[3,13];case 10:return t.sent(),[3,13];case 11:return[4,r.setViewport({width:850,height:1100})];case 12:t.sent(),t.label=13;case 13:return[4,n.close()];case 14:if(t.sent(),!fs.existsSync(path.join(__dirname,f)))throw console.log("No tmp file ",f),new Error("Error in Generate PDF: No tmp file");try{return c=fs.readFileSync(path.join(__dirname,f)),fs.unlinkSync(path.join(__dirname,f)),b?(d="data:application/pdf;base64,"+Buffer.from(c).toString("base64"),[2,this.callMethod("uploadFileAndSave",g,d,4*Math.ceil(d.length/3),null!==w?w:-1,m,!1)]):[2,"data:application/pdf;base64,"+Buffer.from(c).toString("base64")]}catch(t){throw t.message="Error in Generate PDF: No file - "+t.message,t}return[2]}})})},workerTaskWeight:2},generatePDFNoPageNumber:{check:new simpl_schema_1.default({html:{type:String},fileName:{type:String},orientation:{type:String,optional:!0},fontSize:{type:String,optional:!0},upload:{type:Boolean,optional:!0},uploadFileOrder:{type:Number,optional:!0},uploadFileType:{type:String,optional:!0}}),function:function(d,p,g,u,h,b,w){return void 0===g&&(g="portrait"),void 0===u&&(u="12px"),void 0===h&&(h=!1),void 0===b&&(b=-1),void 0===w&&(w=""),__awaiter(this,void 0,void 0,function(){var e,n,a,r,i,s,o,l,f,c;return __generator(this,function(t){switch(t.label){case 0:return a=["--disable-dev-shm-usage","--no-sandbox","--disable-setuid-sandbox","--disable-accelerated-2d-canvas","--disable-gpu","--allow-file-access-from-files","--enable-local-file-accesses","--font-render-hinting=none"],[4,puppeteer.launch({headless:!0,devtools:!1,args:a,ignoreDefaultArgs:["--disable-extensions"]})];case 1:return[4,(e=t.sent()).newPage()];case 2:return n=t.sent(),a="",a=fs.existsSync(path.join(__dirname,"../private/fonts/dejavuserif.woff"))?path.join(__dirname,"../private/fonts/"):fs.existsSync(path.join(this.clientDir,"./private/fonts/dejavuserif.woff"))?path.join(this.clientDir,"./private/fonts/"):"/usr/share/fonts/dejavu/",o="data:application/font-woff;base64,"+Buffer.from(fs.readFileSync(a+"dejavuserif.woff").buffer).toString("base64"),r="data:application/font-woff;base64,"+Buffer.from(fs.readFileSync(a+"dejavuserif-bold.woff").buffer).toString("base64"),i="data:application/font-woff;base64,"+Buffer.from(fs.readFileSync(a+"dejavuserif-italic.woff").buffer).toString("base64"),s="data:application/font-woff;base64,"+Buffer.from(fs.readFileSync(a+"dejavuserif-bolditalic.woff").buffer).toString("base64"),o='\n\t\t\t\t\t<head>\n\t\t\t\t\t\t<style type="text/css">\n\t\t\t\t\t\t\t@font-face {\n\t\t\t\t\t\t\t\tfont-family: \'Dejavu Serif\';\n\t\t\t\t\t\t\t\tfont-style: normal;\n\t\t\t\t\t\t\t\tfont-weight: normal;\n\t\t\t\t\t\t\t\tsrc: url("'+o+"\") format('woff');\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t@font-face {\n\t\t\t\t\t\t\t\tfont-family: 'Dejavu Serif';\n\t\t\t\t\t\t\t\tfont-style: normal;\n\t\t\t\t\t\t\t\tfont-weight: bold;\n\t\t\t\t\t\t\t\tsrc: url(\""+r+"\") format('woff');\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t@font-face {\n\t\t\t\t\t\t\t\tfont-family: 'Dejavu Serif';\n\t\t\t\t\t\t\t\tfont-style: italic;\n\t\t\t\t\t\t\t\tfont-weight: normal;\n\t\t\t\t\t\t\t\tsrc: url(\""+i+"\") format('woff');\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t@font-face {\n\t\t\t\t\t\t\t\tfont-family: 'Dejavu Serif';\n\t\t\t\t\t\t\t\tfont-style: italic;\n\t\t\t\t\t\t\t\tfont-weight: bold;\n\t\t\t\t\t\t\t\tsrc: url(\""+s+"\") format('woff');\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\tbody {\n\t\t\t\t\t\t\t\tfont-family: 'Dejavu Serif', serif;\n\t\t\t\t\t\t\t\tfont-size: "+(u||"12px")+";\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t.row {\n\t\t\t\t\t\t\t\tdisplay: -webkit-flex;\n\t\t\t\t\t\t\t\tdisplay: flex;\n\t\t\t\t\t\t\t\tflex-wrap: wrap;\n\t\t\t\t\t\t\t\t-webkit-flex-wrap: wrap;\n\t\t\t\t\t\t\t\tpage-break-inside: avoid !important;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t.page-break {\n\t\t\t\t\t\t\t\tpage-break-before: always !important;\n\t\t\t\t\t\t\t\tpadding-top: 1px;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t.cell {\n\t\t\t\t\t\t\t\tbox-sizing: border-box;\n\t\t\t\t\t\t\t\tpadding : 2px;\n\t\t\t\t\t\t\t\t-webkit-flex: 1;\n\t\t\t\t\t\t\t\tword-wrap: break-word;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t.cell-no-padding {\n\t\t\t\t\t\t\t\tbox-sizing: border-box;\n\t\t\t\t\t\t\t\t-webkit-flex: 1;\n\t\t\t\t\t\t\t\tword-wrap: break-word;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t.centered {\n\t\t\t\t\t\t\t\t-webkit-justify-content: center;\n\t\t\t\t\t\t\t\t-webkit-align-items: center;\n\t\t\t\t\t\t\t\tdisplay: -webkit-flex;\n\t\t\t\t\t\t\t\ttext-align: center;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t.centered-left {\n\t\t\t\t\t\t\t\t-webkit-align-items: center;\n\t\t\t\t\t\t\t\tdisplay: -webkit-flex;\n\t\t\t\t\t\t\t\t-webkit-justify-content: flex-start;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t.centered-right {\n\t\t\t\t\t\t\t\t-webkit-justify-content: flex-end;\n\t\t\t\t\t\t\t\t-webkit-align-items: center;\n\t\t\t\t\t\t\t\tdisplay: -webkit-flex;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t.box {\n\t\t\t\t\t\t\t\tborder: 1px solid black;\n\t\t\t\t\t\t\t\tmargin: -1px 0px 0px -1px;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t.boxNoBorder {\n\t\t\t\t\t\t\t\tmargin: -1px 0px 0px -1px;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tpre {\n\t\t\t\t\t\t\t\twhite-space: pre-wrap; /* css-3 */\n\t\t\t\t\t\t\t\twhite-space: -moz-pre-wrap; /* Mozilla, since 1999 */\n\t\t\t\t\t\t\t\twhite-space: -pre-wrap; /* Opera 4-6 */\n\t\t\t\t\t\t\t\twhite-space: -o-pre-wrap; /* Opera 7 */\n\t\t\t\t\t\t\t\tword-wrap: break-word; /* Internet Explorer 5.5+ */\n\t\t\t\t\t\t\t\tfont-size: 12px;\n\t\t\t\t\t\t\t\tfont-family: 'Dejavu Serif'; \n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t</style>\n\t\t\t\t\t\t<meta charset=\"UTF-8\">\n\t\t\t\t\t</head>\n\t\t\t\t\t<body>\n\t\t\t\t"+d.replace(new RegExp("flex-basis:","g"),"-webkit-flex-basis:").replace(new RegExp("flex:","g"),"-webkit-flex:")+"</body>",[4,n.setContent(o,{waitUntil:["domcontentloaded","load","networkidle0"]})];case 3:return t.sent(),[4,n.evaluateHandle("document.fonts.ready")];case 4:return t.sent(),l=pdfCnt+++"-"+p.replace(new RegExp(/[^0-9\.a-zA-Z]/g),""),[4,n.pdf({scale:1,landscape:"portrait"!==g,format:"letter",margin:{top:"1cm",bottom:"1cm",left:"1cm",right:"1cm"},printBackground:!0,displayHeaderFooter:!0,headerTemplate:"\n\t\t\t\t\t\t<style>\n\t\t\t\t\t\t\t#header { \n\t\t\t\t\t\t\t\tpadding: 0 0 10px 10px !important; \n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t</style>\n\t\t\t\t\t\t<span></span>\n\t\t\t\t\t",footerTemplate:'\n\t\t\t\t\t<style>\n\t\t\t\t\t\t#footer { \n\t\t\t\t\t\t\tpadding: 0 0 10px 10px !important;\n\t\t\t\t\t\t\tfont-size: 10px;\n\t\t\t\t\t\t\tfont-family: san-serif;\n\t\t\t\t\t\t}\n\t\t\t\t\t</style>\n\t\t\t\t\t<div style="padding-bottom: 2px; padding-right: 15px; text-align: right; width: 100%;">\n\t\t\t\t\t\t\n\t\t\t\t\t</div>\n\t\t\t\t\t',path:path.join(__dirname,l),timeout:0})];case 5:return t.sent(),[4,e.close()];case 6:if(t.sent(),!fs.existsSync(path.join(__dirname,l)))throw console.log("No tmp file ",l),new Error("Error in Generate PDF No Page Number: No tmp file");try{return f=fs.readFileSync(path.join(__dirname,l)),fs.unlinkSync(path.join(__dirname,l)),h?(c="data:application/pdf;base64,"+Buffer.from(f).toString("base64"),[2,this.callMethod("uploadFileAndSave",p,c,4*Math.ceil(c.length/3),null!==b?b:-1,w,!1)]):[2,"data:application/pdf;base64,"+Buffer.from(f).toString("base64")]}catch(t){throw t.message="Error in Generate PDF No Page Number: No file - "+t.message,t}return[2]}})})},workerTaskWeight:2},mergePDFResolve:{check:new simpl_schema_1.default({fileKeys:{type:Array},"fileKeys.$":{type:String},fileName:{type:String},fileType:{type:String,optional:!0}}),function:function(g,u,h){return __awaiter(this,void 0,void 0,function(){var e,n,a,r,i,s,o,l,f,c,d,p=this;return __generator(this,function(t){switch(t.label){case 0:return t.trys.push([0,25,,26]),[4,this.callMethod("getSignedUrls",g,900)];case 1:return(c=t.sent())&&c.length?(e=[],c.forEach(function(t){e.push(p.callMethod("getDataURIfromURL",t))}),[4,Promise.all(e)]):[3,24];case 2:return n=t.sent(),[4,pdf_lib_1.PDFDocument.create()];case 3:a=t.sent(),r=0,t.label=4;case 4:if(!(r<n.length))return[3,22];if(!(i=n[r]))return[3,20];t.label=5;case 5:return(t.trys.push([5,18,,19]),i.startsWith("data:application/pdf;base64,"))?[4,pdf_lib_1.PDFDocument.load(i,{updateMetadata:!1,parseSpeed:pdf_lib_1.ParseSpeeds.Fastest,ignoreEncryption:!0})]:[3,8];case 6:return s=t.sent(),[4,a.copyPages(s,s.getPageIndices())];case 7:return t.sent().forEach(function(t){a.addPage(t)}),[3,17];case 8:return i.startsWith("data:image/jpeg;base64,/9j/")||i.startsWith("data:image/png;base64,/9j/")?[4,pdf_lib_1.PDFDocument.create()]:[3,12];case 9:return[4,(s=t.sent()).embedJpg(i)];case 10:return o=t.sent(),l=s.addPage(),f=o.scaleToFit(.75*l.getWidth(),.75*l.getHeight()),l.drawImage(o,{x:l.getWidth()/2-f.width/2,y:l.getHeight()/2-f.height/2,width:f.width,height:f.height}),[4,a.copyPages(s,s.getPageIndices())];case 11:return t.sent().forEach(function(t){a.addPage(t)}),[3,17];case 12:return i.startsWith("data:image/png;base64,iVBOR")?[4,pdf_lib_1.PDFDocument.create()]:[3,16];case 13:return[4,(s=t.sent()).embedPng(i)];case 14:return o=t.sent(),l=s.addPage(),f=o.scaleToFit(.75*l.getWidth(),.75*l.getHeight()),l.drawImage(o,{x:l.getWidth()/2-f.width/2,y:l.getHeight()/2-f.height/2,width:f.width,height:f.height}),[4,a.copyPages(s,s.getPageIndices())];case 15:return t.sent().forEach(function(t){a.addPage(t)}),[3,17];case 16:throw console.log("Error - unsupported!!",i.slice(0,60)),new Error("Error in Merge PDF Resolve: Unsupported document type - "+i.slice(0,60));case 17:return[3,19];case 18:throw c=t.sent(),console.log("Error processing fileData:",i.slice(0,60),c.message),c.message="Error in Merge PDF Resolve: Error processing fileData: ".concat(i.slice(0,60)," - ").concat(c.message),c;case 19:return[3,21];case 20:throw console.log("Error - no filedata!!",i),new Error("Error in Merge PDF Resolve: No File Data");case 21:return r++,[3,4];case 22:return[4,a.save()];case 23:return d=t.sent(),d="data:application/pdf;base64,"+Buffer.from(d).toString("base64"),[2,this.callMethod("uploadFileAndSave",u,d,4*Math.ceil(d.length/3),-1,h,!1)];case 24:return[3,26];case 25:throw(d=t.sent()).message="Error in Merge PDF Resolve: PDF Merge - Get Signed URLs - "+d.message,d;case 26:return[2]}})})},workerTaskWeight:2},mergePDFResolveNoSave:{check:new simpl_schema_1.default({fileKeys:{type:Array},"fileKeys.$":{type:String}}),function:function(g){return __awaiter(this,void 0,void 0,function(){var e,n,a,r,i,s,o,l,f,c,d,p=this;return __generator(this,function(t){switch(t.label){case 0:return t.trys.push([0,26,,27]),[4,this.callMethod("getSignedUrls",g,900)];case 1:return(c=t.sent())&&c.length?(e=[],c.forEach(function(t){e.push(p.callMethod("getDataURIfromURL",t))}),[4,Promise.all(e)]):[3,24];case 2:return n=t.sent(),[4,pdf_lib_1.PDFDocument.create()];case 3:a=t.sent(),r=0,t.label=4;case 4:if(!(r<n.length))return[3,22];if(!(i=n[r]))return[3,20];t.label=5;case 5:return(t.trys.push([5,18,,19]),i.startsWith("data:application/pdf;base64,"))?[4,pdf_lib_1.PDFDocument.load(i,{updateMetadata:!1,parseSpeed:pdf_lib_1.ParseSpeeds.Fastest,ignoreEncryption:!0})]:[3,8];case 6:return s=t.sent(),[4,a.copyPages(s,s.getPageIndices())];case 7:return t.sent().forEach(function(t){a.addPage(t)}),[3,17];case 8:return i.startsWith("data:image/jpeg;base64,/9j/")||i.startsWith("data:image/png;base64,/9j/")?[4,pdf_lib_1.PDFDocument.create()]:[3,12];case 9:return[4,(s=t.sent()).embedJpg(i)];case 10:return o=t.sent(),l=s.addPage(),f=o.scaleToFit(.75*l.getWidth(),.75*l.getHeight()),l.drawImage(o,{x:l.getWidth()/2-f.width/2,y:l.getHeight()/2-f.height/2,width:f.width,height:f.height}),[4,a.copyPages(s,s.getPageIndices())];case 11:return t.sent().forEach(function(t){a.addPage(t)}),[3,17];case 12:return i.startsWith("data:image/png;base64,iVBOR")?[4,pdf_lib_1.PDFDocument.create()]:[3,16];case 13:return[4,(s=t.sent()).embedPng(i)];case 14:return o=t.sent(),l=s.addPage(),f=o.scaleToFit(.75*l.getWidth(),.75*l.getHeight()),l.drawImage(o,{x:l.getWidth()/2-f.width/2,y:l.getHeight()/2-f.height/2,width:f.width,height:f.height}),[4,a.copyPages(s,s.getPageIndices())];case 15:return t.sent().forEach(function(t){a.addPage(t)}),[3,17];case 16:console.log("Error - unsupported!!",i.slice(0,60)),t.label=17;case 17:return[3,19];case 18:return c=t.sent(),console.log("Error processing fileData:",i.slice(0,60),c),[3,19];case 19:return[3,21];case 20:console.log("Error - no filedata!!",i),t.label=21;case 21:return r++,[3,4];case 22:return[4,a.save()];case 23:return d=t.sent(),[2,"data:application/pdf;base64,"+Buffer.from(d).toString("base64")];case 24:throw new Error("Error in Merge PDF Resolve No Save: No signed urls");case 25:return[3,27];case 26:throw(d=t.sent()).message="Error in Merge PDF Resolve: ".concat(d.message),d;case 27:return[2]}})})},workerTaskWeight:2},mergePDFResolveHtml:{check:new simpl_schema_1.default({htmls:{type:Array},"htmls.$":{type:String},fileName:{type:String},fileType:{type:String,optional:!0},save:{type:Boolean,optional:!0}}),function:function(c,d,p,g){return void 0===g&&(g=!0),__awaiter(this,void 0,void 0,function(){var e,n,a,r,i,s,o,l,f;return __generator(this,function(t){switch(t.label){case 0:return[4,pdf_lib_1.PDFDocument.create()];case 1:e=t.sent(),n=0,t.label=2;case 2:if(!(n<c.length))return[3,20];if(!(a=c[n]))return[3,18];t.label=3;case 3:return(t.trys.push([3,16,,17]),a.startsWith("data:application/pdf;base64,"))?[4,pdf_lib_1.PDFDocument.load(a,{updateMetadata:!1,parseSpeed:pdf_lib_1.ParseSpeeds.Fastest,ignoreEncryption:!0})]:[3,6];case 4:return r=t.sent(),[4,e.copyPages(r,r.getPageIndices())];case 5:return t.sent().forEach(function(t){e.addPage(t)}),[3,15];case 6:return a.startsWith("data:image/jpeg;base64,/9j/")||a.startsWith("data:image/png;base64,/9j/")?[4,pdf_lib_1.PDFDocument.create()]:[3,10];case 7:return[4,(r=t.sent()).embedJpg(a)];case 8:return i=t.sent(),s=r.addPage(),o=i.scaleToFit(.75*s.getWidth(),.75*s.getHeight()),s.drawImage(i,{x:s.getWidth()/2-o.width/2,y:s.getHeight()/2-o.height/2,width:o.width,height:o.height}),[4,e.copyPages(r,r.getPageIndices())];case 9:return t.sent().forEach(function(t){e.addPage(t)}),[3,15];case 10:return a.startsWith("data:image/png;base64,iVBOR")?[4,pdf_lib_1.PDFDocument.create()]:[3,14];case 11:return[4,(r=t.sent()).embedPng(a)];case 12:return i=t.sent(),s=r.addPage(),o=i.scaleToFit(.75*s.getWidth(),.75*s.getHeight()),s.drawImage(i,{x:s.getWidth()/2-o.width/2,y:s.getHeight()/2-o.height/2,width:o.width,height:o.height}),[4,e.copyPages(r,r.getPageIndices())];case 13:return t.sent().forEach(function(t){e.addPage(t)}),[3,15];case 14:throw console.log("Error - unsupported!!",a.slice(0,60)),new Error("Error in Merge PDF Resolve HTML: Unsupported file - "+a.slice(0,60));case 15:return[3,17];case 16:throw l=t.sent(),console.log("Error processing fileData:",a.slice(0,60),l),l.message="Error in Merge PDF Resolve HTML: Error processing filedata - ".concat(l.message),l;case 17:return[3,19];case 18:throw console.log("Error - no filedata!!",a),new Error("Error in Merge PDF Resolve HTML: No File data");case 19:return n++,[3,2];case 20:return[4,e.save()];case 21:return l=t.sent(),f="data:application/pdf;base64,"+Buffer.from(l).toString("base64"),g?[2,this.callMethod("uploadFileAndSave",d,f,4*Math.ceil(f.length/3),-1,p,!1)]:[2,f]}})})},workerTaskWeight:2}})}exports.loadPDFMethods=loadPDFMethods;
1
+ "use strict";var __awaiter=this&&this.__awaiter||function(t,a,r,i){return new(r=r||Promise)(function(n,e){function fulfilled(t){try{step(i.next(t))}catch(t){e(t)}}function rejected(t){try{step(i.throw(t))}catch(t){e(t)}}function step(t){var e;t.done?n(t.value):((e=t.value)instanceof r?e:new r(function(t){t(e)})).then(fulfilled,rejected)}step((i=i.apply(t,a||[])).next())})},__generator=this&&this.__generator||function(a,r){var i,o,s,l={label:0,sent:function(){if(1&s[0])throw s[1];return s[1]},trys:[],ops:[]},f={next:verb(0),throw:verb(1),return:verb(2)};return"function"==typeof Symbol&&(f[Symbol.iterator]=function(){return this}),f;function verb(n){return function(t){var e=[n,t];if(i)throw new TypeError("Generator is already executing.");for(;l=f&&e[f=0]?0:l;)try{if(i=1,o&&(s=2&e[0]?o.return:e[0]?o.throw||((s=o.return)&&s.call(o),0):o.next)&&!(s=s.call(o,e[1])).done)return s;switch(o=0,(e=s?[2&e[0],s.value]:e)[0]){case 0:case 1:s=e;break;case 4:return l.label++,{value:e[1],done:!1};case 5:l.label++,o=e[1],e=[0];continue;case 7:e=l.ops.pop(),l.trys.pop();continue;default:if(!(s=0<(s=l.trys).length&&s[s.length-1])&&(6===e[0]||2===e[0])){l=0;continue}if(3===e[0]&&(!s||e[1]>s[0]&&e[1]<s[3]))l.label=e[1];else if(6===e[0]&&l.label<s[1])l.label=s[1],s=e;else{if(!(s&&l.label<s[2])){s[2]&&l.ops.pop(),l.trys.pop();continue}l.label=s[2],l.ops.push(e)}}e=r.call(a,l)}catch(t){e=[6,t],o=0}finally{i=s=0}if(5&e[0])throw e[1];return{value:e[0]?e[1]:void 0,done:!0}}}},fs=(Object.defineProperty(exports,"__esModule",{value:!0}),exports.loadPDFMethods=void 0,require("fs")),path=require("path"),pdf_lib_1=require("pdf-lib"),puppeteer=require("puppeteer"),simpl_schema_1=require("simpl-schema"),flag_collection_1=require("../collections/flag.collection"),common_1=require("../util/common");function loadPDFMethods(t){t.methods({generatePDF:{check:new simpl_schema_1.default({html:{type:String},fileName:{type:String},orientation:{type:String,optional:!0},fontSize:{type:String,optional:!0},upload:{type:Boolean,optional:!0},uploadFileOrder:{type:Number,optional:!0},uploadFileType:{type:String,optional:!0}}),function:function(p,g,u,h,b,m,w){return void 0===u&&(u="portrait"),void 0===h&&(h="12px"),void 0===b&&(b=!1),void 0===m&&(m=-1),void 0===w&&(w=""),__awaiter(this,void 0,void 0,function(){var e,n,a,r,i,o,s,l,f,c,d;return __generator(this,function(t){switch(t.label){case 0:return e=["--disable-dev-shm-usage","--no-sandbox","--disable-setuid-sandbox","--disable-accelerated-2d-canvas","--disable-gpu","--allow-file-access-from-files","--enable-local-file-accesses","--font-render-hinting=none"],n=null,[4,flag_collection_1.Flags.findOne({type:"Enable Debug PDF"})];case 1:return(a=t.sent())&&a.value?[4,puppeteer.launch({headless:!1,devtools:!0,args:e,ignoreDefaultArgs:["--disable-extensions"]})]:[3,3];case 2:return n=t.sent(),[3,5];case 3:return[4,puppeteer.launch({headless:!0,devtools:!1,args:e,ignoreDefaultArgs:["--disable-extensions"]})];case 4:n=t.sent(),t.label=5;case 5:return[4,n.newPage()];case 6:return r=t.sent(),s="",s=fs.existsSync(path.join(__dirname,"../private/fonts/dejavuserif.woff"))?path.join(__dirname,"../private/fonts/"):fs.existsSync(path.join(this.clientDir,"./private/fonts/dejavuserif.woff"))?path.join(this.clientDir,"./private/fonts/"):"/usr/share/fonts/dejavu/",l="data:application/font-woff;base64,"+Buffer.from(fs.readFileSync(s+"dejavuserif.woff").buffer).toString("base64"),i="data:application/font-woff;base64,"+Buffer.from(fs.readFileSync(s+"dejavuserif-bold.woff").buffer).toString("base64"),o="data:application/font-woff;base64,"+Buffer.from(fs.readFileSync(s+"dejavuserif-italic.woff").buffer).toString("base64"),s="data:application/font-woff;base64,"+Buffer.from(fs.readFileSync(s+"dejavuserif-bolditalic.woff").buffer).toString("base64"),l='\n\t\t\t\t\t<head>\n\t\t\t\t\t\t<style type="text/css">\n\t\t\t\t\t\t\t@font-face {\n\t\t\t\t\t\t\t\tfont-family: \'Dejavu Serif\';\n\t\t\t\t\t\t\t\tfont-style: normal;\n\t\t\t\t\t\t\t\tfont-weight: normal;\n\t\t\t\t\t\t\t\tsrc: url("'+l+"\") format('woff');\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t@font-face {\n\t\t\t\t\t\t\t\tfont-family: 'Dejavu Serif';\n\t\t\t\t\t\t\t\tfont-style: normal;\n\t\t\t\t\t\t\t\tfont-weight: bold;\n\t\t\t\t\t\t\t\tsrc: url(\""+i+"\") format('woff');\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t@font-face {\n\t\t\t\t\t\t\t\tfont-family: 'Dejavu Serif';\n\t\t\t\t\t\t\t\tfont-style: italic;\n\t\t\t\t\t\t\t\tfont-weight: normal;\n\t\t\t\t\t\t\t\tsrc: url(\""+o+"\") format('woff');\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t@font-face {\n\t\t\t\t\t\t\t\tfont-family: 'Dejavu Serif';\n\t\t\t\t\t\t\t\tfont-style: italic;\n\t\t\t\t\t\t\t\tfont-weight: bold;\n\t\t\t\t\t\t\t\tsrc: url(\""+s+"\") format('woff');\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\tbody {\n\t\t\t\t\t\t\t\tfont-family: 'Dejavu Serif', serif;\n\t\t\t\t\t\t\t\tfont-size: "+(h||"12px")+";\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t.row {\n\t\t\t\t\t\t\t\tdisplay: -webkit-flex;\n\t\t\t\t\t\t\t\tdisplay: flex;\n\t\t\t\t\t\t\t\tflex-wrap: wrap;\n\t\t\t\t\t\t\t\t-webkit-flex-wrap: wrap;\n\t\t\t\t\t\t\t\tpage-break-inside: avoid !important;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t.page-break {\n\t\t\t\t\t\t\t\tpage-break-before: always !important;\n\t\t\t\t\t\t\t\tpadding-top: 1px;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t.cell {\n\t\t\t\t\t\t\t\tbox-sizing: border-box;\n\t\t\t\t\t\t\t\tpadding : 2px;\n\t\t\t\t\t\t\t\t-webkit-flex: 1;\n\t\t\t\t\t\t\t\tword-wrap: break-word;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t.cell-no-padding {\n\t\t\t\t\t\t\t\tbox-sizing: border-box;\n\t\t\t\t\t\t\t\t-webkit-flex: 1;\n\t\t\t\t\t\t\t\tword-wrap: break-word;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t.centered {\n\t\t\t\t\t\t\t\t-webkit-justify-content: center;\n\t\t\t\t\t\t\t\t-webkit-align-items: center;\n\t\t\t\t\t\t\t\tdisplay: -webkit-flex;\n\t\t\t\t\t\t\t\ttext-align: center;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t.centered-left {\n\t\t\t\t\t\t\t\t-webkit-align-items: center;\n\t\t\t\t\t\t\t\tdisplay: -webkit-flex;\n\t\t\t\t\t\t\t\t-webkit-justify-content: flex-start;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t.centered-right {\n\t\t\t\t\t\t\t\t-webkit-justify-content: flex-end;\n\t\t\t\t\t\t\t\t-webkit-align-items: center;\n\t\t\t\t\t\t\t\tdisplay: -webkit-flex;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t.box {\n\t\t\t\t\t\t\t\tborder: 1px solid black;\n\t\t\t\t\t\t\t\tmargin: -1px 0px 0px -1px;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t.boxNoBorder {\n\t\t\t\t\t\t\t\tmargin: -1px 0px 0px -1px;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tpre {\n\t\t\t\t\t\t\t\twhite-space: pre-wrap; /* css-3 */\n\t\t\t\t\t\t\t\twhite-space: -moz-pre-wrap; /* Mozilla, since 1999 */\n\t\t\t\t\t\t\t\twhite-space: -pre-wrap; /* Opera 4-6 */\n\t\t\t\t\t\t\t\twhite-space: -o-pre-wrap; /* Opera 7 */\n\t\t\t\t\t\t\t\tword-wrap: break-word; /* Internet Explorer 5.5+ */\n\t\t\t\t\t\t\t\tfont-size: 12px;\n\t\t\t\t\t\t\t\tfont-family: 'Dejavu Serif'; \n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t</style>\n\t\t\t\t\t</head>\n\t\t\t\t\t<body>\n\t\t\t\t"+p.replace(new RegExp("flex-basis:","g"),"-webkit-flex-basis:").replace(new RegExp("flex:","g"),"-webkit-flex:")+"</body>",[4,r.setContent(l,{waitUntil:["domcontentloaded","load","networkidle0"]})];case 7:return t.sent(),[4,r.evaluateHandle("document.fonts.ready")];case 8:return t.sent(),f=(0,common_1.objectIdHexString)()+".pdf",[4,r.pdf({scale:1,landscape:"portrait"!==u,format:"letter",margin:{top:"1cm",bottom:"1cm",left:"1cm",right:"1cm"},printBackground:!0,displayHeaderFooter:!0,headerTemplate:"\n\t\t\t\t\t\t<style>\n\t\t\t\t\t\t\t#header { \n\t\t\t\t\t\t\t\tpadding: 0 0 10px 10px !important; \n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t</style>\n\t\t\t\t\t\t<span></span>\n\t\t\t\t\t",footerTemplate:'\n\t\t\t\t\t\t<style>\n\t\t\t\t\t\t\t#footer { \n\t\t\t\t\t\t\t\tpadding: 0 0 10px 10px !important;\n\t\t\t\t\t\t\t\tfont-size: 10px;\n\t\t\t\t\t\t\t\tfont-family: san-serif;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t</style>\n\t\t\t\t\t\t<div style="padding-bottom: 2px; padding-right: 15px; text-align: right; width: 100%;">\n\t\t\t\t\t\t\tPage&nbsp;<span class="pageNumber"></span>&nbsp;of&nbsp;<span class="totalPages"></span>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t',path:path.join(__dirname,f),timeout:0})];case 9:return(t.sent(),a&&a.value)?"landscape"!==u?[3,11]:[4,r.setViewport({width:1100,height:850})]:[3,13];case 10:return t.sent(),[3,13];case 11:return[4,r.setViewport({width:850,height:1100})];case 12:t.sent(),t.label=13;case 13:return[4,n.close()];case 14:if(t.sent(),!fs.existsSync(path.join(__dirname,f)))throw console.log("No tmp file ",f),new Error("Error in Generate PDF: No tmp file");try{return c=fs.readFileSync(path.join(__dirname,f)),fs.unlinkSync(path.join(__dirname,f)),b?(d="data:application/pdf;base64,"+Buffer.from(c).toString("base64"),[2,this.callMethod("uploadFileAndSave",g,d,4*Math.ceil(d.length/3),null!==m?m:-1,w,!1)]):[2,"data:application/pdf;base64,"+Buffer.from(c).toString("base64")]}catch(t){throw t.message="Error in Generate PDF: No file - "+t.message,t}return[2]}})})},workerTaskWeight:2},generatePDFNoPageNumber:{check:new simpl_schema_1.default({html:{type:String},fileName:{type:String},orientation:{type:String,optional:!0},fontSize:{type:String,optional:!0},upload:{type:Boolean,optional:!0},uploadFileOrder:{type:Number,optional:!0},uploadFileType:{type:String,optional:!0}}),function:function(d,p,g,u,h,b,m){return void 0===g&&(g="portrait"),void 0===u&&(u="12px"),void 0===h&&(h=!1),void 0===b&&(b=-1),void 0===m&&(m=""),__awaiter(this,void 0,void 0,function(){var e,n,a,r,i,o,s,l,f,c;return __generator(this,function(t){switch(t.label){case 0:return a=["--disable-dev-shm-usage","--no-sandbox","--disable-setuid-sandbox","--disable-accelerated-2d-canvas","--disable-gpu","--allow-file-access-from-files","--enable-local-file-accesses","--font-render-hinting=none"],[4,puppeteer.launch({headless:!0,devtools:!1,args:a,ignoreDefaultArgs:["--disable-extensions"]})];case 1:return[4,(e=t.sent()).newPage()];case 2:return n=t.sent(),a="",a=fs.existsSync(path.join(__dirname,"../private/fonts/dejavuserif.woff"))?path.join(__dirname,"../private/fonts/"):fs.existsSync(path.join(this.clientDir,"./private/fonts/dejavuserif.woff"))?path.join(this.clientDir,"./private/fonts/"):"/usr/share/fonts/dejavu/",s="data:application/font-woff;base64,"+Buffer.from(fs.readFileSync(a+"dejavuserif.woff").buffer).toString("base64"),r="data:application/font-woff;base64,"+Buffer.from(fs.readFileSync(a+"dejavuserif-bold.woff").buffer).toString("base64"),i="data:application/font-woff;base64,"+Buffer.from(fs.readFileSync(a+"dejavuserif-italic.woff").buffer).toString("base64"),o="data:application/font-woff;base64,"+Buffer.from(fs.readFileSync(a+"dejavuserif-bolditalic.woff").buffer).toString("base64"),s='\n\t\t\t\t\t<head>\n\t\t\t\t\t\t<style type="text/css">\n\t\t\t\t\t\t\t@font-face {\n\t\t\t\t\t\t\t\tfont-family: \'Dejavu Serif\';\n\t\t\t\t\t\t\t\tfont-style: normal;\n\t\t\t\t\t\t\t\tfont-weight: normal;\n\t\t\t\t\t\t\t\tsrc: url("'+s+"\") format('woff');\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t@font-face {\n\t\t\t\t\t\t\t\tfont-family: 'Dejavu Serif';\n\t\t\t\t\t\t\t\tfont-style: normal;\n\t\t\t\t\t\t\t\tfont-weight: bold;\n\t\t\t\t\t\t\t\tsrc: url(\""+r+"\") format('woff');\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t@font-face {\n\t\t\t\t\t\t\t\tfont-family: 'Dejavu Serif';\n\t\t\t\t\t\t\t\tfont-style: italic;\n\t\t\t\t\t\t\t\tfont-weight: normal;\n\t\t\t\t\t\t\t\tsrc: url(\""+i+"\") format('woff');\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t@font-face {\n\t\t\t\t\t\t\t\tfont-family: 'Dejavu Serif';\n\t\t\t\t\t\t\t\tfont-style: italic;\n\t\t\t\t\t\t\t\tfont-weight: bold;\n\t\t\t\t\t\t\t\tsrc: url(\""+o+"\") format('woff');\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\tbody {\n\t\t\t\t\t\t\t\tfont-family: 'Dejavu Serif', serif;\n\t\t\t\t\t\t\t\tfont-size: "+(u||"12px")+";\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t.row {\n\t\t\t\t\t\t\t\tdisplay: -webkit-flex;\n\t\t\t\t\t\t\t\tdisplay: flex;\n\t\t\t\t\t\t\t\tflex-wrap: wrap;\n\t\t\t\t\t\t\t\t-webkit-flex-wrap: wrap;\n\t\t\t\t\t\t\t\tpage-break-inside: avoid !important;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t.page-break {\n\t\t\t\t\t\t\t\tpage-break-before: always !important;\n\t\t\t\t\t\t\t\tpadding-top: 1px;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t.cell {\n\t\t\t\t\t\t\t\tbox-sizing: border-box;\n\t\t\t\t\t\t\t\tpadding : 2px;\n\t\t\t\t\t\t\t\t-webkit-flex: 1;\n\t\t\t\t\t\t\t\tword-wrap: break-word;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t.cell-no-padding {\n\t\t\t\t\t\t\t\tbox-sizing: border-box;\n\t\t\t\t\t\t\t\t-webkit-flex: 1;\n\t\t\t\t\t\t\t\tword-wrap: break-word;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t.centered {\n\t\t\t\t\t\t\t\t-webkit-justify-content: center;\n\t\t\t\t\t\t\t\t-webkit-align-items: center;\n\t\t\t\t\t\t\t\tdisplay: -webkit-flex;\n\t\t\t\t\t\t\t\ttext-align: center;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t.centered-left {\n\t\t\t\t\t\t\t\t-webkit-align-items: center;\n\t\t\t\t\t\t\t\tdisplay: -webkit-flex;\n\t\t\t\t\t\t\t\t-webkit-justify-content: flex-start;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t.centered-right {\n\t\t\t\t\t\t\t\t-webkit-justify-content: flex-end;\n\t\t\t\t\t\t\t\t-webkit-align-items: center;\n\t\t\t\t\t\t\t\tdisplay: -webkit-flex;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t.box {\n\t\t\t\t\t\t\t\tborder: 1px solid black;\n\t\t\t\t\t\t\t\tmargin: -1px 0px 0px -1px;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t.boxNoBorder {\n\t\t\t\t\t\t\t\tmargin: -1px 0px 0px -1px;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tpre {\n\t\t\t\t\t\t\t\twhite-space: pre-wrap; /* css-3 */\n\t\t\t\t\t\t\t\twhite-space: -moz-pre-wrap; /* Mozilla, since 1999 */\n\t\t\t\t\t\t\t\twhite-space: -pre-wrap; /* Opera 4-6 */\n\t\t\t\t\t\t\t\twhite-space: -o-pre-wrap; /* Opera 7 */\n\t\t\t\t\t\t\t\tword-wrap: break-word; /* Internet Explorer 5.5+ */\n\t\t\t\t\t\t\t\tfont-size: 12px;\n\t\t\t\t\t\t\t\tfont-family: 'Dejavu Serif'; \n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t</style>\n\t\t\t\t\t\t<meta charset=\"UTF-8\">\n\t\t\t\t\t</head>\n\t\t\t\t\t<body>\n\t\t\t\t"+d.replace(new RegExp("flex-basis:","g"),"-webkit-flex-basis:").replace(new RegExp("flex:","g"),"-webkit-flex:")+"</body>",[4,n.setContent(s,{waitUntil:["domcontentloaded","load","networkidle0"]})];case 3:return t.sent(),[4,n.evaluateHandle("document.fonts.ready")];case 4:return t.sent(),l=(0,common_1.objectIdHexString)()+".pdf",[4,n.pdf({scale:1,landscape:"portrait"!==g,format:"letter",margin:{top:"1cm",bottom:"1cm",left:"1cm",right:"1cm"},printBackground:!0,displayHeaderFooter:!0,headerTemplate:"\n\t\t\t\t\t\t<style>\n\t\t\t\t\t\t\t#header { \n\t\t\t\t\t\t\t\tpadding: 0 0 10px 10px !important; \n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t</style>\n\t\t\t\t\t\t<span></span>\n\t\t\t\t\t",footerTemplate:'\n\t\t\t\t\t<style>\n\t\t\t\t\t\t#footer { \n\t\t\t\t\t\t\tpadding: 0 0 10px 10px !important;\n\t\t\t\t\t\t\tfont-size: 10px;\n\t\t\t\t\t\t\tfont-family: san-serif;\n\t\t\t\t\t\t}\n\t\t\t\t\t</style>\n\t\t\t\t\t<div style="padding-bottom: 2px; padding-right: 15px; text-align: right; width: 100%;">\n\t\t\t\t\t\t\n\t\t\t\t\t</div>\n\t\t\t\t\t',path:path.join(__dirname,l),timeout:0})];case 5:return t.sent(),[4,e.close()];case 6:if(t.sent(),!fs.existsSync(path.join(__dirname,l)))throw console.log("No tmp file ",l),new Error("Error in Generate PDF No Page Number: No tmp file");try{return f=fs.readFileSync(path.join(__dirname,l)),fs.unlinkSync(path.join(__dirname,l)),h?(c="data:application/pdf;base64,"+Buffer.from(f).toString("base64"),[2,this.callMethod("uploadFileAndSave",p,c,4*Math.ceil(c.length/3),null!==b?b:-1,m,!1)]):[2,"data:application/pdf;base64,"+Buffer.from(f).toString("base64")]}catch(t){throw t.message="Error in Generate PDF No Page Number: No file - "+t.message,t}return[2]}})})},workerTaskWeight:2},mergePDFResolve:{check:new simpl_schema_1.default({fileKeys:{type:Array},"fileKeys.$":{type:String},fileName:{type:String},fileType:{type:String,optional:!0}}),function:function(g,u,h){return __awaiter(this,void 0,void 0,function(){var e,n,a,r,i,o,s,l,f,c,d,p=this;return __generator(this,function(t){switch(t.label){case 0:return t.trys.push([0,25,,26]),[4,this.callMethod("getSignedUrls",g,900)];case 1:return(c=t.sent())&&c.length?(e=[],c.forEach(function(t){e.push(p.callMethod("getDataURIfromURL",t))}),[4,Promise.all(e)]):[3,24];case 2:return n=t.sent(),[4,pdf_lib_1.PDFDocument.create()];case 3:a=t.sent(),r=0,t.label=4;case 4:if(!(r<n.length))return[3,22];if(!(i=n[r]))return[3,20];t.label=5;case 5:return(t.trys.push([5,18,,19]),i.startsWith("data:application/pdf;base64,"))?[4,pdf_lib_1.PDFDocument.load(i,{updateMetadata:!1,parseSpeed:pdf_lib_1.ParseSpeeds.Fastest,ignoreEncryption:!0})]:[3,8];case 6:return o=t.sent(),[4,a.copyPages(o,o.getPageIndices())];case 7:return t.sent().forEach(function(t){a.addPage(t)}),[3,17];case 8:return i.startsWith("data:image/jpeg;base64,/9j/")||i.startsWith("data:image/png;base64,/9j/")?[4,pdf_lib_1.PDFDocument.create()]:[3,12];case 9:return[4,(o=t.sent()).embedJpg(i)];case 10:return s=t.sent(),l=o.addPage(),f=s.scaleToFit(.75*l.getWidth(),.75*l.getHeight()),l.drawImage(s,{x:l.getWidth()/2-f.width/2,y:l.getHeight()/2-f.height/2,width:f.width,height:f.height}),[4,a.copyPages(o,o.getPageIndices())];case 11:return t.sent().forEach(function(t){a.addPage(t)}),[3,17];case 12:return i.startsWith("data:image/png;base64,iVBOR")?[4,pdf_lib_1.PDFDocument.create()]:[3,16];case 13:return[4,(o=t.sent()).embedPng(i)];case 14:return s=t.sent(),l=o.addPage(),f=s.scaleToFit(.75*l.getWidth(),.75*l.getHeight()),l.drawImage(s,{x:l.getWidth()/2-f.width/2,y:l.getHeight()/2-f.height/2,width:f.width,height:f.height}),[4,a.copyPages(o,o.getPageIndices())];case 15:return t.sent().forEach(function(t){a.addPage(t)}),[3,17];case 16:throw console.log("Error - unsupported!!",i.slice(0,60)),new Error("Error in Merge PDF Resolve: Unsupported document type - "+i.slice(0,60));case 17:return[3,19];case 18:throw c=t.sent(),console.log("Error processing fileData:",i.slice(0,60),c.message),c.message="Error in Merge PDF Resolve: Error processing fileData: ".concat(i.slice(0,60)," - ").concat(c.message),c;case 19:return[3,21];case 20:throw console.log("Error - no filedata!!",i),new Error("Error in Merge PDF Resolve: No File Data");case 21:return r++,[3,4];case 22:return[4,a.save()];case 23:return d=t.sent(),d="data:application/pdf;base64,"+Buffer.from(d).toString("base64"),[2,this.callMethod("uploadFileAndSave",u,d,4*Math.ceil(d.length/3),-1,h,!1)];case 24:return[3,26];case 25:throw(d=t.sent()).message="Error in Merge PDF Resolve: PDF Merge - Get Signed URLs - "+d.message,d;case 26:return[2]}})})},workerTaskWeight:2},mergePDFResolveNoSave:{check:new simpl_schema_1.default({fileKeys:{type:Array},"fileKeys.$":{type:String}}),function:function(g){return __awaiter(this,void 0,void 0,function(){var e,n,a,r,i,o,s,l,f,c,d,p=this;return __generator(this,function(t){switch(t.label){case 0:return t.trys.push([0,26,,27]),[4,this.callMethod("getSignedUrls",g,900)];case 1:return(c=t.sent())&&c.length?(e=[],c.forEach(function(t){e.push(p.callMethod("getDataURIfromURL",t))}),[4,Promise.all(e)]):[3,24];case 2:return n=t.sent(),[4,pdf_lib_1.PDFDocument.create()];case 3:a=t.sent(),r=0,t.label=4;case 4:if(!(r<n.length))return[3,22];if(!(i=n[r]))return[3,20];t.label=5;case 5:return(t.trys.push([5,18,,19]),i.startsWith("data:application/pdf;base64,"))?[4,pdf_lib_1.PDFDocument.load(i,{updateMetadata:!1,parseSpeed:pdf_lib_1.ParseSpeeds.Fastest,ignoreEncryption:!0})]:[3,8];case 6:return o=t.sent(),[4,a.copyPages(o,o.getPageIndices())];case 7:return t.sent().forEach(function(t){a.addPage(t)}),[3,17];case 8:return i.startsWith("data:image/jpeg;base64,/9j/")||i.startsWith("data:image/png;base64,/9j/")?[4,pdf_lib_1.PDFDocument.create()]:[3,12];case 9:return[4,(o=t.sent()).embedJpg(i)];case 10:return s=t.sent(),l=o.addPage(),f=s.scaleToFit(.75*l.getWidth(),.75*l.getHeight()),l.drawImage(s,{x:l.getWidth()/2-f.width/2,y:l.getHeight()/2-f.height/2,width:f.width,height:f.height}),[4,a.copyPages(o,o.getPageIndices())];case 11:return t.sent().forEach(function(t){a.addPage(t)}),[3,17];case 12:return i.startsWith("data:image/png;base64,iVBOR")?[4,pdf_lib_1.PDFDocument.create()]:[3,16];case 13:return[4,(o=t.sent()).embedPng(i)];case 14:return s=t.sent(),l=o.addPage(),f=s.scaleToFit(.75*l.getWidth(),.75*l.getHeight()),l.drawImage(s,{x:l.getWidth()/2-f.width/2,y:l.getHeight()/2-f.height/2,width:f.width,height:f.height}),[4,a.copyPages(o,o.getPageIndices())];case 15:return t.sent().forEach(function(t){a.addPage(t)}),[3,17];case 16:console.log("Error - unsupported!!",i.slice(0,60)),t.label=17;case 17:return[3,19];case 18:return c=t.sent(),console.log("Error processing fileData:",i.slice(0,60),c),[3,19];case 19:return[3,21];case 20:console.log("Error - no filedata!!",i),t.label=21;case 21:return r++,[3,4];case 22:return[4,a.save()];case 23:return d=t.sent(),[2,"data:application/pdf;base64,"+Buffer.from(d).toString("base64")];case 24:throw new Error("Error in Merge PDF Resolve No Save: No signed urls");case 25:return[3,27];case 26:throw(d=t.sent()).message="Error in Merge PDF Resolve: ".concat(d.message),d;case 27:return[2]}})})},workerTaskWeight:2},mergePDFResolveHtml:{check:new simpl_schema_1.default({htmls:{type:Array},"htmls.$":{type:String},fileName:{type:String},fileType:{type:String,optional:!0},save:{type:Boolean,optional:!0}}),function:function(c,d,p,g){return void 0===g&&(g=!0),__awaiter(this,void 0,void 0,function(){var e,n,a,r,i,o,s,l,f;return __generator(this,function(t){switch(t.label){case 0:return[4,pdf_lib_1.PDFDocument.create()];case 1:e=t.sent(),n=0,t.label=2;case 2:if(!(n<c.length))return[3,20];if(!(a=c[n]))return[3,18];t.label=3;case 3:return(t.trys.push([3,16,,17]),a.startsWith("data:application/pdf;base64,"))?[4,pdf_lib_1.PDFDocument.load(a,{updateMetadata:!1,parseSpeed:pdf_lib_1.ParseSpeeds.Fastest,ignoreEncryption:!0})]:[3,6];case 4:return r=t.sent(),[4,e.copyPages(r,r.getPageIndices())];case 5:return t.sent().forEach(function(t){e.addPage(t)}),[3,15];case 6:return a.startsWith("data:image/jpeg;base64,/9j/")||a.startsWith("data:image/png;base64,/9j/")?[4,pdf_lib_1.PDFDocument.create()]:[3,10];case 7:return[4,(r=t.sent()).embedJpg(a)];case 8:return i=t.sent(),o=r.addPage(),s=i.scaleToFit(.75*o.getWidth(),.75*o.getHeight()),o.drawImage(i,{x:o.getWidth()/2-s.width/2,y:o.getHeight()/2-s.height/2,width:s.width,height:s.height}),[4,e.copyPages(r,r.getPageIndices())];case 9:return t.sent().forEach(function(t){e.addPage(t)}),[3,15];case 10:return a.startsWith("data:image/png;base64,iVBOR")?[4,pdf_lib_1.PDFDocument.create()]:[3,14];case 11:return[4,(r=t.sent()).embedPng(a)];case 12:return i=t.sent(),o=r.addPage(),s=i.scaleToFit(.75*o.getWidth(),.75*o.getHeight()),o.drawImage(i,{x:o.getWidth()/2-s.width/2,y:o.getHeight()/2-s.height/2,width:s.width,height:s.height}),[4,e.copyPages(r,r.getPageIndices())];case 13:return t.sent().forEach(function(t){e.addPage(t)}),[3,15];case 14:throw console.log("Error - unsupported!!",a.slice(0,60)),new Error("Error in Merge PDF Resolve HTML: Unsupported file - "+a.slice(0,60));case 15:return[3,17];case 16:throw l=t.sent(),console.log("Error processing fileData:",a.slice(0,60),l),l.message="Error in Merge PDF Resolve HTML: Error processing filedata - ".concat(l.message),l;case 17:return[3,19];case 18:throw console.log("Error - no filedata!!",a),new Error("Error in Merge PDF Resolve HTML: No File data");case 19:return n++,[3,2];case 20:return[4,e.save()];case 21:return l=t.sent(),f="data:application/pdf;base64,"+Buffer.from(l).toString("base64"),g?[2,this.callMethod("uploadFileAndSave",d,f,4*Math.ceil(f.length/3),-1,p,!1)]:[2,f]}})})},workerTaskWeight:2}})}exports.loadPDFMethods=loadPDFMethods;
2
2
  //# sourceMappingURL=pdf.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/methods/pdf.ts"],"names":["fs","require","path","pdf_lib_1","puppeteer","simpl_schema_1","flag_collection_1","pdfCnt","loadPDFMethods","methodManager","methods","generatePDF","check","default","html","type","String","fileName","orientation","optional","fontSize","upload","Boolean","uploadFileOrder","Number","uploadFileType","function","args","browser","Flags","findOne","enableDebugFlag","_a","sent","value","launch","headless","devtools","ignoreDefaultArgs","newPage","page","pathToFont","existsSync","join","__dirname","this","clientDir","dejavuserif_woff","Buffer","from","readFileSync","buffer","toString","dejavuserifBold_woff","dejavuserifItalic_woff","dejavuserifBoldItalic_woff","content","replace","RegExp","setContent","waitUntil","evaluateHandle","tmpFileName","pdf","scale","landscape","format","margin","top","bottom","left","right","printBackground","displayHeaderFooter","headerTemplate","footerTemplate","timeout","setViewport","width","height","close","console","log","Error","data","unlinkSync","fileData","callMethod","Math","ceil","length","errRead","message","workerTaskWeight","generatePDFNoPageNumber","mergePDFResolve","fileKeys","Array","fileKeys.$","fileType","resSigneds","promises_1","forEach","signedUrl","push","_this","Promise","all","fileDatas","PDFDocument","create","mergedPdf_1","i","startsWith","load","updateMetadata","parseSpeed","ParseSpeeds","Fastest","ignoreEncryption","copyPages","getPageIndices","addPage","embedJpg","img","imgDim","scaleToFit","getWidth","getHeight","drawImage","x","y","embedPng","slice","error_1","concat","save","mergedPDFUint8","b64PDF","err_1","mergePDFResolveNoSave","promises_2","mergedPdf_2","error_2","err_2","mergePDFResolveHtml","htmls","htmls.$","mergedPdf","error_3","exports"],"mappings":"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","file":"pdf.js","sourcesContent":["import * as fs from 'fs';\nimport * as path from 'path';\nimport { ParseSpeeds, PDFDocument } from 'pdf-lib';\nimport * as puppeteer from 'puppeteer';\nimport SimpleSchema from 'simpl-schema';\nimport { Flags } from '../collections/flag.collection';\nimport { MethodManager } from '../managers/method.manager';\n\nlet pdfCnt = 0;\n\nexport function loadPDFMethods(methodManager: MethodManager) {\n\tmethodManager.methods({\n\t\tgeneratePDF: {\n\t\t\tcheck: new SimpleSchema({\n\t\t\t\thtml: {\n\t\t\t\t\ttype: String\n\t\t\t\t},\n\t\t\t\tfileName: {\n\t\t\t\t\ttype: String\n\t\t\t\t},\n\t\t\t\torientation: {\n\t\t\t\t\ttype: String,\n\t\t\t\t\toptional: true\n\t\t\t\t},\n\t\t\t\tfontSize: {\n\t\t\t\t\ttype: String,\n\t\t\t\t\toptional: true\n\t\t\t\t},\n\t\t\t\tupload: {\n\t\t\t\t\ttype: Boolean,\n\t\t\t\t\toptional: true\n\t\t\t\t},\n\t\t\t\tuploadFileOrder: {\n\t\t\t\t\ttype: Number,\n\t\t\t\t\toptional: true\n\t\t\t\t},\n\t\t\t\tuploadFileType: {\n\t\t\t\t\ttype: String,\n\t\t\t\t\toptional: true\n\t\t\t\t}\n\t\t\t}),\n\t\t\tfunction: async function(html, fileName, orientation = 'portrait', fontSize = '12px', upload = false, uploadFileOrder = -1, uploadFileType = '') {\n\t\t\t\t// console.log(new Date(), 'GENERATE PDF CALL', fileName, orientation, fontSize, upload);\n\n\t\t\t\tconst args = [\n\t\t\t\t\t\"--disable-dev-shm-usage\",\n\t\t\t\t\t\"--no-sandbox\",\n\t\t\t\t\t\"--disable-setuid-sandbox\",\n\t\t\t\t\t\"--disable-accelerated-2d-canvas\",\n\t\t\t\t\t\"--disable-gpu\",\n\t\t\t\t\t\"--allow-file-access-from-files\", \n\t\t\t\t\t\"--enable-local-file-accesses\",\n\t\t\t\t\t'--font-render-hinting=none'\n\t\t\t\t];\n\n\t\t\t\tlet browser = null;\n\n\t\t\t\tlet enableDebugFlag = await Flags.findOne({type: 'Enable Debug PDF'});\n\t\t\t\t\n\t\t\t\tif (enableDebugFlag && enableDebugFlag.value) {\n\t\t\t\t\tbrowser = await puppeteer.launch({\n\t\t\t\t\t\theadless: false, // run in headless mode\n\t\t\t\t\t\tdevtools: true, // run with dev tools\n\t\t\t\t\t\targs,\n\t\t\t\t\t\tignoreDefaultArgs: [\"--disable-extensions\"]\n\t\t\t\t\t}); // run browser\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tbrowser = await puppeteer.launch({\n\t\t\t\t\t\theadless: true, // run in headless mode\n\t\t\t\t\t\tdevtools: false, // run with dev tools\n\t\t\t\t\t\targs,\n\t\t\t\t\t\tignoreDefaultArgs: [\"--disable-extensions\"]\n\t\t\t\t\t}); // run browser\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tconst page = await browser.newPage(); // create new tab\n\n\t\t\t\tlet pathToFont = '';\n\n\t\t\t\tif (fs.existsSync(path.join(__dirname, ('../private/fonts/dejavuserif.woff')))) {\n\t\t\t\t\tpathToFont = path.join(__dirname, ('../private/fonts/'));\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tif (fs.existsSync(path.join(this.clientDir, ('./private/fonts/dejavuserif.woff')))) {\n\t\t\t\t\t\tpathToFont = path.join(this.clientDir, ('./private/fonts/'));\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\tpathToFont = '/usr/share/fonts/dejavu/';\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tlet dejavuserif_woff = 'data:application/font-woff;base64,' + Buffer.from(fs.readFileSync(pathToFont + 'dejavuserif.woff').buffer).toString('base64');\n\t\t\t\tlet dejavuserifBold_woff = 'data:application/font-woff;base64,' + Buffer.from(fs.readFileSync(pathToFont + 'dejavuserif-bold.woff').buffer).toString('base64');\n\t\t\t\tlet dejavuserifItalic_woff = 'data:application/font-woff;base64,' + Buffer.from(fs.readFileSync(pathToFont + 'dejavuserif-italic.woff').buffer).toString('base64');\n\t\t\t\tlet dejavuserifBoldItalic_woff = 'data:application/font-woff;base64,' + Buffer.from(fs.readFileSync(pathToFont + 'dejavuserif-bolditalic.woff').buffer).toString('base64');\n\n\t\t\t\tlet content = `\n\t\t\t\t\t<head>\n\t\t\t\t\t\t<style type=\"text/css\">\n\t\t\t\t\t\t\t@font-face {\n\t\t\t\t\t\t\t\tfont-family: 'Dejavu Serif';\n\t\t\t\t\t\t\t\tfont-style: normal;\n\t\t\t\t\t\t\t\tfont-weight: normal;\n\t\t\t\t\t\t\t\tsrc: url(\"` + dejavuserif_woff + `\") format('woff');\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t@font-face {\n\t\t\t\t\t\t\t\tfont-family: 'Dejavu Serif';\n\t\t\t\t\t\t\t\tfont-style: normal;\n\t\t\t\t\t\t\t\tfont-weight: bold;\n\t\t\t\t\t\t\t\tsrc: url(\"` + dejavuserifBold_woff + `\") format('woff');\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t@font-face {\n\t\t\t\t\t\t\t\tfont-family: 'Dejavu Serif';\n\t\t\t\t\t\t\t\tfont-style: italic;\n\t\t\t\t\t\t\t\tfont-weight: normal;\n\t\t\t\t\t\t\t\tsrc: url(\"` + dejavuserifItalic_woff + `\") format('woff');\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t@font-face {\n\t\t\t\t\t\t\t\tfont-family: 'Dejavu Serif';\n\t\t\t\t\t\t\t\tfont-style: italic;\n\t\t\t\t\t\t\t\tfont-weight: bold;\n\t\t\t\t\t\t\t\tsrc: url(\"` + dejavuserifBoldItalic_woff + `\") format('woff');\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\tbody {\n\t\t\t\t\t\t\t\tfont-family: 'Dejavu Serif', serif;\n\t\t\t\t\t\t\t\tfont-size: ` + (fontSize ? fontSize : '12px') + `;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t.row {\n\t\t\t\t\t\t\t\tdisplay: -webkit-flex;\n\t\t\t\t\t\t\t\tdisplay: flex;\n\t\t\t\t\t\t\t\tflex-wrap: wrap;\n\t\t\t\t\t\t\t\t-webkit-flex-wrap: wrap;\n\t\t\t\t\t\t\t\tpage-break-inside: avoid !important;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t.page-break {\n\t\t\t\t\t\t\t\tpage-break-before: always !important;\n\t\t\t\t\t\t\t\tpadding-top: 1px;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t.cell {\n\t\t\t\t\t\t\t\tbox-sizing: border-box;\n\t\t\t\t\t\t\t\tpadding : 2px;\n\t\t\t\t\t\t\t\t-webkit-flex: 1;\n\t\t\t\t\t\t\t\tword-wrap: break-word;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t.cell-no-padding {\n\t\t\t\t\t\t\t\tbox-sizing: border-box;\n\t\t\t\t\t\t\t\t-webkit-flex: 1;\n\t\t\t\t\t\t\t\tword-wrap: break-word;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t.centered {\n\t\t\t\t\t\t\t\t-webkit-justify-content: center;\n\t\t\t\t\t\t\t\t-webkit-align-items: center;\n\t\t\t\t\t\t\t\tdisplay: -webkit-flex;\n\t\t\t\t\t\t\t\ttext-align: center;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t.centered-left {\n\t\t\t\t\t\t\t\t-webkit-align-items: center;\n\t\t\t\t\t\t\t\tdisplay: -webkit-flex;\n\t\t\t\t\t\t\t\t-webkit-justify-content: flex-start;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t.centered-right {\n\t\t\t\t\t\t\t\t-webkit-justify-content: flex-end;\n\t\t\t\t\t\t\t\t-webkit-align-items: center;\n\t\t\t\t\t\t\t\tdisplay: -webkit-flex;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t.box {\n\t\t\t\t\t\t\t\tborder: 1px solid black;\n\t\t\t\t\t\t\t\tmargin: -1px 0px 0px -1px;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t.boxNoBorder {\n\t\t\t\t\t\t\t\tmargin: -1px 0px 0px -1px;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tpre {\n\t\t\t\t\t\t\t\twhite-space: pre-wrap; /* css-3 */\n\t\t\t\t\t\t\t\twhite-space: -moz-pre-wrap; /* Mozilla, since 1999 */\n\t\t\t\t\t\t\t\twhite-space: -pre-wrap; /* Opera 4-6 */\n\t\t\t\t\t\t\t\twhite-space: -o-pre-wrap; /* Opera 7 */\n\t\t\t\t\t\t\t\tword-wrap: break-word; /* Internet Explorer 5.5+ */\n\t\t\t\t\t\t\t\tfont-size: 12px;\n\t\t\t\t\t\t\t\tfont-family: 'Dejavu Serif'; \n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t</style>\n\t\t\t\t\t</head>\n\t\t\t\t\t<body>\n\t\t\t\t` + html.replace(new RegExp('flex-basis:', 'g'), '-webkit-flex-basis:').replace(new RegExp('flex:', 'g'), '-webkit-flex:') + '</body>';\n\n\t\t\t\tawait page.setContent(content, { waitUntil: ['domcontentloaded', 'load', 'networkidle0'] });\n\t\t\t\tawait page.evaluateHandle('document.fonts.ready');\n\t\t\t\t\n\t\t\t\tlet tmpFileName = (pdfCnt++) + '-' + fileName.replace(new RegExp(/[^0-9\\.a-zA-Z]/g), '');\t\n\t\t\t\n\t\t\t\tawait page.pdf({\n\t\t\t\t\tscale: 1,\n\t\t\t\t\tlandscape: orientation === 'portrait' ? false : true,\n\t\t\t\t\tformat: 'letter',\n\t\t\t\t\tmargin: {\n\t\t\t\t\t\ttop: '1cm',\n\t\t\t\t\t\tbottom: '1cm',\n\t\t\t\t\t\tleft: '1cm',\n\t\t\t\t\t\tright: '1cm'\n\t\t\t\t\t},\n\t\t\t\t\tprintBackground: true,\n\t\t\t\t\tdisplayHeaderFooter: true,\n\t\t\t\t\theaderTemplate: `\n\t\t\t\t\t\t<style>\n\t\t\t\t\t\t\t#header { \n\t\t\t\t\t\t\t\tpadding: 0 0 10px 10px !important; \n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t</style>\n\t\t\t\t\t\t<span></span>\n\t\t\t\t\t`,\n\t\t\t\t\tfooterTemplate: `\n\t\t\t\t\t\t<style>\n\t\t\t\t\t\t\t#footer { \n\t\t\t\t\t\t\t\tpadding: 0 0 10px 10px !important;\n\t\t\t\t\t\t\t\tfont-size: 10px;\n\t\t\t\t\t\t\t\tfont-family: san-serif;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t</style>\n\t\t\t\t\t\t<div style=\"padding-bottom: 2px; padding-right: 15px; text-align: right; width: 100%;\">\n\t\t\t\t\t\t\tPage&nbsp;<span class=\"pageNumber\"></span>&nbsp;of&nbsp;<span class=\"totalPages\"></span>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t`,\n\t\t\t\t\tpath: path.join(__dirname, (tmpFileName)),\n\t\t\t\t\ttimeout: 0\n\t\t\t\t});\n\n\t\t\t\tif (enableDebugFlag && enableDebugFlag.value) {\n\t\t\t\t\t// Set viewport dimensions based on orientation\n\t\t\t\t\tif (orientation === 'landscape') {\n\t\t\t\t\t\tawait page.setViewport({ width: 1100, height: 850 });\n\t\t\t\t\t} \n\t\t\t\t\telse {\n\t\t\t\t\t\tawait page.setViewport({ width: 850, height: 1100 });\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tawait browser.close();\n\t\t\t\t\n\t\t\t\tif (fs.existsSync(path.join(__dirname, (tmpFileName)))) {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tlet data = fs.readFileSync(path.join(__dirname, (tmpFileName)));\n\t\t\t\t\t\tfs.unlinkSync(path.join(__dirname, (tmpFileName)));\n\t\t\t\t\t\tif (!upload) {\n\t\t\t\t\t\t\treturn 'data:application/pdf;base64,' + Buffer.from(data).toString('base64');\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\tlet fileData = 'data:application/pdf;base64,' + Buffer.from(data).toString('base64');\n\t\t\t\t\t\t\treturn this.callMethod('uploadFileAndSave', fileName, fileData, (4 * Math.ceil(fileData.length / 3)), uploadFileOrder !== null ? uploadFileOrder : -1, uploadFileType, false);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tcatch (errRead) {\n\t\t\t\t\t\terrRead.message = 'Error in Generate PDF: No file - ' + errRead.message;\n\t\t\t\t\t\tthrow errRead;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tconsole.log('No tmp file ', tmpFileName);\n\t\t\t\t\tthrow new Error('Error in Generate PDF: No tmp file');\n\t\t\t\t}\n\t\t\t},\n\t\t\tworkerTaskWeight: 2\n\t\t},\n\t\tgeneratePDFNoPageNumber: {\n\t\t\tcheck: new SimpleSchema({\n\t\t\t\thtml: {\n\t\t\t\t\ttype: String\n\t\t\t\t},\n\t\t\t\tfileName: {\n\t\t\t\t\ttype: String\n\t\t\t\t},\n\t\t\t\torientation: {\n\t\t\t\t\ttype: String,\n\t\t\t\t\toptional: true\n\t\t\t\t},\n\t\t\t\tfontSize: {\n\t\t\t\t\ttype: String,\n\t\t\t\t\toptional: true\n\t\t\t\t},\n\t\t\t\tupload: {\n\t\t\t\t\ttype: Boolean,\n\t\t\t\t\toptional: true\n\t\t\t\t},\n\t\t\t\tuploadFileOrder: {\n\t\t\t\t\ttype: Number,\n\t\t\t\t\toptional: true\n\t\t\t\t},\n\t\t\t\tuploadFileType: {\n\t\t\t\t\ttype: String,\n\t\t\t\t\toptional: true\n\t\t\t\t}\n\t\t\t}),\n\t\t\tfunction: async function(html, fileName, orientation = 'portrait', fontSize = '12px', upload = false, uploadFileOrder = -1, uploadFileType = '') {\n\t\t\t\t// console.log(new Date(), 'GENERATE PDF CALL', fileName, orientation, fontSize, upload);\n\n\t\t\t\tconst args = [\n\t\t\t\t\t\"--disable-dev-shm-usage\",\n\t\t\t\t\t\"--no-sandbox\",\n\t\t\t\t\t\"--disable-setuid-sandbox\",\n\t\t\t\t\t\"--disable-accelerated-2d-canvas\",\n\t\t\t\t\t\"--disable-gpu\",\n\t\t\t\t\t\"--allow-file-access-from-files\", \n\t\t\t\t\t\"--enable-local-file-accesses\",\n\t\t\t\t\t'--font-render-hinting=none'\n\t\t\t\t];\n\n\t\t\t\tconst browser = await puppeteer.launch({\n\t\t\t\t\theadless: true, // run in headless mode\n\t\t\t\t\tdevtools: false, // run with dev tools\n\t\t\t\t\targs,\n\t\t\t\t\tignoreDefaultArgs: [\"--disable-extensions\"]\n\t\t\t\t}); // run browser\n\t\t\t\t\n\t\t\t\tconst page = await browser.newPage(); // create new tab\n\n\t\t\t\tlet pathToFont = '';\n\n\t\t\t\tif (fs.existsSync(path.join(__dirname, ('../private/fonts/dejavuserif.woff')))) {\n\t\t\t\t\tpathToFont = path.join(__dirname, ('../private/fonts/'));\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tif (fs.existsSync(path.join(this.clientDir, ('./private/fonts/dejavuserif.woff')))) {\n\t\t\t\t\t\tpathToFont = path.join(this.clientDir, ('./private/fonts/'));\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\tpathToFont = '/usr/share/fonts/dejavu/';\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tlet dejavuserif_woff = 'data:application/font-woff;base64,' + Buffer.from(fs.readFileSync(pathToFont + 'dejavuserif.woff').buffer).toString('base64');\n\t\t\t\tlet dejavuserifBold_woff = 'data:application/font-woff;base64,' + Buffer.from(fs.readFileSync(pathToFont + 'dejavuserif-bold.woff').buffer).toString('base64');\n\t\t\t\tlet dejavuserifItalic_woff = 'data:application/font-woff;base64,' + Buffer.from(fs.readFileSync(pathToFont + 'dejavuserif-italic.woff').buffer).toString('base64');\n\t\t\t\tlet dejavuserifBoldItalic_woff = 'data:application/font-woff;base64,' + Buffer.from(fs.readFileSync(pathToFont + 'dejavuserif-bolditalic.woff').buffer).toString('base64');\n\n\t\t\t\tlet content = `\n\t\t\t\t\t<head>\n\t\t\t\t\t\t<style type=\"text/css\">\n\t\t\t\t\t\t\t@font-face {\n\t\t\t\t\t\t\t\tfont-family: 'Dejavu Serif';\n\t\t\t\t\t\t\t\tfont-style: normal;\n\t\t\t\t\t\t\t\tfont-weight: normal;\n\t\t\t\t\t\t\t\tsrc: url(\"` + dejavuserif_woff + `\") format('woff');\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t@font-face {\n\t\t\t\t\t\t\t\tfont-family: 'Dejavu Serif';\n\t\t\t\t\t\t\t\tfont-style: normal;\n\t\t\t\t\t\t\t\tfont-weight: bold;\n\t\t\t\t\t\t\t\tsrc: url(\"` + dejavuserifBold_woff + `\") format('woff');\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t@font-face {\n\t\t\t\t\t\t\t\tfont-family: 'Dejavu Serif';\n\t\t\t\t\t\t\t\tfont-style: italic;\n\t\t\t\t\t\t\t\tfont-weight: normal;\n\t\t\t\t\t\t\t\tsrc: url(\"` + dejavuserifItalic_woff + `\") format('woff');\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t@font-face {\n\t\t\t\t\t\t\t\tfont-family: 'Dejavu Serif';\n\t\t\t\t\t\t\t\tfont-style: italic;\n\t\t\t\t\t\t\t\tfont-weight: bold;\n\t\t\t\t\t\t\t\tsrc: url(\"` + dejavuserifBoldItalic_woff + `\") format('woff');\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\tbody {\n\t\t\t\t\t\t\t\tfont-family: 'Dejavu Serif', serif;\n\t\t\t\t\t\t\t\tfont-size: ` + (fontSize ? fontSize : '12px') + `;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t.row {\n\t\t\t\t\t\t\t\tdisplay: -webkit-flex;\n\t\t\t\t\t\t\t\tdisplay: flex;\n\t\t\t\t\t\t\t\tflex-wrap: wrap;\n\t\t\t\t\t\t\t\t-webkit-flex-wrap: wrap;\n\t\t\t\t\t\t\t\tpage-break-inside: avoid !important;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t.page-break {\n\t\t\t\t\t\t\t\tpage-break-before: always !important;\n\t\t\t\t\t\t\t\tpadding-top: 1px;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t.cell {\n\t\t\t\t\t\t\t\tbox-sizing: border-box;\n\t\t\t\t\t\t\t\tpadding : 2px;\n\t\t\t\t\t\t\t\t-webkit-flex: 1;\n\t\t\t\t\t\t\t\tword-wrap: break-word;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t.cell-no-padding {\n\t\t\t\t\t\t\t\tbox-sizing: border-box;\n\t\t\t\t\t\t\t\t-webkit-flex: 1;\n\t\t\t\t\t\t\t\tword-wrap: break-word;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t.centered {\n\t\t\t\t\t\t\t\t-webkit-justify-content: center;\n\t\t\t\t\t\t\t\t-webkit-align-items: center;\n\t\t\t\t\t\t\t\tdisplay: -webkit-flex;\n\t\t\t\t\t\t\t\ttext-align: center;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t.centered-left {\n\t\t\t\t\t\t\t\t-webkit-align-items: center;\n\t\t\t\t\t\t\t\tdisplay: -webkit-flex;\n\t\t\t\t\t\t\t\t-webkit-justify-content: flex-start;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t.centered-right {\n\t\t\t\t\t\t\t\t-webkit-justify-content: flex-end;\n\t\t\t\t\t\t\t\t-webkit-align-items: center;\n\t\t\t\t\t\t\t\tdisplay: -webkit-flex;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t.box {\n\t\t\t\t\t\t\t\tborder: 1px solid black;\n\t\t\t\t\t\t\t\tmargin: -1px 0px 0px -1px;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t.boxNoBorder {\n\t\t\t\t\t\t\t\tmargin: -1px 0px 0px -1px;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tpre {\n\t\t\t\t\t\t\t\twhite-space: pre-wrap; /* css-3 */\n\t\t\t\t\t\t\t\twhite-space: -moz-pre-wrap; /* Mozilla, since 1999 */\n\t\t\t\t\t\t\t\twhite-space: -pre-wrap; /* Opera 4-6 */\n\t\t\t\t\t\t\t\twhite-space: -o-pre-wrap; /* Opera 7 */\n\t\t\t\t\t\t\t\tword-wrap: break-word; /* Internet Explorer 5.5+ */\n\t\t\t\t\t\t\t\tfont-size: 12px;\n\t\t\t\t\t\t\t\tfont-family: 'Dejavu Serif'; \n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t</style>\n\t\t\t\t\t\t<meta charset=\"UTF-8\">\n\t\t\t\t\t</head>\n\t\t\t\t\t<body>\n\t\t\t\t` + html.replace(new RegExp('flex-basis:', 'g'), '-webkit-flex-basis:').replace(new RegExp('flex:', 'g'), '-webkit-flex:') + '</body>';\n\n\t\t\t\tawait page.setContent(content, { waitUntil: ['domcontentloaded', 'load', 'networkidle0'] });\n\t\t\t\tawait page.evaluateHandle('document.fonts.ready');\n\t\t\t\t\n\t\t\t\tlet tmpFileName = (pdfCnt++) + '-' + fileName.replace(new RegExp(/[^0-9\\.a-zA-Z]/g), '');\t\n\t\t\t\n\t\t\t\tawait page.pdf({\n\t\t\t\t\tscale: 1,\n\t\t\t\t\tlandscape: orientation === 'portrait' ? false : true,\n\t\t\t\t\tformat: 'letter',\n\t\t\t\t\tmargin: {\n\t\t\t\t\t\ttop: '1cm',\n\t\t\t\t\t\tbottom: '1cm',\n\t\t\t\t\t\tleft: '1cm',\n\t\t\t\t\t\tright: '1cm'\n\t\t\t\t\t},\n\t\t\t\t\tprintBackground: true,\n\t\t\t\t\tdisplayHeaderFooter: true,\n\t\t\t\t\theaderTemplate: `\n\t\t\t\t\t\t<style>\n\t\t\t\t\t\t\t#header { \n\t\t\t\t\t\t\t\tpadding: 0 0 10px 10px !important; \n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t</style>\n\t\t\t\t\t\t<span></span>\n\t\t\t\t\t`,\n\t\t\t\t\tfooterTemplate: `\n\t\t\t\t\t<style>\n\t\t\t\t\t\t#footer { \n\t\t\t\t\t\t\tpadding: 0 0 10px 10px !important;\n\t\t\t\t\t\t\tfont-size: 10px;\n\t\t\t\t\t\t\tfont-family: san-serif;\n\t\t\t\t\t\t}\n\t\t\t\t\t</style>\n\t\t\t\t\t<div style=\"padding-bottom: 2px; padding-right: 15px; text-align: right; width: 100%;\">\n\t\t\t\t\t\t\n\t\t\t\t\t</div>\n\t\t\t\t\t`,\n\t\t\t\t\tpath: path.join(__dirname, (tmpFileName)),\n\t\t\t\t\ttimeout: 0\n\t\t\t\t});\n\t\t\t\tawait browser.close();\n\t\t\t\t\n\t\t\t\tif (fs.existsSync(path.join(__dirname, (tmpFileName)))) {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tlet data = fs.readFileSync(path.join(__dirname, (tmpFileName)))\n\t\t\t\t\t\tfs.unlinkSync(path.join(__dirname, (tmpFileName)));\n\t\t\t\t\t\tif (!upload) {\n\t\t\t\t\t\t\treturn 'data:application/pdf;base64,' + Buffer.from(data).toString('base64');\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\tlet fileData = 'data:application/pdf;base64,' + Buffer.from(data).toString('base64');\n\t\t\t\t\t\t\treturn this.callMethod('uploadFileAndSave', fileName, fileData, (4 * Math.ceil(fileData.length / 3)), uploadFileOrder !== null ? uploadFileOrder : -1, uploadFileType, false);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tcatch (errRead) {\n\t\t\t\t\t\terrRead.message = 'Error in Generate PDF No Page Number: No file - ' + errRead.message;\n\t\t\t\t\t\tthrow errRead;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tconsole.log('No tmp file ', tmpFileName);\n\t\t\t\t\tthrow new Error('Error in Generate PDF No Page Number: No tmp file');\n\t\t\t\t}\n\t\t\t},\n\t\t\tworkerTaskWeight: 2\n\t\t},\n\t\tmergePDFResolve: {\n\t\t\tcheck: new SimpleSchema({\n\t\t\t\tfileKeys: {\n\t\t\t\t\ttype: Array\n\t\t\t\t},\n\t\t\t\t'fileKeys.$': {\n\t\t\t\t\ttype: String\n\t\t\t\t},\n\t\t\t\tfileName: {\n\t\t\t\t\ttype: String\n\t\t\t\t},\n\t\t\t\tfileType: {\n\t\t\t\t\ttype: String,\n\t\t\t\t\toptional: true\n\t\t\t\t}\n\t\t\t}),\n\t\t\tfunction: async function(fileKeys: string[], fileName: string, fileType?: string) {\n\t\t\t\ttry {\n\t\t\t\t\tlet resSigneds = await this.callMethod('getSignedUrls', fileKeys, 900);\n\n\t\t\t\t\tif (resSigneds && resSigneds.length) {\n\t\t\t\t\t\tlet promises = [];\n\t\n\t\t\t\t\t\tresSigneds.forEach((signedUrl) => {\n\t\t\t\t\t\t\tpromises.push(this.callMethod('getDataURIfromURL', signedUrl));\n\t\t\t\t\t\t});\n\t\t\t\t\t\t\n\t\t\t\t\t\tlet fileDatas = await Promise.all(promises);\n\t\t\t\t\t\tconst mergedPdf = await PDFDocument.create();\n\n\t\t\t\t\t\tfor (let i = 0; i < fileDatas.length; i++) {\n\t\t\t\t\t\t\tlet fileData = fileDatas[i];\n\n\t\t\t\t\t\t\tif (fileData) {\n\t\t\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t\t\tif (fileData.startsWith('data:application/pdf;base64,')) {\n\t\t\t\t\t\t\t\t\t\tconst pdf = await PDFDocument.load(fileData, { updateMetadata: false, parseSpeed: ParseSpeeds.Fastest, ignoreEncryption: true });\n\t\t\t\t\t\t\t\t\t\tconst copiedPages = await mergedPdf.copyPages(pdf, pdf.getPageIndices());\n\t\t\t\t\t\t\t\t\t\tcopiedPages.forEach((page) => {\n\t\t\t\t\t\t\t\t\t\t\tmergedPdf.addPage(page);\n\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\telse if (fileData.startsWith('data:image/jpeg;base64,/9j/') || fileData.startsWith('data:image/png;base64,/9j/')) {\n\t\t\t\t\t\t\t\t\t\tconst pdf = await PDFDocument.create();\n\t\t\t\t\t\t\t\t\t\tconst img = await pdf.embedJpg(fileData);\n\t\t\t\t\t\t\t\t\t\tconst page = pdf.addPage();\n\t\t\t\t\t\t\t\t\t\tlet imgDim = img.scaleToFit(page.getWidth() * 0.75, page.getHeight() * 0.75);\n\t\t\t\t\t\t\t\t\t\tpage.drawImage(img, {\n\t\t\t\t\t\t\t\t\t\t\tx: page.getWidth() / 2 - imgDim.width / 2,\n\t\t\t\t\t\t\t\t\t\t\ty: page.getHeight() / 2 - imgDim.height / 2,\n\t\t\t\t\t\t\t\t\t\t\twidth: imgDim.width,\n\t\t\t\t\t\t\t\t\t\t\theight: imgDim.height,\n\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\tconst copiedPages = await mergedPdf.copyPages(pdf, pdf.getPageIndices());\n\t\t\t\t\t\t\t\t\t\tcopiedPages.forEach((page) => {\n\t\t\t\t\t\t\t\t\t\t\tmergedPdf.addPage(page);\n\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\telse if (fileData.startsWith('data:image/png;base64,iVBOR')) {\n\t\t\t\t\t\t\t\t\t\tconst pdf = await PDFDocument.create();\n\t\t\t\t\t\t\t\t\t\tconst img = await pdf.embedPng(fileData);\n\t\t\t\t\t\t\t\t\t\tconst page = pdf.addPage();\n\t\t\t\t\t\t\t\t\t\tlet imgDim = img.scaleToFit(page.getWidth() * 0.75, page.getHeight() * 0.75);\n\t\t\t\t\t\t\t\t\t\tpage.drawImage(img, {\n\t\t\t\t\t\t\t\t\t\t\tx: page.getWidth() / 2 - imgDim.width / 2,\n\t\t\t\t\t\t\t\t\t\t\ty: page.getHeight() / 2 - imgDim.height / 2,\n\t\t\t\t\t\t\t\t\t\t\twidth: imgDim.width,\n\t\t\t\t\t\t\t\t\t\t\theight: imgDim.height,\n\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\tconst copiedPages = await mergedPdf.copyPages(pdf, pdf.getPageIndices());\n\t\t\t\t\t\t\t\t\t\tcopiedPages.forEach((page) => {\n\t\t\t\t\t\t\t\t\t\t\tmergedPdf.addPage(page);\n\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\t\t\tconsole.log('Error - unsupported!!', fileData.slice(0, 60));\n\t\t\t\t\t\t\t\t\t\tthrow new Error('Error in Merge PDF Resolve: Unsupported document type - ' + fileData.slice(0, 60));\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t} \n\t\t\t\t\t\t\t\tcatch (error) {\n\t\t\t\t\t\t\t\t\tconsole.log('Error processing fileData:', fileData.slice(0, 60), error.message);\n\t\t\t\t\t\t\t\t\terror.message = `Error in Merge PDF Resolve: Error processing fileData: ${fileData.slice(0, 60)} - ${error.message}`;\n\t\t\t\t\t\t\t\t\tthrow error;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\tconsole.log('Error - no filedata!!', fileData);\n\t\t\t\t\t\t\t\tthrow new Error('Error in Merge PDF Resolve: No File Data');\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tlet mergedPDFUint8 = await mergedPdf.save();\n\n\t\t\t\t\t\tconst b64PDF = 'data:application/pdf;base64,' + Buffer.from(mergedPDFUint8).toString('base64');\n\n\t\t\t\t\t\treturn this.callMethod('uploadFileAndSave', fileName, b64PDF, (4 * Math.ceil(b64PDF.length / 3)), -1, fileType, false);\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\t\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tcatch (err) {\n\t\t\t\t\terr.message = 'Error in Merge PDF Resolve: PDF Merge - Get Signed URLs - ' + err.message;\n\t\t\t\t\t\n\t\t\t\t\tthrow err;\n\t\t\t\t}\n\t\t\t},\n\t\t\tworkerTaskWeight: 2\n\t\t},\t\t\n\t\tmergePDFResolveNoSave: {\n\t\t\tcheck: new SimpleSchema({\n\t\t\t\tfileKeys: {\n\t\t\t\t\ttype: Array\n\t\t\t\t},\n\t\t\t\t'fileKeys.$': {\n\t\t\t\t\ttype: String\n\t\t\t\t}\n\t\t\t}),\n\t\t\tfunction: async function(fileKeys: string[]) {\n\t\t\t\ttry {\n\t\t\t\t\tlet resSigneds = await this.callMethod('getSignedUrls', fileKeys, 900);\n\t\t\t\t\tif (resSigneds && resSigneds.length) {\n\t\t\t\t\t\tlet promises = [];\n\n\t\t\t\t\t\tresSigneds.forEach((signedUrl) => {\n\t\t\t\t\t\t\tpromises.push(this.callMethod('getDataURIfromURL', signedUrl));\n\t\t\t\t\t\t});\n\t\t\t\t\t\t\n\t\t\t\t\t\tlet fileDatas = await Promise.all(promises);\n\t\t\t\t\t\tconst mergedPdf = await PDFDocument.create();\n\n\t\t\t\t\t\tfor (let i = 0; i < fileDatas.length; i++) {\n\t\t\t\t\t\t\tlet fileData = fileDatas[i];\n\n\t\t\t\t\t\t\tif (fileData) {\n\t\t\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t\t\tif (fileData.startsWith('data:application/pdf;base64,')) {\n\t\t\t\t\t\t\t\t\t\tconst pdf = await PDFDocument.load(fileData, { updateMetadata: false, parseSpeed: ParseSpeeds.Fastest, ignoreEncryption: true});\n\t\t\t\t\t\t\t\t\t\tconst copiedPages = await mergedPdf.copyPages(pdf, pdf.getPageIndices());\n\t\t\t\t\t\t\t\t\t\tcopiedPages.forEach((page) => {\n\t\t\t\t\t\t\t\t\t\t\tmergedPdf.addPage(page);\n\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\telse if (fileData.startsWith('data:image/jpeg;base64,/9j/') || fileData.startsWith('data:image/png;base64,/9j/')) {\n\t\t\t\t\t\t\t\t\t\tconst pdf = await PDFDocument.create();\n\t\t\t\t\t\t\t\t\t\tconst img = await pdf.embedJpg(fileData);\n\t\t\t\t\t\t\t\t\t\tconst page = pdf.addPage();\n\t\t\t\t\t\t\t\t\t\tlet imgDim = img.scaleToFit(page.getWidth() * 0.75, page.getHeight() * 0.75);\n\t\t\t\t\t\t\t\t\t\tpage.drawImage(img, {\n\t\t\t\t\t\t\t\t\t\t\tx: page.getWidth() / 2 - imgDim.width / 2,\n\t\t\t\t\t\t\t\t\t\t\ty: page.getHeight() / 2 - imgDim.height / 2,\n\t\t\t\t\t\t\t\t\t\t\twidth: imgDim.width,\n\t\t\t\t\t\t\t\t\t\t\theight: imgDim.height,\n\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\tconst copiedPages = await mergedPdf.copyPages(pdf, pdf.getPageIndices());\n\t\t\t\t\t\t\t\t\t\tcopiedPages.forEach((page) => {\n\t\t\t\t\t\t\t\t\t\t\tmergedPdf.addPage(page);\n\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\telse if (fileData.startsWith('data:image/png;base64,iVBOR')) {\n\t\t\t\t\t\t\t\t\t\tconst pdf = await PDFDocument.create();\n\t\t\t\t\t\t\t\t\t\tconst img = await pdf.embedPng(fileData);\n\t\t\t\t\t\t\t\t\t\tconst page = pdf.addPage();\n\t\t\t\t\t\t\t\t\t\tlet imgDim = img.scaleToFit(page.getWidth() * 0.75, page.getHeight() * 0.75);\n\t\t\t\t\t\t\t\t\t\tpage.drawImage(img, {\n\t\t\t\t\t\t\t\t\t\t\tx: page.getWidth() / 2 - imgDim.width / 2,\n\t\t\t\t\t\t\t\t\t\t\ty: page.getHeight() / 2 - imgDim.height / 2,\n\t\t\t\t\t\t\t\t\t\t\twidth: imgDim.width,\n\t\t\t\t\t\t\t\t\t\t\theight: imgDim.height,\n\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\tconst copiedPages = await mergedPdf.copyPages(pdf, pdf.getPageIndices());\n\t\t\t\t\t\t\t\t\t\tcopiedPages.forEach((page) => {\n\t\t\t\t\t\t\t\t\t\t\tmergedPdf.addPage(page);\n\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\t\t\tconsole.log('Error - unsupported!!', fileData.slice(0, 60));\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tcatch (error) {\n\t\t\t\t\t\t\t\t\tconsole.log('Error processing fileData:', fileData.slice(0, 60), error);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\tconsole.log('Error - no filedata!!', fileData);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tlet mergedPDFUint8 = await mergedPdf.save();\n\n\t\t\t\t\t\tconst b64PDF = 'data:application/pdf;base64,' + Buffer.from(mergedPDFUint8).toString('base64');\n\t\t\t\t\t\t\n\t\t\t\t\t\treturn b64PDF;\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\tthrow new Error('Error in Merge PDF Resolve No Save: No signed urls');\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tcatch (err) {\n\t\t\t\t\terr.message = `Error in Merge PDF Resolve: ${err.message}`;\n\t\t\t\t\tthrow err;\n\t\t\t\t}\n\t\t\t},\n\t\t\tworkerTaskWeight: 2\n\t\t},\n\t\tmergePDFResolveHtml: {\n\t\t\tcheck: new SimpleSchema({\n\t\t\t\thtmls: {\n\t\t\t\t\ttype: Array\n\t\t\t\t},\n\t\t\t\t'htmls.$': {\n\t\t\t\t\ttype: String\n\t\t\t\t},\n\t\t\t\tfileName: {\n\t\t\t\t\ttype: String\n\t\t\t\t},\n\t\t\t\tfileType: {\n\t\t\t\t\ttype: String,\n\t\t\t\t\toptional: true\n\t\t\t\t},\n\t\t\t\tsave: {\n\t\t\t\t\ttype: Boolean,\n\t\t\t\t\toptional: true\n\t\t\t\t}\n\t\t\t}),\n\t\t\tfunction: async function(htmls: string[], fileName: string, fileType?: string, save = true) {\n\t\t\t\tconst mergedPdf = await PDFDocument.create();\n\n\t\t\t\tfor (let i = 0; i < htmls.length; i++) {\n\t\t\t\t\tlet fileData = htmls[i];\n\n\t\t\t\t\tif (fileData) {\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tif (fileData.startsWith('data:application/pdf;base64,')) {\n\t\t\t\t\t\t\t\tconst pdf = await PDFDocument.load(fileData, { updateMetadata: false, parseSpeed: ParseSpeeds.Fastest, ignoreEncryption: true });\n\t\t\t\t\t\t\t\tconst copiedPages = await mergedPdf.copyPages(pdf, pdf.getPageIndices());\n\t\t\t\t\t\t\t\tcopiedPages.forEach((page) => {\n\t\t\t\t\t\t\t\t\tmergedPdf.addPage(page);\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\telse if (fileData.startsWith('data:image/jpeg;base64,/9j/') || fileData.startsWith('data:image/png;base64,/9j/')) {\n\t\t\t\t\t\t\t\tconst pdf = await PDFDocument.create();\n\t\t\t\t\t\t\t\tconst img = await pdf.embedJpg(fileData);\n\t\t\t\t\t\t\t\tconst page = pdf.addPage();\n\t\t\t\t\t\t\t\tlet imgDim = img.scaleToFit(page.getWidth() * 0.75, page.getHeight() * 0.75);\n\t\t\t\t\t\t\t\tpage.drawImage(img, {\n\t\t\t\t\t\t\t\t\tx: page.getWidth() / 2 - imgDim.width / 2,\n\t\t\t\t\t\t\t\t\ty: page.getHeight() / 2 - imgDim.height / 2,\n\t\t\t\t\t\t\t\t\twidth: imgDim.width,\n\t\t\t\t\t\t\t\t\theight: imgDim.height,\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\tconst copiedPages = await mergedPdf.copyPages(pdf, pdf.getPageIndices());\n\t\t\t\t\t\t\t\tcopiedPages.forEach((page) => {\n\t\t\t\t\t\t\t\t\tmergedPdf.addPage(page);\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\telse if (fileData.startsWith('data:image/png;base64,iVBOR')) {\n\t\t\t\t\t\t\t\tconst pdf = await PDFDocument.create();\n\t\t\t\t\t\t\t\tconst img = await pdf.embedPng(fileData);\n\t\t\t\t\t\t\t\tconst page = pdf.addPage();\n\t\t\t\t\t\t\t\tlet imgDim = img.scaleToFit(page.getWidth() * 0.75, page.getHeight() * 0.75);\n\t\t\t\t\t\t\t\tpage.drawImage(img, {\n\t\t\t\t\t\t\t\t\tx: page.getWidth() / 2 - imgDim.width / 2,\n\t\t\t\t\t\t\t\t\ty: page.getHeight() / 2 - imgDim.height / 2,\n\t\t\t\t\t\t\t\t\twidth: imgDim.width,\n\t\t\t\t\t\t\t\t\theight: imgDim.height,\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\tconst copiedPages = await mergedPdf.copyPages(pdf, pdf.getPageIndices());\n\t\t\t\t\t\t\t\tcopiedPages.forEach((page) => {\n\t\t\t\t\t\t\t\t\tmergedPdf.addPage(page);\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\tconsole.log('Error - unsupported!!', fileData.slice(0, 60));\n\t\t\t\t\t\t\t\tthrow new Error('Error in Merge PDF Resolve HTML: Unsupported file - ' + fileData.slice(0, 60));\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tcatch (error) {\n\t\t\t\t\t\t\tconsole.log('Error processing fileData:', fileData.slice(0, 60), error);\n\t\t\t\t\t\t\terror.message = `Error in Merge PDF Resolve HTML: Error processing filedata - ${error.message}`;\n\t\t\t\t\t\t\tthrow error;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\tconsole.log('Error - no filedata!!', fileData);\n\t\t\t\t\t\tthrow new Error('Error in Merge PDF Resolve HTML: No File data');\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tlet mergedPDFUint8 = await mergedPdf.save();\n\n\t\t\t\tconst b64PDF = 'data:application/pdf;base64,' + Buffer.from(mergedPDFUint8).toString('base64');\n\n\t\t\t\tif (save) {\n\t\t\t\t\treturn this.callMethod('uploadFileAndSave', fileName, b64PDF, (4 * Math.ceil(b64PDF.length / 3)), -1, fileType, false);\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\treturn b64PDF;\n\t\t\t\t}\n\t\t\t},\n\t\t\tworkerTaskWeight: 2\n\t\t}\n\t});\n}"]}
1
+ {"version":3,"sources":["../../src/methods/pdf.ts"],"names":["fs","require","path","pdf_lib_1","puppeteer","simpl_schema_1","flag_collection_1","common_1","loadPDFMethods","methodManager","methods","generatePDF","check","default","html","type","String","fileName","orientation","optional","fontSize","upload","Boolean","uploadFileOrder","Number","uploadFileType","function","args","browser","Flags","findOne","enableDebugFlag","_a","sent","value","launch","headless","devtools","ignoreDefaultArgs","newPage","page","pathToFont","existsSync","join","__dirname","this","clientDir","dejavuserif_woff","Buffer","from","readFileSync","buffer","toString","dejavuserifBold_woff","dejavuserifItalic_woff","dejavuserifBoldItalic_woff","content","replace","RegExp","setContent","waitUntil","evaluateHandle","tmpFileName","objectIdHexString","pdf","scale","landscape","format","margin","top","bottom","left","right","printBackground","displayHeaderFooter","headerTemplate","footerTemplate","timeout","setViewport","width","height","close","console","log","Error","data","unlinkSync","fileData","callMethod","Math","ceil","length","errRead","message","workerTaskWeight","generatePDFNoPageNumber","mergePDFResolve","fileKeys","Array","fileKeys.$","fileType","resSigneds","promises_1","forEach","signedUrl","push","_this","Promise","all","fileDatas","PDFDocument","create","mergedPdf_1","i","startsWith","load","updateMetadata","parseSpeed","ParseSpeeds","Fastest","ignoreEncryption","copyPages","getPageIndices","addPage","embedJpg","img","imgDim","scaleToFit","getWidth","getHeight","drawImage","x","y","embedPng","slice","error_1","concat","save","mergedPDFUint8","b64PDF","err_1","mergePDFResolveNoSave","promises_2","mergedPdf_2","error_2","err_2","mergePDFResolveHtml","htmls","htmls.$","mergedPdf","error_3","exports"],"mappings":"k8CAAAA,I,qFAAAC,QAAA,IAAA,GACAC,KAAAD,QAAA,MAAA,EACAE,UAAAF,QAAA,SAAA,EACAG,UAAAH,QAAA,WAAA,EACAI,eAAAJ,QAAA,cAAA,EACAK,kBAAAL,QAAA,gCAAA,EAEAM,SAAAN,QAAA,gBAAA,EAEA,SAAgBO,eAAeC,GAC9BA,EAAcC,QAAQ,CACrBC,YAAa,CACZC,MAAO,IAAIP,eAAAQ,QAAa,CACvBC,KAAM,CACLC,KAAMC,M,EAEPC,SAAU,CACTF,KAAMC,M,EAEPE,YAAa,CACZH,KAAMC,OACNG,SAAU,CAAA,C,EAEXC,SAAU,CACTL,KAAMC,OACNG,SAAU,CAAA,C,EAEXE,OAAQ,CACPN,KAAMO,QACNH,SAAU,CAAA,C,EAEXI,gBAAiB,CAChBR,KAAMS,OACNL,SAAU,CAAA,C,EAEXM,eAAgB,CACfV,KAAMC,OACNG,SAAU,CAAA,C,EAEX,EACDO,SAAU,SAAeZ,EAAMG,EAAUC,EAA0BE,EAAmBC,EAAgBE,EAAsBE,G,OAAnF,KAAA,IAAAP,IAAAA,EAAA,YAA0B,KAAA,IAAAE,IAAAA,EAAA,QAAmB,KAAA,IAAAC,IAAAA,EAAA,CAAA,GAAgB,KAAA,IAAAE,IAAAA,EAAA,CAAmB,GAAG,KAAA,IAAAE,IAAAA,EAAA,I,6HAgBrG,OAbhBE,EAAO,CACZ,0BACA,eACA,2BACA,kCACA,gBACA,iCACA,+BACA,8BAGGC,EAAU,KAEQ,CAAA,EAAMtB,kBAAAuB,MAAMC,QAAQ,CAACf,KAAM,kBAAkB,CAAC,G,cAAhEgB,EAAkBC,EAAAC,KAAA,IAECF,EAAgBG,MAC5B,CAAA,EAAM9B,UAAU+B,OAAO,CAChCC,SAAU,CAAA,EACVC,SAAU,CAAA,EACVV,KAAIA,EACJW,kBAAmB,CAAC,uB,CACpB,GANE,CAAA,EAAA,G,cACHV,EAAUI,EAAAC,KAAA,E,aAQA,MAAA,CAAA,EAAM7B,UAAU+B,OAAO,CAChCC,SAAU,CAAA,EACVC,SAAU,CAAA,EACVV,KAAIA,EACJW,kBAAmB,CAAC,uB,CACpB,G,OALDV,EAAUI,EAAAC,KAAA,E,iBAQE,MAAA,CAAA,EAAML,EAAQW,QAAO,G,OA6HlC,OA7HMC,EAAOR,EAAAC,KAAA,EAETQ,EAAa,GAGhBA,EADGzC,GAAG0C,WAAWxC,KAAKyC,KAAKC,UAAW,mCAAqC,CAAC,EAC/D1C,KAAKyC,KAAKC,UAAW,mBAAqB,EAGnD5C,GAAG0C,WAAWxC,KAAKyC,KAAKE,KAAKC,UAAW,kCAAoC,CAAC,EACnE5C,KAAKyC,KAAKE,KAAKC,UAAW,kBAAoB,EAG9C,2BAIXC,EAAmB,qCAAuCC,OAAOC,KAAKjD,GAAGkD,aAAaT,EAAa,kBAAkB,EAAEU,MAAM,EAAEC,SAAS,QAAQ,EAChJC,EAAuB,qCAAuCL,OAAOC,KAAKjD,GAAGkD,aAAaT,EAAa,uBAAuB,EAAEU,MAAM,EAAEC,SAAS,QAAQ,EACzJE,EAAyB,qCAAuCN,OAAOC,KAAKjD,GAAGkD,aAAaT,EAAa,yBAAyB,EAAEU,MAAM,EAAEC,SAAS,QAAQ,EAC7JG,EAA6B,qCAAuCP,OAAOC,KAAKjD,GAAGkD,aAAaT,EAAa,6BAA6B,EAAEU,MAAM,EAAEC,SAAS,QAAQ,EAErKI,EAAU,6OAOIT,EAAmB,yNAOnBM,EAAuB,2NAOvBC,EAAyB,yNAOzBC,EAA6B,iKAK1BnC,GAAsB,QAAU,8jEAqEjDN,EAAK2C,QAAQ,IAAIC,OAAO,cAAe,GAAG,EAAG,qBAAqB,EAAED,QAAQ,IAAIC,OAAO,QAAS,GAAG,EAAG,eAAe,EAAI,UAE7H,CAAA,EAAMlB,EAAKmB,WAAWH,EAAS,CAAEI,UAAW,CAAC,mBAAoB,OAAQ,eAAe,CAAE,G,OAC1F,OADA5B,EAAAC,KAAA,EACA,CAAA,EAAMO,EAAKqB,eAAe,sBAAsB,G,OAIhD,OAJA7B,EAAAC,KAAA,EAEI6B,GAAc,EAAAvD,SAAAwD,mBAAiB,EAAK,OAExC,CAAA,EAAMvB,EAAKwB,IAAI,CACdC,MAAO,EACPC,UAA2B,aAAhBhD,EACXiD,OAAQ,SACRC,OAAQ,CACPC,IAAK,MACLC,OAAQ,MACRC,KAAM,MACNC,MAAO,K,EAERC,gBAAiB,CAAA,EACjBC,oBAAqB,CAAA,EACrBC,eAAgB,qLAQhBC,eAAgB,qcAYhB1E,KAAMA,KAAKyC,KAAKC,UAAW,CAAa,EACxCiC,QAAS,C,CACT,G,cAlCD7C,EAAAC,KAAA,EAoCIF,GAAmBA,EAAgBG,OAElB,cAAhBhB,EAAA,CAAA,EAAA,IACH,CAAA,EAAMsB,EAAKsC,YAAY,CAAEC,MAAO,KAAMC,OAAQ,GAAG,CAAE,GAHjD,CAAA,EAAA,I,eAGFhD,EAAAC,KAAA,E,eAGA,MAAA,CAAA,EAAMO,EAAKsC,YAAY,CAAEC,MAAO,IAAKC,OAAQ,IAAI,CAAE,G,QAAnDhD,EAAAC,KAAA,E,mBAIF,MAAA,CAAA,EAAML,EAAQqD,MAAK,G,QAEnB,GAFAjD,EAAAC,KAAA,EAEIjC,CAAAA,GAAG0C,WAAWxC,KAAKyC,KAAKC,UAAW,CAAa,CAAC,EAmBpD,MADAsC,QAAQC,IAAI,eAAgBrB,CAAW,EACjC,IAAIsB,MAAM,oCAAoC,EAlBpD,IAGC,OAFIC,EAAOrF,GAAGkD,aAAahD,KAAKyC,KAAKC,UAAW,CAAa,CAAC,EAC9D5C,GAAGsF,WAAWpF,KAAKyC,KAAKC,UAAW,CAAa,CAAC,EAC5CvB,GAIAkE,EAAW,+BAAiCvC,OAAOC,KAAKoC,CAAI,EAAEjC,SAAS,QAAQ,EACnF,CAAA,EAAOP,KAAK2C,WAAW,oBAAqBvE,EAAUsE,EAAW,EAAIE,KAAKC,KAAKH,EAASI,OAAS,CAAC,EAAwB,OAApBpE,EAA2BA,EAAkB,CAAC,EAAGE,EAAgB,CAAA,CAAK,IAJ5K,CAAA,EAAO,+BAAiCuB,OAAOC,KAAKoC,CAAI,EAAEjC,SAAS,QAAQ,E,CAO7E,MAAOwC,GAEN,MADAA,EAAQC,QAAU,oCAAsCD,EAAQC,QAC1DD,C,iBAQTE,iBAAkB,C,EAEnBC,wBAAyB,CACxBnF,MAAO,IAAIP,eAAAQ,QAAa,CACvBC,KAAM,CACLC,KAAMC,M,EAEPC,SAAU,CACTF,KAAMC,M,EAEPE,YAAa,CACZH,KAAMC,OACNG,SAAU,CAAA,C,EAEXC,SAAU,CACTL,KAAMC,OACNG,SAAU,CAAA,C,EAEXE,OAAQ,CACPN,KAAMO,QACNH,SAAU,CAAA,C,EAEXI,gBAAiB,CAChBR,KAAMS,OACNL,SAAU,CAAA,C,EAEXM,eAAgB,CACfV,KAAMC,OACNG,SAAU,CAAA,C,EAEX,EACDO,SAAU,SAAeZ,EAAMG,EAAUC,EAA0BE,EAAmBC,EAAgBE,EAAsBE,G,OAAnF,KAAA,IAAAP,IAAAA,EAAA,YAA0B,KAAA,IAAAE,IAAAA,EAAA,QAAmB,KAAA,IAAAC,IAAAA,EAAA,CAAA,GAAgB,KAAA,IAAAE,IAAAA,EAAA,CAAmB,GAAG,KAAA,IAAAE,IAAAA,EAAA,I,2HAc3G,OAXVE,EAAO,CACZ,0BACA,eACA,2BACA,kCACA,gBACA,iCACA,+BACA,8BAGe,CAAA,EAAMvB,UAAU+B,OAAO,CACtCC,SAAU,CAAA,EACVC,SAAU,CAAA,EACVV,KAAIA,EACJW,kBAAmB,CAAC,uB,CACpB,G,OAEY,MAAA,CAAA,GAPPV,EAAUI,EAAAC,KAAA,GAOWM,QAAO,G,OA8HlC,OA9HMC,EAAOR,EAAAC,KAAA,EAETQ,EAAa,GAGhBA,EADGzC,GAAG0C,WAAWxC,KAAKyC,KAAKC,UAAW,mCAAqC,CAAC,EAC/D1C,KAAKyC,KAAKC,UAAW,mBAAqB,EAGnD5C,GAAG0C,WAAWxC,KAAKyC,KAAKE,KAAKC,UAAW,kCAAoC,CAAC,EACnE5C,KAAKyC,KAAKE,KAAKC,UAAW,kBAAoB,EAG9C,2BAIXC,EAAmB,qCAAuCC,OAAOC,KAAKjD,GAAGkD,aAAaT,EAAa,kBAAkB,EAAEU,MAAM,EAAEC,SAAS,QAAQ,EAChJC,EAAuB,qCAAuCL,OAAOC,KAAKjD,GAAGkD,aAAaT,EAAa,uBAAuB,EAAEU,MAAM,EAAEC,SAAS,QAAQ,EACzJE,EAAyB,qCAAuCN,OAAOC,KAAKjD,GAAGkD,aAAaT,EAAa,yBAAyB,EAAEU,MAAM,EAAEC,SAAS,QAAQ,EAC7JG,EAA6B,qCAAuCP,OAAOC,KAAKjD,GAAGkD,aAAaT,EAAa,6BAA6B,EAAEU,MAAM,EAAEC,SAAS,QAAQ,EAErKI,EAAU,6OAOIT,EAAmB,yNAOnBM,EAAuB,2NAOvBC,EAAyB,yNAOzBC,EAA6B,iKAK1BnC,GAAsB,QAAU,omEAsEjDN,EAAK2C,QAAQ,IAAIC,OAAO,cAAe,GAAG,EAAG,qBAAqB,EAAED,QAAQ,IAAIC,OAAO,QAAS,GAAG,EAAG,eAAe,EAAI,UAE7H,CAAA,EAAMlB,EAAKmB,WAAWH,EAAS,CAAEI,UAAW,CAAC,mBAAoB,OAAQ,eAAe,CAAE,G,OAC1F,OADA5B,EAAAC,KAAA,EACA,CAAA,EAAMO,EAAKqB,eAAe,sBAAsB,G,OAIhD,OAJA7B,EAAAC,KAAA,EAEI6B,GAAc,EAAAvD,SAAAwD,mBAAiB,EAAK,OAExC,CAAA,EAAMvB,EAAKwB,IAAI,CACdC,MAAO,EACPC,UAA2B,aAAhBhD,EACXiD,OAAQ,SACRC,OAAQ,CACPC,IAAK,MACLC,OAAQ,MACRC,KAAM,MACNC,MAAO,K,EAERC,gBAAiB,CAAA,EACjBC,oBAAqB,CAAA,EACrBC,eAAgB,qLAQhBC,eAAgB,yVAYhB1E,KAAMA,KAAKyC,KAAKC,UAAW,CAAa,EACxCiC,QAAS,C,CACT,G,OACD,OAnCA7C,EAAAC,KAAA,EAmCA,CAAA,EAAML,EAAQqD,MAAK,G,OAEnB,GAFAjD,EAAAC,KAAA,EAEIjC,CAAAA,GAAG0C,WAAWxC,KAAKyC,KAAKC,UAAW,CAAa,CAAC,EAmBpD,MADAsC,QAAQC,IAAI,eAAgBrB,CAAW,EACjC,IAAIsB,MAAM,mDAAmD,EAlBnE,IAGC,OAFIC,EAAOrF,GAAGkD,aAAahD,KAAKyC,KAAKC,UAAW,CAAa,CAAC,EAC9D5C,GAAGsF,WAAWpF,KAAKyC,KAAKC,UAAW,CAAa,CAAC,EAC5CvB,GAIAkE,EAAW,+BAAiCvC,OAAOC,KAAKoC,CAAI,EAAEjC,SAAS,QAAQ,EACnF,CAAA,EAAOP,KAAK2C,WAAW,oBAAqBvE,EAAUsE,EAAW,EAAIE,KAAKC,KAAKH,EAASI,OAAS,CAAC,EAAwB,OAApBpE,EAA2BA,EAAkB,CAAC,EAAGE,EAAgB,CAAA,CAAK,IAJ5K,CAAA,EAAO,+BAAiCuB,OAAOC,KAAKoC,CAAI,EAAEjC,SAAS,QAAQ,E,CAO7E,MAAOwC,GAEN,MADAA,EAAQC,QAAU,mDAAqDD,EAAQC,QACzED,C,iBAQTE,iBAAkB,C,EAEnBE,gBAAiB,CAChBpF,MAAO,IAAIP,eAAAQ,QAAa,CACvBoF,SAAU,CACTlF,KAAMmF,K,EAEPC,aAAc,CACbpF,KAAMC,M,EAEPC,SAAU,CACTF,KAAMC,M,EAEPoF,SAAU,CACTrF,KAAMC,OACNG,SAAU,CAAA,C,EAEX,EACDO,SAAU,SAAeuE,EAAoBhF,EAAkBmF,G,2IAE5C,O,wBAAA,CAAA,EAAMvD,KAAK2C,WAAW,gBAAiBS,EAAU,GAAG,G,cAAjEI,EAAarE,EAAAC,KAAA,IAECoE,EAAWV,QACxBW,EAAW,GAEfD,EAAWE,QAAQ,SAACC,GACnBF,EAASG,KAAKC,EAAKlB,WAAW,oBAAqBgB,CAAS,CAAC,CAC9D,CAAC,EAEe,CAAA,EAAMG,QAAQC,IAAIN,CAAQ,IAPvC,CAAA,EAAA,I,OAQe,OADdO,EAAY7E,EAAAC,KAAA,EACE,CAAA,EAAM9B,UAAA2G,YAAYC,OAAM,G,OAApCC,EAAYhF,EAAAC,KAAA,EAETgF,EAAI,E,sBAAGA,EAAIJ,EAAUlB,QAAM,MAAA,CAAA,EAAA,I,KAC/BJ,EAAWsB,EAAUI,IAErB,MAAA,CAAA,EAAA,I,gDAEE1B,EAAS2B,WAAW,8BAA8B,GACzC,CAAA,EAAM/G,UAAA2G,YAAYK,KAAK5B,EAAU,CAAE6B,eAAgB,CAAA,EAAOC,WAAYlH,UAAAmH,YAAYC,QAASC,iBAAkB,CAAA,CAAI,CAAE,GAD5H,CAAA,EAAA,G,OAEiB,OADdxD,EAAMhC,EAAAC,KAAA,EACQ,CAAA,EAAM+E,EAAUS,UAAUzD,EAAKA,EAAI0D,eAAc,CAAE,G,cAAnD1F,EAAAC,KAAA,EACRsE,QAAQ,SAAC/D,GACpBwE,EAAUW,QAAQnF,CAAI,CACvB,CAAC,E,qBAEO+C,EAAS2B,WAAW,6BAA6B,GAAK3B,EAAS2B,WAAW,4BAA4B,EAClG,CAAA,EAAM/G,UAAA2G,YAAYC,OAAM,GAD5B,CAAA,EAAA,I,OAEI,MAAA,CAAA,GADN/C,EAAMhC,EAAAC,KAAA,GACU2F,SAASrC,CAAQ,G,QASnB,OATdsC,EAAM7F,EAAAC,KAAA,EACNO,EAAOwB,EAAI2D,QAAO,EACpBG,EAASD,EAAIE,WAA6B,IAAlBvF,EAAKwF,SAAQ,EAA8B,IAAnBxF,EAAKyF,UAAS,CAAS,EAC3EzF,EAAK0F,UAAUL,EAAK,CACnBM,EAAG3F,EAAKwF,SAAQ,EAAK,EAAIF,EAAO/C,MAAQ,EACxCqD,EAAG5F,EAAKyF,UAAS,EAAK,EAAIH,EAAO9C,OAAS,EAC1CD,MAAO+C,EAAO/C,MACdC,OAAQ8C,EAAO9C,M,CACf,EACmB,CAAA,EAAMgC,EAAUS,UAAUzD,EAAKA,EAAI0D,eAAc,CAAE,G,eAAnD1F,EAAAC,KAAA,EACRsE,QAAQ,SAAC/D,GACpBwE,EAAUW,QAAQnF,CAAI,CACvB,CAAC,E,sBAEO+C,EAAS2B,WAAW,6BAA6B,EAC7C,CAAA,EAAM/G,UAAA2G,YAAYC,OAAM,GAD5B,CAAA,EAAA,I,QAEI,MAAA,CAAA,GADN/C,EAAMhC,EAAAC,KAAA,GACUoG,SAAS9C,CAAQ,G,QASnB,OATdsC,EAAM7F,EAAAC,KAAA,EACNO,EAAOwB,EAAI2D,QAAO,EACpBG,EAASD,EAAIE,WAA6B,IAAlBvF,EAAKwF,SAAQ,EAA8B,IAAnBxF,EAAKyF,UAAS,CAAS,EAC3EzF,EAAK0F,UAAUL,EAAK,CACnBM,EAAG3F,EAAKwF,SAAQ,EAAK,EAAIF,EAAO/C,MAAQ,EACxCqD,EAAG5F,EAAKyF,UAAS,EAAK,EAAIH,EAAO9C,OAAS,EAC1CD,MAAO+C,EAAO/C,MACdC,OAAQ8C,EAAO9C,M,CACf,EACmB,CAAA,EAAMgC,EAAUS,UAAUzD,EAAKA,EAAI0D,eAAc,CAAE,G,eAAnD1F,EAAAC,KAAA,EACRsE,QAAQ,SAAC/D,GACpBwE,EAAUW,QAAQnF,CAAI,CACvB,CAAC,E,eAID,MADA0C,QAAQC,IAAI,wBAAyBI,EAAS+C,MAAM,EAAG,EAAE,CAAC,EACpD,IAAIlD,MAAM,2DAA6DG,EAAS+C,MAAM,EAAG,EAAE,CAAC,E,6BAMnG,M,WAFApD,QAAQC,IAAI,6BAA8BI,EAAS+C,MAAM,EAAG,EAAE,EAAGC,EAAM1C,OAAO,EAC9E0C,EAAM1C,QAAU,0DAAA2C,OAA0DjD,EAAS+C,MAAM,EAAG,EAAE,EAAC,KAAA,EAAAE,OAAMD,EAAM1C,OAAO,EAC5G0C,E,6BAKP,MADArD,QAAQC,IAAI,wBAAyBI,CAAQ,EACvC,IAAIH,MAAM,0CAA0C,E,eAzDtB6B,CAAC,G,cA6DlB,MAAA,CAAA,EAAMD,EAAUyB,KAAI,G,QAIzC,OAJIC,EAAiB1G,EAAAC,KAAA,EAEf0G,EAAS,+BAAiC3F,OAAOC,KAAKyF,CAAc,EAAEtF,SAAS,QAAQ,EAE7F,CAAA,EAAOP,KAAK2C,WAAW,oBAAqBvE,EAAU0H,EAAS,EAAIlD,KAAKC,KAAKiD,EAAOhD,OAAS,CAAC,EAAI,CAAC,EAAGS,EAAU,CAAA,CAAK,G,6BAStH,M,YAFIP,QAAU,6DAA+D+C,EAAI/C,QAE3E+C,E,wBAGR9C,iBAAkB,C,EAEnB+C,sBAAuB,CACtBjI,MAAO,IAAIP,eAAAQ,QAAa,CACvBoF,SAAU,CACTlF,KAAMmF,K,EAEPC,aAAc,CACbpF,KAAMC,M,EAEP,EACDU,SAAU,SAAeuE,G,2IAEN,O,wBAAA,CAAA,EAAMpD,KAAK2C,WAAW,gBAAiBS,EAAU,GAAG,G,cAAjEI,EAAarE,EAAAC,KAAA,IACCoE,EAAWV,QACxBmD,EAAW,GAEfzC,EAAWE,QAAQ,SAACC,GACnBsC,EAASrC,KAAKC,EAAKlB,WAAW,oBAAqBgB,CAAS,CAAC,CAC9D,CAAC,EAEe,CAAA,EAAMG,QAAQC,IAAIkC,CAAQ,IAPvC,CAAA,EAAA,I,OAQe,OADdjC,EAAY7E,EAAAC,KAAA,EACE,CAAA,EAAM9B,UAAA2G,YAAYC,OAAM,G,OAApCgC,EAAY/G,EAAAC,KAAA,EAETgF,EAAI,E,sBAAGA,EAAIJ,EAAUlB,QAAM,MAAA,CAAA,EAAA,I,KAC/BJ,EAAWsB,EAAUI,IAErB,MAAA,CAAA,EAAA,I,gDAEE1B,EAAS2B,WAAW,8BAA8B,GACzC,CAAA,EAAM/G,UAAA2G,YAAYK,KAAK5B,EAAU,CAAE6B,eAAgB,CAAA,EAAOC,WAAYlH,UAAAmH,YAAYC,QAASC,iBAAkB,CAAA,CAAI,CAAC,GAD3H,CAAA,EAAA,G,OAEiB,OADdxD,EAAMhC,EAAAC,KAAA,EACQ,CAAA,EAAM8G,EAAUtB,UAAUzD,EAAKA,EAAI0D,eAAc,CAAE,G,cAAnD1F,EAAAC,KAAA,EACRsE,QAAQ,SAAC/D,GACpBuG,EAAUpB,QAAQnF,CAAI,CACvB,CAAC,E,qBAEO+C,EAAS2B,WAAW,6BAA6B,GAAK3B,EAAS2B,WAAW,4BAA4B,EAClG,CAAA,EAAM/G,UAAA2G,YAAYC,OAAM,GAD5B,CAAA,EAAA,I,OAEI,MAAA,CAAA,GADN/C,EAAMhC,EAAAC,KAAA,GACU2F,SAASrC,CAAQ,G,QASnB,OATdsC,EAAM7F,EAAAC,KAAA,EACNO,EAAOwB,EAAI2D,QAAO,EACpBG,EAASD,EAAIE,WAA6B,IAAlBvF,EAAKwF,SAAQ,EAA8B,IAAnBxF,EAAKyF,UAAS,CAAS,EAC3EzF,EAAK0F,UAAUL,EAAK,CACnBM,EAAG3F,EAAKwF,SAAQ,EAAK,EAAIF,EAAO/C,MAAQ,EACxCqD,EAAG5F,EAAKyF,UAAS,EAAK,EAAIH,EAAO9C,OAAS,EAC1CD,MAAO+C,EAAO/C,MACdC,OAAQ8C,EAAO9C,M,CACf,EACmB,CAAA,EAAM+D,EAAUtB,UAAUzD,EAAKA,EAAI0D,eAAc,CAAE,G,eAAnD1F,EAAAC,KAAA,EACRsE,QAAQ,SAAC/D,GACpBuG,EAAUpB,QAAQnF,CAAI,CACvB,CAAC,E,sBAEO+C,EAAS2B,WAAW,6BAA6B,EAC7C,CAAA,EAAM/G,UAAA2G,YAAYC,OAAM,GAD5B,CAAA,EAAA,I,QAEI,MAAA,CAAA,GADN/C,EAAMhC,EAAAC,KAAA,GACUoG,SAAS9C,CAAQ,G,QASnB,OATdsC,EAAM7F,EAAAC,KAAA,EACNO,EAAOwB,EAAI2D,QAAO,EACpBG,EAASD,EAAIE,WAA6B,IAAlBvF,EAAKwF,SAAQ,EAA8B,IAAnBxF,EAAKyF,UAAS,CAAS,EAC3EzF,EAAK0F,UAAUL,EAAK,CACnBM,EAAG3F,EAAKwF,SAAQ,EAAK,EAAIF,EAAO/C,MAAQ,EACxCqD,EAAG5F,EAAKyF,UAAS,EAAK,EAAIH,EAAO9C,OAAS,EAC1CD,MAAO+C,EAAO/C,MACdC,OAAQ8C,EAAO9C,M,CACf,EACmB,CAAA,EAAM+D,EAAUtB,UAAUzD,EAAKA,EAAI0D,eAAc,CAAE,G,eAAnD1F,EAAAC,KAAA,EACRsE,QAAQ,SAAC/D,GACpBuG,EAAUpB,QAAQnF,CAAI,CACvB,CAAC,E,eAGD0C,QAAQC,IAAI,wBAAyBI,EAAS+C,MAAM,EAAG,EAAE,CAAC,E,0DAI3DpD,QAAQC,IAAI,6BAA8BI,EAAS+C,MAAM,EAAG,EAAE,EAAGU,CAAK,E,oCAIvE9D,QAAQC,IAAI,wBAAyBI,CAAQ,E,0BArDT0B,CAAC,G,cAyDlB,MAAA,CAAA,EAAM8B,EAAUN,KAAI,G,QAIzC,OAJIC,EAAiB1G,EAAAC,KAAA,EAIrB,CAAA,EAFe,+BAAiCe,OAAOC,KAAKyF,CAAc,EAAEtF,SAAS,QAAQ,G,QAK7F,MAAM,IAAIgC,MAAM,oDAAoD,E,6BAKrE,M,YADIS,QAAU,+BAAA2C,OAA+BS,EAAIpD,OAAO,EAClDoD,E,wBAGRnD,iBAAkB,C,EAEnBoD,oBAAqB,CACpBtI,MAAO,IAAIP,eAAAQ,QAAa,CACvBsI,MAAO,CACNpI,KAAMmF,K,EAEPkD,UAAW,CACVrI,KAAMC,M,EAEPC,SAAU,CACTF,KAAMC,M,EAEPoF,SAAU,CACTrF,KAAMC,OACNG,SAAU,CAAA,C,EAEXsH,KAAM,CACL1H,KAAMO,QACNH,SAAU,CAAA,C,EAEX,EACDO,SAAU,SAAeyH,EAAiBlI,EAAkBmF,EAAmBqC,G,OAAA,KAAA,IAAAA,IAAAA,EAAA,CAAA,G,yHAC5D,MAAA,CAAA,EAAMtI,UAAA2G,YAAYC,OAAM,G,OAApCsC,EAAYrH,EAAAC,KAAA,EAETgF,EAAI,E,sBAAGA,EAAIkC,EAAMxD,QAAM,MAAA,CAAA,EAAA,I,KAC3BJ,EAAW4D,EAAMlC,IAEjB,MAAA,CAAA,EAAA,I,gDAEE1B,EAAS2B,WAAW,8BAA8B,GACzC,CAAA,EAAM/G,UAAA2G,YAAYK,KAAK5B,EAAU,CAAE6B,eAAgB,CAAA,EAAOC,WAAYlH,UAAAmH,YAAYC,QAASC,iBAAkB,CAAA,CAAI,CAAE,GAD5H,CAAA,EAAA,G,OAEiB,OADdxD,EAAMhC,EAAAC,KAAA,EACQ,CAAA,EAAMoH,EAAU5B,UAAUzD,EAAKA,EAAI0D,eAAc,CAAE,G,cAAnD1F,EAAAC,KAAA,EACRsE,QAAQ,SAAC/D,GACpB6G,EAAU1B,QAAQnF,CAAI,CACvB,CAAC,E,qBAEO+C,EAAS2B,WAAW,6BAA6B,GAAK3B,EAAS2B,WAAW,4BAA4B,EAClG,CAAA,EAAM/G,UAAA2G,YAAYC,OAAM,GAD5B,CAAA,EAAA,I,OAEI,MAAA,CAAA,GADN/C,EAAMhC,EAAAC,KAAA,GACU2F,SAASrC,CAAQ,G,OASnB,OATdsC,EAAM7F,EAAAC,KAAA,EACNO,EAAOwB,EAAI2D,QAAO,EACpBG,EAASD,EAAIE,WAA6B,IAAlBvF,EAAKwF,SAAQ,EAA8B,IAAnBxF,EAAKyF,UAAS,CAAS,EAC3EzF,EAAK0F,UAAUL,EAAK,CACnBM,EAAG3F,EAAKwF,SAAQ,EAAK,EAAIF,EAAO/C,MAAQ,EACxCqD,EAAG5F,EAAKyF,UAAS,EAAK,EAAIH,EAAO9C,OAAS,EAC1CD,MAAO+C,EAAO/C,MACdC,OAAQ8C,EAAO9C,M,CACf,EACmB,CAAA,EAAMqE,EAAU5B,UAAUzD,EAAKA,EAAI0D,eAAc,CAAE,G,cAAnD1F,EAAAC,KAAA,EACRsE,QAAQ,SAAC/D,GACpB6G,EAAU1B,QAAQnF,CAAI,CACvB,CAAC,E,sBAEO+C,EAAS2B,WAAW,6BAA6B,EAC7C,CAAA,EAAM/G,UAAA2G,YAAYC,OAAM,GAD5B,CAAA,EAAA,I,QAEI,MAAA,CAAA,GADN/C,EAAMhC,EAAAC,KAAA,GACUoG,SAAS9C,CAAQ,G,QASnB,OATdsC,EAAM7F,EAAAC,KAAA,EACNO,EAAOwB,EAAI2D,QAAO,EACpBG,EAASD,EAAIE,WAA6B,IAAlBvF,EAAKwF,SAAQ,EAA8B,IAAnBxF,EAAKyF,UAAS,CAAS,EAC3EzF,EAAK0F,UAAUL,EAAK,CACnBM,EAAG3F,EAAKwF,SAAQ,EAAK,EAAIF,EAAO/C,MAAQ,EACxCqD,EAAG5F,EAAKyF,UAAS,EAAK,EAAIH,EAAO9C,OAAS,EAC1CD,MAAO+C,EAAO/C,MACdC,OAAQ8C,EAAO9C,M,CACf,EACmB,CAAA,EAAMqE,EAAU5B,UAAUzD,EAAKA,EAAI0D,eAAc,CAAE,G,eAAnD1F,EAAAC,KAAA,EACRsE,QAAQ,SAAC/D,GACpB6G,EAAU1B,QAAQnF,CAAI,CACvB,CAAC,E,eAID,MADA0C,QAAQC,IAAI,wBAAyBI,EAAS+C,MAAM,EAAG,EAAE,CAAC,EACpD,IAAIlD,MAAM,uDAAyDG,EAAS+C,MAAM,EAAG,EAAE,CAAC,E,6BAM/F,M,WAFApD,QAAQC,IAAI,6BAA8BI,EAAS+C,MAAM,EAAG,EAAE,EAAGgB,CAAK,EACtEA,EAAMzD,QAAU,gEAAA2C,OAAgEc,EAAMzD,OAAO,EACvFyD,E,6BAKP,MADApE,QAAQC,IAAI,wBAAyBI,CAAQ,EACvC,IAAIH,MAAM,+CAA+C,E,eAzD/B6B,CAAC,G,cA6Dd,MAAA,CAAA,EAAMoC,EAAUZ,KAAI,G,QAIzC,OAJIC,EAAiB1G,EAAAC,KAAA,EAEf0G,EAAS,+BAAiC3F,OAAOC,KAAKyF,CAAc,EAAEtF,SAAS,QAAQ,EAEzFqF,EACH,CAAA,EAAO5F,KAAK2C,WAAW,oBAAqBvE,EAAU0H,EAAS,EAAIlD,KAAKC,KAAKiD,EAAOhD,OAAS,CAAC,EAAI,CAAC,EAAGS,EAAU,CAAA,CAAK,GAGrH,CAAA,EAAOuC,E,OAGT7C,iBAAkB,C,EAEnB,CACF,CA7yBAyD,QAAA/I,eAAAA","file":"pdf.js","sourcesContent":["import * as fs from 'fs';\nimport * as path from 'path';\nimport { ParseSpeeds, PDFDocument } from 'pdf-lib';\nimport * as puppeteer from 'puppeteer';\nimport SimpleSchema from 'simpl-schema';\nimport { Flags } from '../collections/flag.collection';\nimport { MethodManager } from '../managers/method.manager';\nimport { objectIdHexString } from '../util/common';\n\nexport function loadPDFMethods(methodManager: MethodManager) {\n\tmethodManager.methods({\n\t\tgeneratePDF: {\n\t\t\tcheck: new SimpleSchema({\n\t\t\t\thtml: {\n\t\t\t\t\ttype: String\n\t\t\t\t},\n\t\t\t\tfileName: {\n\t\t\t\t\ttype: String\n\t\t\t\t},\n\t\t\t\torientation: {\n\t\t\t\t\ttype: String,\n\t\t\t\t\toptional: true\n\t\t\t\t},\n\t\t\t\tfontSize: {\n\t\t\t\t\ttype: String,\n\t\t\t\t\toptional: true\n\t\t\t\t},\n\t\t\t\tupload: {\n\t\t\t\t\ttype: Boolean,\n\t\t\t\t\toptional: true\n\t\t\t\t},\n\t\t\t\tuploadFileOrder: {\n\t\t\t\t\ttype: Number,\n\t\t\t\t\toptional: true\n\t\t\t\t},\n\t\t\t\tuploadFileType: {\n\t\t\t\t\ttype: String,\n\t\t\t\t\toptional: true\n\t\t\t\t}\n\t\t\t}),\n\t\t\tfunction: async function(html, fileName, orientation = 'portrait', fontSize = '12px', upload = false, uploadFileOrder = -1, uploadFileType = '') {\n\t\t\t\t// console.log(new Date(), 'GENERATE PDF CALL', fileName, orientation, fontSize, upload);\n\n\t\t\t\tconst args = [\n\t\t\t\t\t\"--disable-dev-shm-usage\",\n\t\t\t\t\t\"--no-sandbox\",\n\t\t\t\t\t\"--disable-setuid-sandbox\",\n\t\t\t\t\t\"--disable-accelerated-2d-canvas\",\n\t\t\t\t\t\"--disable-gpu\",\n\t\t\t\t\t\"--allow-file-access-from-files\", \n\t\t\t\t\t\"--enable-local-file-accesses\",\n\t\t\t\t\t'--font-render-hinting=none'\n\t\t\t\t];\n\n\t\t\t\tlet browser = null;\n\n\t\t\t\tlet enableDebugFlag = await Flags.findOne({type: 'Enable Debug PDF'});\n\t\t\t\t\n\t\t\t\tif (enableDebugFlag && enableDebugFlag.value) {\n\t\t\t\t\tbrowser = await puppeteer.launch({\n\t\t\t\t\t\theadless: false, // run in headless mode\n\t\t\t\t\t\tdevtools: true, // run with dev tools\n\t\t\t\t\t\targs,\n\t\t\t\t\t\tignoreDefaultArgs: [\"--disable-extensions\"]\n\t\t\t\t\t}); // run browser\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tbrowser = await puppeteer.launch({\n\t\t\t\t\t\theadless: true, // run in headless mode\n\t\t\t\t\t\tdevtools: false, // run with dev tools\n\t\t\t\t\t\targs,\n\t\t\t\t\t\tignoreDefaultArgs: [\"--disable-extensions\"]\n\t\t\t\t\t}); // run browser\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tconst page = await browser.newPage(); // create new tab\n\n\t\t\t\tlet pathToFont = '';\n\n\t\t\t\tif (fs.existsSync(path.join(__dirname, ('../private/fonts/dejavuserif.woff')))) {\n\t\t\t\t\tpathToFont = path.join(__dirname, ('../private/fonts/'));\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tif (fs.existsSync(path.join(this.clientDir, ('./private/fonts/dejavuserif.woff')))) {\n\t\t\t\t\t\tpathToFont = path.join(this.clientDir, ('./private/fonts/'));\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\tpathToFont = '/usr/share/fonts/dejavu/';\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tlet dejavuserif_woff = 'data:application/font-woff;base64,' + Buffer.from(fs.readFileSync(pathToFont + 'dejavuserif.woff').buffer).toString('base64');\n\t\t\t\tlet dejavuserifBold_woff = 'data:application/font-woff;base64,' + Buffer.from(fs.readFileSync(pathToFont + 'dejavuserif-bold.woff').buffer).toString('base64');\n\t\t\t\tlet dejavuserifItalic_woff = 'data:application/font-woff;base64,' + Buffer.from(fs.readFileSync(pathToFont + 'dejavuserif-italic.woff').buffer).toString('base64');\n\t\t\t\tlet dejavuserifBoldItalic_woff = 'data:application/font-woff;base64,' + Buffer.from(fs.readFileSync(pathToFont + 'dejavuserif-bolditalic.woff').buffer).toString('base64');\n\n\t\t\t\tlet content = `\n\t\t\t\t\t<head>\n\t\t\t\t\t\t<style type=\"text/css\">\n\t\t\t\t\t\t\t@font-face {\n\t\t\t\t\t\t\t\tfont-family: 'Dejavu Serif';\n\t\t\t\t\t\t\t\tfont-style: normal;\n\t\t\t\t\t\t\t\tfont-weight: normal;\n\t\t\t\t\t\t\t\tsrc: url(\"` + dejavuserif_woff + `\") format('woff');\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t@font-face {\n\t\t\t\t\t\t\t\tfont-family: 'Dejavu Serif';\n\t\t\t\t\t\t\t\tfont-style: normal;\n\t\t\t\t\t\t\t\tfont-weight: bold;\n\t\t\t\t\t\t\t\tsrc: url(\"` + dejavuserifBold_woff + `\") format('woff');\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t@font-face {\n\t\t\t\t\t\t\t\tfont-family: 'Dejavu Serif';\n\t\t\t\t\t\t\t\tfont-style: italic;\n\t\t\t\t\t\t\t\tfont-weight: normal;\n\t\t\t\t\t\t\t\tsrc: url(\"` + dejavuserifItalic_woff + `\") format('woff');\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t@font-face {\n\t\t\t\t\t\t\t\tfont-family: 'Dejavu Serif';\n\t\t\t\t\t\t\t\tfont-style: italic;\n\t\t\t\t\t\t\t\tfont-weight: bold;\n\t\t\t\t\t\t\t\tsrc: url(\"` + dejavuserifBoldItalic_woff + `\") format('woff');\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\tbody {\n\t\t\t\t\t\t\t\tfont-family: 'Dejavu Serif', serif;\n\t\t\t\t\t\t\t\tfont-size: ` + (fontSize ? fontSize : '12px') + `;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t.row {\n\t\t\t\t\t\t\t\tdisplay: -webkit-flex;\n\t\t\t\t\t\t\t\tdisplay: flex;\n\t\t\t\t\t\t\t\tflex-wrap: wrap;\n\t\t\t\t\t\t\t\t-webkit-flex-wrap: wrap;\n\t\t\t\t\t\t\t\tpage-break-inside: avoid !important;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t.page-break {\n\t\t\t\t\t\t\t\tpage-break-before: always !important;\n\t\t\t\t\t\t\t\tpadding-top: 1px;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t.cell {\n\t\t\t\t\t\t\t\tbox-sizing: border-box;\n\t\t\t\t\t\t\t\tpadding : 2px;\n\t\t\t\t\t\t\t\t-webkit-flex: 1;\n\t\t\t\t\t\t\t\tword-wrap: break-word;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t.cell-no-padding {\n\t\t\t\t\t\t\t\tbox-sizing: border-box;\n\t\t\t\t\t\t\t\t-webkit-flex: 1;\n\t\t\t\t\t\t\t\tword-wrap: break-word;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t.centered {\n\t\t\t\t\t\t\t\t-webkit-justify-content: center;\n\t\t\t\t\t\t\t\t-webkit-align-items: center;\n\t\t\t\t\t\t\t\tdisplay: -webkit-flex;\n\t\t\t\t\t\t\t\ttext-align: center;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t.centered-left {\n\t\t\t\t\t\t\t\t-webkit-align-items: center;\n\t\t\t\t\t\t\t\tdisplay: -webkit-flex;\n\t\t\t\t\t\t\t\t-webkit-justify-content: flex-start;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t.centered-right {\n\t\t\t\t\t\t\t\t-webkit-justify-content: flex-end;\n\t\t\t\t\t\t\t\t-webkit-align-items: center;\n\t\t\t\t\t\t\t\tdisplay: -webkit-flex;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t.box {\n\t\t\t\t\t\t\t\tborder: 1px solid black;\n\t\t\t\t\t\t\t\tmargin: -1px 0px 0px -1px;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t.boxNoBorder {\n\t\t\t\t\t\t\t\tmargin: -1px 0px 0px -1px;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tpre {\n\t\t\t\t\t\t\t\twhite-space: pre-wrap; /* css-3 */\n\t\t\t\t\t\t\t\twhite-space: -moz-pre-wrap; /* Mozilla, since 1999 */\n\t\t\t\t\t\t\t\twhite-space: -pre-wrap; /* Opera 4-6 */\n\t\t\t\t\t\t\t\twhite-space: -o-pre-wrap; /* Opera 7 */\n\t\t\t\t\t\t\t\tword-wrap: break-word; /* Internet Explorer 5.5+ */\n\t\t\t\t\t\t\t\tfont-size: 12px;\n\t\t\t\t\t\t\t\tfont-family: 'Dejavu Serif'; \n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t</style>\n\t\t\t\t\t</head>\n\t\t\t\t\t<body>\n\t\t\t\t` + html.replace(new RegExp('flex-basis:', 'g'), '-webkit-flex-basis:').replace(new RegExp('flex:', 'g'), '-webkit-flex:') + '</body>';\n\n\t\t\t\tawait page.setContent(content, { waitUntil: ['domcontentloaded', 'load', 'networkidle0'] });\n\t\t\t\tawait page.evaluateHandle('document.fonts.ready');\n\t\t\t\t\n\t\t\t\tlet tmpFileName = objectIdHexString() + '.pdf';\n\t\t\t\n\t\t\t\tawait page.pdf({\n\t\t\t\t\tscale: 1,\n\t\t\t\t\tlandscape: orientation === 'portrait' ? false : true,\n\t\t\t\t\tformat: 'letter',\n\t\t\t\t\tmargin: {\n\t\t\t\t\t\ttop: '1cm',\n\t\t\t\t\t\tbottom: '1cm',\n\t\t\t\t\t\tleft: '1cm',\n\t\t\t\t\t\tright: '1cm'\n\t\t\t\t\t},\n\t\t\t\t\tprintBackground: true,\n\t\t\t\t\tdisplayHeaderFooter: true,\n\t\t\t\t\theaderTemplate: `\n\t\t\t\t\t\t<style>\n\t\t\t\t\t\t\t#header { \n\t\t\t\t\t\t\t\tpadding: 0 0 10px 10px !important; \n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t</style>\n\t\t\t\t\t\t<span></span>\n\t\t\t\t\t`,\n\t\t\t\t\tfooterTemplate: `\n\t\t\t\t\t\t<style>\n\t\t\t\t\t\t\t#footer { \n\t\t\t\t\t\t\t\tpadding: 0 0 10px 10px !important;\n\t\t\t\t\t\t\t\tfont-size: 10px;\n\t\t\t\t\t\t\t\tfont-family: san-serif;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t</style>\n\t\t\t\t\t\t<div style=\"padding-bottom: 2px; padding-right: 15px; text-align: right; width: 100%;\">\n\t\t\t\t\t\t\tPage&nbsp;<span class=\"pageNumber\"></span>&nbsp;of&nbsp;<span class=\"totalPages\"></span>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t`,\n\t\t\t\t\tpath: path.join(__dirname, (tmpFileName)),\n\t\t\t\t\ttimeout: 0\n\t\t\t\t});\n\n\t\t\t\tif (enableDebugFlag && enableDebugFlag.value) {\n\t\t\t\t\t// Set viewport dimensions based on orientation\n\t\t\t\t\tif (orientation === 'landscape') {\n\t\t\t\t\t\tawait page.setViewport({ width: 1100, height: 850 });\n\t\t\t\t\t} \n\t\t\t\t\telse {\n\t\t\t\t\t\tawait page.setViewport({ width: 850, height: 1100 });\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tawait browser.close();\n\t\t\t\t\n\t\t\t\tif (fs.existsSync(path.join(__dirname, (tmpFileName)))) {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tlet data = fs.readFileSync(path.join(__dirname, (tmpFileName)));\n\t\t\t\t\t\tfs.unlinkSync(path.join(__dirname, (tmpFileName)));\n\t\t\t\t\t\tif (!upload) {\n\t\t\t\t\t\t\treturn 'data:application/pdf;base64,' + Buffer.from(data).toString('base64');\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\tlet fileData = 'data:application/pdf;base64,' + Buffer.from(data).toString('base64');\n\t\t\t\t\t\t\treturn this.callMethod('uploadFileAndSave', fileName, fileData, (4 * Math.ceil(fileData.length / 3)), uploadFileOrder !== null ? uploadFileOrder : -1, uploadFileType, false);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tcatch (errRead) {\n\t\t\t\t\t\terrRead.message = 'Error in Generate PDF: No file - ' + errRead.message;\n\t\t\t\t\t\tthrow errRead;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tconsole.log('No tmp file ', tmpFileName);\n\t\t\t\t\tthrow new Error('Error in Generate PDF: No tmp file');\n\t\t\t\t}\n\t\t\t},\n\t\t\tworkerTaskWeight: 2\n\t\t},\n\t\tgeneratePDFNoPageNumber: {\n\t\t\tcheck: new SimpleSchema({\n\t\t\t\thtml: {\n\t\t\t\t\ttype: String\n\t\t\t\t},\n\t\t\t\tfileName: {\n\t\t\t\t\ttype: String\n\t\t\t\t},\n\t\t\t\torientation: {\n\t\t\t\t\ttype: String,\n\t\t\t\t\toptional: true\n\t\t\t\t},\n\t\t\t\tfontSize: {\n\t\t\t\t\ttype: String,\n\t\t\t\t\toptional: true\n\t\t\t\t},\n\t\t\t\tupload: {\n\t\t\t\t\ttype: Boolean,\n\t\t\t\t\toptional: true\n\t\t\t\t},\n\t\t\t\tuploadFileOrder: {\n\t\t\t\t\ttype: Number,\n\t\t\t\t\toptional: true\n\t\t\t\t},\n\t\t\t\tuploadFileType: {\n\t\t\t\t\ttype: String,\n\t\t\t\t\toptional: true\n\t\t\t\t}\n\t\t\t}),\n\t\t\tfunction: async function(html, fileName, orientation = 'portrait', fontSize = '12px', upload = false, uploadFileOrder = -1, uploadFileType = '') {\n\t\t\t\t// console.log(new Date(), 'GENERATE PDF CALL', fileName, orientation, fontSize, upload);\n\n\t\t\t\tconst args = [\n\t\t\t\t\t\"--disable-dev-shm-usage\",\n\t\t\t\t\t\"--no-sandbox\",\n\t\t\t\t\t\"--disable-setuid-sandbox\",\n\t\t\t\t\t\"--disable-accelerated-2d-canvas\",\n\t\t\t\t\t\"--disable-gpu\",\n\t\t\t\t\t\"--allow-file-access-from-files\", \n\t\t\t\t\t\"--enable-local-file-accesses\",\n\t\t\t\t\t'--font-render-hinting=none'\n\t\t\t\t];\n\n\t\t\t\tconst browser = await puppeteer.launch({\n\t\t\t\t\theadless: true, // run in headless mode\n\t\t\t\t\tdevtools: false, // run with dev tools\n\t\t\t\t\targs,\n\t\t\t\t\tignoreDefaultArgs: [\"--disable-extensions\"]\n\t\t\t\t}); // run browser\n\t\t\t\t\n\t\t\t\tconst page = await browser.newPage(); // create new tab\n\n\t\t\t\tlet pathToFont = '';\n\n\t\t\t\tif (fs.existsSync(path.join(__dirname, ('../private/fonts/dejavuserif.woff')))) {\n\t\t\t\t\tpathToFont = path.join(__dirname, ('../private/fonts/'));\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tif (fs.existsSync(path.join(this.clientDir, ('./private/fonts/dejavuserif.woff')))) {\n\t\t\t\t\t\tpathToFont = path.join(this.clientDir, ('./private/fonts/'));\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\tpathToFont = '/usr/share/fonts/dejavu/';\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tlet dejavuserif_woff = 'data:application/font-woff;base64,' + Buffer.from(fs.readFileSync(pathToFont + 'dejavuserif.woff').buffer).toString('base64');\n\t\t\t\tlet dejavuserifBold_woff = 'data:application/font-woff;base64,' + Buffer.from(fs.readFileSync(pathToFont + 'dejavuserif-bold.woff').buffer).toString('base64');\n\t\t\t\tlet dejavuserifItalic_woff = 'data:application/font-woff;base64,' + Buffer.from(fs.readFileSync(pathToFont + 'dejavuserif-italic.woff').buffer).toString('base64');\n\t\t\t\tlet dejavuserifBoldItalic_woff = 'data:application/font-woff;base64,' + Buffer.from(fs.readFileSync(pathToFont + 'dejavuserif-bolditalic.woff').buffer).toString('base64');\n\n\t\t\t\tlet content = `\n\t\t\t\t\t<head>\n\t\t\t\t\t\t<style type=\"text/css\">\n\t\t\t\t\t\t\t@font-face {\n\t\t\t\t\t\t\t\tfont-family: 'Dejavu Serif';\n\t\t\t\t\t\t\t\tfont-style: normal;\n\t\t\t\t\t\t\t\tfont-weight: normal;\n\t\t\t\t\t\t\t\tsrc: url(\"` + dejavuserif_woff + `\") format('woff');\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t@font-face {\n\t\t\t\t\t\t\t\tfont-family: 'Dejavu Serif';\n\t\t\t\t\t\t\t\tfont-style: normal;\n\t\t\t\t\t\t\t\tfont-weight: bold;\n\t\t\t\t\t\t\t\tsrc: url(\"` + dejavuserifBold_woff + `\") format('woff');\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t@font-face {\n\t\t\t\t\t\t\t\tfont-family: 'Dejavu Serif';\n\t\t\t\t\t\t\t\tfont-style: italic;\n\t\t\t\t\t\t\t\tfont-weight: normal;\n\t\t\t\t\t\t\t\tsrc: url(\"` + dejavuserifItalic_woff + `\") format('woff');\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t@font-face {\n\t\t\t\t\t\t\t\tfont-family: 'Dejavu Serif';\n\t\t\t\t\t\t\t\tfont-style: italic;\n\t\t\t\t\t\t\t\tfont-weight: bold;\n\t\t\t\t\t\t\t\tsrc: url(\"` + dejavuserifBoldItalic_woff + `\") format('woff');\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\tbody {\n\t\t\t\t\t\t\t\tfont-family: 'Dejavu Serif', serif;\n\t\t\t\t\t\t\t\tfont-size: ` + (fontSize ? fontSize : '12px') + `;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t.row {\n\t\t\t\t\t\t\t\tdisplay: -webkit-flex;\n\t\t\t\t\t\t\t\tdisplay: flex;\n\t\t\t\t\t\t\t\tflex-wrap: wrap;\n\t\t\t\t\t\t\t\t-webkit-flex-wrap: wrap;\n\t\t\t\t\t\t\t\tpage-break-inside: avoid !important;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t.page-break {\n\t\t\t\t\t\t\t\tpage-break-before: always !important;\n\t\t\t\t\t\t\t\tpadding-top: 1px;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t.cell {\n\t\t\t\t\t\t\t\tbox-sizing: border-box;\n\t\t\t\t\t\t\t\tpadding : 2px;\n\t\t\t\t\t\t\t\t-webkit-flex: 1;\n\t\t\t\t\t\t\t\tword-wrap: break-word;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t.cell-no-padding {\n\t\t\t\t\t\t\t\tbox-sizing: border-box;\n\t\t\t\t\t\t\t\t-webkit-flex: 1;\n\t\t\t\t\t\t\t\tword-wrap: break-word;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t.centered {\n\t\t\t\t\t\t\t\t-webkit-justify-content: center;\n\t\t\t\t\t\t\t\t-webkit-align-items: center;\n\t\t\t\t\t\t\t\tdisplay: -webkit-flex;\n\t\t\t\t\t\t\t\ttext-align: center;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t.centered-left {\n\t\t\t\t\t\t\t\t-webkit-align-items: center;\n\t\t\t\t\t\t\t\tdisplay: -webkit-flex;\n\t\t\t\t\t\t\t\t-webkit-justify-content: flex-start;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t.centered-right {\n\t\t\t\t\t\t\t\t-webkit-justify-content: flex-end;\n\t\t\t\t\t\t\t\t-webkit-align-items: center;\n\t\t\t\t\t\t\t\tdisplay: -webkit-flex;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t.box {\n\t\t\t\t\t\t\t\tborder: 1px solid black;\n\t\t\t\t\t\t\t\tmargin: -1px 0px 0px -1px;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t.boxNoBorder {\n\t\t\t\t\t\t\t\tmargin: -1px 0px 0px -1px;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tpre {\n\t\t\t\t\t\t\t\twhite-space: pre-wrap; /* css-3 */\n\t\t\t\t\t\t\t\twhite-space: -moz-pre-wrap; /* Mozilla, since 1999 */\n\t\t\t\t\t\t\t\twhite-space: -pre-wrap; /* Opera 4-6 */\n\t\t\t\t\t\t\t\twhite-space: -o-pre-wrap; /* Opera 7 */\n\t\t\t\t\t\t\t\tword-wrap: break-word; /* Internet Explorer 5.5+ */\n\t\t\t\t\t\t\t\tfont-size: 12px;\n\t\t\t\t\t\t\t\tfont-family: 'Dejavu Serif'; \n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t</style>\n\t\t\t\t\t\t<meta charset=\"UTF-8\">\n\t\t\t\t\t</head>\n\t\t\t\t\t<body>\n\t\t\t\t` + html.replace(new RegExp('flex-basis:', 'g'), '-webkit-flex-basis:').replace(new RegExp('flex:', 'g'), '-webkit-flex:') + '</body>';\n\n\t\t\t\tawait page.setContent(content, { waitUntil: ['domcontentloaded', 'load', 'networkidle0'] });\n\t\t\t\tawait page.evaluateHandle('document.fonts.ready');\n\t\t\t\t\n\t\t\t\tlet tmpFileName = objectIdHexString() + '.pdf';\t\n\t\t\t\n\t\t\t\tawait page.pdf({\n\t\t\t\t\tscale: 1,\n\t\t\t\t\tlandscape: orientation === 'portrait' ? false : true,\n\t\t\t\t\tformat: 'letter',\n\t\t\t\t\tmargin: {\n\t\t\t\t\t\ttop: '1cm',\n\t\t\t\t\t\tbottom: '1cm',\n\t\t\t\t\t\tleft: '1cm',\n\t\t\t\t\t\tright: '1cm'\n\t\t\t\t\t},\n\t\t\t\t\tprintBackground: true,\n\t\t\t\t\tdisplayHeaderFooter: true,\n\t\t\t\t\theaderTemplate: `\n\t\t\t\t\t\t<style>\n\t\t\t\t\t\t\t#header { \n\t\t\t\t\t\t\t\tpadding: 0 0 10px 10px !important; \n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t</style>\n\t\t\t\t\t\t<span></span>\n\t\t\t\t\t`,\n\t\t\t\t\tfooterTemplate: `\n\t\t\t\t\t<style>\n\t\t\t\t\t\t#footer { \n\t\t\t\t\t\t\tpadding: 0 0 10px 10px !important;\n\t\t\t\t\t\t\tfont-size: 10px;\n\t\t\t\t\t\t\tfont-family: san-serif;\n\t\t\t\t\t\t}\n\t\t\t\t\t</style>\n\t\t\t\t\t<div style=\"padding-bottom: 2px; padding-right: 15px; text-align: right; width: 100%;\">\n\t\t\t\t\t\t\n\t\t\t\t\t</div>\n\t\t\t\t\t`,\n\t\t\t\t\tpath: path.join(__dirname, (tmpFileName)),\n\t\t\t\t\ttimeout: 0\n\t\t\t\t});\n\t\t\t\tawait browser.close();\n\t\t\t\t\n\t\t\t\tif (fs.existsSync(path.join(__dirname, (tmpFileName)))) {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tlet data = fs.readFileSync(path.join(__dirname, (tmpFileName)))\n\t\t\t\t\t\tfs.unlinkSync(path.join(__dirname, (tmpFileName)));\n\t\t\t\t\t\tif (!upload) {\n\t\t\t\t\t\t\treturn 'data:application/pdf;base64,' + Buffer.from(data).toString('base64');\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\tlet fileData = 'data:application/pdf;base64,' + Buffer.from(data).toString('base64');\n\t\t\t\t\t\t\treturn this.callMethod('uploadFileAndSave', fileName, fileData, (4 * Math.ceil(fileData.length / 3)), uploadFileOrder !== null ? uploadFileOrder : -1, uploadFileType, false);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tcatch (errRead) {\n\t\t\t\t\t\terrRead.message = 'Error in Generate PDF No Page Number: No file - ' + errRead.message;\n\t\t\t\t\t\tthrow errRead;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tconsole.log('No tmp file ', tmpFileName);\n\t\t\t\t\tthrow new Error('Error in Generate PDF No Page Number: No tmp file');\n\t\t\t\t}\n\t\t\t},\n\t\t\tworkerTaskWeight: 2\n\t\t},\n\t\tmergePDFResolve: {\n\t\t\tcheck: new SimpleSchema({\n\t\t\t\tfileKeys: {\n\t\t\t\t\ttype: Array\n\t\t\t\t},\n\t\t\t\t'fileKeys.$': {\n\t\t\t\t\ttype: String\n\t\t\t\t},\n\t\t\t\tfileName: {\n\t\t\t\t\ttype: String\n\t\t\t\t},\n\t\t\t\tfileType: {\n\t\t\t\t\ttype: String,\n\t\t\t\t\toptional: true\n\t\t\t\t}\n\t\t\t}),\n\t\t\tfunction: async function(fileKeys: string[], fileName: string, fileType?: string) {\n\t\t\t\ttry {\n\t\t\t\t\tlet resSigneds = await this.callMethod('getSignedUrls', fileKeys, 900);\n\n\t\t\t\t\tif (resSigneds && resSigneds.length) {\n\t\t\t\t\t\tlet promises = [];\n\t\n\t\t\t\t\t\tresSigneds.forEach((signedUrl) => {\n\t\t\t\t\t\t\tpromises.push(this.callMethod('getDataURIfromURL', signedUrl));\n\t\t\t\t\t\t});\n\t\t\t\t\t\t\n\t\t\t\t\t\tlet fileDatas = await Promise.all(promises);\n\t\t\t\t\t\tconst mergedPdf = await PDFDocument.create();\n\n\t\t\t\t\t\tfor (let i = 0; i < fileDatas.length; i++) {\n\t\t\t\t\t\t\tlet fileData = fileDatas[i];\n\n\t\t\t\t\t\t\tif (fileData) {\n\t\t\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t\t\tif (fileData.startsWith('data:application/pdf;base64,')) {\n\t\t\t\t\t\t\t\t\t\tconst pdf = await PDFDocument.load(fileData, { updateMetadata: false, parseSpeed: ParseSpeeds.Fastest, ignoreEncryption: true });\n\t\t\t\t\t\t\t\t\t\tconst copiedPages = await mergedPdf.copyPages(pdf, pdf.getPageIndices());\n\t\t\t\t\t\t\t\t\t\tcopiedPages.forEach((page) => {\n\t\t\t\t\t\t\t\t\t\t\tmergedPdf.addPage(page);\n\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\telse if (fileData.startsWith('data:image/jpeg;base64,/9j/') || fileData.startsWith('data:image/png;base64,/9j/')) {\n\t\t\t\t\t\t\t\t\t\tconst pdf = await PDFDocument.create();\n\t\t\t\t\t\t\t\t\t\tconst img = await pdf.embedJpg(fileData);\n\t\t\t\t\t\t\t\t\t\tconst page = pdf.addPage();\n\t\t\t\t\t\t\t\t\t\tlet imgDim = img.scaleToFit(page.getWidth() * 0.75, page.getHeight() * 0.75);\n\t\t\t\t\t\t\t\t\t\tpage.drawImage(img, {\n\t\t\t\t\t\t\t\t\t\t\tx: page.getWidth() / 2 - imgDim.width / 2,\n\t\t\t\t\t\t\t\t\t\t\ty: page.getHeight() / 2 - imgDim.height / 2,\n\t\t\t\t\t\t\t\t\t\t\twidth: imgDim.width,\n\t\t\t\t\t\t\t\t\t\t\theight: imgDim.height,\n\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\tconst copiedPages = await mergedPdf.copyPages(pdf, pdf.getPageIndices());\n\t\t\t\t\t\t\t\t\t\tcopiedPages.forEach((page) => {\n\t\t\t\t\t\t\t\t\t\t\tmergedPdf.addPage(page);\n\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\telse if (fileData.startsWith('data:image/png;base64,iVBOR')) {\n\t\t\t\t\t\t\t\t\t\tconst pdf = await PDFDocument.create();\n\t\t\t\t\t\t\t\t\t\tconst img = await pdf.embedPng(fileData);\n\t\t\t\t\t\t\t\t\t\tconst page = pdf.addPage();\n\t\t\t\t\t\t\t\t\t\tlet imgDim = img.scaleToFit(page.getWidth() * 0.75, page.getHeight() * 0.75);\n\t\t\t\t\t\t\t\t\t\tpage.drawImage(img, {\n\t\t\t\t\t\t\t\t\t\t\tx: page.getWidth() / 2 - imgDim.width / 2,\n\t\t\t\t\t\t\t\t\t\t\ty: page.getHeight() / 2 - imgDim.height / 2,\n\t\t\t\t\t\t\t\t\t\t\twidth: imgDim.width,\n\t\t\t\t\t\t\t\t\t\t\theight: imgDim.height,\n\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\tconst copiedPages = await mergedPdf.copyPages(pdf, pdf.getPageIndices());\n\t\t\t\t\t\t\t\t\t\tcopiedPages.forEach((page) => {\n\t\t\t\t\t\t\t\t\t\t\tmergedPdf.addPage(page);\n\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\t\t\tconsole.log('Error - unsupported!!', fileData.slice(0, 60));\n\t\t\t\t\t\t\t\t\t\tthrow new Error('Error in Merge PDF Resolve: Unsupported document type - ' + fileData.slice(0, 60));\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t} \n\t\t\t\t\t\t\t\tcatch (error) {\n\t\t\t\t\t\t\t\t\tconsole.log('Error processing fileData:', fileData.slice(0, 60), error.message);\n\t\t\t\t\t\t\t\t\terror.message = `Error in Merge PDF Resolve: Error processing fileData: ${fileData.slice(0, 60)} - ${error.message}`;\n\t\t\t\t\t\t\t\t\tthrow error;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\tconsole.log('Error - no filedata!!', fileData);\n\t\t\t\t\t\t\t\tthrow new Error('Error in Merge PDF Resolve: No File Data');\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tlet mergedPDFUint8 = await mergedPdf.save();\n\n\t\t\t\t\t\tconst b64PDF = 'data:application/pdf;base64,' + Buffer.from(mergedPDFUint8).toString('base64');\n\n\t\t\t\t\t\treturn this.callMethod('uploadFileAndSave', fileName, b64PDF, (4 * Math.ceil(b64PDF.length / 3)), -1, fileType, false);\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\t\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tcatch (err) {\n\t\t\t\t\terr.message = 'Error in Merge PDF Resolve: PDF Merge - Get Signed URLs - ' + err.message;\n\t\t\t\t\t\n\t\t\t\t\tthrow err;\n\t\t\t\t}\n\t\t\t},\n\t\t\tworkerTaskWeight: 2\n\t\t},\t\t\n\t\tmergePDFResolveNoSave: {\n\t\t\tcheck: new SimpleSchema({\n\t\t\t\tfileKeys: {\n\t\t\t\t\ttype: Array\n\t\t\t\t},\n\t\t\t\t'fileKeys.$': {\n\t\t\t\t\ttype: String\n\t\t\t\t}\n\t\t\t}),\n\t\t\tfunction: async function(fileKeys: string[]) {\n\t\t\t\ttry {\n\t\t\t\t\tlet resSigneds = await this.callMethod('getSignedUrls', fileKeys, 900);\n\t\t\t\t\tif (resSigneds && resSigneds.length) {\n\t\t\t\t\t\tlet promises = [];\n\n\t\t\t\t\t\tresSigneds.forEach((signedUrl) => {\n\t\t\t\t\t\t\tpromises.push(this.callMethod('getDataURIfromURL', signedUrl));\n\t\t\t\t\t\t});\n\t\t\t\t\t\t\n\t\t\t\t\t\tlet fileDatas = await Promise.all(promises);\n\t\t\t\t\t\tconst mergedPdf = await PDFDocument.create();\n\n\t\t\t\t\t\tfor (let i = 0; i < fileDatas.length; i++) {\n\t\t\t\t\t\t\tlet fileData = fileDatas[i];\n\n\t\t\t\t\t\t\tif (fileData) {\n\t\t\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t\t\tif (fileData.startsWith('data:application/pdf;base64,')) {\n\t\t\t\t\t\t\t\t\t\tconst pdf = await PDFDocument.load(fileData, { updateMetadata: false, parseSpeed: ParseSpeeds.Fastest, ignoreEncryption: true});\n\t\t\t\t\t\t\t\t\t\tconst copiedPages = await mergedPdf.copyPages(pdf, pdf.getPageIndices());\n\t\t\t\t\t\t\t\t\t\tcopiedPages.forEach((page) => {\n\t\t\t\t\t\t\t\t\t\t\tmergedPdf.addPage(page);\n\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\telse if (fileData.startsWith('data:image/jpeg;base64,/9j/') || fileData.startsWith('data:image/png;base64,/9j/')) {\n\t\t\t\t\t\t\t\t\t\tconst pdf = await PDFDocument.create();\n\t\t\t\t\t\t\t\t\t\tconst img = await pdf.embedJpg(fileData);\n\t\t\t\t\t\t\t\t\t\tconst page = pdf.addPage();\n\t\t\t\t\t\t\t\t\t\tlet imgDim = img.scaleToFit(page.getWidth() * 0.75, page.getHeight() * 0.75);\n\t\t\t\t\t\t\t\t\t\tpage.drawImage(img, {\n\t\t\t\t\t\t\t\t\t\t\tx: page.getWidth() / 2 - imgDim.width / 2,\n\t\t\t\t\t\t\t\t\t\t\ty: page.getHeight() / 2 - imgDim.height / 2,\n\t\t\t\t\t\t\t\t\t\t\twidth: imgDim.width,\n\t\t\t\t\t\t\t\t\t\t\theight: imgDim.height,\n\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\tconst copiedPages = await mergedPdf.copyPages(pdf, pdf.getPageIndices());\n\t\t\t\t\t\t\t\t\t\tcopiedPages.forEach((page) => {\n\t\t\t\t\t\t\t\t\t\t\tmergedPdf.addPage(page);\n\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\telse if (fileData.startsWith('data:image/png;base64,iVBOR')) {\n\t\t\t\t\t\t\t\t\t\tconst pdf = await PDFDocument.create();\n\t\t\t\t\t\t\t\t\t\tconst img = await pdf.embedPng(fileData);\n\t\t\t\t\t\t\t\t\t\tconst page = pdf.addPage();\n\t\t\t\t\t\t\t\t\t\tlet imgDim = img.scaleToFit(page.getWidth() * 0.75, page.getHeight() * 0.75);\n\t\t\t\t\t\t\t\t\t\tpage.drawImage(img, {\n\t\t\t\t\t\t\t\t\t\t\tx: page.getWidth() / 2 - imgDim.width / 2,\n\t\t\t\t\t\t\t\t\t\t\ty: page.getHeight() / 2 - imgDim.height / 2,\n\t\t\t\t\t\t\t\t\t\t\twidth: imgDim.width,\n\t\t\t\t\t\t\t\t\t\t\theight: imgDim.height,\n\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\tconst copiedPages = await mergedPdf.copyPages(pdf, pdf.getPageIndices());\n\t\t\t\t\t\t\t\t\t\tcopiedPages.forEach((page) => {\n\t\t\t\t\t\t\t\t\t\t\tmergedPdf.addPage(page);\n\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\t\t\tconsole.log('Error - unsupported!!', fileData.slice(0, 60));\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tcatch (error) {\n\t\t\t\t\t\t\t\t\tconsole.log('Error processing fileData:', fileData.slice(0, 60), error);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\tconsole.log('Error - no filedata!!', fileData);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tlet mergedPDFUint8 = await mergedPdf.save();\n\n\t\t\t\t\t\tconst b64PDF = 'data:application/pdf;base64,' + Buffer.from(mergedPDFUint8).toString('base64');\n\t\t\t\t\t\t\n\t\t\t\t\t\treturn b64PDF;\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\tthrow new Error('Error in Merge PDF Resolve No Save: No signed urls');\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tcatch (err) {\n\t\t\t\t\terr.message = `Error in Merge PDF Resolve: ${err.message}`;\n\t\t\t\t\tthrow err;\n\t\t\t\t}\n\t\t\t},\n\t\t\tworkerTaskWeight: 2\n\t\t},\n\t\tmergePDFResolveHtml: {\n\t\t\tcheck: new SimpleSchema({\n\t\t\t\thtmls: {\n\t\t\t\t\ttype: Array\n\t\t\t\t},\n\t\t\t\t'htmls.$': {\n\t\t\t\t\ttype: String\n\t\t\t\t},\n\t\t\t\tfileName: {\n\t\t\t\t\ttype: String\n\t\t\t\t},\n\t\t\t\tfileType: {\n\t\t\t\t\ttype: String,\n\t\t\t\t\toptional: true\n\t\t\t\t},\n\t\t\t\tsave: {\n\t\t\t\t\ttype: Boolean,\n\t\t\t\t\toptional: true\n\t\t\t\t}\n\t\t\t}),\n\t\t\tfunction: async function(htmls: string[], fileName: string, fileType?: string, save = true) {\n\t\t\t\tconst mergedPdf = await PDFDocument.create();\n\n\t\t\t\tfor (let i = 0; i < htmls.length; i++) {\n\t\t\t\t\tlet fileData = htmls[i];\n\n\t\t\t\t\tif (fileData) {\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tif (fileData.startsWith('data:application/pdf;base64,')) {\n\t\t\t\t\t\t\t\tconst pdf = await PDFDocument.load(fileData, { updateMetadata: false, parseSpeed: ParseSpeeds.Fastest, ignoreEncryption: true });\n\t\t\t\t\t\t\t\tconst copiedPages = await mergedPdf.copyPages(pdf, pdf.getPageIndices());\n\t\t\t\t\t\t\t\tcopiedPages.forEach((page) => {\n\t\t\t\t\t\t\t\t\tmergedPdf.addPage(page);\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\telse if (fileData.startsWith('data:image/jpeg;base64,/9j/') || fileData.startsWith('data:image/png;base64,/9j/')) {\n\t\t\t\t\t\t\t\tconst pdf = await PDFDocument.create();\n\t\t\t\t\t\t\t\tconst img = await pdf.embedJpg(fileData);\n\t\t\t\t\t\t\t\tconst page = pdf.addPage();\n\t\t\t\t\t\t\t\tlet imgDim = img.scaleToFit(page.getWidth() * 0.75, page.getHeight() * 0.75);\n\t\t\t\t\t\t\t\tpage.drawImage(img, {\n\t\t\t\t\t\t\t\t\tx: page.getWidth() / 2 - imgDim.width / 2,\n\t\t\t\t\t\t\t\t\ty: page.getHeight() / 2 - imgDim.height / 2,\n\t\t\t\t\t\t\t\t\twidth: imgDim.width,\n\t\t\t\t\t\t\t\t\theight: imgDim.height,\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\tconst copiedPages = await mergedPdf.copyPages(pdf, pdf.getPageIndices());\n\t\t\t\t\t\t\t\tcopiedPages.forEach((page) => {\n\t\t\t\t\t\t\t\t\tmergedPdf.addPage(page);\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\telse if (fileData.startsWith('data:image/png;base64,iVBOR')) {\n\t\t\t\t\t\t\t\tconst pdf = await PDFDocument.create();\n\t\t\t\t\t\t\t\tconst img = await pdf.embedPng(fileData);\n\t\t\t\t\t\t\t\tconst page = pdf.addPage();\n\t\t\t\t\t\t\t\tlet imgDim = img.scaleToFit(page.getWidth() * 0.75, page.getHeight() * 0.75);\n\t\t\t\t\t\t\t\tpage.drawImage(img, {\n\t\t\t\t\t\t\t\t\tx: page.getWidth() / 2 - imgDim.width / 2,\n\t\t\t\t\t\t\t\t\ty: page.getHeight() / 2 - imgDim.height / 2,\n\t\t\t\t\t\t\t\t\twidth: imgDim.width,\n\t\t\t\t\t\t\t\t\theight: imgDim.height,\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\tconst copiedPages = await mergedPdf.copyPages(pdf, pdf.getPageIndices());\n\t\t\t\t\t\t\t\tcopiedPages.forEach((page) => {\n\t\t\t\t\t\t\t\t\tmergedPdf.addPage(page);\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\tconsole.log('Error - unsupported!!', fileData.slice(0, 60));\n\t\t\t\t\t\t\t\tthrow new Error('Error in Merge PDF Resolve HTML: Unsupported file - ' + fileData.slice(0, 60));\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tcatch (error) {\n\t\t\t\t\t\t\tconsole.log('Error processing fileData:', fileData.slice(0, 60), error);\n\t\t\t\t\t\t\terror.message = `Error in Merge PDF Resolve HTML: Error processing filedata - ${error.message}`;\n\t\t\t\t\t\t\tthrow error;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\tconsole.log('Error - no filedata!!', fileData);\n\t\t\t\t\t\tthrow new Error('Error in Merge PDF Resolve HTML: No File data');\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tlet mergedPDFUint8 = await mergedPdf.save();\n\n\t\t\t\tconst b64PDF = 'data:application/pdf;base64,' + Buffer.from(mergedPDFUint8).toString('base64');\n\n\t\t\t\tif (save) {\n\t\t\t\t\treturn this.callMethod('uploadFileAndSave', fileName, b64PDF, (4 * Math.ceil(b64PDF.length / 3)), -1, fileType, false);\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\treturn b64PDF;\n\t\t\t\t}\n\t\t\t},\n\t\t\tworkerTaskWeight: 2\n\t\t}\n\t});\n}"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@resolveio/server-lib",
3
- "version": "20.7.93",
3
+ "version": "20.7.94",
4
4
  "description": "",
5
5
  "scripts": {
6
6
  "package": "./build_package.sh",