Печать с фиксированным приоритетом и порядком без смешанной очереди печати

Я пытаюсь напечатать 4 PDF или 4 Jpeg с моим C# кодом, но у меня очень большая проблема с importart. Вот мой код для печати PDF-файлов:

for (int pdfcount = 1; pdfcount < 5; pdfcount++)
{
  filename = "Doc" + pdfcount + ".pdf";
  ProcessStartInfo psInfo = new ProcessStartInfo();
  psInfo.FileName = @"C:\Program Files\Adobe\Reader 11.0\Reader\AcroRd32.exe";
  psInfo.Arguments = String.Format("/n /s /o /h /p{0}", filename);
  psInfo.CreateNoWindow = true;
  psInfo.UseShellExecute = true;
  psInfo.WindowStyle = ProcessWindowStyle.Hidden;
  Process process = Process.Start(psInfo);
}

Так что это работает, но у меня есть проблема с приоритетом. Я отправляю для печати Doc1.pdf,Doc2,Doc3 и Doc4.pdf с этим заказом, но мой принтер печатает их смешанно. Например, сначала печатается Doc3, затем Doc2... и т. Д. Как я могу сделать мою очередь принтера, которая будет исправлена?

1 ответ

Документы будут поставлены в очередь на печать в зависимости от того, какой документ помещен в очередь печати в первую очередь. Поэтому, как правило, документы меньшего размера быстрее помещаются в очередь и поэтому сначала попадают в очередь.

Я бы посоветовал вам найти способ подтвердить, что Acrobat Reader завершил спулинг документа, прежде чем открывать и распечатывать следующий. Возможно, дождавшись завершения процесса, прежде чем начинать следующий.

Другие вопросы по тегам