Jochen Arndt
Если ваш документ использует формат, зарегистрированный для печати, вы можете использовать PowerShell (например, написав сценарий, выполняемый из вашего консольного приложения):
start-process -File-Path "path-to-document" -Verb Print
В противном случае вам придется подготовить свои данные в формате, понятном принтеру (необработанные данные).
Все нижеследующее применимо только в том случае, если у вас есть обычные текстовые данные и ваш принтер работает в текстовом режиме.
Затем подготовьте данные печати, поместив команду выбора текстового режима (см. документацию по языку принтера), затем текст (который может потребоваться преобразовать в другой набор символов) и, возможно, команду выхода из текстового режима.
Как только у вас это есть, вы можете использовать
CreateFile
и
WriteFile
чтобы отправить данные на принтер. Для этого необходимо иметь имя устройства для принтера. В старые добрые времена интерфейса Centronics это был просто "LPT1". С современными USB-или сетевыми принтерами вам нужно перечислить принтеры (объяснение того, как это сделать, превысит быстрый ответ) или посмотреть его в реестре.
Это может быть также можно использовать печати для Windows и API Sppol но я никогда не использовал его:
Методические указания: отправлять необработанные данные на принтер с помощью API-интерфейса Win32[
^]