<p>html2canvas рддрддреНрд╡ рдореЗрдВ рд╕реНрдерд┐рдд рдЫрд╡рд┐рдпреЛрдВ рдХреЛ рдкреНрд░рд╕реНрддреБрдд рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ</p>

рдХреЛ рдирд┐рд░реНрдорд┐рдд 9 рдирд╡ре░ 2015  ┬╖  36рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: niklasvh/html2canvas

рдорд╛рди рд▓реАрдЬрд┐рдП рдХрд┐ рдЕрдЧрд░ рдореИрдВ рдЯреЗрдХреНрд╕реНрдЯ рдФрд░ рдмреИрдХрдЧреНрд░рд╛рдЙрдВрдб рдХрд▓рд░ рдЬреЛрдбрд╝реВрдВрдЧрд╛, рддреЛ рдореИрдВ рд╕реЗрд╡ рджрдмрд╛рдКрдВрдЧрд╛, рдпрд╣ рдЯреЗрдХреНрд╕реНрдЯ рдФрд░ рдмреИрдХрдЧреНрд░рд╛рдЙрдВрдб рдХрд▓рд░ рджрд┐рдЦрд╛рдПрдЧрд╛, рд▓реЗрдХрд┐рди рдЕрдЧрд░ рдореИрдВ рдбрд┐рд╡ рдореЗрдВ рдПрдХ рдЗрдореЗрдЬ рдЬреЛрдбрд╝рддрд╛ рд╣реВрдВ рддреЛ рдпрд╣ рдЗрдореЗрдЬ рдирд╣реАрдВ рджрд┐рдЦрд╛рдПрдЧрд╛, рд▓реЗрдХрд┐рди рдлрд┐рд░ рднреА рдЕрдиреНрдп рдЪреАрдЬреЗрдВ .

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

рдЕрдкрдиреЗ рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рдореЗрдВ рд╕рднреА рдЫрд╡рд┐рдпреЛрдВ рдХреЛ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдиреБрдорддрд┐ рджреЗрдВ рд╡рд┐рдХрд▓реНрдк рдбрд╛рд▓реЗрдВ

html2canvas(document.getElementById('invoice-panel'), { letterRendering: 1, allowTaint : true, onrendered : function (canvas) { } });

рд╕рднреА 36 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рдирдорд╕реНрддреЗред
рдореБрдЭреЗ рднреА рдареАрдХ рдпрд╣реА рд╕рдорд╕реНрдпрд╛ рд╣реИред

рдпрд╣рд╛рдБ рд╡рд╣реА рдореБрджреНрджрд╛ред
рдореИрдВ рдПрдХ рдЯреНрд╡реАрдЯ рдХрд╛ рд╢реЙрдЯ рд▓реЗрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рдФрд░ рд╕рдВрд▓рдЧреНрди рдЫрд╡рд┐ рдирд╣реАрдВ рдЖрддреА рд╣реИред
рдЫрд╡рд┐ рд╕рдВрд▓рдЧреНрдиред

stream-item-tweet-670397195221241856 2

рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛтАЛтАЛрд╣реИ рдХрд┐ рдЕрдиреНрдп рд╕рд╛рдЗрдЯреЛрдВ рдХреА рдЫрд╡рд┐рдпрд╛рдВ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдЕрд╡рд░реБрджреНрдз рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ "рдПрдЪрдЯреАрдПрдордПрд▓ 5 рдХреИрдирд╡рд╛рд╕ рдХреЛ рдЦрд░рд╛рдм рдХрд░рддреА рд╣реИ"ред рдпрд╣рд╛рдВ рд╡рд╣ рд╡рд┐рдХрд▓реНрдк рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдЖрдкрдХреЛ рд░реЗрдВрдбрд░рд░ рдХреЛ рдХреЙрд▓ рдХрд░рддреЗ рд╕рдордп рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:

рд╡рд┐рд╢реЗрд╖рддрд╛: allowTaint
рдкреНрд░рдХрд╛рд░: рдмреВрд▓рд┐рдпрди
рдбрд┐рдлрд╝реЙрд▓реНрдЯ: рдЧрд▓рдд
рд╡рд┐рд╡рд░рдг: рдХреНрдпрд╛ рдХреНрд░реЙрд╕-рдУрд░рд┐рдЬрд┐рдирд▓ рдЫрд╡рд┐рдпреЛрдВ рдХреЛ рдХреИрдирд╡рд╛рд╕ рдХреЛ рдХрд▓рдВрдХрд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдиреА рд╣реИ

рдЗрд╕реЗ рдпрд╣рд╛рдВ рдорд┐рд▓рд╛: https://html2canvas.hertzen.com/documentation.htmlред

рдПрдХ рд╣реА рд╕рдорд╕реНрдпрд╛ рд╣реИ....
рдФрд░ рдореЗрд░реЗ рдЪрд┐рддреНрд░ рдЙрд╕реА рдУрд░ рд╕реЗ рдЖ рд░рд╣реЗ рд╣реИрдВ

рдореБрдЭреЗ рдПрдХ рд╣реА рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдкрдбрд╝рд╛ рд╣реИ, рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХрд╛ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рддрд░реАрдХрд╛ рд╕рд░реНрд╡рд░ рдкрд░ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдЪрд▓рд╛рдирд╛ рдФрд░ рдкрд░рд┐рдгрд╛рдо рджреЗрдЦрдирд╛ рд╣реИред
рдореЗрд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдкрд╣рд▓реЗ рдореИрдВ рдмрд┐рдирд╛ рдХрд┐рд╕реА рд╕рд░реНрд╡рд░ рдХреЗ рд╕реАрдзреЗ рдПрдЪрдЯреАрдПрдордПрд▓ рдлрд╛рдЗрд▓реЗрдВ рдЪрд▓рд╛ рд░рд╣рд╛ рдерд╛, рд▓реЗрдХрд┐рди рдлрд┐рд░ рдереЛрдбрд╝рд╛ рд╕рд╛ рдЧреБрдЧрд▓ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рдореБрдЭреЗ рд╕рд░реНрд╡рд░ рдкрд░ рдЗрд╕реЗ рдЖрдЬрдорд╛рдиреЗ рдХрд╛ рд╕рдорд╛рдзрд╛рди рдорд┐рд▓рд╛ред
рдореИрдВрдиреЗ рд╡рд┐рдЬреБрдЕрд▓ рд╕реНрдЯреВрдбрд┐рдпреЛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЕрдкрдиреА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рдФрд░ рдпрд╣ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЪрд▓ рд░рд╣рд╛ рдерд╛, рдореЗрд░реА рдЫрд╡рд┐рдпреЛрдВ рдХреЛ div рдЯреИрдЧ рдХреЗ рдЕрдВрджрд░ рднреА рдХреЙрдкреА рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рдерд╛

