1

次のコードを使用してprintコマンドを送信する順序で多くのPDFファイルに問題があります。

For i As Int32 = 1 To qtyToPrint Step 1
   'calls the process for the printing of the pdf files
   Dim myProcess As Process = New Process
   myProcess.StartInfo.WindowStyle = ProcessWindowStyle.Hidden
   myProcess.StartInfo.FileName = fileToPrint
   myProcess.StartInfo.Verb = "Print"
   myProcess.StartInfo.UseShellExecute = True
   myProcess.Start()
   myProcess.WaitForExit()
Next

正しい順序ではないことを除けば、問題なく印刷されます。正しい順序でそれを取得することができた唯一の方法は、タイマーを追加し、印刷キューにジョブがあるかどうかを確認することです。これにより、特に500以上の印刷ジョブを作成するときに、印刷プロセスが非常に遅くなります。

私は、これらのファイルを印刷するためのより良い方法があるかどうか疑問に思っていました。私が念頭に置いているいくつかのことは、可能かどうかはわかりませんが、印刷するファイルのリストと数量を含むテキストファイルまたはXMLファイルを作成し、そのリストからプリンターをキューに入れるか、PDFファイルをXPSドキュメントに変換することです。次に、PrintQueueクラスを使用して、XPSファイルを印刷ジョブとして追加します。

どんな助けでもいただければ幸いです!

4

1 に答える 1

1

より良いオプションは、PDFライブラリを使用してすべてのPDFを単一のファイルに結合し、ライブラリを介して、またはこの同じ方法を使用して、その単一のファイルを印刷することです。このように、印刷ジョブは1つだけで、ドキュメントが大きなPDFに追加される順序を制御できます。

于 2012-05-16T13:06:08.693 に答える