2

当我单击 print.gif 按钮时,我需要打印一个 .pdf 文件(我使用 jasperReport 生成它并将其保存在服务器上)。现在我发现这个解决方案适用于 Firefox 但不适用于 IE!

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();,但他们没有工作!

我阅读了很多主题,但我找不到这个问题的解决方案!

4

2 回答 2

4

iframe在 html 中创建一个:

<iframe id="pdf-iframe">

然后改变src那个iframeon load,打印它。

$('#pdf-iframe').attr("src", pdf_url).load(function(){
    document.getElementById('pdf-iframe').contentWindow.print();
});
于 2015-08-16T08:12:03.977 回答
0

我相信问题是内容还没有加载?我在 IE8 中遇到了同样的问题。我不得不保存文档,重新打开它,打印,然后再次关闭窗口。

于 2013-05-07T13:48:12.933 回答