API службы печати Java: отправить задание на катушку принтера? - PullRequest
3 голосов
/ 29 октября 2010

Я использую API службы печати Java, чтобы выбрать PrintService, а затем передать его JasperReport JRPrintServiceExporter.Основная идея заключается в том, чтобы просто отправить документ на указанный PrintService.На самом деле он использует java.awt.print.PrinterJob.print().

Кажется, что вы не можете отправить задание на печать на принтер с атрибутом PrinterIsAcceptingJobs.NOT_ACCEPTING_JOBS, когда он отключен или выключен. Если я отправлю ему задание, я быполучить PrinterException, потому что он не принимает работу.

Можно ли печатать на принтере "NOT_ACCEPTING_JOBS"?В реальной операционной системе это работает, задание ставится в очередь в пуле.Как добиться того же эффекта с помощью API службы печати Java?

1 Ответ

1 голос
/ 11 мая 2012

Я думаю, что проблема, которую вы пытаетесь решить, похожа на эту ошибку . Кажется, проблема в том, что Java 1.5 и 1.6 смотрят на неправильные флаги (принтер вместо очереди).

Решение, которое, кажется, работает, заключается в использовании ForceAcceptPrintService, описанном на этом форуме . С другой стороны, в этом посте упоминается обходной путь, использующий манипулирование байтами, но я сам не пробовал этого решения.

...