window.print () не печатает всю страницу - PullRequest
0 голосов
/ 26 мая 2020

Я пытаюсь напечатать новое открытое окно, используя window.print().

Моя проблема в том, что печатается только начало часть страницы (только то, что вы увидеть, когда вы прокручиваетесь в верхний левый угол окна).

Вот мой код:

var printWindow = window.open("", "Print", "width=" + nWidth + "px, height=" + nHeight+ "px");
printWindow.document.write(sSvgData, sDivData);
printWindow.document.close();
printWindow.print();

Решения, которые я уже пробовал, но у меня не сработало:

1) запись всего html в документ (с использованием window.document.write()) и включение моего css в заголовок

<html><head><link rel="stylesheet" href="../css/style.css" type="text/css" media="print"/></head> 
<body>...

style.css:
@media print {
  body, html, div, #wrapper {
      height: 100%;
      width: 100%;
  }
}

2) то же, что и 1), но включая встроенный стиль, как в:

<html><style>@media print { body, html, #wrapper { height: 100%; width: 100%;} }</style><body>...

1 Ответ

0 голосов
/ 26 мая 2020

окно в JavaScript относится только к видимому окну. То есть все, что видно на экране.

1) Один из выходов - прокрутить и распечатать каждую страницу отдельно.

2) Другой способ - использовать @media css, но тогда вам нужно установить тег div также на высоту 100%.

@media print {
      body, html, div, #wrapper {
          height: 100%;
      }
}

Если это тоже не сработает, проверьте страницу в браузере и проверьте все теги. Некоторые веб-сайты используют теги или другие теги, поэтому вам нужно увидеть, какие все теги есть на веб-сайте, который вы пытаетесь распечатать, и добавить их все в один и тот же стиль печати css.

Также попробуйте, если это помогает: http://jsfiddle.net/nAFSN/1/

РЕДАКТИРОВАТЬ: Я также потратил много времени, почесывая голову вокруг него долгое время назад, и я настоятельно рекомендую использовать pdf . Попробуйте создать PDF-файл с содержимым и отправить его обратно пользователю, когда он нажмет на печать. Таким образом, у вас будет больше контроля над тем, как и что показывать на каждой странице.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...