рдЕрдкрдиреЗ рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рдореЗрдВ рд╕рднреА рдЫрд╡рд┐рдпреЛрдВ рдХреЛ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдиреБрдорддрд┐ рджреЗрдВ рд╡рд┐рдХрд▓реНрдк рдбрд╛рд▓реЗрдВ

html2canvas(document.getElementById('invoice-panel'), { letterRendering: 1, allowTaint : true, onrendered : function (canvas) { } });

рдореЗрд░реЗ рдкрд╛рд╕ div рддрддреНрд╡ рдХреА рд╕реВрдЪреА рд╣реИред
рдЬрдм рдореИрдВ рдЖрдИрдбреА рджреНрд╡рд╛рд░рд╛ рдкреНрд░рддреНрдпреЗрдХ div рдХреЛ рдХреИрдкреНрдЪрд░ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддрд╛ рд╣реВрдВ, рддреЛ рдХреБрдЫ div рдЖрдзрд╛ рднрд╛рдЧ рдХреИрдкреНрдЪрд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдХреБрдЫ div рдХреА рдХреИрдкреНрдЪрд░ рдЫрд╡рд┐ рд░рд┐рдХреНрдд рд╣реЛрддреА рд╣реИред
рдХреНрдпрд╛ рдЖрдк рдореБрдЭреЗ рдмрддрд╛ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рд╕рдорд╕реНрдпрд╛ рдХреНрдпрд╛ рд╣реИ рдФрд░ рдореИрдВ рдЗрд╕реЗ рдХреИрд╕реЗ рдареАрдХ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВред @

рд╡рд╣реА рд╕рдорд╕реНрдпрд╛редрд╕рдорд╛рдзрд╛рди рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред

html2canvas рдмреЗрд╕ 64 рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рджрд┐рдП рдЧрдП рд╕реНрд░реЛрдд рдХреЛ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реИред рдореИрдВрдиреЗ рд▓реЙрдЧ рдкреНрд░рд┐рдВрдЯ рдХрд░ рд▓рд┐рдпрд╛ рд╣реИред рдХреГрдкреНрдпрд╛ рд╕рд╣рд╛рдпрддрд╛ рдХрд░реЗ

1283ms html2canvas: рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдХреНрд▓реЛрди рдХрд┐рдпрд╛ рдЧрдпрд╛ html2canvas.js:1487
3936ms html2canvas: 601 x 965 html2canvas.js:1487 рдЖрдХрд╛рд░ рдХреЗ рд╕рд╛рде рдЖрд░рдВрднрд┐рдХ рдХреИрдирд╡рд╛рд╕ рд░реЗрдВрдбрд░рд░
3937ms html2canvas: NodeParser рдкреНрд░рд╛рд░рдВрдн рдХрд░рдирд╛ html2canvas.js:1487
4014ms html2canvas: рдлрд╝реЗрдЪ рдХрд┐рдП рдЧрдП рдиреЛрдб, рдХреБрд▓: 10 html2canvas.js:1487
4015ms html2canvas: рдЕрддрд┐рдкреНрд░рд╡рд╛рд╣ рдХреНрд▓рд┐рдк рдХреА рдЧрдгрдирд╛ рдХрд░реЗрдВ html2canvas.js:1487
4034ms html2canvas: рдЪрд┐рддреНрд░ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдкреНрд░рд╛рд░рдВрдн рдХрд░реЗрдВ html2canvas.js:1487
4044ms html2canvas: рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ рдЗрдореЗрдЬ #1 рдбреЗрдЯрд╛: рдЗрдореЗрдЬ/рдЬреЗрдкреАрдИрдЬреА;рдмреЗрд╕64 ,/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAA0JCgsKCA0LCgsODg0PEyAVExISEyccHhcgLikxMC4pL html2canvas.js:1487
4047ms html2canvas: рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ рдЪрд┐рддреНрд░ #2 рдбреЗрдЯрд╛:рдЫрд╡рд┐/рдЬреЗрдкреАрдИрдЬреА;рдмреЗрд╕64 ,/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0aH html2canvas.js:1487
4051ms html2canvas: рдЫрд╡рд┐рдпреЛрдВ рдХреА рдЦреЛрдЬ рд╕рдорд╛рдкреНрдд html2canvas.js:1487
4052ms html2canvas: рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рд▓реЛрдб рдХрд┐рдпрд╛ рдЧрдпрд╛ рдЪрд┐рддреНрд░ #1
ImageContainer {src: " data:image/jpeg;base64 ,/9j/4AAQSkZJRgABAQAAAQABAADтАж AKKKACiiigAooooAKKKKACiiigAooooAKKKKKACiiigD/2Q==", рдЗрдореЗрдЬ: img, рджрд╛рдЧреА: рд╢реВрдиреНрдп, рд╡рд╛рджрд╛: h}
html2canvas.js:1487
4056ms html2canvas: рдЪрд┐рддреНрд░ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рд▓реЛрдб рдХрд┐рдпрд╛ рдЧрдпрд╛ #2
рдЗрдореЗрдЬрдХрдВрдЯреЗрдирд░ {src: " рдбреЗрдЯрд╛: рдЗрдореЗрдЬ/рдЬреЗрдкреАрдИрдЬреА; рдмреЗрд╕ 64 ,/9j/4AAQSkZJRgABAQAAAQABAAD... 4PXOaUMB0/GlrcdiYtkcc/WkzjqfwqMPxzxRvAz3oSCx//9k=", рдЗрдореЗрдЬ: img, рджрд╛рдЧреА}: рд╢реВрдиреНрдп, рд╡рд╛рджрд╛:
html2canvas.js:1487
4059ms html2canvas: рдЫрд╡рд┐рдпреЛрдВ рдХреЛ рд▓реЛрдб рдХрд┐рдпрд╛ рдЧрдпрд╛, html2canvas.js:1487 . рдХреЛ рдкрд╛рд░реНрд╕ рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд┐рдпрд╛ рдЧрдпрд╛
4060ms html2canvas: рд╕реНрдЯреИрдХрд┐рдВрдЧ рд╕рдВрджрд░реНрдн рдмрдирд╛рдирд╛ html2canvas.js:1487
4064ms html2canvas: рд╕реНрдЯреИрдХрд┐рдВрдЧ рд╕рдВрджрд░реНрднреЛрдВ рдХреЛ рдХреНрд░рдордмрджреНрдз рдХрд░рдирд╛ html2canvas.js:1487
4066ms html2canvas: 9 рд╡рд╕реНрддреБрдУрдВ рдХреЗ рд╕рд╛рде рдмрдирд╛рдИ рдЧрдИ рдХрддрд╛рд░ рдкреНрд░рд╕реНрддреБрдд рдХрд░рдирд╛ html2canvas.js:1487
4104ms html2canvas: рдкреНрд░рддрд┐рдкрд╛рджрди рд╕рдорд╛рдкреНрдд html2canvas.js:1487
4109ms html2canvas: рдХреНрд░реЙрдкрд┐рдВрдЧ рдХреИрдирд╡рд╛рд╕ рдпрд╣рд╛рдВ: рдмрд╛рдПрдВ: 28 рд╢реАрд░реНрд╖: 529 рдЪреМрдбрд╝рд╛рдИ: 545 рдКрдВрдЪрд╛рдИ: 0 html2canvas.js:1487
4111ms html2canvas: 545 рдЪреМрдбрд╝рд╛рдИ рдФрд░ рдКрдВрдЪрд╛рдИ 0 рдХреЗ рд╕рд╛рде x 28 рдФрд░ y 529 . рдХреЗ рд╕рд╛рде рдкрд░рд┐рдгрд╛рдореА рдлрд╕рд▓

