簡體   English   中英

iPad:如何在javascript中的iframe中打印pdf

[英]iPad: How to print a pdf in an iframe in javascript

使用javascript-在iPad html5網絡應用程序中,是否可以打印加載到iframe中的pdf?

我嘗試了很多沒有成功的事情,例如:

var iframe = document.getElementsByTagName('iframe')[0]

if (iframe.attachEvent) {
    iframe.attachEvent("onload", function(){
      console.log("Local iframe is now loaded.");
      iframe.contentWindow.print()
    });
}
else {
    iframe.onload = function(){
        console.log("sLocal iframe is now loaded.");
        iframe.contentWindow.print()
    };
}

iframe的網址是“ /data/xyz.pdf”;

目的是打開“打印”對話框。 這對我來說是一個重大問題,請幫忙!!!

我認為您幾乎可以解決。 唯一剩下的就是您如何打印iframe。 嘗試使用這個。

window.frames["iframe"].focus();
window.frames["iframe"].print();

希望能幫助到你 :)

其他兩個答案的另一種方法是使用CSS僅打印iframe:

@media print {
    * {
        display: none;
    }

    iframe {
        display: block;
        width: 100%;
        height: 100%;
    }
}

這基本上使iframe達到了頁面的整個寬度和高度,並隱藏了其他元素,因此,當用戶單擊“打印”時,iframe是視圖中唯一的東西。 與其他選項相比的優勢在於,它可以在關閉JavaScript的情況下使用,出於安全原因,某些用戶可能已這樣做。

我對Safari支持PDFObject很有信心。 它只是一個聲明的對象,非常易於使用。

即使不完全是iframe,您也可以通過以下方式使用div:

<div id="pdfIframe"></div>

var pdf = new PDFObject({
  url: "/data/xyz.pdf",
  id: "pdfRendered",
  pdfOpenParams: {
    view: "FitH"
  }
}).embed("pdfIframe");

資料來源: http : //pdfobject.com/

編輯:我沒有看到這是一個印刷問題,所以我的回答不是真的。 順便說一句,我記得有一個朋友在使用它,他沒問題打印,所以也許有附帶的打印支持功能。

暫無
暫無

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

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