C3: wkhtmltopdf рджреНрд╡рд╛рд░рд╛ рдкреАрдбреАрдПрдл рдкреАрдврд╝реА c3 0.3.0 . рдХреЗ рд╕рд╛рде рд╡рд┐рдлрд▓

рдХреЛ рдирд┐рд░реНрдорд┐рдд 10 рд╕рд┐рддре░ 2014  ┬╖  17рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: c3js/c3

c3 рдЪрд╛рд░реНрдЯ рдХреЗ рд╕рд╛рде html рд╕реЗ рдкреАрдбреАрдПрдл рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдЬреЗрдирд░реЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП wkhtmltopdf рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп, c3 (0.3.0) рдХрд╛ рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдг wkhtmltopdf рдЕрдирд╛рдЙрдВрд╕ рдПрд░рд░ "рдЪреЗрддрд╛рд╡рдиреА: рдЕрдкрд░рд┐рднрд╛рд╖рд┐рдд: 0 рдЯрд╛рдЗрдк рдПрд░рд░: 'рдЕрдкрд░рд┐рднрд╛рд╖рд┐рдд' рдПрдХ рдлрд╝рдВрдХреНрд╢рди рдирд╣реАрдВ рд╣реИ" рдмрдирд╛рддрд╛ рд╣реИред рдкрд░рд┐рдгрд╛рдореА рдкреАрдбреАрдПрдл рдЪрд╛рд░реНрдЯ рдХреЗ рдмрдЬрд╛рдп рд░рд┐рдХреНрдд рд╕реНрдерд╛рди рджрд┐рдЦрд╛рддрд╛ рд╣реИред

c3 рдХрд╛ рдПрдХ рдкреБрд░рд╛рдирд╛ рд╕рдВрд╕реНрдХрд░рдг рдЪрд╛рд░реНрдЯ рдХреЛ рддреИрд░рдиреЗ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рдХрд░рддрд╛ рдерд╛ред рдореИрдВрдиреЗ рдЗрд╕реЗ рдкрд╛рдИ рдФрд░ рдмрд╛рд░ рдЪрд╛рд░реНрдЯ рдкреНрд░рдХрд╛рд░реЛрдВ рдХреЗ рд╕рд╛рде рдкреБрди: рдкреНрд░рд╕реНрддреБрдд рдХрд┐рдпрд╛ рд╣реИред

wkhtmltopdf рдХреЗ рд╕рд╛рде рдкреВрд░реНрдг html, css рдФрд░ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдкреИрдХреЗрдЬ рдкрд░ рд╣реИ
http://burgan.whitevector.com/images/bug_report.zip

wkhtmltopdf рдХрд╛ рдкреВрд░рд╛ рдЖрдЙрдЯрдкреБрдЯ:
рд╢рд╛рд░реНрдХ@рд╡рд┐рд░рд╢рд╛рд░реНрдХ :~/рдмрдЧ_рд░рд┐рдкреЛрд░реНрдЯ$ рд╢ рдЬрдирд░реЗрдЯ_рдкреАрдбреАрдПрдл.рд╢
рдкреЗрдЬ рд▓реЛрдб рд╣реЛ рд░рд╣рд╛ рд╣реИ (1/6)
рдЪреЗрддрд╛рд╡рдиреА: рдЕрдкрд░рд┐рднрд╛рд╖рд┐рдд: 0 рд▓реЗрдЦрди рддреНрд░реБрдЯрд┐: 'рдЕрдкрд░рд┐рднрд╛рд╖рд┐рдд' рдПрдХ рдХрд╛рд░реНрдп рдирд╣реАрдВ рд╣реИ
рдкреГрд╖реНрдареЛрдВ рдХреА рдЧрд┐рдирддреА (2/6)
рд▓рд┐рдВрдХреНрд╕ рдХреЛ рд╣рд▓ рдХрд░рдирд╛ (4/6)
рд╢реАрд░реНрд╖рд▓реЗрдЦ рдФрд░ рдкрд╛рджрд▓реЗрдЦ рд▓реЛрдб рд╣реЛ рд░рд╣реЗ рд╣реИрдВ (5/6)
рдореБрджреНрд░рдг рдкреГрд╖реНрда (6/6)
рдХрд┐рдпрд╛ рд╣реБрдЖ

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

