Html2canvas: "рдкреНрд░рджрд░реНрд╢рди: рдХреЛрдИ рдирд╣реАрдВ" рдХреЗ рд╕рд╛рде divs рдХреА рд╕рд╛рдордЧреНрд░реА рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдирд╣реАрдВ

рдХреЛ рдирд┐рд░реНрдорд┐рдд 6 рдорд╛рд░реНрдЪ 2016  ┬╖  10рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: niklasvh/html2canvas

рдирдорд╕реНрддреЗ, рдореИрдВ рдПрдХ div рдХрд╛ рд╕реНрдХреНрд░реАрди рд╢реЙрдЯ рд▓реЗрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдЬреЛ рдЫрд┐рдкрд╛ рд╣реБрдЖ рд╣реИ

рдпрд╣ рд╡рд╣ рдХреЛрдб рд╣реИ рдЬрд┐рд╕рдХреА рдореИрдВрдиреЗ рдХреЛрд╢рд┐рд╢ рдХреА рдереА
рдПрдЪрдЯреАрдПрдордПрд▓:

<div` id="visible">
hello there!!
</div>
<div id="hidden" style="display:none">
You can't see me :P
</div>

рдЬреЗрдПрд╕:

var elem1=$("#hidden");
if(!elem1.is(":visible"))
{
elem1.show();elem1.fadeIn(1);elem1.fadeOut(1);
}
html2canvas(elem1).then(function(canvas){

$("body").append(canvas);

});

рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рддреНрд░реБрдЯрд┐:
**

рдзреНрдпрд╛рди рдореЗрдВ рди рдЖрдпрд╛ рд▓реЗрдЦрди рддреНрд░реБрдЯрд┐: nullhtml2canvas @ html2canvas.js:941 (рдЕрдирд╛рдо рдлрд╝рдВрдХреНрд╢рди) @ HtmlPage рдХреА рд╕рдВрдкрддреНрддрд┐ 'рд▓рдВрдмрд╛рдИ' рдирд╣реАрдВ рдкрдврд╝ рд╕рдХрддрд╛ред рдПрдЪрдЯреАрдПрдордПрд▓:13

**
рдореЗрд░реЗ рдмреЗрд▓рд╛: https : //jsfiddle.net/h39tp0Ly/2/

рдХреГрдкрдпрд╛ рдЗрд╕рдореЗрдВ рдореЗрд░реА рд╕рд╣рд╛рдпрддрд╛ рдХрд░реЗрдВ

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

рд╣реИрд▓реЛ, рдореИрдВ "jsPdf" рдХреЗ рд╕рд╛рде рдПрдХ рдкреАрдбреАрдПрдл рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдгреАрдп 6 рдФрд░ "html2canvas" рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реВрдВ .... рдореИрдВ рдПрдХ рдЫрд┐рдкреЗ рд╣реБрдП div рдореЗрдВ рдПрдХ рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рд▓реЗрдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛ рдФрд░ рдЬрдм рддрдХ рдореИрдВ рдЗрд╕реЗ рд╣рд╛рд╕рд┐рд▓ рдирд╣реАрдВ рдХрд░ рд▓реЗрддрд╛ рддрдм рддрдХ рдореИрдВ рдЗрд╕реЗ рдирд╣реАрдВ рдХрд░ рд╕рдХрд╛

рдХреИрдкреНрдЪрд░ рдЖрдИрдбреА "рдПрдЪрдЯреАрдПрдордПрд▓-рдкреАрдбреАрдПрдл" рдХреЗ рд╕рд╛рде div рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ

"рдПрдЪрдЯреАрдПрдордПрд▓"
` рдЫрд╛рддреНрд░ рдХрд╛рд░реНрдб /рдП>

рдбрд┐рд╡ рдЖрдИрдбреА = "рдкреАрдбреАрдПрдл" *рдПрдирдЬреАрдЖрдИрдПрдл = "рдЯреЗрд╕реНрдЯ" рд╕реНрдЯрд╛рдЗрд▓ = "рдЯреЗрдХреНрд╕реНрдЯ-рдПрд▓рд╛рдЗрди: рд╕реЗрдВрдЯрд░; рдорд╛рд░реНрдЬрд┐рди-рдЯреЙрдк: 5 рдкреАрдПрдХреНрд╕;">
рдбрд┐рд╡ рдЖрдИрдбреА = "рдПрдЪрдЯреАрдПрдордПрд▓-рдкреАрдбреАрдПрдл">

