2012-04-04 4 views
3

明らかにflash.printing.PrintJobで印刷する必要がありますが、問題があります。私は決してsend()を呼び出さずにプリンタに送信しました

PrintJob.start()で示された印刷ダイアログボックスで設定された設定がデータベースに格納されているものと一致し、PrintJob.start()を呼び出す以外にその情報を取得する方法がないことを検証する必要があります。 。

ページ設定が無効な場合は、addPage()やsend()のどちらも呼び出すことはありませんが、数秒後に(15 aprox)空白のドキュメントが印刷されます。

PrintJobをキャンセルするにはどうすればよいですか? AIRではPrintJob.terminate()がありますが、私はフラッシュをターゲットにしています。

ありがとうございました!

+0

この空白のページ...愚かな質問かもしれませんが、出てくるかキャンセルする印刷ダイアログで「OK」をクリックしていますか? –

+0

問題を再現できません。天気私は「OK」または「キャンセル」をクリックし、天候を明示的に解放/削除します。ジョブにページを送信しないで、数秒後にタイムアウトしても印刷されない限り何でもそれは、我々が扱っているプリンタードライバー特有の問題かもしれません。その場合、宇宙のAS3コードはあなたの問題を解決するものではありません。 –

+0

@Ascension Systems:OKをクリックします。キャンセルを押すと正しく動作します。私は、いくつかの異なるOSや異なるドライバでテストします。私はそれがドライバのバグであることを願っています:D – alcuadrado

答えて

0

あなたの実際に何をしようとしているのか少し困惑しますが、このようなことはできませんか?あなたは()それは本当にはずの印刷を送るいけない場合

var myPrintJob:PrintJob = new PrintJob(); 
if(myPrintJob.start()) { 
// addPage() and send() statements here 
} 

この方法(印刷ジョブのドキュメント、スタート機能の例から)あなたは、設定を確認することができます。 (あなたはあなたのコードの古い場所のどこかに送ってはいけませんか?) 可能な修正(最高ではないが、うまくいくはずです)は、設定があなたの好みに合っていないと、 ;

myPrintJob = new PrintJob(); 

上記が役に立たない場合は、スニペットなどをご提供ください。 幸運を祈る!

+0

私はすぐにそのコードを持っていません。私はstart()からsend()までの時間が最大であると言われているインターネット上の多くの場所を見つけたので、それを超えた場合はprintjobが送信されます。それは狂った、ほとんど信じられないように聞こえるが、悲しいことにそれは本当である。 – alcuadrado

関連する問題