1

サーバーにpdfファイルが保存されています。

ユーザーがリンク/ボタンをクリックして、印刷ダイアログのポップアップを表示して、pdf を印刷できるようにしたいと考えています。ダウンロードをクリックしてブラウザのタブから印刷するのは大したことではないことを彼らに納得させようとしましたが、気まぐれです。:)

私はいくつかのJavaScriptソリューションを試しましたが、ほとんどの場合、次のようになります。

contentWindow is not defined

私のjsスニペットは次のとおりです

  a = $("a:contains('Download PDF')")
  url = a.attr('href')
  uid = unique_id()
  uid = "abc_" + uid
  ifrm = $("<iframe width='500px' src='" + url + "' id='" + uid + "' name='" + uid + "'  onload='this.contentWindow.print()'></iframe>")
  $('body').append(ifrm)

私も試してみました

  ...
  ifrm = $("<iframe width='500px' src='" + url + "' id='" + uid + "' name='" + uid + "' ></iframe>")
  $('body').append(ifrm)
  pdf = document.findElementById(uid)
  pdf.contentWindow.print();

そして、同じ結果をもたらす他のいくつかのバリエーション。または、ドキュメントが iframe に読み込まれる前に print が呼び出されたため、おそらく「About:Blank」のプリントが表示されます。

PDF が開き、iframe でレンダリングされます。

何か案は

4

0 に答える 0