html2canvsas рдмреЗрд╕ 64 рд╕реНрд░реЛрдд рдХреЗ рд╕рд╛рде рджреА рдЧрдИ рдЫрд╡рд┐рдпреЛрдВ рдХреЛ рдкреНрд░рд╕реНрддреБрдд рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реИ, рдХреЙрд▓ "рдСрдирд░реЗрдВрдбрд░" рдкрд░ рд╡рд╛рдкрд╕ рдирд╣реАрдВ рдЖ рд░рд╣рд╛ рд╣реИ
рд╕рдорд╛рд░реЛрд╣ред рдХреГрдкреНрдпрд╛ рд╕рд╣рд╛рдпрддрд╛ рдХрд░реЗ

1283ms html2canvas: рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдХреНрд▓реЛрди рдХрд┐рдпрд╛ рдЧрдпрд╛ html2canvas.js:1487
3936ms html2canvas: 601 x 965 html2canvas.js:1487 рдЖрдХрд╛рд░ рдХреЗ рд╕рд╛рде рдЖрд░рдВрднрд┐рдХ рдХреИрдирд╡рд╛рд╕ рд░реЗрдВрдбрд░рд░
3937ms html2canvas: NodeParser рдкреНрд░рд╛рд░рдВрдн рдХрд░рдирд╛ html2canvas.js:1487
4014ms html2canvas: рдлрд╝реЗрдЪ рдХрд┐рдП рдЧрдП рдиреЛрдб, рдХреБрд▓: 10 html2canvas.js:1487
4015ms html2canvas: рдЕрддрд┐рдкреНрд░рд╡рд╛рд╣ рдХреНрд▓рд┐рдк рдХреА рдЧрдгрдирд╛ рдХрд░реЗрдВ html2canvas.js:1487
4034ms html2canvas: рдЪрд┐рддреНрд░ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдкреНрд░рд╛рд░рдВрдн рдХрд░реЗрдВ html2canvas.js:1487
4044ms html2canvas: рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ рдЗрдореЗрдЬ #1 рдбреЗрдЯрд╛: рдЗрдореЗрдЬ/рдЬреЗрдкреАрдИрдЬреА;рдмреЗрд╕64 ,/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAA0JCgsKCA0LCgsODg0PEyAVExISEyccHhcgLikxMC4pL html2canvas.js:1487
4047ms html2canvas: рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ рдЪрд┐рддреНрд░ #2 рдбреЗрдЯрд╛:рдЫрд╡рд┐/рдЬреЗрдкреАрдИрдЬреА;рдмреЗрд╕64 ,/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0aH html2canvas.js:1487
4051ms html2canvas: рдЫрд╡рд┐рдпреЛрдВ рдХреА рдЦреЛрдЬ рд╕рдорд╛рдкреНрдд html2canvas.js:1487
4052ms html2canvas: рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рд▓реЛрдб рдХрд┐рдпрд╛ рдЧрдпрд╛ рдЪрд┐рддреНрд░ #1
ImageContainer {src: " data:image/jpeg;base64 ,/9j/4AAQSkZJRgABAQAAAQABAADтАж AKKKACiiigAooooAKKKKACiiigAooooAKKKKKACiiigD/2Q==", рдЗрдореЗрдЬ: img, рджрд╛рдЧреА: рд╢реВрдиреНрдп, рд╡рд╛рджрд╛: h}
html2canvas.js:1487
4056ms html2canvas: рдЪрд┐рддреНрд░ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рд▓реЛрдб рдХрд┐рдпрд╛ рдЧрдпрд╛ #2
рдЗрдореЗрдЬрдХрдВрдЯреЗрдирд░ {src: " рдбреЗрдЯрд╛: рдЗрдореЗрдЬ/рдЬреЗрдкреАрдИрдЬреА; рдмреЗрд╕ 64 ,/9j/4AAQSkZJRgABAQAAAQABAAD... 4PXOaUMB0/GlrcdiYtkcc/WkzjqfwqMPxzxRvAz3oSCx//9k=", рдЗрдореЗрдЬ: img, рджрд╛рдЧреА}: рд╢реВрдиреНрдп, рд╡рд╛рджрд╛:
html2canvas.js:1487
4059ms html2canvas: рдЫрд╡рд┐рдпреЛрдВ рдХреЛ рд▓реЛрдб рдХрд┐рдпрд╛ рдЧрдпрд╛, html2canvas.js:1487 . рдХреЛ рдкрд╛рд░реНрд╕ рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд┐рдпрд╛ рдЧрдпрд╛
4060ms html2canvas: рд╕реНрдЯреИрдХрд┐рдВрдЧ рд╕рдВрджрд░реНрдн рдмрдирд╛рдирд╛ html2canvas.js:1487
4064ms html2canvas: рд╕реНрдЯреИрдХрд┐рдВрдЧ рд╕рдВрджрд░реНрднреЛрдВ рдХреЛ рдХреНрд░рдордмрджреНрдз рдХрд░рдирд╛ html2canvas.js:1487
4066ms html2canvas: 9 рд╡рд╕реНрддреБрдУрдВ рдХреЗ рд╕рд╛рде рдмрдирд╛рдИ рдЧрдИ рдХрддрд╛рд░ рдкреНрд░рд╕реНрддреБрдд рдХрд░рдирд╛ html2canvas.js:1487
4104ms html2canvas: рдкреНрд░рддрд┐рдкрд╛рджрди рд╕рдорд╛рдкреНрдд html2canvas.js:1487
4109ms html2canvas: рдХреНрд░реЙрдкрд┐рдВрдЧ рдХреИрдирд╡рд╛рд╕ рдпрд╣рд╛рдВ: рдмрд╛рдПрдВ: 28 рд╢реАрд░реНрд╖: 529 рдЪреМрдбрд╝рд╛рдИ: 545 рдКрдВрдЪрд╛рдИ: 0 html2canvas.js:1487
4111ms html2canvas: 545 рдЪреМрдбрд╝рд╛рдИ рдФрд░ рдКрдВрдЪрд╛рдИ 0 рдХреЗ рд╕рд╛рде x 28 рдФрд░ y 529 . рдХреЗ рд╕рд╛рде рдкрд░рд┐рдгрд╛рдореА рдлрд╕рд▓