рдореБрдЭреЗ рд╕рдВрджреЗрд╣ рд╣реИ рдХрд┐ рдРрд╕рд╛ рдЗрд╕рд▓рд┐рдП рд╣реИ рдХреНрдпреЛрдВрдХрд┐ wkhtmltopdf QtWebKit wkhtmltopdf рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ Function.prototype.bind рд╕рд╛рде рд╕рдорд╕реНрдпрд╛рдПрдВ рд╣реИрдВ , рд╕реА 3 рдХреЗ рдирдП рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХреА рдЬрд╛рдиреЗ рд╡рд╛рд▓реА рдПрдХ рд╡рд┐рдзрд┐ред рдЬрдм рдореИрдВрдиреЗ рдПрдХ рдлреИрдВрдЯрдордЬ рдПрдХреНрд╕рдкреЛрд░реНрдЯрд░ рд▓рд┐рдЦрд╛ рддреЛ рдореБрдЭреЗ рдЦреБрдж рдЗрд╕реА рддрд░рд╣ рдХреЗ рдореБрджреНрджреЗ рд╕реЗ рдирд┐рдкрдЯрдирд╛ рдкрдбрд╝рд╛ред рдЗрд╕ рдЫреЛрдЯреЗ рд╕реЗ рдкреЙрд▓реАрдлрд╝рд┐рд▓ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХрд╛ рдЙрдкрд╛рдп рд╣реИ:

Function.prototype.bind = Function.prototype.bind || function (thisp) {
  var fn = this;
  return function () {
    return fn.apply(thisp, arguments);
  };
};

рдореИрдВ wkhtmltopdf рдкрд░рд┐рдЪрд┐рдд рдирд╣реАрдВ рд╣реВрдВ рд▓реЗрдХрд┐рди рдЖрдкрдХреЛ рдЙрд╕ рдХреЛрдб рдХреЛ рдкреЗрдЬ рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ рдЪрд▓рд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА (рдмрд╕ рдЗрд╕реЗ рд╕реА 3 рдЬреЗрдПрд╕ рдлрд╛рдЗрд▓реЛрдВ рд╕реЗ рдкрд╣рд▓реЗ рдкреЗрдЬ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдХрд░реЗрдВ рдФрд░ рдпрд╣ рдХрд╛рдо рдХрд░реЗрдЧрд╛)

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

рдореБрдЭреЗ рд╕рдВрджреЗрд╣ рд╣реИ рдХрд┐ рдРрд╕рд╛ рдЗрд╕рд▓рд┐рдП рд╣реИ рдХреНрдпреЛрдВрдХрд┐ wkhtmltopdf QtWebKit wkhtmltopdf рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ Function.prototype.bind рд╕рд╛рде рд╕рдорд╕реНрдпрд╛рдПрдВ рд╣реИрдВ , рд╕реА 3 рдХреЗ рдирдП рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХреА рдЬрд╛рдиреЗ рд╡рд╛рд▓реА рдПрдХ рд╡рд┐рдзрд┐ред рдЬрдм рдореИрдВрдиреЗ рдПрдХ рдлреИрдВрдЯрдордЬ рдПрдХреНрд╕рдкреЛрд░реНрдЯрд░ рд▓рд┐рдЦрд╛ рддреЛ рдореБрдЭреЗ рдЦреБрдж рдЗрд╕реА рддрд░рд╣ рдХреЗ рдореБрджреНрджреЗ рд╕реЗ рдирд┐рдкрдЯрдирд╛ рдкрдбрд╝рд╛ред рдЗрд╕ рдЫреЛрдЯреЗ рд╕реЗ рдкреЙрд▓реАрдлрд╝рд┐рд▓ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХрд╛ рдЙрдкрд╛рдп рд╣реИ:

