В прошлом я тратил много времени на поиск в Интернете решений для печати PDF-файлов на определенные лотки для принтеров.
Мое требование было: собрать несколько файлов PDF из каталога сервера и отправить каждый файл в отдельный лоток принтера в цикле.
Итак, я протестировал множество сторонних инструментов (проб) и лучшие практики, найденные в сети.
Как правило, все эти инструменты можно разделить на две категории: а) отправлять PDF-файлы на принтер прямым способом (без вывода сообщений в пользовательском интерфейсе) или б) открывать PDF-файлы в пользовательском интерфейсе с помощью встроенного средства предварительного просмотра PDF, работающего с .Net-PrintDocument.
Единственным решением, которое исправило мое требование, была PDFPrint от veryPdf (недостаток: он не бесценный, но моя компания его купила). Все остальные инструменты и решения не работали надежно, что означает: вызов их подпрограмм печати с параметром, например, id = 258 (определяет лоток 2; извлекается из установленного принтера), но при печати файла PDF в лотке 3 или в окне предварительного просмотра печати (UI) был открыт файл PDF с потерянными изображениями или полностью пустым содержимым и т. д.
Надеюсь, это немного поможет.