PDF=が埋め込まれたWebページがあります。私のコードは次のようになります。
<embed
type="application/pdf"
src="path_to_pdf_document.pdf"
id="pdfDocument"
width="100%"
height="100%">
</embed>
PDFを印刷するための次のJavaScriptコードがあります。
function printDocument(documentId) {
//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();
}
}
このコードが実行されると、Acrobatプラグインは既知の印刷ダイアログを開きます。このようなもの:
2つの質問:
私のシステムについてもう少し情報:
OS: Windows XP
ブラウザ: Internet Explorer 7
PDFプラグイン: Acrobat Reader 9
普通の古いJavaScriptで静かに印刷することはできません。プリンタで100000000ページすべての黒を印刷する方法を教えてください。良くない。静かに印刷し、Internet Explorerのみで動作するようにしたい場合は、それを実行できるActiveXコントロールがあります。これには、ページとユーザーがサイトを本当に信頼するために、より高いセキュリティ設定が必要です。
これは、信頼できるイントラネット環境で可能です。
<object id="pdfDoc" style="position:absolute;z-index:-1;" name="pdfDoc" classid="clsid:CA8A9780-280D-11CF-A24D-444553540000" width="900px" height="100%">
<param name="SRC" value="yourdoc.pdf" />
</object>
<input type="button" ... onclick="pdfDoc.printAll();" />
これにより、印刷ダイアログがバイパスされ、デフォルトのプリンターに直接送信されます。
印刷する前に実際に待つ必要があるのだろうか?印刷ジョブはあなたのためにそれを処理しませんか?そして、私は、その確認ダイアログなしで印刷できる最新のブラウザ(またはその問題のウェブサイト)がないことを本当に望みます(昔のブラウザはそれを使用していました)。
Firefoxでこれを行うには、about:config
。追加 print.always_print_silent
およびtrue
に設定します。