Function.prototype.bind = Function.prototype.bind || function (thisp) {
  var fn = this;
  return function () {
    return fn.apply(thisp, arguments);
  };
};

рдореИрдВ wkhtmltopdf рдкрд░рд┐рдЪрд┐рдд рдирд╣реАрдВ рд╣реВрдВ рд▓реЗрдХрд┐рди рдЖрдкрдХреЛ рдЙрд╕ рдХреЛрдб рдХреЛ рдкреЗрдЬ рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ рдЪрд▓рд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА (рдмрд╕ рдЗрд╕реЗ рд╕реА 3 рдЬреЗрдПрд╕ рдлрд╛рдЗрд▓реЛрдВ рд╕реЗ рдкрд╣рд▓реЗ рдкреЗрдЬ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдХрд░реЗрдВ рдФрд░ рдпрд╣ рдХрд╛рдо рдХрд░реЗрдЧрд╛)

рдЖрдкрдХреЛ рдзрдиреНрдпрд╡рд╛рдж! рдЕрдиреНрдп Javascripts рд╕реЗ рдкрд╣рд▓реЗ рдЙрди 6 рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреЛ рд╕рдореНрдорд┐рд▓рд┐рдд рдХрд░рдиреЗ рд╕реЗ рд╕рдорд╕реНрдпрд╛ рд╣рд▓ рд╣реЛ рдЧрдИред

рдзрдиреНрдпрд╡рд╛рдж! рдпрд╣ рд╕рдорд╕реНрдпрд╛ рд╕реБрд▓рдЭрддреА рджрд┐рдЦ рд░рд╣реА рд╣реИ, рдЗрд╕рд▓рд┐рдП рдХреГрдкрдпрд╛ рдореБрдЭреЗ рдмрдВрдж рдХрд░рдиреЗ рджреЗрдВред

@рдпреБрд╡реАрдп
dwight-schrute-thank-you-cry-on-the-office

@yuvii рддреБрдо рдХрдорд╛рд▓ рд╣реЛ!
slothsome

рдореБрдЭреЗ рдПрдХ рд╣реА рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдкрдбрд╝рд╛ рд▓реЗрдХрд┐рди vega / wkhtmltopdf ред @Yuvii рджреНрд╡рд╛рд░рд╛ рд╕рдорд╛рдзрд╛рди рдПрдХ рдЖрдХрд░реНрд╖рдг рдХреА рддрд░рд╣ рдХрд╛рдо рдХрд┐рдпрд╛ред рдмрд╣реБрдд - рдмрд╣реБрдд рдзрдиреНрдпрд╡рд╛рдж!

@yuvii рддреБрдо рд░рд╛рдЬрд╛ рд╣реЛ!

@yuvii рдзрдиреНрдпрд╡рд╛рдж !!!!!

googlers рдХреЗ рд▓рд┐рдП, @yuvii рдиреЗ рдореЗрд░реА рдкреАрдврд╝реА рдХреА рд╕рдорд╕реНрдпрд╛ рдХреЛ fullcalendar рдХреЗ рд╕рд╛рде рд╣рд▓ рдХрд┐рдпрд╛ред рдореИрдВрдиреЗ рд╕рдорд╛рдзрд╛рди рдЦреЛрдЬрдиреЗ рдореЗрдВ рдШрдВрдЯреЛрдВ рдмрд┐рддрд╛рдПред
рд╢реБрдХреНрд░рд┐рдпрд╛ред

рдмрд╣реБрдд рдмрдврд╝рд┐рдпрд╛ @yuvii ред рдореИрдВ рдЙрд╕реА рдореБрджреНрджреЗ рдкрд░ рдЖрдпрд╛ рдЬрдм Google рдорд╛рдирдЪрд┐рддреНрд░ API рдмрджрд▓ рдЧрдпрд╛

