Comparing version 1.1.11 to 1.2.0
@@ -1,2 +0,2 @@ | ||
"use strict";function _interopDefault(t){return t&&"object"==typeof t&&"default"in t?t.default:t}function JsPDFMake(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};this.docDefinition=e,this.options={orientation:"p",unit:"pt",format:"a4",hotfixes:[],lineHeight:DEFAULT_LINE_HEIGHT},this.doc=new JsPDF(this.options).setProperties({title:t}),this.pageWidth=this.doc.internal.pageSize.getWidth(),this.pageHeight=this.doc.internal.pageSize.getHeight(),this.pageXMargin=i.pageXMargin||0,this.pageYMargin=i.pageYMargin||0,this.maxLineWidth=this.pageWidth-2*this.pageXMargin,this.generateFromDocDefinition()}Object.defineProperty(exports,"__esModule",{value:!0});var JsPDF=_interopDefault(require("jspdf")),DEFAULT_FONT_SIZE=18,DEFAULT_LINE_HEIGHT=1,DEFAULT_ALIGN="left",DEFAULT_FONT_NAME="times",DEFAULT_FONT_STYLE="normal",DEFAULT_TEXT_COLOR="black";JsPDFMake.prototype.clearDoc=function(){for(var t=this.doc;t.internal.pages.length>1;)t.deletePage(1);t.addPage()},JsPDFMake.prototype.updateDocDefinition=function(t){this.docDefinition=t,this.generateFromDocDefinition()},JsPDFMake.prototype.isCursorOutOfPageVertically=function(t){return t>this.pageHeight-this.pageYMargin},JsPDFMake.prototype.drawTextInLine=function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:DEFAULT_FONT_SIZE,n=arguments.length>4&&void 0!==arguments[4]?arguments[4]:0,a=this.doc,r=o/2+o/4;return a.setFontSize(o).text(e,r+Math.max(o,n)-o+i,t),{nextXOffset:e+a.getTextWidth(t+" "),nextYOffset:i+Math.max(o,n)}},JsPDFMake.prototype.escapeSpecialCharacters=function(t){return t.replace(/[^A-Za-z 0-9 \n\t\.,\?""!@#\$%\^&\*\(\)-_=\+;:<>\/\\\|\}\{\[\]`~]*/g,"")},JsPDFMake.prototype.generateFromDocDefinition=function(){var t=this,e=this.doc,i=this.docDefinition,o=this.pageXMargin,n=this.pageYMargin,a=this.maxLineWidth,r=this.pageWidth;this.clearDoc();var s=n,g=void 0;i.content.forEach(function(i){var d=i.text,h=i.fontSize,p=void 0===h?DEFAULT_FONT_SIZE:h,c=i.fontName,f=void 0===c?DEFAULT_FONT_NAME:c,l=i.fontStyle,D=void 0===l?DEFAULT_FONT_STYLE:l,F=i.textColor,T=void 0===F?DEFAULT_TEXT_COLOR:F,u=i.marginTop,_=void 0===u?0:u,v=i.marginRight,E=void 0===v?0:v,L=i.marginBottom,M=void 0===L?0:L,x=i.marginLeft,P=void 0===x?0:x,O=i.align,A=void 0===O?DEFAULT_ALIGN:O,m=i.pageBreak,y=void 0===m?"none":m;if("string"!=typeof d)return void console.warn("Text is only supported as string format, this section will not be rendered => "+d);var N=e.setFontSize(p).setFont(f,D).setTextColor(T).splitTextToSize(t.escapeSpecialCharacters(d),a-P-E);"before"===y&&(s=n,e.addPage()),s+=_,N.forEach(function(i){t.isCursorOutOfPageVertically(s+p)&&(s=n,e.addPage()),g=o+P,"center"===A?g=r/2-e.getTextWidth(i)/2+P-E:"right"===A&&(g=r-e.getTextWidth(i)-o-E);var a=t.drawTextInLine(i,g,s,p,0),d=a.nextYOffset;s=d}),s+=M,"after"===y&&(s=n,e.addPage())})},JsPDFMake.prototype.download=function(){this.doc.save()},exports.JsPDFMake=JsPDFMake; | ||
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjpudWxsLCJzb3VyY2VzIjpbIi4uL3NyYy9pbmRleC5qcyIsIi4uL3NyYy9jb25zdGFudHMuanMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IEpzUERGIGZyb20gJ2pzcGRmJztcbmltcG9ydCB7XG4gIERFRkFVTFRfRk9OVF9TSVpFLFxuICBERUZBVUxUX0xJTkVfSEVJR0hULFxuICBERUZBVUxUX0FMSUdOLFxuICBERUZBVUxUX0ZPTlRfTkFNRSxcbiAgREVGQVVMVF9GT05UX1NUWUxFLFxuICBERUZBVUxUX1RFWFRfQ09MT1IsXG59IGZyb20gJy4vY29uc3RhbnRzJztcblxuZXhwb3J0IGZ1bmN0aW9uIEpzUERGTWFrZSh0aXRsZSwgZG9jRGVmaW5pdGlvbiwgb3B0aW9ucyA9IHt9KSB7XG4gIHRoaXMuZG9jRGVmaW5pdGlvbiA9IGRvY0RlZmluaXRpb247XG4gIHRoaXMub3B0aW9ucyA9IHtcbiAgICBvcmllbnRhdGlvbjogJ3AnLFxuICAgIHVuaXQ6ICdwdCcsXG4gICAgZm9ybWF0OiAnYTQnLFxuICAgIGhvdGZpeGVzOiBbXSwgLy8gYW4gYXJyYXkgb2YgaG90Zml4IHN0cmluZ3MgdG8gZW5hYmxlXG4gICAgbGluZUhlaWdodDogREVGQVVMVF9MSU5FX0hFSUdIVCxcbiAgfTtcbiAgdGhpcy5kb2MgPSBuZXcgSnNQREYodGhpcy5vcHRpb25zKS5zZXRQcm9wZXJ0aWVzKHsgdGl0bGUgfSk7XG4gIHRoaXMucGFnZVdpZHRoID0gdGhpcy5kb2MuaW50ZXJuYWwucGFnZVNpemUuZ2V0V2lkdGgoKTtcbiAgdGhpcy5wYWdlSGVpZ2h0ID0gdGhpcy5kb2MuaW50ZXJuYWwucGFnZVNpemUuZ2V0SGVpZ2h0KCk7XG4gIHRoaXMucGFnZVhNYXJnaW4gPSBvcHRpb25zLnBhZ2VYTWFyZ2luIHx8IDA7XG4gIHRoaXMucGFnZVlNYXJnaW4gPSBvcHRpb25zLnBhZ2VZTWFyZ2luIHx8IDA7XG4gIHRoaXMubWF4TGluZVdpZHRoID0gdGhpcy5wYWdlV2lkdGggLSB0aGlzLnBhZ2VYTWFyZ2luICogMjtcbiAgdGhpcy5nZW5lcmF0ZUZyb21Eb2NEZWZpbml0aW9uKCk7XG59XG5cbkpzUERGTWFrZS5wcm90b3R5cGUuY2xlYXJEb2MgPSBmdW5jdGlvbiBjbGVhckRvYygpIHtcbiAgY29uc3QgeyBkb2MgfSA9IHRoaXM7XG4gIHdoaWxlIChkb2MuaW50ZXJuYWwucGFnZXMubGVuZ3RoID4gMSkge1xuICAgIGRvYy5kZWxldGVQYWdlKDEpO1xuICB9XG4gIGRvYy5hZGRQYWdlKCk7XG59O1xuXG5Kc1BERk1ha2UucHJvdG90eXBlLnVwZGF0ZURvY0RlZmluaXRpb24gPSBmdW5jdGlvbiB1cGRhdGVEb2NEZWZpbml0aW9uKGRvY0RlZmluaXRpb24pIHtcbiAgdGhpcy5kb2NEZWZpbml0aW9uID0gZG9jRGVmaW5pdGlvbjtcbiAgdGhpcy5nZW5lcmF0ZUZyb21Eb2NEZWZpbml0aW9uKCk7XG59O1xuXG5Kc1BERk1ha2UucHJvdG90eXBlLmlzQ3Vyc29yT3V0T2ZQYWdlVmVydGljYWxseSA9IGZ1bmN0aW9uIGlzQ3Vyc29yT3V0T2ZQYWdlVmVydGljYWxseSh5T2Zmc2V0KSB7XG4gIHJldHVybiB5T2Zmc2V0ID4gdGhpcy5wYWdlSGVpZ2h0IC0gdGhpcy5wYWdlWU1hcmdpbjtcbn07XG5cbi8qKlxuICogQHBhcmFtIHtTdHJpbmd9IHRleHQgVGhlIHRleHQgdG8gYmUgaW5saW5lZFxuICogQHBhcmFtIHtOdW1iZXJ9IHhPZmZzZXQgVGhlIHggb2Zmc2V0IGZvciB0aGUgbmV3IHRleHRcbiAqIEBwYXJhbSB7TnVtYmVyfSB5T2Zmc2V0IFRoZSB5IG9mZnNldCBmb3IgdGhlIG5ldyB0ZXh0XG4gKiBAcGFyYW0ge051bWJlcn0gZm9udFNpemUgVGhlIGZvbnQgc2l6ZSBmb3IgdGhlIG5ldyB0ZXh0XG4gKiBAcGFyYW0ge051bWJlcn0gbWF4Rm9udFNpemUgVGhlIG1heGltdW0gZm9udCBzaXplIGluIHRoaXMgbGluZS5cbiAqIEBwYXJhbSB7U3RyaW5nfSBhbGlnbiBFaXRoZXIgJ2xlZnQnLCAncmlnaHQnIG9yICdjZW50ZXInLCBkZWZhdWx0IGlzICdsZWZ0J1xuICovXG5Kc1BERk1ha2UucHJvdG90eXBlLmRyYXdUZXh0SW5MaW5lID0gZnVuY3Rpb24gZHJhd1RleHRJbkxpbmUodGV4dCwgeE9mZnNldCA9IDAsIHlPZmZzZXQgPSAwLCBmb250U2l6ZSA9IERFRkFVTFRfRk9OVF9TSVpFLCBtYXhGb250U2l6ZSA9IDApIHtcbiAgY29uc3Qge1xuICAgIGRvYyxcbiAgfSA9IHRoaXM7XG4gIGNvbnN0IGNlbnRlciA9IGZvbnRTaXplIC8gMi4wICsgZm9udFNpemUgLyA0LjA7IC8vIFRoZSByZW5kZXJlciBzdGFydHMgZHJhd2luZyB0ZXh0IGF0IHRoZSBjZW50ZXJcbiAgZG9jXG4gICAgLnNldEZvbnRTaXplKGZvbnRTaXplKVxuICAgIC50ZXh0KHhPZmZzZXQsIGNlbnRlciArIE1hdGgubWF4KGZvbnRTaXplLCBtYXhGb250U2l6ZSkgLSBmb250U2l6ZSArIHlPZmZzZXQsIHRleHQpO1xuICByZXR1cm4ge1xuICAgIG5leHRYT2Zmc2V0OiB4T2Zmc2V0ICsgZG9jLmdldFRleHRXaWR0aChgJHt0ZXh0fSBgKSxcbiAgICBuZXh0WU9mZnNldDogeU9mZnNldCArIE1hdGgubWF4KGZvbnRTaXplLCBtYXhGb250U2l6ZSksXG4gIH07XG59O1xuXG5cbi8qKlxuICogUmVtb3ZlcyBhbnkgc3BlY2lhbCBjaGFyYWN0ZXJzIGZyb20gdGhlIGdpdmVuIHRleHRcbiAqIEBwYXJhbSB7U3RyaW5nfSB0ZXh0IFRoZSB0ZXh0IHRvIGJlIHRyYW5zZm9ybWVkXG4gKi9cbkpzUERGTWFrZS5wcm90b3R5cGUuZXNjYXBlU3BlY2lhbENoYXJhY3RlcnMgPSBmdW5jdGlvbiBlc2NhcGVTcGVjaWFsQ2hhcmFjdGVycyh0ZXh0KSB7XG4gIHJldHVybiB0ZXh0LnJlcGxhY2UoL1teQS1aYS16IDAtOSBcXG5cXHRcXC4sXFw/XCJcIiFAI1xcJCVcXF4mXFwqXFwoXFwpLV89XFwrOzo8PlxcL1xcXFxcXHxcXH1cXHtcXFtcXF1gfl0qL2csICcnKTtcbn07XG5cbkpzUERGTWFrZS5wcm90b3R5cGUuZ2VuZXJhdGVGcm9tRG9jRGVmaW5pdGlvbiA9IGZ1bmN0aW9uIGdlbmVyYXRlRnJvbURvY0RlZmluaXRpb24oKSB7XG4gIGNvbnN0IHtcbiAgICBkb2MsXG4gICAgZG9jRGVmaW5pdGlvbixcbiAgICBwYWdlWE1hcmdpbixcbiAgICBwYWdlWU1hcmdpbixcbiAgICBtYXhMaW5lV2lkdGgsXG4gICAgcGFnZVdpZHRoLFxuICB9ID0gdGhpcztcbiAgdGhpcy5jbGVhckRvYygpO1xuICBsZXQgeU9mZnNldCA9IHBhZ2VZTWFyZ2luO1xuICBsZXQgeE9mZnNldDtcbiAgZG9jRGVmaW5pdGlvbi5jb250ZW50LmZvckVhY2goKHtcbiAgICB0ZXh0LFxuICAgIGZvbnRTaXplID0gREVGQVVMVF9GT05UX1NJWkUsXG4gICAgZm9udE5hbWUgPSBERUZBVUxUX0ZPTlRfTkFNRSxcbiAgICBmb250U3R5bGUgPSBERUZBVUxUX0ZPTlRfU1RZTEUsXG4gICAgdGV4dENvbG9yID0gREVGQVVMVF9URVhUX0NPTE9SLFxuICAgIG1hcmdpblRvcCA9IDAsXG4gICAgbWFyZ2luUmlnaHQgPSAwLFxuICAgIG1hcmdpbkJvdHRvbSA9IDAsXG4gICAgbWFyZ2luTGVmdCA9IDAsXG4gICAgYWxpZ24gPSBERUZBVUxUX0FMSUdOLFxuICAgIHBhZ2VCcmVhayA9ICdub25lJyxcbiAgfSkgPT4ge1xuICAgIGlmICh0eXBlb2YgdGV4dCAhPT0gJ3N0cmluZycpIHtcbiAgICAgIC8vIFRPRE86IEhBTkRMRSBJTkxJTkUgVEVYVCBPQkpFQ1RTXG4gICAgICBjb25zb2xlLndhcm4oYFRleHQgaXMgb25seSBzdXBwb3J0ZWQgYXMgc3RyaW5nIGZvcm1hdCwgdGhpcyBzZWN0aW9uIHdpbGwgbm90IGJlIHJlbmRlcmVkID0+ICR7dGV4dH1gKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICAvLyBzcGxpdFRleHRUb1NpemUgdGFrZXMgeW91ciBzdHJpbmcgYW5kIHR1cm5zIGl0IGluIHRvIGFuIGFycmF5IG9mIHN0cmluZ3MsXG4gICAgLy8gZWFjaCBvZiB3aGljaCBjYW4gYmUgZGlzcGxheWVkIHdpdGhpbiB0aGUgc3BlY2lmaWVkIG1heExpbmVXaWR0aC5cbiAgICBjb25zdCB0ZXh0TGluZXMgPSBkb2NcbiAgICAgIC5zZXRGb250U2l6ZShmb250U2l6ZSlcbiAgICAgIC5zZXRGb250KGZvbnROYW1lLCBmb250U3R5bGUpXG4gICAgICAuc2V0VGV4dENvbG9yKHRleHRDb2xvcilcbiAgICAgIC5zcGxpdFRleHRUb1NpemUodGhpcy5lc2NhcGVTcGVjaWFsQ2hhcmFjdGVycyh0ZXh0KSwgbWF4TGluZVdpZHRoIC0gbWFyZ2luTGVmdCAtIG1hcmdpblJpZ2h0KTtcblxuICAgIGlmIChwYWdlQnJlYWsgPT09ICdiZWZvcmUnKSB7XG4gICAgICB5T2Zmc2V0ID0gcGFnZVlNYXJnaW47XG4gICAgICBkb2MuYWRkUGFnZSgpO1xuICAgIH1cblxuICAgIHlPZmZzZXQgKz0gbWFyZ2luVG9wO1xuXG4gICAgLy8gZG9jLnRleHQgY2FuIG5vdyBhZGQgdGhvc2UgbGluZXMgZWFzaWx5OyBvdGhlcndpc2UsIGl0IHdvdWxkIGhhdmUgcnVuIHRleHQgb2ZmIHRoZSBzY3JlZW4hXG4gICAgdGV4dExpbmVzLmZvckVhY2goKGxpbmUpID0+IHtcbiAgICAgIGlmICh0aGlzLmlzQ3Vyc29yT3V0T2ZQYWdlVmVydGljYWxseSh5T2Zmc2V0ICsgZm9udFNpemUpKSB7XG4gICAgICAgIC8vIGlmIG5leHQgbGluZSBjYW4ndCBiZSB3cml0dGVuIHJlc2V0IG9mZnNldCBhbmQgYWRkIGEgbmV3IHBhZ2VcbiAgICAgICAgeU9mZnNldCA9IHBhZ2VZTWFyZ2luO1xuICAgICAgICBkb2MuYWRkUGFnZSgpO1xuICAgICAgfVxuICAgICAgeE9mZnNldCA9IHBhZ2VYTWFyZ2luICsgbWFyZ2luTGVmdDtcbiAgICAgIGlmIChhbGlnbiA9PT0gJ2NlbnRlcicpIHtcbiAgICAgICAgeE9mZnNldCA9IHBhZ2VXaWR0aCAvIDIuMCAtIGRvYy5nZXRUZXh0V2lkdGgobGluZSkgLyAyLjAgKyBtYXJnaW5MZWZ0IC0gbWFyZ2luUmlnaHQ7XG4gICAgICB9IGVsc2UgaWYgKGFsaWduID09PSAncmlnaHQnKSB7XG4gICAgICAgIHhPZmZzZXQgPSBwYWdlV2lkdGggLSBkb2MuZ2V0VGV4dFdpZHRoKGxpbmUpIC0gcGFnZVhNYXJnaW4gLSBtYXJnaW5SaWdodDtcbiAgICAgIH1cbiAgICAgIGNvbnN0IHsgbmV4dFlPZmZzZXQgfSA9IHRoaXMuZHJhd1RleHRJbkxpbmUobGluZSwgeE9mZnNldCwgeU9mZnNldCwgZm9udFNpemUsIDApO1xuICAgICAgeU9mZnNldCA9IG5leHRZT2Zmc2V0O1xuICAgIH0pO1xuXG4gICAgeU9mZnNldCArPSBtYXJnaW5Cb3R0b207XG5cbiAgICBpZiAocGFnZUJyZWFrID09PSAnYWZ0ZXInKSB7XG4gICAgICB5T2Zmc2V0ID0gcGFnZVlNYXJnaW47XG4gICAgICBkb2MuYWRkUGFnZSgpO1xuICAgIH1cbiAgfSk7XG59O1xuXG5Kc1BERk1ha2UucHJvdG90eXBlLmRvd25sb2FkID0gZnVuY3Rpb24gZG93bmxvYWQoKSB7XG4gIHRoaXMuZG9jLnNhdmUoKTtcbn07XG4iLCJleHBvcnQgY29uc3QgREVGQVVMVF9GT05UX1NJWkUgPSAxODtcbmV4cG9ydCBjb25zdCBERUZBVUxUX0xJTkVfSEVJR0hUID0gMTtcbmV4cG9ydCBjb25zdCBERUZBVUxUX0FMSUdOID0gJ2xlZnQnO1xuZXhwb3J0IGNvbnN0IERFRkFVTFRfRk9OVF9OQU1FID0gJ3RpbWVzJztcbmV4cG9ydCBjb25zdCBERUZBVUxUX0ZPTlRfU1RZTEUgPSAnbm9ybWFsJztcbmV4cG9ydCBjb25zdCBERUZBVUxUX1RFWFRfQ09MT1IgPSAnYmxhY2snO1xuXG5leHBvcnQgZGVmYXVsdCB7XG4gIERFRkFVTFRfRk9OVF9TSVpFLFxuICBERUZBVUxUX0xJTkVfSEVJR0hULFxuICBERUZBVUxUX0FMSUdOLFxuICBERUZBVUxUX0ZPTlRfTkFNRSxcbiAgREVGQVVMVF9GT05UX1NUWUxFLFxuICBERUZBVUxUX1RFWFRfQ09MT1IsXG59O1xuIl0sIm5hbWVzIjpbIkpzUERGTWFrZSIsInRpdGxlIiwiZG9jRGVmaW5pdGlvbiIsIm9wdGlvbnMiLCJERUZBVUxUX0xJTkVfSEVJR0hUIiwiZG9jIiwiSnNQREYiLCJ0aGlzIiwic2V0UHJvcGVydGllcyIsInBhZ2VXaWR0aCIsImludGVybmFsIiwicGFnZVNpemUiLCJnZXRXaWR0aCIsInBhZ2VIZWlnaHQiLCJnZXRIZWlnaHQiLCJwYWdlWE1hcmdpbiIsInBhZ2VZTWFyZ2luIiwibWF4TGluZVdpZHRoIiwiZ2VuZXJhdGVGcm9tRG9jRGVmaW5pdGlvbiIsIkRFRkFVTFRfRk9OVF9TSVpFIiwiREVGQVVMVF9BTElHTiIsIkRFRkFVTFRfRk9OVF9OQU1FIiwiREVGQVVMVF9GT05UX1NUWUxFIiwiREVGQVVMVF9URVhUX0NPTE9SIiwicHJvdG90eXBlIiwiY2xlYXJEb2MiLCJwYWdlcyIsImxlbmd0aCIsImRlbGV0ZVBhZ2UiLCJhZGRQYWdlIiwidXBkYXRlRG9jRGVmaW5pdGlvbiIsImlzQ3Vyc29yT3V0T2ZQYWdlVmVydGljYWxseSIsInlPZmZzZXQiLCJkcmF3VGV4dEluTGluZSIsInRleHQiLCJ4T2Zmc2V0IiwiZm9udFNpemUiLCJtYXhGb250U2l6ZSIsImNlbnRlciIsInNldEZvbnRTaXplIiwiTWF0aCIsIm1heCIsImdldFRleHRXaWR0aCIsImVzY2FwZVNwZWNpYWxDaGFyYWN0ZXJzIiwicmVwbGFjZSIsImNvbnRlbnQiLCJmb3JFYWNoIiwiZm9udE5hbWUiLCJmb250U3R5bGUiLCJ0ZXh0Q29sb3IiLCJtYXJnaW5Ub3AiLCJtYXJnaW5SaWdodCIsIm1hcmdpbkJvdHRvbSIsIm1hcmdpbkxlZnQiLCJhbGlnbiIsInBhZ2VCcmVhayIsIndhcm4iLCJ0ZXh0TGluZXMiLCJzZXRGb250Iiwic2V0VGV4dENvbG9yIiwic3BsaXRUZXh0VG9TaXplIiwiX3RoaXMiLCJsaW5lIiwi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 | ||
"use strict";function _interopDefault(t){return t&&"object"==typeof t&&"default"in t?t.default:t}function JsPDFMake(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};this.docDefinition=e,this.options={orientation:"p",unit:"pt",format:"a4",hotfixes:[],lineHeight:DEFAULT_LINE_HEIGHT},this.doc=new JsPDF(this.options).setProperties({title:t}),this.title=t,this.pageWidth=this.doc.internal.pageSize.getWidth(),this.pageHeight=this.doc.internal.pageSize.getHeight(),this.pageXMargin=i.pageXMargin||0,this.pageYMargin=i.pageYMargin||0,this.maxLineWidth=this.pageWidth-2*this.pageXMargin,this.tocSections={},this.generateFromDocDefinition()}Object.defineProperty(exports,"__esModule",{value:!0});var JsPDF=_interopDefault(require("jspdf")),DEFAULT_FONT_SIZE=18,DEFAULT_LINE_HEIGHT=1,DEFAULT_ALIGN="left",DEFAULT_FONT_NAME="times",DEFAULT_FONT_STYLE="normal",DEFAULT_TEXT_COLOR="black";JsPDFMake.prototype.initTOC=function(){var t=this;this.docDefinition.content.filter(function(t){return t.toc}).forEach(function(e){var i=e.toc,n=Object.assign({},i);delete n.id,t.tocSections[i.id]={startingPage:0,items:[],options:n}})},JsPDFMake.prototype.renderTOC=function(){var t=this,e=this.doc,i=this.pageYMargin,n=this.tocSections,o=Object.values(n);o.forEach(function(n){var a=n.startingPage,r=n.items,s=i;e.setPage(a),t.addPage(),n.size=1,r.forEach(function(e){var i=e.title,n=e.pageNumber;o.forEach(function(t){var e=t.startingPage,i=t.size;return n>=e&&(n+=i)}),t.drawTextInLine({isLink:!0,text:i+" "+n,pageNumber:n},void 0,s,18,18),s+=20})}),console.log(n)},JsPDFMake.prototype.size=function(){return this.doc.internal.pages.length-1},JsPDFMake.prototype.addPage=function(){var t=this.doc,e=this.getCurrentPageNumber();e===this.size()?t.addPage():t.insertPage(e)},JsPDFMake.prototype.clearDoc=function(){for(var t=this.doc;t.internal.pages.length>1;)t.deletePage(1);this.addPage()},JsPDFMake.prototype.updateDocDefinition=function(t){this.docDefinition=t,this.generateFromDocDefinition()},JsPDFMake.prototype.getCurrentPageNumber=function(){return this.doc.internal.getCurrentPageInfo().pageNumber},JsPDFMake.prototype.isCursorOutOfPageVertically=function(t){return t>this.pageHeight-this.pageYMargin},JsPDFMake.prototype.drawTextInLine=function(t){var e=t.text,i=t.fontSize,n=t.fontName,o=t.fontStyle,a=t.textColor,r=t.xOffset,s=t.yOffset,f=t.pageNumber,g=t.maxFontSize,c=t.isLink,h=this.doc,p=i/2+i/4;return h.setPage(f).setFont(n,o).setFontSize(i).setTextColor(a),c?h.textWithLink(e,r,p+Math.max(i,g)-i+s,{pageNumber:f}):h.text(r,p+Math.max(i,g)-i+s,e),!0},JsPDFMake.prototype.drawParagraphs=function(t){var e=this;t.forEach(function(t){return t.forEach(function(t){for(;t.pageNumber>e.size();)e.addPage();e.drawTextInLine(t)})})},JsPDFMake.prototype.escapeSpecialCharacters=function(t){return t.replace(/[^A-Za-z 0-9 \n\t\.,\?""!@#\$%\^&\*\(\)-_=\+;:<>\/\\\|\}\{\[\]`~]*/g,"")},JsPDFMake.prototype.renderParagraph=function(t,e,i,n){var o=t.text,a=t.pageBreak,r=void 0===a?"none":a,s=t.fontSize,f=void 0===s?DEFAULT_FONT_SIZE:s,g=t.fontName,c=void 0===g?DEFAULT_FONT_NAME:g,h=t.fontStyle,p=void 0===h?DEFAULT_FONT_STYLE:h,u=t.textColor,d=void 0===u?DEFAULT_TEXT_COLOR:u,l=t.align,D=void 0===l?DEFAULT_ALIGN:l,P=t.marginTop,F=void 0===P?0:P,T=t.marginRight,m=void 0===T?0:T,x=t.marginBottom,v=void 0===x?0:x,M=t.marginLeft,E=void 0===M?0:M,O=t.tocIds,L=void 0===O?[]:O,y=t.tocTitle,_=this,N=this.doc,k=this.maxLineWidth,S=this.tocSections,C=this.pageXMargin,b=this.pageYMargin,J=this.pageWidth;if("string"!=typeof o)return console.warn("Text is only supported as string format, this section will not be rendered => "+o),{nextXOffset:e,nextYOffset:i,nextPage:n,lines:z};("before"===r||this.isCursorOutOfPageVertically(i+f))&&(i=b,n+=1),L.forEach(function(t){S[t].items.push({title:y||o,pageNumber:_.getCurrentPageNumber()})});var A=N.setFont(c,p).setFontSize(f).setTextColor(d).splitTextToSize(this.escapeSpecialCharacters(o),k-E-m);i+=F;var z=[];return A.forEach(function(t){_.isCursorOutOfPageVertically(i+f)&&(i=b,n+=1),e=C+E,"center"===D?e=J/2-N.getTextWidth(t)/2+E-m:"right"===D&&(e=J-N.getTextWidth(t)-C-m),z.push({text:t,fontSize:f,fontName:c,fontStyle:p,textColor:d,xOffset:e,yOffset:i,pageNumber:n,maxFontSize:f,isLink:!1}),i+=f}),i+=v,"after"===r&&(i=b,n+=1),{nextXOffset:e,nextYOffset:i,nextPage:n,lines:z}},JsPDFMake.prototype.transformContentToDrawables=function(t){var e=this,i=this.pageYMargin,n=void 0,o=1;return t.map(function(t){if(!t.toc){var a=e.renderParagraph(t,n,i,o),r=a.nextXOffset,s=a.nextYOffset,f=a.nextPage,g=a.lines;return i=s,n=r,o=f,g}}).filter(function(t){return t})},JsPDFMake.prototype.generateFromDocDefinition=function(){var t=this.docDefinition;this.clearDoc(),this.initTOC();var e=this.transformContentToDrawables(t.content);console.log(e),this.drawParagraphs(e)},JsPDFMake.prototype.download=function(){this.doc.save(this.title)},exports.JsPDFMake=JsPDFMake; | ||
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjpudWxsLCJzb3VyY2VzIjpbIi4uL3NyYy9pbmRleC5qcyIsIi4uL3NyYy9jb25zdGFudHMuanMiLCIuLi9zcmMvdG9jLmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBKc1BERiBmcm9tICdqc3BkZic7XG5pbXBvcnQge1xuICBERUZBVUxUX0ZPTlRfU0laRSxcbiAgREVGQVVMVF9MSU5FX0hFSUdIVCxcbiAgREVGQVVMVF9BTElHTixcbiAgREVGQVVMVF9GT05UX05BTUUsXG4gIERFRkFVTFRfRk9OVF9TVFlMRSxcbiAgREVGQVVMVF9URVhUX0NPTE9SLFxufSBmcm9tICcuL2NvbnN0YW50cyc7XG5pbXBvcnQgJy4vdG9jJztcblxuZXhwb3J0IGZ1bmN0aW9uIEpzUERGTWFrZSh0aXRsZSwgZG9jRGVmaW5pdGlvbiwgb3B0aW9ucyA9IHt9KSB7XG4gIHRoaXMuZG9jRGVmaW5pdGlvbiA9IGRvY0RlZmluaXRpb247XG4gIHRoaXMub3B0aW9ucyA9IHtcbiAgICBvcmllbnRhdGlvbjogJ3AnLFxuICAgIHVuaXQ6ICdwdCcsXG4gICAgZm9ybWF0OiAnYTQnLFxuICAgIGhvdGZpeGVzOiBbXSwgLy8gYW4gYXJyYXkgb2YgaG90Zml4IHN0cmluZ3MgdG8gZW5hYmxlXG4gICAgbGluZUhlaWdodDogREVGQVVMVF9MSU5FX0hFSUdIVCxcbiAgfTtcbiAgdGhpcy5kb2MgPSBuZXcgSnNQREYodGhpcy5vcHRpb25zKS5zZXRQcm9wZXJ0aWVzKHsgdGl0bGUgfSk7XG4gIHRoaXMudGl0bGUgPSB0aXRsZTtcbiAgdGhpcy5wYWdlV2lkdGggPSB0aGlzLmRvYy5pbnRlcm5hbC5wYWdlU2l6ZS5nZXRXaWR0aCgpO1xuICB0aGlzLnBhZ2VIZWlnaHQgPSB0aGlzLmRvYy5pbnRlcm5hbC5wYWdlU2l6ZS5nZXRIZWlnaHQoKTtcbiAgdGhpcy5wYWdlWE1hcmdpbiA9IG9wdGlvbnMucGFnZVhNYXJnaW4gfHwgMDtcbiAgdGhpcy5wYWdlWU1hcmdpbiA9IG9wdGlvbnMucGFnZVlNYXJnaW4gfHwgMDtcbiAgdGhpcy5tYXhMaW5lV2lkdGggPSB0aGlzLnBhZ2VXaWR0aCAtIHRoaXMucGFnZVhNYXJnaW4gKiAyO1xuICB0aGlzLnRvY1NlY3Rpb25zID0ge307XG4gIHRoaXMuZ2VuZXJhdGVGcm9tRG9jRGVmaW5pdGlvbigpO1xufVxuXG5Kc1BERk1ha2UucHJvdG90eXBlLnNpemUgPSBmdW5jdGlvbiBzaXplKCkge1xuICByZXR1cm4gdGhpcy5kb2MuaW50ZXJuYWwucGFnZXMubGVuZ3RoIC0gMTtcbn07XG5cbkpzUERGTWFrZS5wcm90b3R5cGUuYWRkUGFnZSA9IGZ1bmN0aW9uIGFkZFBhZ2UoKSB7XG4gIGNvbnN0IHtcbiAgICBkb2MsXG4gIH0gPSB0aGlzO1xuICBjb25zdCBjdXJyZW50UGFnZSA9IHRoaXMuZ2V0Q3VycmVudFBhZ2VOdW1iZXIoKTtcbiAgaWYgKGN1cnJlbnRQYWdlID09PSB0aGlzLnNpemUoKSkge1xuICAgIGRvYy5hZGRQYWdlKCk7XG4gIH0gZWxzZSB7XG4gICAgZG9jLmluc2VydFBhZ2UoY3VycmVudFBhZ2UpO1xuICB9XG59O1xuXG5Kc1BERk1ha2UucHJvdG90eXBlLmNsZWFyRG9jID0gZnVuY3Rpb24gY2xlYXJEb2MoKSB7XG4gIGNvbnN0IHsgZG9jIH0gPSB0aGlzO1xuICB3aGlsZSAoZG9jLmludGVybmFsLnBhZ2VzLmxlbmd0aCA+IDEpIHtcbiAgICBkb2MuZGVsZXRlUGFnZSgxKTtcbiAgfVxuICB0aGlzLmFkZFBhZ2UoKTtcbn07XG5cbkpzUERGTWFrZS5wcm90b3R5cGUudXBkYXRlRG9jRGVmaW5pdGlvbiA9IGZ1bmN0aW9uIHVwZGF0ZURvY0RlZmluaXRpb24oZG9jRGVmaW5pdGlvbikge1xuICB0aGlzLmRvY0RlZmluaXRpb24gPSBkb2NEZWZpbml0aW9uO1xuICB0aGlzLmdlbmVyYXRlRnJvbURvY0RlZmluaXRpb24oKTtcbn07XG5cbkpzUERGTWFrZS5wcm90b3R5cGUuZ2V0Q3VycmVudFBhZ2VOdW1iZXIgPSBmdW5jdGlvbiBnZXRDdXJyZW50UGFnZU51bWJlcigpIHtcbiAgcmV0dXJuIHRoaXMuZG9jLmludGVybmFsLmdldEN1cnJlbnRQYWdlSW5mbygpLnBhZ2VOdW1iZXI7XG59O1xuXG5Kc1BERk1ha2UucHJvdG90eXBlLmlzQ3Vyc29yT3V0T2ZQYWdlVmVydGljYWxseSA9IGZ1bmN0aW9uIGlzQ3Vyc29yT3V0T2ZQYWdlVmVydGljYWxseSh5T2Zmc2V0KSB7XG4gIHJldHVybiB5T2Zmc2V0ID4gdGhpcy5wYWdlSGVpZ2h0IC0gdGhpcy5wYWdlWU1hcmdpbjtcbn07XG5cbi8qKlxuICogQHBhcmFtIHtTdHJpbmd9IHRleHQgVGhlIHRleHQgdG8gYmUgaW5saW5lZFxuICogQHBhcmFtIHtOdW1iZXJ9IHhPZmZzZXQgVGhlIHggb2Zmc2V0IGZvciB0aGUgbmV3IHRleHRcbiAqIEBwYXJhbSB7TnVtYmVyfSB5T2Zmc2V0IFRoZSB5IG9mZnNldCBmb3IgdGhlIG5ldyB0ZXh0XG4gKiBAcGFyYW0ge051bWJlcn0gZm9udFNpemUgVGhlIGZvbnQgc2l6ZSBmb3IgdGhlIG5ldyB0ZXh0XG4gKiBAcGFyYW0ge051bWJlcn0gbWF4Rm9udFNpemUgVGhlIG1heGltdW0gZm9udCBzaXplIGluIHRoaXMgbGluZS5cbiAqIEBwYXJhbSB7U3RyaW5nfSBhbGlnbiBFaXRoZXIgJ2xlZnQnLCAncmlnaHQnIG9yICdjZW50ZXInLCBkZWZhdWx0IGlzICdsZWZ0J1xuICovXG5Kc1BERk1ha2UucHJvdG90eXBlLmRyYXdUZXh0SW5MaW5lID0gZnVuY3Rpb24gZHJhd1RleHRJbkxpbmUoe1xuICB0ZXh0LFxuICBmb250U2l6ZSxcbiAgZm9udE5hbWUsXG4gIGZvbnRTdHlsZSxcbiAgdGV4dENvbG9yLFxuICB4T2Zmc2V0LFxuICB5T2Zmc2V0LFxuICBwYWdlTnVtYmVyLFxuICBtYXhGb250U2l6ZSxcbiAgaXNMaW5rLFxufSkge1xuICBjb25zdCB7XG4gICAgZG9jLFxuICB9ID0gdGhpcztcbiAgY29uc3QgY2VudGVyID0gZm9udFNpemUgLyAyLjAgKyBmb250U2l6ZSAvIDQuMDsgLy8gVGhlIHJlbmRlcmVyIHN0YXJ0cyBkcmF3aW5nIHRleHQgYXQgdGhlIGNlbnRlclxuICBkb2NcbiAgICAuc2V0UGFnZShwYWdlTnVtYmVyKVxuICAgIC5zZXRGb250KGZvbnROYW1lLCBmb250U3R5bGUpXG4gICAgLnNldEZvbnRTaXplKGZvbnRTaXplKVxuICAgIC5zZXRUZXh0Q29sb3IodGV4dENvbG9yKTtcbiAgaWYgKGlzTGluaykge1xuICAgIGRvYy50ZXh0V2l0aExpbmsodGV4dCwgeE9mZnNldCwgY2VudGVyICsgTWF0aC5tYXgoZm9udFNpemUsIG1heEZvbnRTaXplKSAtIGZvbnRTaXplICsgeU9mZnNldCwgeyBwYWdlTnVtYmVyIH0pO1xuICB9IGVsc2Uge1xuICAgIGRvYy50ZXh0KHhPZmZzZXQsIGNlbnRlciArIE1hdGgubWF4KGZvbnRTaXplLCBtYXhGb250U2l6ZSkgLSBmb250U2l6ZSArIHlPZmZzZXQsIHRleHQpO1xuICB9XG4gIHJldHVybiB0cnVlO1xufTtcblxuSnNQREZNYWtlLnByb3RvdHlwZS5kcmF3UGFyYWdyYXBocyA9IGZ1bmN0aW9uIGRyYXdQYXJhZ3JhcGhzKHBhcmFncmFwaHMpIHtcbiAgcGFyYWdyYXBocy5mb3JFYWNoKHBhcmFncmFwaCA9PiBwYXJhZ3JhcGguZm9yRWFjaChsaW5lID0+IHtcbiAgICB3aGlsZSAobGluZS5wYWdlTnVtYmVyID4gdGhpcy5zaXplKCkpIHtcbiAgICAgIHRoaXMuYWRkUGFnZSgpO1xuICAgIH1cbiAgICB0aGlzLmRyYXdUZXh0SW5MaW5lKGxpbmUpO1xuICB9KSk7XG59O1xuXG4vKipcbiAqIFJlbW92ZXMgYW55IHNwZWNpYWwgY2hhcmFjdGVycyBmcm9tIHRoZSBnaXZlbiB0ZXh0XG4gKiBAcGFyYW0ge1N0cmluZ30gdGV4dCBUaGUgdGV4dCB0byBiZSB0cmFuc2Zvcm1lZFxuICovXG5Kc1BERk1ha2UucHJvdG90eXBlLmVzY2FwZVNwZWNpYWxDaGFyYWN0ZXJzID0gZnVuY3Rpb24gZXNjYXBlU3BlY2lhbENoYXJhY3RlcnModGV4dCkge1xuICByZXR1cm4gdGV4dC5yZXBsYWNlKC9bXkEtWmEteiAwLTkgXFxuXFx0XFwuLFxcP1wiXCIhQCNcXCQlXFxeJlxcKlxcKFxcKS1fPVxcKzs6PD5cXC9cXFxcXFx8XFx9XFx7XFxbXFxdYH5dKi9nLCAnJyk7XG59O1xuXG5Kc1BERk1ha2UucHJvdG90eXBlLnJlbmRlclBhcmFncmFwaCA9IGZ1bmN0aW9uIHJlbmRlclBhcmFncmFwaCh7XG4gIHRleHQsXG4gIHBhZ2VCcmVhayA9ICdub25lJyxcbiAgZm9udFNpemUgPSBERUZBVUxUX0ZPTlRfU0laRSxcbiAgZm9udE5hbWUgPSBERUZBVUxUX0ZPTlRfTkFNRSxcbiAgZm9udFN0eWxlID0gREVGQVVMVF9GT05UX1NUWUxFLFxuICB0ZXh0Q29sb3IgPSBERUZBVUxUX1RFWFRfQ09MT1IsXG4gIGFsaWduID0gREVGQVVMVF9BTElHTixcbiAgbWFyZ2luVG9wID0gMCxcbiAgbWFyZ2luUmlnaHQgPSAwLFxuICBtYXJnaW5Cb3R0b20gPSAwLFxuICBtYXJnaW5MZWZ0ID0gMCxcbiAgdG9jSWRzID0gW10sXG4gIHRvY1RpdGxlLFxufSwgeE9mZnNldCwgeU9mZnNldCwgcGFnZU51bWJlcikge1xuXG4gIGNvbnN0IHtcbiAgICBkb2MsXG4gICAgbWF4TGluZVdpZHRoLFxuICAgIHRvY1NlY3Rpb25zLFxuICAgIHBhZ2VYTWFyZ2luLFxuICAgIHBhZ2VZTWFyZ2luLFxuICAgIHBhZ2VXaWR0aCxcbiAgfSA9IHRoaXM7XG5cbiAgaWYgKHR5cGVvZiB0ZXh0ICE9PSAnc3RyaW5nJykge1xuICAgIC8vIFRPRE86IEhBTkRMRSBJTkxJTkUgVEVYVCBPQkpFQ1RTXG4gICAgY29uc29sZS53YXJuKGBUZXh0IGlzIG9ubHkgc3VwcG9ydGVkIGFzIHN0cmluZyBmb3JtYXQsIHRoaXMgc2VjdGlvbiB3aWxsIG5vdCBiZSByZW5kZXJlZCA9PiAke3RleHR9YCk7XG4gICAgcmV0dXJuIHsgbmV4dFhPZmZzZXQ6IHhPZmZzZXQsIG5leHRZT2Zmc2V0OiB5T2Zmc2V0LCBuZXh0UGFnZTogcGFnZU51bWJlciwgbGluZXMgfTtcbiAgfVxuICBpZiAocGFnZUJyZWFrID09PSAnYmVmb3JlJyB8fCB0aGlzLmlzQ3Vyc29yT3V0T2ZQYWdlVmVydGljYWxseSh5T2Zmc2V0ICsgZm9udFNpemUpKSB7XG4gICAgLy8gaWYgcGFnZSBicmVhayBiZWZvcmUgb3IgbmV4dCBsaW5lIGNhbid0IGJlIHdyaXR0ZW4gcmVzZXQgb2Zmc2V0IGFuZCBhZGQgYSBuZXcgcGFnZVxuICAgIHlPZmZzZXQgPSBwYWdlWU1hcmdpbjtcbiAgICAvLyB0aGlzLmFkZFBhZ2UoKTtcbiAgICBwYWdlTnVtYmVyICs9IDE7XG4gIH1cblxuICAvLyBJbnNlcnQgdGhpcyBwYXJhZ3JhcGggdG8gaXRzIHRvYyBzZWN0aW9ucyBpZiBhbnlcbiAgdG9jSWRzLmZvckVhY2godG9jSWQgPT4ge1xuICAgIGNvbnN0IHNlY3Rpb24gPSB0b2NTZWN0aW9uc1t0b2NJZF07XG4gICAgc2VjdGlvbi5pdGVtcy5wdXNoKHtcbiAgICAgIHRpdGxlOiB0b2NUaXRsZSB8fCB0ZXh0LFxuICAgICAgcGFnZU51bWJlcjogdGhpcy5nZXRDdXJyZW50UGFnZU51bWJlcigpLFxuICAgIH0pO1xuICB9KTtcblxuICAvLyBzcGxpdFRleHRUb1NpemUgdGFrZXMgeW91ciBzdHJpbmcgYW5kIHR1cm5zIGl0IGluIHRvIGFuIGFycmF5IG9mIHN0cmluZ3MsXG4gIC8vIGVhY2ggb2Ygd2hpY2ggY2FuIGJlIGRpc3BsYXllZCB3aXRoaW4gdGhlIHNwZWNpZmllZCBtYXhMaW5lV2lkdGguXG4gIGNvbnN0IHRleHRMaW5lcyA9IGRvY1xuICAgIC5zZXRGb250KGZvbnROYW1lLCBmb250U3R5bGUpXG4gICAgLnNldEZvbnRTaXplKGZvbnRTaXplKVxuICAgIC5zZXRUZXh0Q29sb3IodGV4dENvbG9yKVxuICAgIC5zcGxpdFRleHRUb1NpemUodGhpcy5lc2NhcGVTcGVjaWFsQ2hhcmFjdGVycyh0ZXh0KSwgbWF4TGluZVdpZHRoIC0gbWFyZ2luTGVmdCAtIG1hcmdpblJpZ2h0KTtcblxuICB5T2Zmc2V0ICs9IG1hcmdpblRvcDtcblxuICBjb25zdCBsaW5lcyA9IFtdO1xuXG4gIC8vIGRvYy50ZXh0IGNhbiBub3cgYWRkIHRob3NlIGxpbmVzIGVhc2lseTsgb3RoZXJ3aXNlLCBpdCB3b3VsZCBoYXZlIHJ1biB0ZXh0IG9mZiB0aGUgc2NyZWVuIVxuICB0ZXh0TGluZXMuZm9yRWFjaCgobGluZSkgPT4ge1xuICAgIGlmICh0aGlzLmlzQ3Vyc29yT3V0T2ZQYWdlVmVydGljYWxseSh5T2Zmc2V0ICsgZm9udFNpemUpKSB7XG4gICAgICAvLyBpZiBuZXh0IGxpbmUgY2FuJ3QgYmUgd3JpdHRlbiByZXNldCBvZmZzZXQgYW5kIGFkZCBhIG5ldyBwYWdlXG4gICAgICB5T2Zmc2V0ID0gcGFnZVlNYXJnaW47XG4gICAgICAvLyB0aGlzLmFkZFBhZ2UoKTtcbiAgICAgIHBhZ2VOdW1iZXIgKz0gMTtcbiAgICB9XG4gICAgeE9mZnNldCA9IHBhZ2VYTWFyZ2luICsgbWFyZ2luTGVmdDtcbiAgICBpZiAoYWxpZ24gPT09ICdjZW50ZXInKSB7XG4gICAgICB4T2Zmc2V0ID0gcGFnZVdpZHRoIC8gMi4wIC0gZG9jLmdldFRleHRXaWR0aChsaW5lKSAvIDIuMCArIG1hcmdpbkxlZnQgLSBtYXJnaW5SaWdodDtcbiAgICB9IGVsc2UgaWYgKGFsaWduID09PSAncmlnaHQnKSB7XG4gICAgICB4T2Zmc2V0ID0gcGFnZVdpZHRoIC0gZG9jLmdldFRleHRXaWR0aChsaW5lKSAtIHBhZ2VYTWFyZ2luIC0gbWFyZ2luUmlnaHQ7XG4gICAgfVxuICAgIGxpbmVzLnB1c2goe1xuICAgICAgdGV4dDogbGluZSxcbiAgICAgIGZvbnRTaXplLFxuICAgICAgZm9udE5hbWUsXG4gICAgICBmb250U3R5bGUsXG4gICAgICB0ZXh0Q29sb3IsXG4gICAgICB4T2Zmc2V0LFxuICAgICAgeU9mZnNldCxcbiAgICAgIHBhZ2VOdW1iZXIsXG4gICAgICBtYXhGb250U2l6ZTogZm9udFNpemUsXG4gICAgICBpc0xpbms6IGZhbHNlLFxuICAgIH0pO1xuICAgIHlPZmZzZXQgPSB5T2Zmc2V0ICsgZm9udFNpemU7XG4gICAgLy8gVE9ETyBVU0UgVEhJUyBJRiBDVVJTT1IgSVMgU1RJTEwgSU4gVEhFIFNBTUUgTElORVxuICAgIC8vIHlPZmZzZXQgPSB5T2Zmc2V0ICsgTWF0aC5tYXgoZm9udFNpemUsIG1heEZvbnRTaXplKTtcbiAgICAvLyB4T2Zmc2V0ID0geE9mZnNldCArIGRvYy5nZXRUZXh0V2lkdGgoYCR7dGV4dH0gYCk7XG4gIH0pO1xuXG4gIHlPZmZzZXQgKz0gbWFyZ2luQm90dG9tO1xuXG4gIGlmIChwYWdlQnJlYWsgPT09ICdhZnRlcicpIHtcbiAgICB5T2Zmc2V0ID0gcGFnZVlNYXJnaW47XG4gICAgLy8gdGhpcy5hZGRQYWdlKCk7XG4gICAgcGFnZU51bWJlciArPSAxO1xuICB9XG5cbiAgcmV0dXJuIHsgbmV4dFhPZmZzZXQ6IHhPZmZzZXQsIG5leHRZT2Zmc2V0OiB5T2Zmc2V0LCBuZXh0UGFnZTogcGFnZU51bWJlciwgbGluZXMgfTtcblxufTtcblxuSnNQREZNYWtlLnByb3RvdHlwZS50cmFuc2Zvcm1Db250ZW50VG9EcmF3YWJsZXMgPSBmdW5jdGlvbiB0cmFuc2Zvcm1Db250ZW50VG9EcmF3YWJsZXMoY29udGVudCkge1xuICBsZXQgeU9mZnNldCA9IHRoaXMucGFnZVlNYXJnaW47XG4gIGxldCB4T2Zmc2V0O1xuICBsZXQgY3VycmVudFBhZ2UgPSAxO1xuICByZXR1cm4gY29udGVudC5tYXAoKHBhcmFtcykgPT4ge1xuICAgIGlmIChwYXJhbXMudG9jKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IHsgbmV4dFhPZmZzZXQsIG5leHRZT2Zmc2V0LCBuZXh0UGFnZSwgbGluZXMgfSA9IHRoaXMucmVuZGVyUGFyYWdyYXBoKHBhcmFtcywgeE9mZnNldCwgeU9mZnNldCwgY3VycmVudFBhZ2UpO1xuICAgIHlPZmZzZXQgPSBuZXh0WU9mZnNldDtcbiAgICB4T2Zmc2V0ID0gbmV4dFhPZmZzZXQ7XG4gICAgY3VycmVudFBhZ2UgPSBuZXh0UGFnZTtcbiAgICByZXR1cm4gbGluZXM7XG4gIH0pLmZpbHRlcihhID0+IGEpO1xufTtcblxuSnNQREZNYWtlLnByb3RvdHlwZS5nZW5lcmF0ZUZyb21Eb2NEZWZpbml0aW9uID0gZnVuY3Rpb24gZ2VuZXJhdGVGcm9tRG9jRGVmaW5pdGlvbigpIHtcbiAgY29uc3Qge1xuICAgIGRvY0RlZmluaXRpb24sXG4gIH0gPSB0aGlzO1xuICB0aGlzLmNsZWFyRG9jKCk7XG4gIHRoaXMuaW5pdFRPQygpO1xuICBjb25zdCBkcmF3YWJsZVBhcmFncmFwaHMgPSB0aGlzLnRyYW5zZm9ybUNvbnRlbnRUb0RyYXdhYmxlcyhkb2NEZWZpbml0aW9uLmNvbnRlbnQpOyAvLyBBcnJheSBvZiBQYXJhZ3JhcGggd2hlcmUgYSBQYXJhZ2FwaCBpcyBhbiBBcnJheSBvZiBMaW5lc1xuICBjb25zb2xlLmxvZyhkcmF3YWJsZVBhcmFncmFwaHMpO1xuICB0aGlzLmRyYXdQYXJhZ3JhcGhzKGRyYXdhYmxlUGFyYWdyYXBocyk7XG4gIC8vIHRoaXMucmVuZGVyVE9DKCk7XG4gIC8vIHRoaXMuZG9jLmluc2VydFBhZ2UoMik7XG4gIC8vIHRoaXMuZG9jLnNldFBhZ2UoMik7XG4gIC8vIHRoaXMuZG9jLnRleHRXaXRoTGluaygnUGFnZSAxJywgMTAsIDIwLCB7IHBhZ2VOdW1iZXI6IDEgfSk7XG59O1xuXG5Kc1BERk1ha2UucHJvdG90eXBlLmRvd25sb2FkID0gZnVuY3Rpb24gZG93bmxvYWQoKSB7XG4gIHRoaXMuZG9jLnNhdmUodGhpcy50aXRsZSk7XG59O1xuIiwiZXhwb3J0IGNvbnN0IERFRkFVTFRfRk9OVF9TSVpFID0gMTg7XG5leHBvcnQgY29uc3QgREVGQVVMVF9MSU5FX0hFSUdIVCA9IDE7XG5leHBvcnQgY29uc3QgREVGQVVMVF9BTElHTiA9ICdsZWZ0JztcbmV4cG9ydCBjb25zdCBERUZBVUxUX0ZPTlRfTkFNRSA9ICd0aW1lcyc7XG5leHBvcnQgY29uc3QgREVGQVVMVF9GT05UX1NUWUxFID0gJ25vcm1hbCc7XG5leHBvcnQgY29uc3QgREVGQVVMVF9URVhUX0NPTE9SID0gJ2JsYWNrJztcblxuZXhwb3J0IGRlZmF1bHQge1xuICBERUZBVUxUX0ZPTlRfU0laRSxcbiAgREVGQVVMVF9MSU5FX0hFSUdIVCxcbiAgREVGQVVMVF9BTElHTixcbiAgREVGQVVMVF9GT05UX05BTUUsXG4gIERFRkFVTFRfRk9OVF9TVFlMRSxcbiAgREVGQVVMVF9URVhUX0NPTE9SLFxufTtcbiIsIlxuaW1wb3J0IHsgSnNQREZNYWtlIH0gZnJvbSAnLi9pbmRleCc7XG5cbkpzUERGTWFrZS5wcm90b3R5cGUuaW5pdFRPQyA9IGZ1bmN0aW9uIGluaXRUT0MoKSB7XG4gIHRoaXMuZG9jRGVmaW5pdGlvbi5jb250ZW50LmZpbHRlcihpdGVtID0+IGl0ZW0udG9jKS5mb3JFYWNoKCh7dG9jfSkgPT4ge1xuICAgIGNvbnN0IG9wdGlvbnMgPSBPYmplY3QuYXNzaWduKHt9LCB0b2MpOyAvLyBkZWVwIGNsb25lIHRvY1xuICAgIGRlbGV0ZSBvcHRpb25zLmlkO1xuICAgIHRoaXMudG9jU2VjdGlvbnNbdG9jLmlkXSA9IHtcbiAgICAgIHN0YXJ0aW5nUGFnZTogMCxcbiAgICAgIGl0ZW1zOiBbXSxcbiAgICAgIG9wdGlvbnMsXG4gICAgfTtcbiAgfSk7XG59O1xuXG5Kc1BERk1ha2UucHJvdG90eXBlLnJlbmRlclRPQyA9IGZ1bmN0aW9uIHJlbmRlclRPQygpIHtcbiAgY29uc3Qge1xuICAgIGRvYyxcbiAgICBwYWdlWU1hcmdpbixcbiAgICB0b2NTZWN0aW9ucyxcbiAgfSA9IHRoaXM7XG4gIGNvbnN0IHNlY3Rpb25zID0gT2JqZWN0LnZhbHVlcyh0b2NTZWN0aW9ucyk7XG4gIHNlY3Rpb25zLmZvckVhY2goc2VjdGlvbiA9PiB7XG4gICAgY29uc3QgeyBzdGFydGluZ1BhZ2UsIGl0ZW1zIH0gPSBzZWN0aW9uO1xuICAgIGxldCB5T2Zmc2V0ID0gcGFnZVlNYXJnaW47XG4gICAgbGV0IHhPZmZzZXQ7XG4gICAgZG9jLnNldFBhZ2Uoc3RhcnRpbmdQYWdlKTtcbiAgICB0aGlzLmFkZFBhZ2UoKTtcbiAgICBzZWN0aW9uLnNpemUgPSAxO1xuICAgIGl0ZW1zLmZvckVhY2goKHsgdGl0bGUsIHBhZ2VOdW1iZXIgfSkgPT4ge1xuICAgICAgc2VjdGlvbnMuZm9yRWFjaCgoeyBzdGFydGluZ1BhZ2UsIHNpemUgfSkgPT4gcGFnZU51bWJlciA+PSBzdGFydGluZ1BhZ2UgJiYgKHBhZ2VOdW1iZXIgKz0gc2l6ZSkgKTsgLy8gVXBkYXRlIGl0ZW0gb2Zmc2V0IGJhc2VkIG9uIHRoZSBudW1iZXIgb2YgcGFnZXMgYWRkZWQgZm9yIHRoZSBwcmV2aW91cyBzZWN0aW9uc1xuICAgICAgdGhpcy5kcmF3VGV4dEluTGluZSh7IGlzTGluazogdHJ1ZSwgdGV4dDogYCR7dGl0bGV9ICR7cGFnZU51bWJlcn1gLCBwYWdlTnVtYmVyIH0sIHhPZmZzZXQsIHlPZmZzZXQsIDE4LCAxOCk7XG4gICAgICB5T2Zmc2V0ICs9IDIwO1xuICAgIH0pO1xuICB9KTtcbiAgY29uc29sZS5sb2codG9jU2VjdGlvbnMpO1xufTsiXSwibmFtZXMiOlsiSnNQREZNYWtlIiwidGl0bGUiLCJkb2NEZWZpbml0aW9uIiwib3B0aW9ucyIsIkRFRkFVTFRfTElORV9IRUlHSFQiLCJkb2MiLCJKc1BERiIsInRoaXMiLCJzZXRQcm9wZXJ0aWVzIiwicGFnZVdpZHRoIiwiaW50ZXJuYWwiLCJwYWdlU2l6ZSIsImdldFdpZHRoIiwicGFnZUhlaWdodCIsImdldEhlaWdodCIsInBhZ2VYTWFyZ2luIiwicGFnZVlNYXJnaW4iLCJtYXhMaW5lV2lkdGgiLCJ0b2NTZWN0aW9ucyIsImdlbmVyYXRlRnJvbURvY0RlZmluaXRpb24iLCJERUZBVUxUX0ZPTlRfU0laRSIsIkRFRkFVTFRfQUxJR04iLCJERUZBVUxUX0ZPTlRfTkFNRSIsIkRFRkFVTFRfRk9OVF9TVFlMRSIsIkRFRkFVTFRfVEVYVF9DT0xPUiIsInByb3RvdHlwZSIsImluaXRUT0MiLCJjb250ZW50IiwiZmlsdGVyIiwiaXRlbSIsInRvYyIsImZvckVhY2giLCJPYmplY3QiLCJhc3NpZ24iLCJpZCIsInJlbmRlclRPQyIsInNlY3Rpb25zIiwidmFsdWVzIiwic3RhcnRpbmdQYWdlIiwic2VjdGlvbiIsIml0ZW1zIiwieU9mZnNldCIsInNldFBhZ2UiLCJhZGRQYWdlIiwic2l6ZSIsInBhZ2VOdW1iZXIiLCJkcmF3VGV4dEluTGluZSIsImlzTGluayIsInRleHQiLCJsb2ciLCJwYWdlcyIsImxlbmd0aCIsImN1cnJlbnRQYWdlIiwiZ2V0Q3VycmVudFBhZ2VOdW1iZXIiLCJpbnNlcnRQYWdlIiwiY2xlYXJEb2MiLCJkZWxldGVQYWdlIiwidXBkYXRlRG9jRGVmaW5pdGlvbiIsImdldEN1cnJlbnRQYWdlSW5mbyIsImlzQ3Vyc29yT3V0T2ZQYWdlVmVydGljYWxseSIsImZvbnRTaXplIiwiZm9udE5hbWUiLCJmb250U3R5bGUiLCJ0ZXh0Q29sb3IiLCJ4T2Zmc2V0IiwibWF4Rm9udFNpemUiLCJjZW50ZXIiLCJzZXRGb250Iiwic2V0Rm9udFNpemUiLCJzZXRUZXh0Q29sb3IiLCJ0ZXh0V2l0aExpbmsiLCJNYXRoIiwibWF4IiwiZHJhd1BhcmFncmFwaHMiLCJwYXJhZ3JhcGhzIiwicGFyYWdyYXBoIiwibGluZSIsIl90aGlzIiwiZXNjYXBlU3BlY2lhbENoYXJhY3RlcnMiLCJyZXBsYWNlIiwicmVuZGVyUGFyYWdyYXBoIiwicGFnZUJyZWFrIiwiYWxpZ24iLCJtYXJnaW5Ub3AiLCJtYXJnaW5SaWdodCIsIm1hcmdpbkJvdHRvbSIsIm1hcmdpbkxlZnQiLCJ0b2NJZHMiLCJ0b2NUaXRsZSIsIndhcm4iLCJuZXh0WE9mZnNldCIsIm5leHRZT2Zmc2V0IiwibmV4dFBhZ2UiLCJsaW5lcyIsInRvY0lkIiwicHVzaCIsIl90aGlzMiIsInRleHRMaW5lcyIsInNwbGl0VGV4dFRvU2l6ZSIsImdldFRleHRXaWR0aCIsInRyYW5zZm9ybUNvbnRlbnRUb0RyYXdhYmxlcyIsIm1hcCIsInBhcmFtcyIsIl90aGlzMyIsImEiLCJkcmF3YWJsZVBhcmFncmFwaHMiLCJkb3dubG9hZCIsInNhdmUiXSwibWFwcGluZ3MiOiJpR0FXTyxRQUFTQSxXQUFVQyxFQUFPQyxNQUFlQyxrRUFDekNELGNBQWdCQSxPQUNoQkMscUJBQ1UsU0FDUCxZQUNFLDRCQUVJQywwQkFFVEMsSUFBTSxHQUFJQyxPQUFNQyxLQUFLSixTQUFTSyxlQUFnQlAsZUFDOUNBLE1BQVFBLE9BQ1JRLFVBQVlGLEtBQUtGLElBQUlLLFNBQVNDLFNBQVNDLGdCQUN2Q0MsV0FBYU4sS0FBS0YsSUFBSUssU0FBU0MsU0FBU0csaUJBQ3hDQyxZQUFjWixFQUFRWSxhQUFlLE9BQ3JDQyxZQUFjYixFQUFRYSxhQUFlLE9BQ3JDQyxhQUFlVixLQUFLRSxVQUErQixFQUFuQkYsS0FBS1EsaUJBQ3JDRyxvQkFDQUMsK0hDNUJNQyxrQkFBb0IsR0FDcEJoQixvQkFBc0IsRUFDdEJpQixjQUFnQixPQUNoQkMsa0JBQW9CLFFBQ3BCQyxtQkFBcUIsU0FDckJDLG1CQUFxQixPQ0ZsQ3hCLFdBQVV5QixVQUFVQyxRQUFVLDJCQUN2QnhCLGNBQWN5QixRQUFRQyxPQUFPLGtCQUFRQyxHQUFLQyxNQUFLQyxRQUFRLGVBQUVELEtBQUFBLElBQ3REM0IsRUFBVTZCLE9BQU9DLFVBQVdILFNBQzNCM0IsR0FBUStCLEtBQ1ZoQixZQUFZWSxFQUFJSSxrQkFDTCx5QkFPcEJsQyxVQUFVeUIsVUFBVVUsVUFBWSxzQkFFNUI5QixFQUdFRSxLQUhGRixJQUNBVyxFQUVFVCxLQUZGUyxZQUNBRSxFQUNFWCxLQURGVyxZQUVJa0IsRUFBV0osT0FBT0ssT0FBT25CLEtBQ3RCYSxRQUFRLGVBQ1BPLEdBQXdCQyxFQUF4QkQsYUFBY0UsRUFBVUQsRUFBVkMsTUFDbEJDLEVBQVV6QixJQUVWMEIsUUFBUUosS0FDUEssWUFDR0MsS0FBTyxJQUNUYixRQUFRLGVBQUc5QixLQUFBQSxNQUFPNEMsSUFBQUEsYUFDYmQsUUFBUSxlQUFHTyxL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 |
{ | ||
"name": "jspdfmake", | ||
"version": "1.1.11", | ||
"version": "1.2.0", | ||
"description": "A wrapper for jsPdf that provides a nice api to generate pdf files in an easy and customizable way", | ||
@@ -13,3 +13,3 @@ "main": "dist/jspdfmake.min.js", | ||
"dev": "NODE_ENV=development rollup -c --watch", | ||
"reload": "livereload 'playground/build'", | ||
"reload": "livereload 'playground/public/' -d", | ||
"server": "nodemon playground/server.js", | ||
@@ -33,3 +33,3 @@ "watch": "npm-run-all --parallel reload dev", | ||
"homepage": "https://github.com/agolo/jspdfmake#readme", | ||
"peerDependencies": { | ||
"dependencies": { | ||
"jspdf": "1.4.1" | ||
@@ -36,0 +36,0 @@ }, |
@@ -49,11 +49,5 @@ | ||
} | ||
// Create an instance | ||
// Create an instance and Generate the doc from the definition! | ||
const test = new JsPDFMake('My PDF', example); | ||
// Generate the doc from the definition! | ||
test.generateFromDocDefinition(); | ||
``` | ||
No need to go worry about math equations or other complex details, just focus on the content and how you want to display it! | ||
### How about pdfMake? | ||
Pdfmake provides an amazing API, it's actually a big inspiration to this library, however when it comes to large file (500+ pages) it becomes too slow up to (5-10min) and if you go (1000+ pages) it might result in a browser crash. This is a known issue that was raised https://github.com/bpampuch/pdfmake/issues/727. | ||
No need to worry about math equations or other complex details, just focus on the content and how you want to display it! |
27629
94
53
+ Addedjspdf@1.4.1