@SebasAlvarez - allowTaint рд╡рд┐рдХрд▓реНрдк рдЕрдм рдФрд░ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдХреНрдпрд╛ рдпрд╣ рдЕрднреА рднреА рдЖрдкрдХреЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ?

@SebasAlvarez , @sandeepnagra :
рдореИрдВ рдирдП рдЯреИрдм рдореЗрдВ рдЫрд╡рд┐ рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рдХреЗ рд▓рд┐рдП рдЗрд╕ рдХреЛрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдЫрд╡рд┐ рдкреНрд░рддрд┐рдкрд╛рджрди рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реИ рдФрд░ рдореИрдВ "рдПрдХ llowTaint: true " рд╕реЗ рдердХ рдЧрдпрд╛ рд╣реВрдВ, рдпрд╣ рдХреЗрд╡рд▓ рдЙрд╕реА рд╡рд┐рдВрдбреЛ рдХреЗ рдЕрдВрджрд░ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИ рд▓реЗрдХрд┐рди рдирдП рдЯреИрдм рдореЗрдВ рдирд╣реАрдВред
рдпрд╣ рдореЗрд░рд╛ рдХреЛрдб рд╣реИ:
рдлрд╝рдВрдХреНрд╢рди рд░реЗрдВрдбрд░ () {
html2canvas(document.body, { allowTaint : true,
рдСрдирд░реЗрдВрдбрд░: рдлрд╝рдВрдХреНрд╢рди (рдХреИрдирд╡рд╛рд╕) {
document.body.appendChild (рдХреИрдирд╡рд╛рд╕);
window.open(canvas.toDataURL ());
}
});
}
рдХреНрдпрд╛ рдЖрдк рдореБрдЭреЗ рдмрддрд╛ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рд╕рдорд╕реНрдпрд╛ рдХреНрдпрд╛ рд╣реИ, рдЖрдк рдЗрд╕реЗ рдХреИрд╕реЗ рдареАрдХ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ ??

@venkateshduddu - рдХреНрдпрд╛ рдЖрдк рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рд▓реЗрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдлрд╝реЛрдХрд╕ рдХреЛ рдирдП рдЯреИрдм рдкрд░ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ?

@ рд╕рдВрджреАрдкрдирдЧрд░ - рд╕рдВрджреАрдк рдирд╣реАрдВ, рдореИрдВ рд╕рд┐рд░реНрдл рдХреНрд▓рд┐рдХ рдЗрд╡реЗрдВрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред рдПрдХ рдФрд░ рдмрд╛рдд рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИ рдЕрдЧрд░ рдореИрдВ рд╕реНрдерд╛рдиреАрдп рдЫрд╡рд┐ рдкрде рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ рд▓реЗрдХрд┐рди рд╕рд░реНрд╡рд░ рдкрде рдирдП рдЯреИрдм рдореЗрдВ рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реИред

@venkateshduddu - рдПрдХ рдХреНрд▓рд┐рдХ рдИрд╡реЗрдВрдЯ рдлреЛрдХрд╕ рдХреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдирдП рдЯреИрдм рдкрд░ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдирд╣реАрдВ рдХрд░реЗрдЧрд╛, рдЖрдкрдХреЛ рдЗрд╕реЗ рдЯреНрд░рд┐рдЧрд░ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рддреЛ рдкрд╣рд▓реЗ рдХреЛрд╢рд┐рд╢ рдХрд░реЗрдВ, рдореБрдЭреЗ 100% рдпрдХреАрди рд╣реИ рдХрд┐ рдпрд╣ рдЖрдкрдХреА рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рдорд╛рдзрд╛рди рдХрд░реЗрдЧрд╛ред