рдмрд╣реБрдд рдмрд╣реБрдд рдзрдиреНрдпрд╡рд╛рдж, рдЗрд╕рдиреЗ рдореЗрд░реЗ django pdfkit рдореБрджреНрджреЗ рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╣рд▓ рдХрд░ рджрд┐рдпрд╛!

рдзрдиреНрдпрд╡рд╛рдж @yuvii ред рдореИрдВрдиреЗ рд╕рдорд╛рдзрд╛рди рдЦреЛрдЬрдиреЗ рдореЗрдВ рдШрдВрдЯреЛрдВ рдмрд┐рддрд╛рдП:
рдлреИрдмреНрд░рд┐рдХ.рдЬреЗрдПрд╕> рдПрдЪрдЯреАрдПрдордПрд▓> wkhtmltopdf> .pdf рдлрд╛рдЗрд▓ рдХреЗ рд╕рд╛рде рдХреИрдирд╡рд╛рд╕ рдкрд░ рдбреНрд░рд╛рдЗрдВрдЧ
рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рдПрдЪрдЯреАрдПрдордПрд▓ рд╕рд╣реА рдерд╛, рд▓реЗрдХрд┐рди рдЖрдЙрдЯрдкреБрдЯ .pdf рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдЦрд╛рд▓реА рдХреИрдирд╡рд╛рд╕ рдерд╛ред

рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ Fabric.js рдореЗрдВ рднреА рдпрд╣реА рд╕рдорд╕реНрдпрд╛ рд╣реИ

рдореБрдЭреЗ рд╕рдВрджреЗрд╣ рд╣реИ рдХрд┐ рдРрд╕рд╛ рдЗрд╕рд▓рд┐рдП рд╣реИ рдХреНрдпреЛрдВрдХрд┐ wkhtmltopdf QtWebKit wkhtmltopdf рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ Function.prototype.bind рд╕рд╛рде рд╕рдорд╕реНрдпрд╛рдПрдВ рд╣реИрдВ , рд╕реА 3 рдХреЗ рдирдП рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХреА рдЬрд╛рдиреЗ рд╡рд╛рд▓реА рдПрдХ рд╡рд┐рдзрд┐ред рдЬрдм рдореИрдВрдиреЗ рдПрдХ рдлреИрдВрдЯрдордЬ рдПрдХреНрд╕рдкреЛрд░реНрдЯрд░ рд▓рд┐рдЦрд╛ рддреЛ рдореБрдЭреЗ рдЦреБрдж рдЗрд╕реА рддрд░рд╣ рдХреЗ рдореБрджреНрджреЗ рд╕реЗ рдирд┐рдкрдЯрдирд╛ рдкрдбрд╝рд╛ред рдЗрд╕ рдЫреЛрдЯреЗ рд╕реЗ рдкреЙрд▓реАрдлрд╝рд┐рд▓ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХрд╛ рдЙрдкрд╛рдп рд╣реИ:

Function.prototype.bind = Function.prototype.bind || function (thisp) {
  var fn = this;
  return function () {
    return fn.apply(thisp, arguments);
  };
};

рдореИрдВ wkhtmltopdf рдкрд░рд┐рдЪрд┐рдд рдирд╣реАрдВ рд╣реВрдВ рд▓реЗрдХрд┐рди рдЖрдкрдХреЛ рдЙрд╕ рдХреЛрдб рдХреЛ рдкреЗрдЬ рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ рдЪрд▓рд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА (рдмрд╕ рдЗрд╕реЗ рд╕реА 3 рдЬреЗрдПрд╕ рдлрд╛рдЗрд▓реЛрдВ рд╕реЗ рдкрд╣рд▓реЗ рдкреЗрдЬ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдХрд░реЗрдВ рдФрд░ рдпрд╣ рдХрд╛рдо рдХрд░реЗрдЧрд╛)

