Надежная печать PDF (1.4 и 1.5) на сетевом принтере с использованием Java - PullRequest
1 голос
/ 16 декабря 2010

Я использовал решение, подробно описанное в этом вопросе (включая jLpr ), для печати документов PDF на сетевой принтер. Однако я столкнулся с некоторыми проблемами совместимости с PDF-версией.

Когда я печатаю документы в формате PDF 1.4, все получается нормально. (Для воспроизведения создайте простой текстовый документ в OpenOffice и экспортируйте его в PDF.) Но когда я печатаю документы PDF 1.5, на выходе получается просто искаженный текст - нет читаемого PDF.

Похоже, что jLpr не может обрабатывать документы PDF 1.5 (либо это, либо что-то не так с передачей или ее декодированием на принтере).

Как и в вопросе, на который я ссылался, мне нужно кроссплатформенное решение с как можно меньшим количеством зависимостей. Как я могу заставить jLpr работать? Есть ли лучшие способы сделать это?

Ответы [ 2 ]

4 голосов
/ 16 декабря 2010

Это не имеет ничего общего с Java.Библиотека Java просто отправляет PDF на ваш принтер.И если ваш принтер не может обрабатывать PDF 1.5, он не может обрабатывать 1.5.Javalpr не интерпретатор постскриптума, это просто сетевой клиент для протокола LPR для отправки stuff на принтеры.

1 голос
/ 16 декабря 2010

Java не может печатать PDF, если принтер не поддерживает PDF изначально.Вам нужно использовать хак или библиотеку рендеринга PDF для его растеризации.Мы написали статью о печати PDF на Java на http://www.jpedal.org/PDFblog/2010/01/printing-pdf-files-from-java/

...