При печати HTML из углового документа документ печатается наполовину вниз - PullRequest
0 голосов
/ 26 апреля 2019

Используя document.write (), я печатаю содержимое объекта, отформатированного для принтера.Текст будет печататься только начиная с середины страницы.

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

Вот моя функция печати. ​​

    let popupWin: any;
    popupWin = window.open('', '_blank', 'top=0,left=0,height=100%,width=auto');
    popupWin.document.open();
    popupWin.document.write(`
    <html>
      <head>
        <title>${this.editPla.name}</title>
        <style></style>
      </head>
      <body onload="window.print();window.close()">
        <table>
          ${values[0]}
          ${values[1]}
        </table>
      </body>
    </html>
    `
    );
    popupWin.document.close();
  }

Вот краткий пример строки, содержащейся в переменной values ​​(фактическая строка довольно длинная):

      <tr style="width:100%;">
        <td style="height:5px;width:75px; border-bottom:1px dotted #777;font-size:12px;padding-top:10px;">Foo</td>
        <td style="height:5px;border-bottom:1px dotted #777;font-size:12px;padding-top:10px;">Bar</td><br>
        <td style="height:5px;width:75px; border-bottom:1px dotted #777;font-size:12px;padding-top:10px;">Foo</td>
        <td style="height:5px;border-bottom:1px dotted #777;font-size:12px;padding-top:10px;">Bar</td><br>
        <td style="height:5px;width:75px; border-bottom:1px dotted #777;font-size:12px;padding-top:10px;">Foo</td>
        <td style="height:5px;border-bottom:1px dotted #777;font-size:12px;padding-top:10px;">Bar</td><br>
        <td style="height:5px;width:75px; border-bottom:1px dotted #777;font-size:12px;padding-top:10px;">Foo</td>
        <td style="height:5px;border-bottom:1px dotted #777;font-size:12px;padding-top:10px;">Bar</td><br>
      </tr>

Мои результаты такие, как показано: https://drive.google.com/file/d/1szQ-a3-KEVjYFhQfHDEJPTXKnG9-5m8S/view?usp=sharing

Ответы [ 2 ]

0 голосов
/ 02 мая 2019

РЕДАКТИРОВАТЬ: Ответ на этот вопрос заключается в том, что я по глупости вставил тег <br> в конце каждой строки. После удаления документы печатаются как положено.

0 голосов
/ 27 апреля 2019

Ваш код выглядит хорошо из того, что вы опубликовали.Однако вы не показываете, как это называется.

Когда это вызывается, это в DIV с измененным вертикальным выравниванием?

Похоже, ваше окно загружается с вертикальным выравниванием по центру, а не сверху.Если вы передаете «this», оно может передавать (наследовать) изменения

, попробуйте добавить стиль в тег body, чтобы выровнять его по верху

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