рдмрд╣реБрдд рдмрд╣реБрдд рдзрдиреНрдпрд╡рд╛рдж, рдореЗрд░рд╛ рджрд┐рди рдмрдЪрд╛ рд▓рд┐рдпрд╛ред рдЗрд╕рдиреЗ рдореЗрд░реЗ рд▓рд┐рдП C3js рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд┐рдпрд╛ред рдЪрд╛рд░реНрдЯ рдХрдВрдЯреЗрдирд░ рдХреА рдЪреМрдбрд╝рд╛рдИ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдирд╛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИред

рдпреЗ рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдВ рдЕрджреНрднреБрдд рд╣реИрдВред рдореИрдВ рдЕрдм рдХреЛрдб рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реВрдВ, рдореИрдВрдиреЗ рд╡рд╣ рджреБрдирд┐рдпрд╛ рдЫреЛрдбрд╝ рджреА рд╣реИ, рд▓реЗрдХрд┐рди рдореИрдВ рдЗрд╕ рдкреГрд╖реНрда рдкрд░ рдХрднреА-рдХрднреА рдЬрд╛рддрд╛ рд╣реВрдВ, рдФрд░ рд╡рд┐рд╕реНрдордп рдореЗрдВ рджреЗрдЦрддрд╛ рд╣реВрдВ рдХрд┐ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕рдорд╕реНрдпрд╛ рдХреЗ рд╕рдорд╛рдзрд╛рди рдХреЗ рд░реВрдк рдореЗрдВ рдореИрдВрдиреЗ 5 рд╡рд░реНрд╖реЛрдВ рдФрд░ рдЬрд╛рдиреЗ рдХреЗ рд▓рд┐рдП _рдЗрддрдиреЗ рд▓реЛрдЧреЛрдВ_ рдХреА рдорджрдж рдХреА рд╣реИред рдпрд╣ рдкрд╛рдЧрд▓рдкрди рд╣реИред

рдореБрдЭреЗ рд╕рдВрджреЗрд╣ рд╣реИ рдХрд┐ рдРрд╕рд╛ рдЗрд╕рд▓рд┐рдП рд╣реИ рдХреНрдпреЛрдВрдХрд┐ wkhtmltopdf QtWebKit wkhtmltopdf рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ Function.prototype.bind рд╕рд╛рде рд╕рдорд╕реНрдпрд╛рдПрдВ рд╣реИрдВ , рд╕реА 3 рдХреЗ рдирдП рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХреА рдЬрд╛рдиреЗ рд╡рд╛рд▓реА рдПрдХ рд╡рд┐рдзрд┐ред рдЬрдм рдореИрдВрдиреЗ рдПрдХ рдлреИрдВрдЯрдордЬ рдПрдХреНрд╕рдкреЛрд░реНрдЯрд░ рд▓рд┐рдЦрд╛ рддреЛ рдореБрдЭреЗ рдЦреБрдж рдЗрд╕реА рддрд░рд╣ рдХреЗ рдореБрджреНрджреЗ рд╕реЗ рдирд┐рдкрдЯрдирд╛ рдкрдбрд╝рд╛ред рдЗрд╕ рдЫреЛрдЯреЗ рд╕реЗ рдкреЙрд▓реАрдлрд╝рд┐рд▓ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХрд╛ рдЙрдкрд╛рдп рд╣реИ:

Function.prototype.bind = Function.prototype.bind || function (thisp) {
  var fn = this;
  return function () {
    return fn.apply(thisp, arguments);
  };
};

рдореИрдВ wkhtmltopdf рдкрд░рд┐рдЪрд┐рдд рдирд╣реАрдВ рд╣реВрдВ рд▓реЗрдХрд┐рди рдЖрдкрдХреЛ рдЙрд╕ рдХреЛрдб рдХреЛ рдкреЗрдЬ рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ рдЪрд▓рд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА (рдмрд╕ рдЗрд╕реЗ рд╕реА 3 рдЬреЗрдПрд╕ рдлрд╛рдЗрд▓реЛрдВ рд╕реЗ рдкрд╣рд▓реЗ рдкреЗрдЬ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдХрд░реЗрдВ рдФрд░ рдпрд╣ рдХрд╛рдо рдХрд░реЗрдЧрд╛)