рд╕рд░реНрд╡рд░ рдкрде рдХреЗ рд╕рдВрдмрдВрдз рдореЗрдВ, рдХреНрдпрд╛ рд╡рд╣ рдиреЗрдЯрд╡рд░реНрдХ рдбреНрд░рд╛рдЗрд╡ рдкреНрд░рдорд╛рдгрд┐рдд рд╣реИ? рдпрджрд┐ рд╣рд╛рдБ, рддреЛ рдХреНрдпрд╛ рдЖрдк рдиреЗрдЯрд╡рд░реНрдХ рдбреНрд░рд╛рдЗрд╡ рдкрд░ рдлрд╝рд╛рдЗрд▓реЗрдВ рдЕрдкрд▓реЛрдб рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдХрд░ рд░рд╣реЗ рд╣реИрдВ? рдпрджрд┐ рдЖрдк рдЙрдиреНрд╣реЗрдВ S3 рдмрдХреЗрдЯ рдореЗрдВ рдЕрдкрд▓реЛрдб рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рддреЛ рдпрд╣ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрд▓рдЧ рдХрд╣рд╛рдиреА рд╣реИред

рд╣рд╛рдп рдЬрдм рдореИрдВ рдЖрдВрддрд░рд┐рдХ рдЖрдИрдкреА рдХреИрдорд░реЗ рдХреЗ рд╕рд╛рде рдПрдХ рдЖрдИрдлреНрд░реЗрдо рд╕реНрдХреНрд░реАрди рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддрд╛ рд╣реВрдВ, рддреЛ рдпрд╣ рдПрдХ рд╢реВрдиреНрдп рдЫрд╡рд┐ рд▓реМрдЯрд╛рддрд╛ рд╣реИ, рдХреГрдкрдпрд╛ рдХреНрдпрд╛ рдЖрдк рдореЗрд░реА рдорджрдж рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ?

рдЕрдЧрд░ рдореИрдВрдиреЗ allowTaint рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛ рддреЛ рдбрд╛рдЙрдирд▓реЛрдб рд╡рд┐рдХрд▓реНрдк рдХрд╛рдо рдирд╣реАрдВ рдХрд┐рдпрд╛ред рдХреГрдкрдпрд╛ рд╕рд╣рд╛рдпрддрд╛ рдХреАрдЬрд┐рдП

рдПрдХ рд╣реА рд╕рдорд╕реНрдпрд╛ рд╣реИ....
рдФрд░ рдореЗрд░реЗ рдЪрд┐рддреНрд░ рдЙрд╕реА рдУрд░ рд╕реЗ рдЖ рд░рд╣реЗ рд╣реИрдВ

