Реализация драйвера принтера в Java - PullRequest
1 голос
/ 01 сентября 2011

Мне нужно реализовать пользовательский драйвер принтера, который делает в фоновом режиме следующее:

  1. Создание PDF-документа документа для печати
  2. Отправка созданного PDF-документа на предварительно определенный адрес электронной почты ИЛИ позвонить в веб-сервис и передать туда документ

Пиндердрайвер должен быть доступен для Windows и Mac OSX. Мой предпочтительный язык реализации - Java.

Возможно ли это с Java? Существуют ли доступные платформы, которые сводят к минимуму усилия по написанию кода?

Ответы [ 2 ]

4 голосов
/ 01 сентября 2011

Вы уверены, что «водитель» - это действительно то слово, которое вы ищете здесь?Обычно, когда говорят «драйвер печати», они на самом деле имеют в виду нечто, что переводит данные документа в команды для принтера.Я думаю, что вы действительно ищете что-то из препроцессора.

В любом случае, если вы хотите, чтобы он выглядел как принтер для ОС, это будет практически невозможно сделать исключительно на Java.Лучше всего было бы создать драйверы для каждой из платформ, использующих JNI (или просто вызвать JVM), выполнить обработку, а затем переслать ее на принтер.

Хотя я не знаю, если подобноеПодход будет работать в Windows, то, что вы хотите сделать, - это почти тривиально в OS X. Apple уже предоставляет сервис cups-pdf, который преобразует любой печатный документ в pdf, все, что вам нужно сделать, это взять этот вывод и переслать егокуда он должен идти, затем перенаправить его на принтер, не нужно ничего делать на Java.

Для примера того, как это сделать, посмотрите следующий проект:

https://bitbucket.org/codepoet/cups-pdf-for-mac-os-x/downloads

0 голосов
/ 18 июня 2014

Windows можно настроить для отправки вывода на принтер в файл.Вы можете создать принтер в Windows, который использует драйвер PostScript, и записать его в c: \ myfile.txt. В Windows: добавить принтер, выбрать локальный принтер, выбрать создать новый порт и ввести имя файла (полный путь).хочу использовать.Затем выберите нужный драйвер, который будет анализировать ваша Java-программа.Общий текст может быть полезен в некоторых случаях, или Postscript, если вам нужно все это форматирование, и может обрабатывать его.

В отличие от опции «File:» в существующих портах, он не будет запрашивать у пользователя имя файла,Он будет автоматически автоматически сохраняться в указанном файле каждый раз.

Ваша Java-программа может отслеживать этот файл на предмет изменений и затем обрабатывать полученные данные.

...