簡體   English   中英

用javascript打印pdf

[英]print pdf with javascript

我知道關於此有很多問題,但是我測試了所有問題並沒有解決我的問題。 我有以下代碼:

var datauri = //PDF in base64
popup = window.open("", "Your PDF","width=1024,height=768,resizable=yes,scrollbars=yes,toolbar=no,location=no,directories=no,status=no,menubar=no,copyhistory=no,id='printPDF'");       
popup.document.location.href = datauri;//show pdf in other page
popup.print();//print pdf

但是,當我打印PDF時,頁面顯示為空白,但是當我關閉打印窗口並顯示PDF時,我嘗試了很多方法,但是沒有任何效果,請幫我:(

等等,我想我可能會出錯。

datauri變量實際上是彈出窗口的URL。 但是您使用錯了。

首先,看一下文檔

var windowObjectReference = window.open(strUrl, strWindowName[, strWindowFeatures]);

如您所見,第一個參數是strUrl ,這是新彈出窗口的URL。 您給出一個空的參數,開始時就不好了。

發生的可能是這樣的:

  1. 彈出窗口被創建。
  2. 數據URL傳遞到彈出窗口。 PDF開始在后台加載。
  3. 出現打印對話框,該對話框找到一個空文檔(尚未加載PDF)並因此打印一個空頁面。
  4. PDF完成加載,此時您可以打印它(退出第一個彈出窗口之后)。

因此,不要這樣做:

popup.document.location.href = datauri;

您應該將datauri作為第一個參數傳遞給window.open ,這是代碼片段中的空字符串。

我希望這有幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM