UNPKG

quoslibero

Version:

FusionCharts JavaScript charting framework

1 lines 1.9 kB
let pageHeight,paperWidth,imageData,body=[],bodyLength=0;const DEFAULT_HEIGHT=500,DEFAULT_WIDTH=500;function setConfig(a,b){body=[],bodyLength=0,pageHeight=void 0,paperWidth=void 0,imageData=void 0,pageHeight=a||DEFAULT_HEIGHT,paperWidth=b||DEFAULT_WIDTH}function addImage(a,b,c){setConfig(b,c);let d=/base64,(.+?)$/g.exec(a);imageData=atob(d[1])}function getDataUrl(){return'data:application/pdf;base64,'+btoa(getThePdfString())}function pdfWrite(a){bodyLength+=a.length+1,body.push(a)}function getThePdfString(){var a,b,c=[];for(pdfWrite('%PDF-1.7'),c[1]=bodyLength,pdfWrite('1 0 obj'),pdfWrite('/ProcSet [/PDF /Text /ImageB /ImageC /ImageI]'),pdfWrite('endobj'),c[4]=bodyLength,pdfWrite('4 0 obj'),pdfWrite('<< /Length 36>>'),pdfWrite('stream'),pdfWrite('q '+paperWidth+' 0 0 '+pageHeight+' 0 0 cm /Im3 Do Q'),pdfWrite('endstream'),pdfWrite('endobj'),c[5]=bodyLength,pdfWrite('5 0 obj'),pdfWrite('<</Type /Page /Parent 2 0 R /MediaBox [0 0 '+paperWidth+' '+pageHeight+'] /Contents [4 0 R ] /Resources <</ProcSet 1 0 R /Font <<>> /XObject <</Im3 3 0 R >> >> >>'),pdfWrite('endobj'),c[3]=bodyLength,pdfWrite('3 0 obj'),pdfWrite('<</Type /XObject /Subtype /Image /Width '+paperWidth+' /Height '+pageHeight+' /ColorSpace /DeviceRGB /BitsPerComponent 8 /Filter /DCTDecode /Length '+imageData.length+'>>'),pdfWrite('stream'),pdfWrite(imageData),pdfWrite('endstream'),pdfWrite('endobj'),c[2]=bodyLength,pdfWrite('2 0 obj'),pdfWrite('<</Type /Pages /Kids [5 0 R ] /Count 1>>'),pdfWrite('endobj'),c[6]=bodyLength,pdfWrite('6 0 obj'),pdfWrite('<</Type /Catalog /Pages 2 0 R >>'),pdfWrite('endobj'),a=bodyLength,pdfWrite('xref'),pdfWrite('0 7'),pdfWrite('0000000000 65535 f '),b=1;6>=b;b++)pdfWrite(('0000000000'+c[b]).slice(-10)+' 00000 n ');return pdfWrite('trailer'),pdfWrite('<</Size 7 /Root 6 0 R >>'),pdfWrite('startxref'),pdfWrite(a),pdfWrite('%%EOF'),body.join('\n')}export{addImage,getDataUrl};