object 要素内に PDF を表示する PHP スクリプトがあります。Adobe Reader プラグインはこの問題を処理し、ユーザーは Adobe ツールバーを使用して埋め込まれた PDF を印刷できます。ただし、一部のユーザー(Internet Explorer 8 のユーザーの 98%) を使用して HTML ドキュメントを印刷することを主張します。この IE の [ファイル] -> [印刷] メニューを使用すると、OBJECT 要素の内容 (PDF) を除いたHTML ドキュメントが印刷されます。(印刷プレビュー) このメソッドを使用して Chrome または FF でドキュメントを印刷すると、オブジェクト ビューポートに現在表示されているデータのみが印刷されます。つまり、実際の PDF ではなく、部分的なオブジェクトです。
StackOverflow でいくつかの関連する質問を検索して読みましたが、この状況やケースに固有のものはありません。これらの「ソリューション」の一部は、Javascript メソッドまたは関数を使用して、ボタンまたはリンクを介してコンテンツを印刷します。ユーザーにブラウザーの Adobe ツールバーを使用して PDF を印刷させることができない場合、ユーザーが気が変わって「印刷」というボタンを使用するとは思えません。
IE で File->Print メソッドを実行すると空白のページが表示されるのはなぜですか? [ファイル] -> [印刷] メニューを使用するときに、ブラウザーに Object 要素の内容を印刷させる方法はありますか。JS ハック、ボタン、「ここをクリック」へのリンク、iframe、「インラインで表示」などの提案はありません。
参考までに、この「View PDF」のコードを以下に示します (ここでも、object 要素に PDF コンテンツを表示するのに問題なく動作します)。
echo "
<html>
<head>
<title>View PDF</title>
</head>
<body scroll='no'>
<object data='getFile.php?f={$file_hash}' type='application/pdf' width='100%' height='100%' >
<h2>Error: No PDF plugin</h2>
<p>The browser does not have a PDF viewer installed. In order to view the PDF in the browser, please <a href='http://get.adobe.com/reader'>download Adobe Reader</a>. </p>
</object>
</body>
</html>";