/рджрд┐рд╡
/div`

"js рдпрд╛ рдХреЛрдгреАрдп рдореЗрдВ рдЯрд╛рдЗрдкрдкреНрд░рддрд┐ рд╣реИ"
`рдбрд╛рдЙрдирд▓реЛрдб2 () {
рд╡рд░ imgcab: рд╕реНрдЯреНрд░рд┐рдВрдЧ;
imgcab = this.base64logo.trim ();

html2canvas (document.getElementById ('html-pdf'), {рд╕реНрдХреЗрд▓:2})ред рддрдм (рдлрд╝рдВрдХреНрд╢рди (рдХреИрдирд╡рд╛рд╕) {

var img = рдХреИрдирд╡рд╛рд╕.toDataURL ("рдЫрд╡рд┐ / png", 1);

рд╡рд░ рдбреЙрдХреНрдЯрд░ = рдирдпрд╛ рдЬреЗрдПрд╕рдкреАрдбреАрдПрдл ({
рдЕрднрд┐рд╡рд┐рдиреНрдпрд╛рд╕: 'рдкреА',
рдЗрдХрд╛рдИ: 'рдорд┐рдореА',
рдкреНрд░рд╛рд░реВрдк: 'рдкрддреНрд░',
});

doc.addImage (рдЖрдИрдПрдордЬреА, 'рдкреАрдПрдирдЬреА', 2,2,212,272);
doc.addImage (imgcab, 'JPEG', 5, 5,30,30);
doc.save ('testCanvas.pdf');
});`

рдФрд░ рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрд╛рдд рд╕реНрдХреНрд░реАрди рдХреЗ рдЕрдВрджрд░ рдбрд┐рд╡ рдХреЛ рдЫреБрдкрд╛рдирд╛ред

"рд╕реАрдПрд╕рдПрд╕"
#pdf { overflow: hidden; height: 0; }

рдХреЛрдб "рдПрдЪрдЯреАрдПрдордПрд▓-рдкреАрдбреАрдПрдл" div рдХреЗ рдХреИрдкреНрдЪрд░ рдХреЗ рд╕рд╛рде рдПрдХ рдкреАрдбреАрдПрдл рдмрдирд╛рддрд╛ рд╣реИ рдЬреЛ рдЫрд┐рдкреЗ рд╣реБрдП div "рдкреАрдбреАрдПрдл" рдХреЗ рдЕрдВрджрд░ рд╣реИ ...

рдореБрдЭреЗ рдЖрд╢рд╛ рд╣реИ рдХрд┐ рдЖрдк рдЙрдирдХреА рд╕реЗрд╡рд╛ рдХрд░реЗрдВрдЧреЗ

рдореИрдВрдиреЗ рдЗрд╕реЗ рд╕реНрдкреЗрдирд┐рд╢ рдореЗрдВ рд▓рд┐рдЦрд╛ рд╣реИ рдФрд░ рдЗрд╕рдХрд╛ рдЕрдиреБрд╡рд╛рдж рдЪрд┐рд▓реА рд╕реЗ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ;

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

Html2canvas рдкреНрд░рджрд░реНрд╢рди рдХреА рд╡реНрдпрд╛рдЦреНрдпрд╛ рдХрд░рддрд╛

рдпреЛрдЧреНрдп рд╣реЛ рд╕рдХрддрд╛ рд╣реИред
рдзрдиреНрдпрд╡рд╛рдж !

рдпрд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдЕрдЧрд░ рдФрд░ рдХреЗрд╡рд▓ рдЕрдЧрд░ div рдореЗрдВ рд╕реАрдПрд╕рдПрд╕ рд╣реИ рдЬреЛ " рдбрд┐рд╕реНрдкреНрд▓реЗ: рдХреЛрдИ рдирд╣реАрдВ "

       onclone: function(document) {
            hiddenDiv = document.getElementById("render");
            hiddenDiv.style.display = 'block';
        }

рдореБрдЭреЗ рдЗрдВрдЯрд░рдиреЗрдЯ рдкрд░ рдХреБрдЫ рдЬрд╛рдирдХрд╛рд░реА рдорд┐рд▓реАред рд╣рдо " рдбрд┐рд╕реНрдкреНрд▓реЗ: рдХреЛрдИ рдирд╣реАрдВ " рдХреЗ рд╕рд╛рде рдирд┐рд░реНрджрд┐рд╖реНрдЯ div рдкрд░ рд╕реАрдПрд╕рдПрд╕ рд╕реЗрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдлрд┐рд░ рдКрдкрд░ рдХреА рддрд░рд╣ рд╡рд┐рдХрд▓реНрдк рдСрдирдХреНрд▓реЛрди рдЬреЛрдбрд╝реЗрдВред рдХреНрдпрд╛ рд╣реЛрддрд╛ рд╣реИ рдпрд╣ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдХреГрдкрдпрд╛ "рд▓реЙрдЧрд┐рди: рд╕рдЪ" рд╡рд┐рдХрд▓реНрдк рдЬреЛрдбрд╝реЗрдВ

рдЕрд╕рд▓ рдореЗрдВ рд╕реНрдерд┐рддрд┐ рдкреВрд░реНрдг рдФрд░ рд╢реАрд░реНрд╖/рдмрд╛рдПрдВ рдирдХрд╛рд░рд╛рддреНрдордХ рдорд╛рдиреЛрдВ рдХреЗ рд╕рд╛рде рд╡реНрдпреВрдкреЛрд░реНрдЯ рд╕реЗ рдХрдВрдЯреЗрдирд░ рдбрд╛рд▓рдиреЗ рдХреА рдЪрд╛рд▓ - рдлрд╝рд╛рдпрд░рдлрд╝реЙрдХреНрд╕ рдореЗрдВ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддреА рд╣реИ, рдпрд╣ NS_ERROR_FAILURE рдЕрдкрд╡рд╛рдж рдлреЗрдВрдХрддрд╛ рд╣реИ

рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ рдХреНрд░реЛрдо рдореЗрдВ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ

рдореИрдВ рд╣рд╛рд▓ рд╣реА рдореЗрдВ рдЗрд╕ рдореБрджреНрджреЗ рдореЗрдВ рднрд╛рдЧ рдЧрдпрд╛, рдФрд░ рдпрджрд┐ рдЖрдк рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдХрд┐ рдПрдХ рд╡рд┐рд╢реЗрд╖ div рдЕрджреГрд╢реНрдп рдФрд░ рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рд╣реЛ, рддреЛ рд╕реАрдПрд╕рдПрд╕ рдЧреБрдгреЛрдВ рдХреЛ рд╕реЗрдЯ рдХрд░реЗрдВ

height: 0%
overflow:hidden

рдпрд╣ рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ @ kchen1025

рдореИрдВрдиреЗ рд▓рдХреНрд╖реНрдп div рдХреЗ рддреБрд░рдВрдд рдмрд╛рдж рдХреИрдирд╡рд╛рд╕ рдЙрддреНрдкрдиреНрди рдХрд░рдирд╛ рд╕рдорд╛рдкреНрдд рдХрд░ рджрд┐рдпрд╛, рдФрд░ рдлрд┐рд░ рдХреИрдирд╡рд╛рд╕ рд▓реЛрдб рд╣реЛрдиреЗ рдХреЗ рддреБрд░рдВрдд рдмрд╛рдж div рдХреЛ рдЫреБрдкрд╛рдпрд╛ред рдЭрд┐рд▓рдорд┐рд▓рд╛рд╣рдЯ рдореБрд╢реНрдХрд┐рд▓ рд╕реЗ рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп рд╣реИред

рдореЗрд░рд╛ рдХреЛрдб рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:

<div id="capture">
  ...
</div>
<div id="end"></div>
html2canvas(document.querySelector("#capture")).then(canvas => {
  $("#end").append(canvas)
  $("#capture").hide()
});

рд╣реИрд▓реЛ, рдореИрдВ "jsPdf" рдХреЗ рд╕рд╛рде рдПрдХ рдкреАрдбреАрдПрдл рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдгреАрдп 6 рдФрд░ "html2canvas" рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реВрдВ .... рдореИрдВ рдПрдХ рдЫрд┐рдкреЗ рд╣реБрдП div рдореЗрдВ рдПрдХ рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рд▓реЗрдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛ рдФрд░ рдЬрдм рддрдХ рдореИрдВ рдЗрд╕реЗ рд╣рд╛рд╕рд┐рд▓ рдирд╣реАрдВ рдХрд░ рд▓реЗрддрд╛ рддрдм рддрдХ рдореИрдВ рдЗрд╕реЗ рдирд╣реАрдВ рдХрд░ рд╕рдХрд╛

рдХреИрдкреНрдЪрд░ рдЖрдИрдбреА "рдПрдЪрдЯреАрдПрдордПрд▓-рдкреАрдбреАрдПрдл" рдХреЗ рд╕рд╛рде div рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ

"рдПрдЪрдЯреАрдПрдордПрд▓"
` рдЫрд╛рддреНрд░ рдХрд╛рд░реНрдб /рдП>

рдбрд┐рд╡ рдЖрдИрдбреА = "рдкреАрдбреАрдПрдл" *рдПрдирдЬреАрдЖрдИрдПрдл = "рдЯреЗрд╕реНрдЯ" рд╕реНрдЯрд╛рдЗрд▓ = "рдЯреЗрдХреНрд╕реНрдЯ-рдПрд▓рд╛рдЗрди: рд╕реЗрдВрдЯрд░; рдорд╛рд░реНрдЬрд┐рди-рдЯреЙрдк: 5 рдкреАрдПрдХреНрд╕;">
рдбрд┐рд╡ рдЖрдИрдбреА = "рдПрдЪрдЯреАрдПрдордПрд▓-рдкреАрдбреАрдПрдл">

/рджрд┐рд╡
/div`

"js рдпрд╛ рдХреЛрдгреАрдп рдореЗрдВ рдЯрд╛рдЗрдкрдкреНрд░рддрд┐ рд╣реИ"
`рдбрд╛рдЙрдирд▓реЛрдб2 () {
рд╡рд░ imgcab: рд╕реНрдЯреНрд░рд┐рдВрдЧ;
imgcab = this.base64logo.trim ();

html2canvas (document.getElementById ('html-pdf'), {рд╕реНрдХреЗрд▓:2})ред рддрдм (рдлрд╝рдВрдХреНрд╢рди (рдХреИрдирд╡рд╛рд╕) {

var img = рдХреИрдирд╡рд╛рд╕.toDataURL ("рдЫрд╡рд┐ / png", 1);

рд╡рд░ рдбреЙрдХреНрдЯрд░ = рдирдпрд╛ рдЬреЗрдПрд╕рдкреАрдбреАрдПрдл ({
рдЕрднрд┐рд╡рд┐рдиреНрдпрд╛рд╕: 'рдкреА',
рдЗрдХрд╛рдИ: 'рдорд┐рдореА',
рдкреНрд░рд╛рд░реВрдк: 'рдкрддреНрд░',
});

doc.addImage (рдЖрдИрдПрдордЬреА, 'рдкреАрдПрдирдЬреА', 2,2,212,272);
doc.addImage (imgcab, 'JPEG', 5, 5,30,30);
doc.save ('testCanvas.pdf');
});`

рдФрд░ рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрд╛рдд рд╕реНрдХреНрд░реАрди рдХреЗ рдЕрдВрджрд░ рдбрд┐рд╡ рдХреЛ рдЫреБрдкрд╛рдирд╛ред

"рд╕реАрдПрд╕рдПрд╕"
#pdf { overflow: hidden; height: 0; }

рдХреЛрдб "рдПрдЪрдЯреАрдПрдордПрд▓-рдкреАрдбреАрдПрдл" div рдХреЗ рдХреИрдкреНрдЪрд░ рдХреЗ рд╕рд╛рде рдПрдХ рдкреАрдбреАрдПрдл рдмрдирд╛рддрд╛ рд╣реИ рдЬреЛ рдЫрд┐рдкреЗ рд╣реБрдП div "рдкреАрдбреАрдПрдл" рдХреЗ рдЕрдВрджрд░ рд╣реИ ...

рдореБрдЭреЗ рдЖрд╢рд╛ рд╣реИ рдХрд┐ рдЖрдк рдЙрдирдХреА рд╕реЗрд╡рд╛ рдХрд░реЗрдВрдЧреЗ

рдореИрдВрдиреЗ рдЗрд╕реЗ рд╕реНрдкреЗрдирд┐рд╢ рдореЗрдВ рд▓рд┐рдЦрд╛ рд╣реИ рдФрд░ рдЗрд╕рдХрд╛ рдЕрдиреБрд╡рд╛рдж рдЪрд┐рд▓реА рд╕реЗ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ;

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдХрд╛рдо рдХрд░рдиреЗ рдХрд╛ рд╕рд╣реА рддрд░реАрдХрд╛ onclone рд╕рдВрдкрддреНрддрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реИ, https://stackoverflow.com/a/51049443/2251303

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

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

yasergh picture yasergh  ┬╖  5рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

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

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

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

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