jspdf.plugin.addhtml.min.js 1.5 KB

1
  1. (function(a){a.addHTML=function(c,g,e,k,j){if(typeof html2canvas==="undefined"&&typeof rasterizeHTML==="undefined"){throw new Error("You need either https://github.com/niklasvh/html2canvas or https://github.com/cburgmer/rasterizeHTML.js")}if(typeof g!=="number"){k=g;j=e}if(typeof k==="function"){j=k;k=null}var h=this.internal,f=h.scaleFactor,b=h.pageSize.width,i=h.pageSize.height;k=k||{};k.onrendered=function(l){g=parseInt(g)||0;e=parseInt(e)||0;var n=k.dim||{};var o=n.h||0;var t=n.w||Math.min(b,l.width/f)-g;var s="JPEG";if(k.format){s=k.format}if(l.height>i&&k.pagesplit){var p=function(){var x=0;while(1){var w=document.createElement("canvas");w.width=Math.min(b*f,l.width);w.height=Math.min(i*f,l.height-x);var u=w.getContext("2d");u.drawImage(l,0,x,l.width,w.height,0,0,w.width,w.height);var v=[w,g,x?0:e,w.width/f,w.height/f,s,null,"SLOW"];this.addImage.apply(this,v);x+=w.height;if(x>=l.height){break}this.addPage()}j(t,x,null,v)}.bind(this);if(l.nodeName==="CANVAS"){var m=new Image();m.onload=p;m.src=l.toDataURL("image/png");l=m}else{p()}}else{var q=Math.random().toString(35);var r=[l,g,e,t,o,s,q,"SLOW"];this.addImage.apply(this,r);j(t,o,q,r)}}.bind(this);if(typeof html2canvas!=="undefined"&&!k.rstz){return html2canvas(c,k)}if(typeof rasterizeHTML!=="undefined"){var d="drawDocument";if(typeof c==="string"){d=/^http/.test(c)?"drawURL":"drawHTML"}k.width=k.width||(b*f);return rasterizeHTML[d](c,void 0,k).then(function(l){k.onrendered(l.image)},function(l){j(null,l)})}return null}})(jsPDF.API);