次のコードを使用して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ファイルを印刷ジョブとして追加します。
どんな助けでもいただければ幸いです!