2013-05-06 3 views
1

Мне нужно распечатать .pdf-файл (я сгенерировал его с помощью jasperReport и сохранил его на сервере), когда я нажимаю кнопку print.gif. Теперь я нашел это решение, которое работает для Firefox, но не для IE!Печать pdf с javascript или jquery

function printPdf(){  
    var url= document.getElementById('_url').value;  
    newwindow=window.open(); 
    newdocument=newwindow.document; 
    newdocument.write('<embed type="application/pdf" src="'+url+'" 
     id="pdfDocument" height="100%" width="100%" ></embed> <SCR'+'IPT 
     LANGUAGE="JavaScript">window.print();window.close();</SCR'+'IPT>'); 
} 

Я попытался также document.close();window.focus();window.print();window.close();, но они не работают!

Я прочитал много тем, но я не могу найти решение этой проблемы!

+3

Если вы хотите напечатать .pdf на бумаге, используя реальный принтер, то это могло бы быть лучше [проверить здесь] (http://www.jquery4u.com/plugins/10-jquery-print -page-options /) для разных плагинов и решений о том, как распечатать PDF через jQuery. Кроме того, [этот вопрос] (http://stackoverflow.com/questions/687675/can-a-pdf-files-print-dialog-be-opened-with-javascript) в Stack Overflow может помочь. Удачи! – Thara

+0

@ Тхара - это звучит как хороший ответ. Я проголосую. –

+0

Я попытался с помощью учебника, с которым вы связались. Но я всегда печатаю пустую страницу! – Vinx88

ответ

0

Я считаю, проблема в том, что контент еще не загружен? У меня была такая же проблема в IE8. Мне пришлось сохранить документ, снова открыть его, распечатать и закрыть окно снова.

2

Создание в HTML с iframe:

<iframe id="pdf-iframe"> 

Затем измените src этого iframe и on load, распечатать его.

$('#pdf-iframe').attr("src", pdf_url).load(function(){ 
    document.getElementById('pdf-iframe').contentWindow.print(); 
}); 
Смежные вопросы