рд╕рдВрдХрдЯ
html2canvas IE11 рдореЗрдВ SVG рдХреИрдкреНрдЪрд░ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдирд╣реАрдВ рд╣реИред
рдкреНрд░рдЬрдирди рдХреЗ рдЪрд░рдг
рдХреГрдкрдпрд╛ jsFiddle рджреЗрдЦреЗрдВ: https://jsfiddle.net/coolbean/ekshfuLz/17/
var Promise = require('es6-promise').Promise;
import html2canvas from "html2canvas";
html2canvas(SVGsource).then(function(canvas) {
document.body.appendChild(canvas);
});
рдЬрдм рдореИрдВрдиреЗ рдХреНрд░реЛрдо рдореЗрдВ рдКрдкрд░ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА, рддреЛ html2canvas рдиреЗ "1" рдЫрд╡рд┐рдпреЛрдВ рдХреЛ рд▓реЛрдб рдХрд░рдирд╛ рд╕рдорд╛рдкреНрдд рдХрд░ рджрд┐рдпрд╛ред
рд╣рд╛рд▓рд╛рдБрдХрд┐, IE11 "0" рдЫрд╡рд┐рдпреЛрдВ рдХреЛ рд▓реЛрдб рдХрд░рдирд╛ рд╕рдорд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИред
рдирддреАрдЬрддрди, рдЙрддреНрдкрд╛рджрд┐рдд рдХреИрдирд╡рд╛рд╕ рдЦрд╛рд▓реА рд╣реИред
рдХреЛрдИ рддреНрд░реБрдЯрд┐ рд▓реЙрдЧ рдирд╣реАрдВ рд╣реИ,
рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╕рдорд╕реНрдпрд╛ рдПрд╕рд╡реАрдЬреА рдЯреИрдЧ рдХреЗ рдЕрд╕рдВрдЧрдд рд╕рд┐рдВрдЯреИрдХреНрд╕ рд╕реЗ рд╣реЛ рд╕рдХрддреА рд╣реИред
рдЕрджреНрдпрддрди
рдореИрдВ рд╕рдВрд╕реНрдХрд░рдг рдХреЛ [email protected] рд╕реЗ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред
// import the following 2
<script src="https://cdnjs.cloudflare.com/ajax/libs/html2canvas/0.5.0-beta4/html2canvas.js"
type="text/javascript"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/html2canvas/0.5.0-beta4/html2canvas.svg.js"
type="text/javascript"></script>
рдкреНрд░рд╢реНрди
рдХреНрдпрд╛ рдРрд╕рд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рд╕рдВрд╕реНрдХрд░рдг "1.0.0-alpha.10" рдХреЗ рд▓рд┐рдП рднреА "html2canvas.svg.js" рдореМрдЬреВрдж рд╣реЛ?
@ рдкреЙрд▓-рдХрд┐рдЬрддрд╛рдкрд╛рд░реНрдЯ рд╣рд╛рдп рдореБрдЭреЗ рдПрдХ рд╣реА рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдкрдбрд╝ рд░рд╣рд╛ рд╣реИ рдФрд░ рдХреНрдпрд╛ рдЖрдкрдиреЗ рдЕрдкрдирд╛ рдореБрджреНрджрд╛ рдареАрдХ рдХрд░ рд▓рд┐рдпрд╛ рд╣реИ?
рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдореЗрд░рд╛ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗрд╡рд▓ рдЗрдВрдЯрд░рдиреЗрдЯ рдПрдХреНрд╕рдкреНрд▓реЛрд░рд░, рдПрдЬ, рдХреНрд░реЛрдо рдФрд░ рдУрдкреЗрд░рд╛ рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред [email protected] рдЦреЛрдЬ рд░рд╣реЗ рд╣реИрдВ рдЬреЛ SVG рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдореЗрд░рд╛ HTML2PDF рдлрд╝рд╛рдпрд░рдлрд╝реЙрдХреНрд╕ рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реИред
рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдЕрдЧрд░ рдореИрдВ v1.0.0-alpha.11 (рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдг) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рддреЛ рдкреАрдбреАрдПрдл рдлрд╛рдЗрд▓ рдкрд░ рдПрд╕рд╡реАрдЬреА рдкреНрд░рджрд░реНрд╢рд┐рдд рдирд╣реАрдВ рд╣реЛрдЧрд╛ред
рдЕрдЧрд░ рдореИрдВ 0.5.0-рдмреАрдЯрд╛ 4 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛, рддреЛ рдлрд╝рд╛рдпрд░рдлрд╝реЙрдХреНрд╕ рдПрдХ рднреА рдлрд╛рдЗрд▓ рдкреНрд░рджрд░реНрд╢рд┐рдд рдирд╣реАрдВ рдХрд░рддрд╛ред рдореИрдВ рдЙрдирдХреЗ рдХреЛрдб рджреЗрдЦрддрд╛ рд╣реВрдВ, рдореЗрд░реЗ рд▓рд┐рдП рдЗрд╕реЗ рд╕рдордЭрдирд╛ рдмрд╣реБрдд рдореБрд╢реНрдХрд┐рд▓ рд╣реИ
рд╣рд╛рдп @GoodJeans ,
рдкреНрд░рдЧрддрд┐
рдореИрдВрдиреЗ "0.5.0-рдмреАрдЯрд╛4" рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕рдореЗрдВ "рд╕реНрдХреЗрд▓" рд╕реБрд╡рд┐рдзрд╛ рдирд╣реАрдВ рд╣реИред
рдкреНрд░рдпрд╛рд╕
рдореИрдВрдиреЗ рд╣рд╛рд▓ рд╣реА рдореЗрдВ рд╕рдВрд╕реНрдХрд░рдг рдХреЛ "v1.0.0-alpha.11" рдореЗрдВ рдЕрдкрдбреЗрдЯ рдХрд┐рдпрд╛ рд╣реИ, рдЬреЛ рдЪреИрдВрдЬ рдХреЗ рдЕрдиреБрд╕рд╛рд░, IE11 рд╕рджрд╕реНрдп рдХреЛ рддреНрд░реБрдЯрд┐ рдирд╣реАрдВ рдорд┐рд▓реА рдХреЛ рдареАрдХ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред
рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЗрд╕ рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдг "v1.0.0-alpha.11" рдХреЗ рд╕рд╛рде рднреА, html2canvas IE11 рдореЗрдВ рдЕрдзрд┐рдХрд╛рдВрд╢ SVG рдШрдЯрдХреЛрдВ рдХреЛ рдХреИрдкреНрдЪрд░ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред
рд╕рдорд╕реНрдпрд╛рдУрдВ рдХрд╛ рдирд┐рд╡рд╛рд░рдг
html2canvas рджреНрд╡рд╛рд░рд╛ рдкреНрд░рджрд╛рди рдХрд┐рдП рдЧрдП рд▓реЙрдЧ рдХреЗ рдЕрдиреБрд╕рд╛рд░, рдпрд╣ рд╢рд╛рдпрдж рдЕрд▓реНрдлрд╛.10 рдХреЗ рд╕рд╛рде рдПрдХ рд╣реА рд╕рдорд╕реНрдпрд╛ рд╣реИ,
рдХреНрд░реЛрдо рдХреЗ рд╕рд╛рде:
1468ms html2canvas: Finished parsing node tree
1487ms html2canvas: Finished loading 3 images (3)┬а[img, img, img]
1489ms html2canvas: Starting renderer
IE11 . рдХреЗ рд╕рд╛рде
2137ms html2canvas: Starting node parsing
2451ms html2canvas: Finished parsing node tree
2455ms html2canvas: Finished loading 0 images
2455ms html2canvas: Starting renderer
рдКрдкрд░ рджрд┐рдП рдЧрдП рд▓реЙрдЧ рд╕реЗ, рдХреНрд░реЛрдо рдХреЗ рд╡рд┐рдкрд░реАрдд, IE11 SVG рдбреЛрдо рд╕реЗ 3 рдЫрд╡рд┐рдпреЛрдВ рдХреЛ рдХреИрдкреНрдЪрд░ рдХрд░рдиреЗ рдореЗрдВ рд╡рд┐рдлрд▓ рд░рд╣рддрд╛ рд╣реИред
@ рдкреЙрд▓-рдХрд┐рдЬреНрдЯрд╛рдкрд╛рд░реНрдЯ рдореИрдВ рджреЗрдЦ рд░рд╣рд╛ рд╣реВрдВ .. рдореИрдВ рдЬрд┐рд╕ рдЕрд▓реНрдлрд╛ рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рд╡рд╣ рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ рдЗрдВрдЯрд░рдиреЗрдЯ рдПрдХреНрд╕рдкреНрд▓реЛрд░рд░ рдкрд░ рдПрд╕рд╡реАрдЬреА рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ .. рдЕрдиреБрдорд╛рди рд╣реИ рдХрд┐ рдореБрдЭреЗ рдЕрдЧрд▓реА рд░рд┐рд▓реАрдЬ рдХреЗ рд▓рд┐рдП рдЗрдВрддрдЬрд╛рд░ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред
рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ html2canvas рдХреЗ рд╕рд╛рде eKoopmans/html2pdf рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред
рдпрд╣ рдЕрднреА рднреА 11 рдореЗрдВ рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реИред рдиреАрдЪреЗ рд╡рд╣ рдХреЛрдб рд╣реИ рдЬрд┐рд╕рдХрд╛ рдореИрдВ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред
рдбреЗрдЯрд╛ рджреЗрдВ = document.getElementById('contentToConvert');
html2canvas(рдбреЗрдЯрд╛, {
рдСрдирд░реЗрдВрдбрд░: рдлрд╝рдВрдХреНрд╢рди (рдХреИрдирд╡рд╛рд╕) {
рдЪрд▓реЛ imgWidth = 208;
рдЪрд▓реЛ рдкреЗрдЬрд╣рд╛рдЗрдЯ = реирепрел;
рдЪрд▓реЛ imgHeight = рдХреИрдирд╡рд╛рд╕ред рдКрдБрдЪрд╛рдИ * imgWidth / рдХреИрдирд╡рд╛рд╕ред рдЪреМрдбрд╝рд╛рдИ;
рдЪрд▓реЛ рдКрдВрдЪрд╛рдИ рд▓реЗрдлреНрдЯ = imgHeight;
рдХреЙрдиреНрд╕реНрдЯ рдХрдВрдЯреЗрдВрдЯрдбреЗрдЯрд╛рдпреВрдЖрд░рдПрд▓ = рдХреИрдирд╡рд╛рд╕.рдЯреВрдбрд╛рдЯрд╛рдпреВрдЖрд░рдПрд▓ ('рдЗрдореЗрдЬ/рдкреАрдПрдирдЬреА')
рдЪрд▓реЛ рдкреАрдбреАрдПрдл = рдирдпрд╛ рдЬреЗрдПрд╕рдкреАрдбреАрдПрдл ('рдкреА', 'рдорд┐рдореА', 'рдП 4'); // рдкреАрдбреАрдПрдл рдХрд╛ A4 рд╕рд╛рдЗрдЬ рдкреЗрдЬ
рдЪрд▓реЛ рд╕реНрдерд┐рддрд┐ = 0;
pdf.addImage(contentDataURL, 'PNG', 0, рд╕реНрдерд┐рддрд┐, imgWidth, imgHeight)
pdf.save ("testf .pdf'); // рдЬреЗрдирд░реЗрдЯ рдХреА рдЧрдИ рдкреАрдбреАрдПрдл
}
});
рдореЗрд░реЗ рдкрд╛рд╕ рдПрдХ рд╣реА рд╕рдорд╕реНрдпрд╛ рд╣реИ рдФрд░ рдпрд╣ рдЖрдИрдИ 11 рдореЗрдВ рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реИред рдореИрдВ рдЬреЛ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддрд╛ рд╣реВрдВ рд╡рд╣ рдХреБрдЫ рд╣рд╛рдИрдЪрд╛рд░реНрдЯ рдЧреНрд░рд╛рдл (рдЬреЛ рдПрд╕рд╡реАрдЬреА рд╣реИ) рдХреЗ рд╕рд╛рде рд░рд┐рдкреЛрд░реНрдЯ рдкреЗрдЬ рдХреЗ рд▓рд┐рдП рдкреАрдбреАрдПрдл рдлрд╛рдЗрд▓ рдЬреЗрдирд░реЗрдЯ рдХрд░рдирд╛ рд╣реИред рдореИрдВ html2canvas рдФрд░ jspdf рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдБред рдЬрдм рдореИрдВ рд╕рдВрд╕реНрдХрд░рдг рдХреЛ [email protected] рд╕реЗ рд╣реВрдВ , рддреЛ рдпрд╣ рд╣рд╛рдИрдЪрд╛рд░реНрдЯ рдЧреНрд░рд╛рдл рджрд┐рдЦрд╛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд▓реЗрдЖрдЙрдЯ рдЬреИрд╕реЗ рдЕрдиреНрдп рдореБрджреНрджреЗ рднреА рд╣реИрдВред рдЕрдЧрд░ рдореИрдВ [email protected] рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛
рдореИрдВ рдЗрд╕ рд╕реБрдзрд╛рд░ рдХреЗ рд╕рд╛рде рдирдИ рд░рд┐рд▓реАрдЬ рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред
рдпрд╣ рдЕрднреА рднреА 1.0.0-rc.1 рдореЗрдВ рдПрдХ рдореБрджреНрджрд╛ рд╣реИред IE11 рд╣рд╛рдИрдЪрд╛рд░реНрдЯреНрд╕ (svg рдХреИрдирд╡рд╛рд╕) рдирд╣реАрдВ рджреЗрдЦрддрд╛ рд╣реИ рдЬрдмрдХрд┐ рдХреНрд░реЛрдо рдФрд░ рдлрд╝рд╛рдпрд░рдлрд╝реЙрдХреНрд╕ рдХрд░рддреЗ рд╣реИрдВред
рдЕрднреА рднреА 1.0.0-rc.3 рдореЗрдВ рдПрдХ рдореБрджреНрджрд╛ рд▓рдЧрддрд╛ рд╣реИред
рдЗрд╕ рдореБрджреНрджреЗ рдкрд░ рдХреЛрдИ рдЕрдкрдбреЗрдЯ?
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдореБрдЭреЗ рдЕрд╡реНрдпрд╡рд╕реНрдерд┐рдд рдЧреНрд░рд╛рдл рдбреЗрдЯрд╛ рдорд┐рд▓ рд░рд╣рд╛ рд╣реИред
рдореИрдВрдиреЗ 1.0.0-rc.5 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрджреНрдпрддрди рдХрд┐рдпрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдЕрднреА рднреА рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реИред
рд╢реНрд░реАрдорд╛рди рдмрд┐рд▓ рдЧреЗрдЯреНрд╕ рдХреНрдпрд╛ рдЖрдк рдХреГрдкрдпрд╛ IE рдХреЛ рддрддреНрдХрд╛рд▓ рд╕рдорд░реНрдерди рдХреА рдШреЛрд╖рдгрд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ? рдореИрдВ рддрдм рдЗрд╕реЗ рдЫреЛрдбрд╝ рд╕рдХрддрд╛ рд╣реВрдВ ....
рдХреЛрдИ рдЦрдмрд░? рдЖрдЦрд┐рд░реА рдЪреАрдЬ рдЬреЛ рдореБрдЭреЗ рдЕрдкрдиреЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдкрд░ рдЪрд╛рд╣рд┐рдП рд╡рд╣ рд╣реИ IE11 рдореЗрдВ рдЕрдЪреНрдЫреА рдкреАрдбреАрдПрдлред
рдЕрднреА рднреА IE11 рдореЗрдВ svg рдХреЗ рд╕рд╛рде рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реИред рдХреНрдпрд╛ рдХрд┐рд╕реА рдХреЗ рдкрд╛рд╕ рдХреЛрдИ рдЙрдкрд╛рдп рд╣реИ?
@рдХреБрд▓рджреАрдкреиренренрепреи
рдкрд╣рд▓реЗ canvg рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ, рдФрд░ рдлрд┐рд░ html2canvas рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ
рдореЗрд░рд╛ рд╕рд╛рдереА рдПрдХ рд╡рд┐рдХрд▓реНрдк рд╕реБрдЭрд╛рддрд╛ рд╣реИ, рдЖрдк рдЗрд╕реЗ рдПрдХ рд╡рд┐рдХрд▓реНрдк рдХреЗ рд░реВрдк рдореЗрдВ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдпрджрд┐ рдЖрдкрдХрд╛ рдкреАрдбреАрдПрдл рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдордп рдореЗрдВ рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд░реВрд░реА рдирд╣реАрдВ рд╣реИ:
рдЪрд░рдг 1. google-chrome рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ
рдЪрд░рдг 2. рд░реЗрдВрдбрд░ рдХрд┐рдП рдЧрдП html рдХреЛ png/pdf рдореЗрдВ рдХреИрдкреНрдЪрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП google-chrome рдХрдорд╛рдВрдб рдкреНрд░реЙрдореНрдкреНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ
рдЬреИрд╕реЗ
chrome --headless --print-to-pdf="d:\{{path and file name}}.pdf" https://google.com
рдЙрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдЬреЗрдирд░реЗрдЯ рдХреА рдЧрдИ рдкреАрдбреАрдПрдл рдЙрд╕реА рд╢реИрд▓реА рдореЗрдВ рд╣реЛрдЧреА, рдЪрд╛рд╣реЗ рдЖрдк рдХрд┐рд╕реА рднреА рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реЛрдВред
рдореБрд╢реНрдХрд┐рд▓ рд▓реЗрдХрд┐рди рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░реЛред
@fiftyk рдореИрдВрдиреЗ рдРрд╕рд╛ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА, рд▓реЗрдХрд┐рди рдпрд╣ рдХреНрд░реЛрдо рдХреЗ рд▓рд┐рдП рднреА рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рд▓реЗрдХрд┐рди IE11 рдХреЗ рд▓рд┐рдП рдирд╣реАрдВред
@martinknc рд╕реБрдЭрд╛рд╡ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдЕрдкрдиреЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ рдЙрд╕ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдордп рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
@ kuldip27792 рд╣рдордиреЗ IE11 рдХреЛ рдПрдХ
@fiftyk рдореИрдВрдиреЗ рдЖрдкрдХреЗ рд╕рдорд╛рдзрд╛рди рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рд╣реИ рдФрд░ рдЗрд╕рдиреЗ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рдХрд╛рдо рдХрд┐рдпрд╛ рд╣реИред рддреЛ рдореИрдВ рдЬреЛ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рд╡рд╣ рдпрд╣ рд╣реИ рдХрд┐ рдореИрдВ рд╕рднреА svg рддрддреНрд╡реЛрдВ рдХреЛ рдПрдХрддреНрд░рд┐рдд рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдФрд░ рдЙрдиреНрд╣реЗрдВ html2canvas рджреНрд╡рд╛рд░рд╛ рдмрдирд╛рдП рдЧрдП рдХреИрдирд╡рд╛рд╕ рдореЗрдВ рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рд╕реНрдерд┐рддрд┐ рдорд╛рдиреЛрдВ рдХреЗ рд╕рд╛рде рдкреНрд░рд╕реНрддреБрдд рдХрд░ рд░рд╣рд╛ рд╣реВрдВред рднрд╛рдИ рдмрд╣реБрдд - рдмрд╣реБрдд рдзрдиреНрдпрд╡рд╛рджред
рд╣рд╛рдБ, рдЕрд╣рдореЗрддреБрд░реБрди рдХреА рддрд░рд╣, рдореИрдВ рднреА рдпрд╣реА рдХрд░рддрд╛ рд╣реВрдБред рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рдкрд░ svgs рд░реЗрдВрдбрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдореЗрд░рд╛ рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдлрд╝рдВрдХреНрд╢рди рд╕рдВрд▓рдЧреНрди рд╣реИ:
`
'рдХреИрдирд╡рдЧ' рд╕реЗ рдЖрдпрд╛рдд {рдХреИрдирд╡рдЧ};
...
рдирд┐рдЬреА рдХрдиреНрд╡рд░реНрдЯSvgD3ChartsToPngs (): HTMLImageElement [] {
const pngD3Charts: HTMLImageElement[] = [];
Array.from(document.getElementsByTagName('svg')).map(svg => {
рдЪрд▓реЛ svgD3ChartCanvas = document.createElement('canvas');
// Increase the Pixel Density for the Screenshot
svgD3ChartCanvas.width = parseInt(svg.getAttribute('width')) * 4;
svgD3ChartCanvas.height = parseInt(svg.getAttribute('height')) * 4;
let canvasContext = svgD3ChartCanvas.getContext('2d');
// Use Canvg to convert the svg into a png
let convertedSvgToPng = Canvg.fromString(
canvasContext,
(svg.parentNode as HTMLElement).innerHTML,
{
ignoreDimensions: true,
scaleWidth: svgD3ChartCanvas.width,
scaleHeight: svgD3ChartCanvas.height
}
);
convertedSvgToPng.start();
// Attach new png
let pngD3Chart = new Image();
pngD3Chart.src = svgD3ChartCanvas.toDataURL('image/png');
pngD3Chart.style.width = '100%';
pngD3Charts.push(pngD3Chart);
// Remove HTML Attribute and use CSS
(pngD3Chart as any).width = '';
svg.parentNode.parentNode.appendChild(pngD3Chart);
(svg.parentNode as HTMLElement).style.visibility = 'hidden';
(svg.parentNode as HTMLElement).style.height = '0';
(svg.parentNode as HTMLElement).style.minHeight = '0';
});
return pngD3Charts;
}`
рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА
рдпрд╣ рдЕрднреА рднреА 1.0.0-rc.1 рдореЗрдВ рдПрдХ рдореБрджреНрджрд╛ рд╣реИред IE11 рд╣рд╛рдИрдЪрд╛рд░реНрдЯреНрд╕ (svg рдХреИрдирд╡рд╛рд╕) рдирд╣реАрдВ рджреЗрдЦрддрд╛ рд╣реИ рдЬрдмрдХрд┐ рдХреНрд░реЛрдо рдФрд░ рдлрд╝рд╛рдпрд░рдлрд╝реЙрдХреНрд╕ рдХрд░рддреЗ рд╣реИрдВред