Chrome.JS на холстах в формате JavaScript для печати в формате PDF неправильно отображает холст JavaScript - PullRequest
0 голосов
/ 23 января 2019

Я пытаюсь автоматически распечатать некоторые веб-страницы с помощью элемента холста Chart.JS, используя безголовую версию Chrome 71, например: start chrome --enable-logging --headless --disable-gpu --run-all-compositor-stages-before-draw --virtual-time-budget=10000 --print-to-pdf=C:\test.pdf example.html

Результат при ручной печати из PDF в браузере Chrome выглядит точнокак это делается на веб-странице: enter image description here

Но в PDF, созданном из безголового хрома, элемент странным образом изменяется: enter image description here

Есть ли способ заставить безголовый Chrome печатать PDF точно так, как это делал бы настоящий браузер?

1 Ответ

0 голосов
/ 16 июня 2019

Проблема заключается в том, что веб-браузер выдает страницу, загруженную до завершения холста, во избежание этого следует сгенерировать дополнительные нагрузки

в конце HTML-кода

add:

if ( location.href.toUpperCase().indexOf("HTTP") != 0) {
 var delay = 1000; // Delaying up load (in milliseconds).
  delay = new Date().getTime() + delay,
  xhttp = new XMLHttpRequest();

 while (new Date().getTime() < delay ) {
  xhttp.open("GET", location.href, true);
  xhttp.send();
 }
}
...