Печать PDF в IOS без визуального открытия с помощью React - PullRequest
0 голосов
/ 28 января 2019

Я занимаюсь разработкой адаптивного веб-приложения с использованием React и пытаюсь разработать печать PDF в IOS, не открывая его визуально.(так же, как поведение в window.print ()).

Я попытался встроить PDF-файл в iframe и использовал для печати contentWindow.print ().Тем не менее, этот метод печатает только одну страницу, но не все страницы в IOS Safari.

Я также пробовал встраивать и возражать, но тот же результат найден.

Вот код, который я устал:

onPrintHandler(){
   console.log("OnPrint");

    var arr = this.state.base64Pdf.split(',')
    var binary = atob(arr[1]);
    var len = binary.length;
    var buffer = new ArrayBuffer(len);
    var view = new Uint8Array(buffer);
    for (var i = 0; i < len; i++) {
    view[i] = binary.charCodeAt(i);
    }
    console.log('view',view)
    // create the blob object with content-type "application/pdf"                 
    var blob1 = new Blob( [view], { type: "application/pdf" });
    console.log('blob1',blob1);
    var url = window.URL.createObjectURL(blob1);

    var iframe = this._printIframe;
    if (!this._printIframe) {
      iframe = this._printIframe = document.createElement('iframe');
      document.body.appendChild(iframe);

      iframe.style.display = 'none';
      iframe.onload = function() {
        setTimeout(function() {
          iframe.contentWindow.focus();
          iframe.contentWindow.print();
        }, 3000);
      };
    }

    iframe.src = url;

}

Могу ли я попросить решение распечатать все страницы PDF в IOS Safari?

Могу ли я что-нибудь посоветовать?

Спасибо,

Леон

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