Как распечатать PDF-файл с использованием JavaScript в Opera? - PullRequest
2 голосов
/ 25 мая 2011

Я могу использовать javascript для печати файла PDF в Internet Explorer и Firefox, например:

<script type="text/javascript">
<!--
if (navigator.appName == 'Microsoft Internet Explorer')
{
    document.write('<object id="agreementPDF" type="application/pdf" data="file.pdf" width="100%" height="500"></object>');
}
else
{
    document.write('<iframe id="agreementFrame" src="file.pdf" width="100%" height="500px"></iframe>');
}
//-->
</script>

<script type="text/javascript">
<!--
function printAgreement()
{
    if (navigator.appName == 'Microsoft Internet Explorer')
    {
        document.getElementById('agreementPDF').print();
    }
    else
    {
        var agreement = document.getElementById('agreementFrame');
        agreement.focus();
        agreement.contentWindow.print();
    }   
}
//-->
</script>

<input type="button" name="print" onclick="printAgreement();" value="Print" />

Однако в Opera функция печати не работает.

Как мне заставить это работать?

Спасибо.

Ответы [ 2 ]

1 голос
/ 26 мая 2011

Похоже, что Opera нужно немного больше держать руку, когда дело доходит до диалогового окна печати.Вот некоторые очень похожие вопросы, ранее задаваемые / отвечаемые в стеке переполнение :

window.print не работает с браузером Opera

print() не работает в браузере Opera

Печать содержимого iframe в Opera и Chrome

Похоже, вам нужно либо использовать другую функцию * .print ()или вызвать событие после завершения загрузки страницы.

Надеюсь, эти ссылки помогут.

0 голосов
/ 26 мая 2011

Вы пробовали печатать на событии загрузки окна?

window.onload = function(){
  window.print();
};
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...