Вот функция для печати PDF-файла из iframe.
Вам просто нужно передать URL-адрес PDF в функцию. Он создаст iframe и запустит печать после загрузки PDF.
Обратите внимание, что функция не уничтожает iframe. Вместо этого он повторно использует его каждый раз при вызове функции. Трудно уничтожить iframe, потому что он нужен до тех пор, пока печать не будет выполнена, а метод печати не имеет поддержки обратного вызова (насколько мне известно).
printPdf = function (url) {
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.focus();
iframe.contentWindow.print();
}, 1);
};
}
iframe.src = url;
}