だから、DOMのChromeとFirefoxの解釈は私を悩ませていると思います。HTMLページの印刷ではヘッダーとフッターを通常印刷できないため、ブラウザからPDFを印刷しようとしています(動的に作成された)。今、私はPHPページからfpdfを使用してPDFを送信し、ツールバーを使用するか、右クリックして印刷しましたが、クライアントは印刷ダイアログを開始するページ上のボタンを必要としていますが、もちろんPDF以外は印刷しません... . だから私はそれを埋め込みました:
<embed
type="application/pdf"
src="print_pdf.php"
id="pdfDocument"
width="100%"
height="100%" />
ボタンの onClick が呼び出されます
<script type="text/javascript">
function printDocument(documentId) {
((function(){return document.getElementById(documentId);})()).print();
//Wait until PDF is ready to print
if (typeof document.getElementById(documentId).print == 'undefined') {
setTimeout(function(){printDocument(documentId);}, 1000);
} else {
var x = document.getElementById(documentId);
x.print();
}
}
</script>
どこで documentID = "pdfDocument"
これはIE9ではうまく機能しましたが、chromeとmozillaはすべて「Uncaught TypeError: Object # has no method 'print'」と言います
だから私は、埋め込みがクロムで不適切なオブジェクト解釈を引き起こしていると考えて使用しようとしました:
<object data="print_pdf.php" type="application/pdf" width="100%" height="100%" id="pdfD2">
代替 : test.pdf
同じ onClick を呼び出しました。ここで、documentID = "pdfD2"... "Uncaught TypeError: Object # has no method 'print'"
次に、Iframe を試してみました: ... "Uncaught TypeError: Object # has no method 'print'"
Chrome が私の行き先であることを考えると、私はとてもイライラしています... Chrome の組み込みの PDF ビューを無効にして、Adobe 10.xxx を使用しました.. ARGH!!!
参考までに、私の単純なボタンタグは次のとおりです。
<input type="button" value="Print Rx" onclick="printDocument('pdfDocument')">
<input type="button" value="Print Rx2" onclick="printDocument('pdfD2')">
<input type="button" value="Print Rx3" onclick="printDocument('pdfD3')">