Программно печатать документы - PullRequest
2 голосов
/ 11 марта 2009

Хотя я не могу подключить свой настольный компьютер под управлением Win7 64 к нашему сетевому принтеру, я хотел бы иметь возможность вставлять файлы, используя Input Director , в общий ресурс на моем ноутбуке. , Там я хотел бы, чтобы FileSystemWatcher поднял их и распечатал, а затем удалил. Как я могу это сделать? Я предполагаю, что мне нужно каким-то образом подключиться к оболочке, что означает, что мое приложение не может быть сервисом, но я здесь действительно не в курсе.

Я установил Input Director, поэтому я могу переместить курсор с экрана рабочего стола на рабочий стол ноутбука и просто щелкнуть правой кнопкой мыши файл для печати. Тем не менее, мне все еще интересно узнать, как печатать.

Ответы [ 3 ]

1 голос
/ 11 марта 2009

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

Разве это не долгий путь к поиску правильных драйверов для вашего принтера?

0 голосов
/ 11 марта 2009

Учитывая ваши требования (непроизводственное, несерверное решение), почему бы просто не иметь приложение командной строки, которое запускается на вашем ноутбуке и перехватывает ли FileSystemWatcher и печатает ли оно? Или вы можете написать приложение, которое «живет» в трее значков.

Что касается того, как их печатать, то это приложение для каждого приложения, но для многих приложений вы можете позволить оболочке разобраться в этом и использовать ShellExecute API с операцией печати.

0 голосов
/ 11 марта 2009

System.Drawing.Printing поможет вам сделать то, что вы хотите. Не нужно подключаться к оболочке, так что вы можете сделать это как сервис. Всякий раз, когда вы обнаружите новый файл, просто отправьте его на принтер.

Для более сложных типов (документы Word и т. Д.) Вы можете использовать библиотеки Interop для использования самого Word для печати документа. Например, здесь - это метод Interop.Word PrintOut.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...