Печать содержимого с URL в javascript через iframe - PullRequest
0 голосов
/ 28 января 2020

Существует множество решений для этого на SO, я пробовал большинство из них, но, к сожалению, не повезло ..

Мой код:

<iframe id="printWindow" name="printWindow" height="0" width="0"></iframe>
printOrder() {
  const iframeElement: HTMLIFrameElement = document.getElementById('printWindow') as HTMLIFrameElement;
  if(typeof iframeElement === 'undefined') {
    this.errorMessage = 'Could not print order! Iframe not found.';
    return;
  }

  // Setting the print url on the iframe src
  iframeElement.setAttribute('src', this.printUrl);

  // Reload the print window to fetch new src
  iframeElement.contentWindow.location.reload();

  // Focussing the window and printing
  setTimeout(function() {
    iframeElement.contentWindow.focus();
    iframeElement.contentWindow.print();
  }, 300);
}

Что происходит (в Chrome) заключается в том, что функция printOrder() загружает PDF-файл с правильным содержанием страницы из this.printUrl.

Он также открывает окно печати, однако не отображает правильное содержимое страницы внутри окна печати. Вместо этого он показывает «пустую страницу».

Переменная this.printUrl должна генерироваться динамически, поэтому я установил ее на sr c через скрипт.

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