рд╣реЛрд▓реА рдореМрд▓реА, рдореЗрд░реЗ рджрд┐рд▓ рдореЗрдВ рдЖрдкрдХреЗ рд▓рд┐рдП рд╣рдореЗрд╢рд╛ рдПрдХ рдЦрд╛рд╕ рдЬрдЧрд╣ рд░рд╣реЗрдЧреАред рд╣рд╛рдИрдЪрд╛рд░реНрдЯ рдЧреНрд░рд╛рдл рд╡реЗрдм рдмреНрд░рд╛рдЙрдЬрд░ рдкрд░ рдареАрдХ рд╕реЗ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рдерд╛ рд▓реЗрдХрд┐рди Wkhtmltopdf рдХреЗ рд╕рд╛рде рдкреАрдбреАрдПрдл рдореЗрдВ рдареАрдХ рд╕реЗ рдХрдирд╡рд░реНрдЯ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдЕрдЧрд░ рдХрд┐рд╕реА рдХреЛ рдПрдХ рд╣реА рд╕рдорд╕реНрдпрд╛ рд╣реЛ рд░рд╣реА рд╣реИ рддреЛ рдЕрдкрдиреА рд╣рд╛рдИрдЪрд╛рд░реНрдЯ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдмрд╕ рдЙрд╕ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдмрдирд╛рдПрдВред рдЕрдВрдд рдореЗрдВ 4 рдШрдВрдЯреЗ рдХреЗ рдмрд╛рдж рд╕рдорд╛рдзрд╛рди рдорд┐рд▓рд╛ред Wkhtmltopdf рдФрд░ Highchart рдХреЗ рд╕рд╛рде рдЕрдкрдиреА рд╕рдорд╕реНрдпрд╛ рдХреЛ рдбреАрдмрдЧ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рдЙрди рддрд░реНрдХреЛрдВ рдХреЛ рдЬреЛрдбрд╝рдирд╛ рди рднреВрд▓реЗрдВ "wkhtmltopdf.exe --javascript-delay 10000 --no-stop-slow-scripts --enable-javascript --debug-javascript"

рдореБрдЭреЗ рд╕рдВрджреЗрд╣ рд╣реИ рдХрд┐ рдРрд╕рд╛ рдЗрд╕рд▓рд┐рдП рд╣реИ рдХреНрдпреЛрдВрдХрд┐ wkhtmltopdf QtWebKit wkhtmltopdf рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ Function.prototype.bind рд╕рд╛рде рд╕рдорд╕реНрдпрд╛рдПрдВ рд╣реИрдВ , рд╕реА 3 рдХреЗ рдирдП рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХреА рдЬрд╛рдиреЗ рд╡рд╛рд▓реА рдПрдХ рд╡рд┐рдзрд┐ред рдЬрдм рдореИрдВрдиреЗ рдПрдХ рдлреИрдВрдЯрдордЬ рдПрдХреНрд╕рдкреЛрд░реНрдЯрд░ рд▓рд┐рдЦрд╛ рддреЛ рдореБрдЭреЗ рдЦреБрдж рдЗрд╕реА рддрд░рд╣ рдХреЗ рдореБрджреНрджреЗ рд╕реЗ рдирд┐рдкрдЯрдирд╛ рдкрдбрд╝рд╛ред рдЗрд╕ рдЫреЛрдЯреЗ рд╕реЗ рдкреЙрд▓реАрдлрд╝рд┐рд▓ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХрд╛ рдЙрдкрд╛рдп рд╣реИ:

Function.prototype.bind = Function.prototype.bind || function (thisp) {
  var fn = this;
  return function () {
    return fn.apply(thisp, arguments);
  };
};

