Я занимаюсь разработкой адаптивного веб-приложения с использованием 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?
Могу ли я что-нибудь посоветовать?
Спасибо,
Леон