2011-04-25 8 views
1

私はC#と.NET 4でWPFアプリケーションを構築しており、同じファイルの2つのコピーを出力する必要があります。 私は仕事を終わらせる次のコードを持っていますが、Wordが2回開いてもそれほどではありません。WPF/C#.NET 4からWord文書の複写を印刷する4

Process myProcess = new Process(); 
     myProcess.StartInfo.FileName = invoiceFileAbsoluteStoreagePath; 
     myProcess.StartInfo.Verb = "Print"; 
     myProcess.StartInfo.CreateNoWindow = true; 
     //Print out two copies - ugly! - no better way apparently 
     myProcess.Start(); 
     myProcess.WaitForExit(); 
     //Let's do it again... there need to be a better way :(
     myProcess.Start(); 
     myProcess.WaitForExit(); 

私はこの文書からXのコピーが必要だと知らせる何らかの引数をWordに送信できませんか?

答えて

0

私は通常、WPFフロードキュメントを使用して印刷します。そこからWPFページを作成し、その上で印刷コマンドを呼び出し、コピー枚数を自動入力して印刷ジョブを実行するだけです。少数のドキュメントしかない場合は、XAMLでドキュメントを再作成し、さらにそれらにデータを挿入することもできます。それは始めるのに少し時間がかかりますが、一度実装するとかなり速くなります。オープニングワードはありません。 xmlファイルをXamlDocumentとして開き、ViewModelを介してデータを注入し、印刷するだけです。

thisはフロードキュメントに関するものではありませんが、そこにはあなたが入ります。

+0

ありがとうございますが、率直に言って、1つのWord(.docx)ファイルを印刷するのは大変な作業です。私は "テンプレート" .docxファイルを用意しています。これを書き込んでHDDに保存します。その後、ファイルをtwinceから印刷する必要があります。それだけです。あなたの提案ははるかにダイナミックなことをするようです。 –

+0

私はしばらく前に取り組んだプロジェクトでそれを実装しました。私たちは3つの文書を持っていました。 WPFでドキュメントテンプレートを作成するのに約2時間かかりました.VMと印刷コードを実行するもう1時間です。 Wordの起動と印刷プロセスの後、私たちは1日に40回(約6秒)、1日に260日を使用していました。私は17時間を使いました。新しいプロセスでは、ほとんどの場合17時間を節約しながら、印刷ジョブがプリンタにほとんど瞬時に(1/8秒未満で)実行されていました。私はかなりのモジュラーなので、追加の文書を後でもっと節約できるようにしました... – CodeWarrior

関連する問題