рдореИрдВ wkhtmltopdf рдкрд░рд┐рдЪрд┐рдд рдирд╣реАрдВ рд╣реВрдВ рд▓реЗрдХрд┐рди рдЖрдкрдХреЛ рдЙрд╕ рдХреЛрдб рдХреЛ рдкреЗрдЬ рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ рдЪрд▓рд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА (рдмрд╕ рдЗрд╕реЗ рд╕реА 3 рдЬреЗрдПрд╕ рдлрд╛рдЗрд▓реЛрдВ рд╕реЗ рдкрд╣рд▓реЗ рдкреЗрдЬ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдХрд░реЗрдВ рдФрд░ рдпрд╣ рдХрд╛рдо рдХрд░реЗрдЧрд╛)

рдмрд╣реБрдд-рдмрд╣реБрдд рдзрдиреНрдпрд╡рд╛рдж, рдореИрдВрдиреЗ рдЕрднреА-рдЕрднреА рдКрдкрд░ рдХреА 6 рд▓рд╛рдЗрдиреЛрдВ рдореЗрдВ рдкреНрд▓рдЧ рдХрд┐рдпрд╛ рд╣реИ рдФрд░ рдпрд╣ рд╣рд╛рдЗрдЯ рдЪрд╛рд░реНрдЯ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдЗрд╕реЗ рд▓рдЧрднрдЧ 3 - 4 рдШрдВрдЯреЗ рдХреЗ рд▓рд┐рдП рдбрд┐рдмрдЧ рдХрд░ рд░рд╣рд╛ рдерд╛ред

рдореБрдЭреЗ рд╕рдВрджреЗрд╣ рд╣реИ рдХрд┐ рдРрд╕рд╛ рдЗрд╕рд▓рд┐рдП рд╣реИ рдХреНрдпреЛрдВрдХрд┐ wkhtmltopdf QtWebKit wkhtmltopdf рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ Function.prototype.bind рд╕рд╛рде рд╕рдорд╕реНрдпрд╛рдПрдВ рд╣реИрдВ , рд╕реА 3 рдХреЗ рдирдП рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХреА рдЬрд╛рдиреЗ рд╡рд╛рд▓реА рдПрдХ рд╡рд┐рдзрд┐ред рдЬрдм рдореИрдВрдиреЗ рдПрдХ рдлреИрдВрдЯрдордЬ рдПрдХреНрд╕рдкреЛрд░реНрдЯрд░ рд▓рд┐рдЦрд╛ рддреЛ рдореБрдЭреЗ рдЦреБрдж рдЗрд╕реА рддрд░рд╣ рдХреЗ рдореБрджреНрджреЗ рд╕реЗ рдирд┐рдкрдЯрдирд╛ рдкрдбрд╝рд╛ред рдЗрд╕ рдЫреЛрдЯреЗ рд╕реЗ рдкреЙрд▓реАрдлрд╝рд┐рд▓ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХрд╛ рдЙрдкрд╛рдп рд╣реИ:

Function.prototype.bind = Function.prototype.bind || function (thisp) {
  var fn = this;
  return function () {
    return fn.apply(thisp, arguments);
  };
};

рдореИрдВ wkhtmltopdf рдкрд░рд┐рдЪрд┐рдд рдирд╣реАрдВ рд╣реВрдВ рд▓реЗрдХрд┐рди рдЖрдкрдХреЛ рдЙрд╕ рдХреЛрдб рдХреЛ рдкреЗрдЬ рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ рдЪрд▓рд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА (рдмрд╕ рдЗрд╕реЗ рд╕реА 3 рдЬреЗрдПрд╕ рдлрд╛рдЗрд▓реЛрдВ рд╕реЗ рдкрд╣рд▓реЗ рдкреЗрдЬ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдХрд░реЗрдВ рдФрд░ рдпрд╣ рдХрд╛рдо рдХрд░реЗрдЧрд╛)

рдореЗрд░рд╛ рджрд┐рди рдмрдЪрд╛рдпрд╛ред рдПрдХ рд╕рд╛рде рдХрдИ рджрд┐рдиреЛрдВ рд╕реЗ рд╕рдВрдШрд░реНрд╖ рдХрд░ рд░рд╣рд╛ рдерд╛: +1:

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

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

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

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

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

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

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