2009-08-11 3 views
3

印刷確認ダイアログウィンドウで「OK」をクリックすることなく、印刷ジョブをプリンタに送信したいと考えています。ユーザー確認なしでC#またはJavaScriptからHTMLドキュメントを印刷するにはどうすればよいですか?

C#コードビハインドかjavascriptのどちらかがうまくいけば良いでしょう。

だから私はHTML文書を印刷することは可能ですが、をクリックすることなくを印刷することは可能ですか?

  • これは、印刷ジョブがドキュメントを100回印刷して、フォームの値を動的に挿入するためです。 (あなたが100人の人に感謝カードを印刷していて、100回あなた自身の名前を変更したくないと想像してください)。ユーザーがこれらのドキュメントごとに印刷ジョブを確認する必要がある場合は、1回の印刷ジョブを完了するまでに時間がかかります。ある日、100の印刷ジョブが入った場合を想像してみてください!それは1時間だけ "OK"を10000回クリックするのに費やす人です。

注:それはそれがうまくいくのブラウザにセキュリティ上の問題を下げるの問題ですので、もし、印刷フォームを使用する必要があるだろう一人だけです。 100枚すべての印刷物を確認せずに通過できるようにする方法が必要です(100枚につき1つの確認だけでも問題ありませんが、文書は毎回変更する必要があります)。

+0

を使用されていますか? – ChrisW

答えて

3

主要なブラウザから - 私はあなたができないと確信しています。

WebBrowserコントロールが埋め込まれたWinFormアプリケーションを作成し、ユーザーの確認なしにそこから印刷することができます(正しく覚えていれば、オブジェクトからPrintメソッドがあります)。

+0

それを許さないブラウザには神様に感謝します!広告代理店がこの風を受けた場合、あなたのプリンタが噴出するというジャンクを想像してみてください。 – Ruben

+0

私は完全に同意します。それが必要な場合にオフにすることができるセキュリティの場合はちょうどいいでしょう... – Matt

1

あなたは、Internet Explorer 5.5以降を使用している場合、これは動作するはずです:

function printit(){ 
    var WebBrowser = '<OBJECT ID="WebBrowser1" WIDTH=0 HEIGHT=0 CLASSID="CLSID:8856F961-340A-11D0-A96B-00C04FD705A2"></OBJECT>'; 
    document.body.insertAdjacentHTML('beforeEnd', WebBrowser); WebBrowser1.ExecWB(6, -1); 
    WebBrowser1.outerHTML = ""; 
} 
+0

...それは何ですか? – Matt

+0

オースチンの提案と本質的に同じものです。 OBJECT参照はWebBrowserコントロールです。InsertAdjacentHTMLコマンドは、ページの内容を取得します。 ExecWB(6、-1)は、プロンプトを表示せずにPrintコマンドを実行するものです。 –

1

理由だけではなく、あなたが適切な改ページを持っていることを確認、すべての100枚のカードとプリントで単一のページを作成していません。

3

私はこの問題の解決策を探していたので、私はこの質問を見つけました。 (。V 3.5でテスト済み)Firefoxで非常に簡単に行うことができます。

  • ゴー〜約:Firefoxの
  • のアドレスバーに設定右、最初の設定をクリックして新しいに行く - >ブール - 今、あなたは、ページが事前確認なしでプリントアウトしますJavaScriptからwindow.print()を呼び出す場合>値 "真"
  • Firefoxを再起動

- > "print.always_print_silent" を追加します。

出典:それはどのようなソフトウェア(例えば、ブラウザまたはHTML対応のエディタ)http://forums.mozillazine.org/viewtopic.php?f=40&t=48336&start=0

+0

このトリックのおかげで、私が取り組んでいるプロジェクトに最適です! –

関連する問題