рдореИрдВрдиреЗ рдЕрднреА рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рдареАрдХ рдХрд┐рдпрд╛ рд╣реИред
pls рд╡рд┐рдХрд▓реНрдк 'useCORS' рдХреЛ 'true' рдореЗрдВ рд╕рдХреНрд╖рдо рдХрд░реЗрдВ
рдиреАрдЪреЗ рджрд┐рдП рдЧрдП рдХреЛрдб:
html2canvas( document.querySelector(".preview_area"), { logging: true, letterRendering: 1, // allowTaint: false useCORS: true } ).then(canvas => { })

рдмрд╣реБрдд рдмрд╣реБрдд рдзрдиреНрдпрд╡рд╛рдж @Sotyoyo , рдореЗрд░реА рдмрдЧ рдХреЛ рдЙрдкрд░реЛрдХреНрдд рдХреЛрдб рдХреЗ рд╕рд╛рде рдареАрдХ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдзрдиреНрдпрд╡рд╛рдж рдзрдиреНрдпрд╡рд╛рдж

@Sotyoyo рдмрд╣реБрдд рдмрд╣реБрдд рдзрдиреНрдпрд╡рд╛рдж рднрд╛рдИ, рднрдЧрд╡рд╛рди рдЖрдкрдХрд╛ рднрд▓рд╛ рдХрд░реЗ <3

@Sotyoyo рдмрд╣реБрдд рдмрд╣реБрдд рдзрдиреНрдпрд╡рд╛рдж, рдпрд╣ рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ :)

рдЫрд╡рд┐ рдкреНрд░рд╕реНрддреБрдд рдирд╣реАрдВ рд╣реЛ рд░рд╣реА рд╣реИ рдХреНрдпрд╛ рдореЗрд░реЗ рдХреЛрдб рдореЗрдВ рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рд╣реИ?

html2canvas(document.getElementById("html-2-pdfwrapper"), {
рд▓реЙрдЧрд┐рдВрдЧ: рд╕рдЪ,
рдкрддреНрд░ рдкреНрд░рддрд┐рдкрд╛рджрди: 1,
рдЕрдиреБрдорддрд┐ рджреЗрдВ: рдЭреВрдард╛,
рдХреЙрд░реНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ: рд╕рдЪ,
рдСрдирд░реЗрдВрдбрд░: рдлрд╝рдВрдХреНрд╢рди (рдХреИрдирд╡рд╛рд╕) {
var img = рдХреИрдирд╡рд╛рд╕.toDataURL ('рдЫрд╡рд┐/рдкреАрдПрдирдЬреА');
рд╡рд░ рдбреЙрдХреНрдЯрд░ = рдирдпрд╛ рдЬреЗрдПрд╕рдкреАрдбреАрдПрдл ();
doc.addImage (рдЖрдИрдПрдордЬреА, 'рдЬреЗрдкреАрдИрдЬреА', 20, 20);
doc.save ('test2.pdf');
}
});

рдПрдХ рд╣реА рд╕рдорд╕реНрдпрд╛ рд╣реИ....
рдФрд░ рдореЗрд░реЗ рдЪрд┐рддреНрд░ рдЙрд╕реА рдУрд░ рд╕реЗ рдЖ рд░рд╣реЗ рд╣реИрдВ

рдореИрдВрдиреЗ рдЕрднреА рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рдареАрдХ рдХрд┐рдпрд╛ рд╣реИред
pls рд╡рд┐рдХрд▓реНрдк 'useCORS' рдХреЛ 'true' рдореЗрдВ рд╕рдХреНрд╖рдо рдХрд░реЗрдВ
рдиреАрдЪреЗ рджрд┐рдП рдЧрдП рдХреЛрдб:
html2canvas( document.querySelector(".preview_area"), { logging: true, letterRendering: 1, // allowTaint: false useCORS: true } ).then(canvas => { })

рдпрд╣реА рдХрд╛рдо рд╣реИ! рдзрдиреНрдпрд╡рд╛рдж!

рдПрдХ рд╣реА рд╕рдорд╕реНрдпрд╛ рд╣реИ....
рдФрд░ рдореЗрд░реЗ рдЪрд┐рддреНрд░ рдЙрд╕реА рдУрд░ рд╕реЗ рдЖ рд░рд╣реЗ рд╣реИрдВ

рдореИрдВрдиреЗ рдЕрднреА рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рдареАрдХ рдХрд┐рдпрд╛ рд╣реИред
pls рд╡рд┐рдХрд▓реНрдк 'useCORS' рдХреЛ 'true' рдореЗрдВ рд╕рдХреНрд╖рдо рдХрд░реЗрдВ
рдиреАрдЪреЗ рджрд┐рдП рдЧрдП рдХреЛрдб:
html2canvas( document.querySelector(".preview_area"), { logging: true, letterRendering: 1, // allowTaint: false useCORS: true } ).then(canvas => { })

рдпрд╣ рд╕рд╣реА рд╣реИ /

html2canvas(document.querySelector("#id-of-element"),{ loging: true, letterRendering: 1, allowTaint: false, useCORS: true}).then(canvas => {
var imgData = рдХреИрдирд╡рд╛рд╕.toDataURL ('рдЫрд╡рд┐/рдЬреЗрдкреАрдИрдЬреА');
});

рдЕрдкрдиреЗ рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рдореЗрдВ рд╕рднреА рдЫрд╡рд┐рдпреЛрдВ рдХреЛ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдиреБрдорддрд┐ рджреЗрдВ рд╡рд┐рдХрд▓реНрдк рдбрд╛рд▓реЗрдВ

html2canvas(document.getElementById('invoice-panel'), { letterRendering: 1, allowTaint : true, onrendered : function (canvas) { } });

рдзрдиреНрдпрд╡рд╛рджред рдпрд╣ рдмрдврд╝рд┐рдпрд╛ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред

рд▓реЗрдХрд┐рди рдореИрдВ рдЫрд╡рд┐ рд╢реИрд▓реА рдХреЛ рдХреИрдирд╡рд╛рд╕ рдкрд░ рдХреНрд▓реЛрди рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛

рдиреАрдЪреЗ рджрд┐рдП рдЧрдП рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рднреА рдореБрдЭреЗ рдПрдХ рд╣реА рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдкрдбрд╝ рд░рд╣рд╛ рд╣реИ, рдореЗрд░рд╛ рдХреЛрдб рд╣реИред
рд╡рд░ рддрддреНрд╡ = document.querySelector("#map-image-id");
html2canvas(рддрддреНрд╡, {
рд▓реЙрдЧрд┐рдВрдЧ: рд╕рдЪ,
рдкрддреНрд░ рдкреНрд░рддрд┐рдкрд╛рджрди: 1,
рдЕрдиреБрдорддрд┐ рджреЗрдВ: рдЭреВрдард╛,
рдХреЙрд░реНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ: рд╕рдЪ
}).рдлрд┐рд░ (рдХреИрдирд╡рд╛рд╕рдПрд▓реНрдо => {
рд╡рд░ рдЫрд╡рд┐ рдкреНрд░рдХрд╛рд░ = "рдЫрд╡рд┐/рдкреАрдПрдирдЬреА";
var imageData = рдХреИрдирд╡рд╛рд╕Elm.toDataURL(imageType);
var src = encodeURI (рдЗрдореЗрдЬрдбреЗрдЯрд╛);
рдХрдВрд╕реЛрд▓.рд▓реЙрдЧ ("src", src);
рдХрдВрд╕реЛрд▓.рд▓реЙрдЧ ("рдЗрдореЗрдЬ рдбреЗрдЯрд╛", рдЗрдореЗрдЬрдбрд╛рдЯрд╛);

рдиреАрдЪреЗ рджрд┐рдП рдЧрдП рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рднреА рдореБрдЭреЗ рдПрдХ рд╣реА рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдкрдбрд╝ рд░рд╣рд╛ рд╣реИ, рдореЗрд░рд╛ рдХреЛрдб рд╣реИред
рд╡рд░ рддрддреНрд╡ = document.querySelector("#map-image-id");
html2canvas(рддрддреНрд╡, {
рд▓реЙрдЧрд┐рдВрдЧ: рд╕рдЪ,
рдкрддреНрд░ рдкреНрд░рддрд┐рдкрд╛рджрди: 1,
рдЕрдиреБрдорддрд┐ рджреЗрдВ: рдЭреВрдард╛,
рдХреЙрд░реНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ: рд╕рдЪ
}).рдлрд┐рд░ (рдХреИрдирд╡рд╛рд╕рдПрд▓реНрдо => {
рд╡рд░ рдЫрд╡рд┐ рдкреНрд░рдХрд╛рд░ = "рдЫрд╡рд┐/рдкреАрдПрдирдЬреА";
var imageData = рдХреИрдирд╡рд╛рд╕Elm.toDataURL(imageType);
var src = encodeURI (рдЗрдореЗрдЬрдбреЗрдЯрд╛);
рдХрдВрд╕реЛрд▓.рд▓реЙрдЧ ("src", src);
рдХрдВрд╕реЛрд▓.рд▓реЙрдЧ ("рдЗрдореЗрдЬ рдбреЗрдЯрд╛", рдЗрдореЗрдЬрдбрд╛рдЯрд╛);

рдЖрдкрдХреЛ рднреАред рдХреНрдпрд╛ рдЖрдкрдиреЗ рдЗрд╕реЗ рд╣рд▓ рдХрд┐рдпрд╛ рд╣реИ?

рдиреАрдЪреЗ рджрд┐рдП рдЧрдП рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рднреА рдореБрдЭреЗ рдПрдХ рд╣реА рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдкрдбрд╝ рд░рд╣рд╛ рд╣реИ, рдореЗрд░рд╛ рдХреЛрдб рд╣реИред
рд╡рд░ рддрддреНрд╡ = document.querySelector("#map-image-id");
html2canvas(рддрддреНрд╡, {
рд▓реЙрдЧрд┐рдВрдЧ: рд╕рдЪ,
рдкрддреНрд░ рдкреНрд░рддрд┐рдкрд╛рджрди: 1,
рдЕрдиреБрдорддрд┐ рджреЗрдВ: рдЭреВрдард╛,
рдХреЙрд░реНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ: рд╕рдЪ
}).рдлрд┐рд░ (рдХреИрдирд╡рд╛рд╕рдПрд▓реНрдо => {
рд╡рд░ рдЫрд╡рд┐ рдкреНрд░рдХрд╛рд░ = "рдЫрд╡рд┐/рдкреАрдПрдирдЬреА";
var imageData = рдХреИрдирд╡рд╛рд╕Elm.toDataURL(imageType);
var src = encodeURI (рдЗрдореЗрдЬрдбреЗрдЯрд╛);
рдХрдВрд╕реЛрд▓.рд▓реЙрдЧ ("src", src);
рдХрдВрд╕реЛрд▓.рд▓реЙрдЧ ("рдЗрдореЗрдЬ рдбреЗрдЯрд╛", рдЗрдореЗрдЬрдбрд╛рдЯрд╛);

рдореЗрд░реЗ рд╕рд╛рде рдПрдХ рд╣реА рд╕рдорд╕реНрдпрд╛ рдХреЛрдИ рдорджрдж

рдореИрдВ рд╡рд╣реА рдореБрджреНрджрд╛ рджреЗрдЦ рд░рд╣рд╛ рд╣реВрдВред рдореИрдВ рдХреНрдпрд╛ рдЧрд▓рдд рдХрд░ рд░рд╣рд╛ рд╣реВрдВ?

html2canvas(document.getElementById(<id>), {
    logging: true,
    letterRendering: 1,
    allowTaint: false,
    useCORS: true
}).then(result => {
    var img = result.toDataURL("image/png");
    savePng(img);
});

рдпрджрд┐ рдЖрдк <img src-"..." /> рд╢рд╛рдорд┐рд▓ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рддреЛ рдиреАрдЪреЗ рднреА рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ:

html2canvas(report, {letterRendering: 1, allowTaint: true, useCORS: true})
            .then((canvas) => {      
                const imgData = canvas.toDataURL('image/png');
               // const pdf = new jsPDF();
               // pdf.addImage(imgData, 'PNG', 10, 10);
                //pdf.save("foo.pdf");  
            });

рдореЗрд░реА рд╕рд╛рдордЧреНрд░реА рдореЗрдВ рд╡рд╣ рдЫрд╡рд┐ рд╣реИ рдЬреЛ Aws.s3() рд╕реЗ рдЖрддреА рд╣реИред рдКрдкрд░ рдЙрд▓реНрд▓рд┐рдЦрд┐рдд рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ рдореЗрд░реЗ рдорд╛рдорд▓реЗ рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рд░рд╣реА рд╣реИрдВред

html2canvas (рд╕рд╛рдордЧреНрд░реА, {рд▓реЗрдЯрд░рд░реЗрдВрдбрд░рд┐рдВрдЧ: 1, allowTaint: false, useCORS: true})
рддрдм (рдХреИрдирд╡рд╛рд╕ => {
рдХрд╛рд╕реНрдЯ imgData = рдХреИрдирд╡рд╛рд╕.toDataURL ('рдЫрд╡рд┐/рдкреАрдПрдирдЬреА');
рдХрдВрд╕реЛрд▓.рд▓реЙрдЧ (imgData);
рдХреЙрдиреНрд╕реНрдЯ рдкреАрдбреАрдПрдл = рдирдпрд╛ рдЬреЗрдПрд╕рдкреАрдбреАрдПрдл ();
pdf.addImage (imgData, 'PNG', 10, 10, рдХреИрдирд╡рд╛рд╕.рдЪреМрдбрд╝рд╛рдИ, рдХреИрдирд╡рд╛рд╕.рд╣рд╛рдЗрдЯ);
рдкреАрдбреАрдПрдл.рд╕реЗрд╡ ('рдбрд╛рдЙрдирд▓реЛрдб.рдкреАрдбреАрдПрдл');
});

рдЖрдЙрдЯрдкреБрдЯ рдХреИрдирд╡рд╛рд╕ рдореЗрдВ рдЫрд╡рд┐ рдХреЗ рдмрдЬрд╛рдп рдХреЗрд╡рд▓ рдПрдХ рд░рд┐рдХреНрдд рдмреЙрдХреНрд╕ рд╣реЛрддрд╛ рд╣реИред рдХрд┐рд╕реА рдХреЗ рдкрд╛рд╕ рдореЗрд░реЗ рдорд╛рдорд▓реЗ рдХрд╛ рд╕рдорд╛рдзрд╛рди рд╣реИ?

рдореЗрд░реА рд╕рд╛рдордЧреНрд░реА рдореЗрдВ рд╡рд╣ рдЫрд╡рд┐ рд╣реИ рдЬреЛ Aws.s3() рд╕реЗ рдЖрддреА рд╣реИред рдКрдкрд░ рдЙрд▓реНрд▓рд┐рдЦрд┐рдд рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ рдореЗрд░реЗ рдорд╛рдорд▓реЗ рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рд░рд╣реА рд╣реИрдВред

html2canvas (рд╕рд╛рдордЧреНрд░реА, {рд▓реЗрдЯрд░рд░реЗрдВрдбрд░рд┐рдВрдЧ: 1, allowTaint: false, useCORS: true})
рддрдм (рдХреИрдирд╡рд╛рд╕ => {
рдХрд╛рд╕реНрдЯ imgData = рдХреИрдирд╡рд╛рд╕.toDataURL ('рдЫрд╡рд┐/рдкреАрдПрдирдЬреА');
рдХрдВрд╕реЛрд▓.рд▓реЙрдЧ (imgData);
рдХреЙрдиреНрд╕реНрдЯ рдкреАрдбреАрдПрдл = рдирдпрд╛ рдЬреЗрдПрд╕рдкреАрдбреАрдПрдл ();
pdf.addImage (imgData, 'PNG', 10, 10, рдХреИрдирд╡рд╛рд╕.рдЪреМрдбрд╝рд╛рдИ, рдХреИрдирд╡рд╛рд╕.рд╣рд╛рдЗрдЯ);
рдкреАрдбреАрдПрдл.рд╕реЗрд╡ ('рдбрд╛рдЙрдирд▓реЛрдб.рдкреАрдбреАрдПрдл');
});

рдЖрдЙрдЯрдкреБрдЯ рдХреИрдирд╡рд╛рд╕ рдореЗрдВ рдЫрд╡рд┐ рдХреЗ рдмрдЬрд╛рдп рдХреЗрд╡рд▓ рдПрдХ рд░рд┐рдХреНрдд рдмреЙрдХреНрд╕ рд╣реЛрддрд╛ рд╣реИред рдХрд┐рд╕реА рдХреЗ рдкрд╛рд╕ рдореЗрд░реЗ рдорд╛рдорд▓реЗ рдХрд╛ рд╕рдорд╛рдзрд╛рди рд╣реИ?

рдпрд╣рд╛рдБ рдПрдХ рд╣реА рдореБрджреНрджрд╛ред S3 рдмрдХреЗрдЯ рд╕реЗ рдЖрдиреЗ рд╡рд╛рд▓реА рдЫрд╡рд┐рдпрд╛рдВ

рдПрдХ рд╣реА рд╕рдорд╕реНрдпрд╛ рд╣реИ....
рдФрд░ рдореЗрд░реЗ рдЪрд┐рддреНрд░ рдЙрд╕реА рдУрд░ рд╕реЗ рдЖ рд░рд╣реЗ рд╣реИрдВ

рдореИрдВрдиреЗ рдЕрднреА рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рдареАрдХ рдХрд┐рдпрд╛ рд╣реИред
pls рд╡рд┐рдХрд▓реНрдк 'useCORS' рдХреЛ 'true' рдореЗрдВ рд╕рдХреНрд╖рдо рдХрд░реЗрдВ
рдиреАрдЪреЗ рджрд┐рдП рдЧрдП рдХреЛрдб:
html2canvas( document.querySelector(".preview_area"), { logging: true, letterRendering: 1, // allowTaint: false useCORS: true } ).then(canvas => { })

рдзрдиреНрдпрд╡рд╛рдж
рдпрд╣ рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ тЭдтЭд

рдореВрд▓ рд╕реЗ ' https://image/logo рд▓рд┐рдВрдХ' рдкрд░ рдЫрд╡рд┐ рддрдХ рдкрд╣реБрдВрдЪ ' http://localhost : 3000' рдХреЛ CORS рдиреАрддрд┐ рджреНрд╡рд╛рд░рд╛ рдЕрд╡рд░реБрджреНрдз рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ: рдЕрдиреБрд░реЛрдзрд┐рдд рд╕рдВрд╕рд╛рдзрди рдкрд░ рдХреЛрдИ 'рдкрд╣реБрдВрдЪ-рдирд┐рдпрдВрддреНрд░рдг-рдЕрдиреБрдорддрд┐-рдЙрддреНрдкрддреНрддрд┐' рд╢реАрд░реНрд╖рд▓реЗрдЦ рдореМрдЬреВрдж рдирд╣реАрдВ рд╣реИред
рдХреНрдпрд╛ рдпрд╣реА рдХрд╛рд░рдг рд╣реИ рдХрд┐ рдореЗрд░рд╛ рд▓реЛрдЧреЛ рдкреАрдбреАрдПрдл рдлрд╛рдЗрд▓ рдореЗрдВ рдирд╣реАрдВ рджрд┐рдЦ рд░рд╣рд╛ рд╣реИред
рд╕реАрдПрд╕рдПрд╕ рдХреЗ рд╕рд╛рде рд╕рднреА рдЯреЗрдХреНрд╕реНрдЯ рдХреЛ рд▓рд╛рдЧреВ рдХрд░реЗрдВ рдФрд░ рдмреНрд░рд╛рдВрдб рд▓реЛрдЧреЛ рдЬреЛ рдореЗрд░реЗ рд╕реНрдерд┐рд░ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рд╣реИ, рдЖ рд░рд╣рд╛ рд╣реИред
рдХреГрдкрдпрд╛ рдЙрддреНрддрд░ рджреЗрдВ рдЗрд╕ рдкрд░ рд╕рд╣рд╛рдпрддрд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдореИрдВ рдЗрд╕реЗ 2 рд╕рдкреНрддрд╛рд╣ рд╕реЗ рдЕрдзрд┐рдХ рд╕рдордп рд╕реЗ рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред

рдпрд╣рд╛рдВ рдЖрдиреЗ рд╡рд╛рд▓реЗ рдХрд┐рд╕реА рднреА рд╡реНрдпрдХреНрддрд┐ рдХреЗ рд▓рд┐рдП, рдХрдИ рдЪреАрдЬреЛрдВ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдореБрдЭреЗ рдкрддрд╛ рдЪрд▓рд╛ рдХрд┐ рдмрд╛рд╣рд░реА рд╕рдВрд╕рд╛рдзрдиреЛрдВ (рдЬреИрд╕реЗ S3 рдмрд╛рд▓реНрдЯреА) рд╕реЗ рдЪрд┐рддреНрд░ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ html2canvas рдХреЗ рд▓рд┐рдП useCORS = true рджреЛрдиреЛрдВ рдХреЛ рд╕рдХреНрд╖рдо рдХрд░рдирд╛ рд╣реЛрдЧрд╛, рдФрд░ S3 рд╕реЗ рджреА рдЧрдИ рдЫрд╡рд┐рдпреЛрдВ рдкрд░ CORS рдиреАрддрд┐ рдХреЛ рд╕рдХреНрд╖рдо рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред

рдореИрдВрдиреЗ рдЗрд╕реЗ html2canvas рдкреНрд░реЙрдХреНрд╕реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╣рд▓ рдХрд┐рдпрд╛ред рдЖрдк рдпрд╣рд╛рдВ рдЙрдкрдпреЛрдЧ рдФрд░ рдкрд░реАрдХреНрд╖рдг рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рд╡рд┐рд╡рд░рдг рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ:
https://github.com/zeusstl/html2canvas-proxy-nodejs

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

wbarrantes picture wbarrantes  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

arzyu picture arzyu  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

deepender87 picture deepender87  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

anthonymejia picture anthonymejia  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

ABHIKSINGHH picture ABHIKSINGHH  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