2013-09-12 3 views
1

Я сгенерировал PDF-файл с использованием JasperReports успешно; создание моего файла PDF осуществляется с помощью триггера кнопки. После создания файла я хотел бы распечатать этот PDF-файл на принтере без предварительного просмотра PDF (открытие PDF-файла и нажатие кнопки печати). Моя цель - когда пользователь нажимает кнопку, которая создает PDF-файл, он также печатает этот PDF-файл на принтере по умолчанию на этом компьютере. BTW, я использую Windows для этого проекта и Java JRE7.Как распечатать PDF-файл без предварительного просмотра в java

+0

Единственное, что я coud теперь сообщениям пользователей Джаспера сгенерируйте pdf-файл, а затем он покажет пользователю pdf-файл, и теперь он может нажать кнопку печати на этом pdf-файле. Но мой клиент хочет, чтобы превью pdf прервался, и распечатайте pdf-файл на принтере. Предварительный просмотр в формате PDF –

ответ

1

я успешно выполнил задачу с помощью JPedal, и теперь я могу печатать PDF-файл непосредственно на принтер с фактическим размером, используя код

decodePdf.setPrintPageScalingMode(PrinterOptions.PAGE_SCALING_REDUCE_TO_PRINTER_MARGINS); 
1

Проверьте этот блог http://blog.idrsolutions.com/2010/01/printing-pdf-files-from-java/; может помочь вам.

Также вы можете искать API-интерфейс PDFRenderer, возможно, это поможет.

Edit: Как установить атрибут печати - Ref: http://docs.oracle.com/javase/7/docs/technotes/guides/jps/spec/attributes.fm4.html

PrintRequestAttributeSet aset = new HashPrintRequestAttributeSet(); 
aset.add(new Copies(5)); 
aset.add(MediaSize.ISO_A4); 
aset.add(Sides.DUPLEX); 

Пасс этот атрибут printJob.print(pdfDoc, new HashPrintRequestAttributeSet()) Кроме того, вы можете попытаться получить поддерживаемый атрибут первого, а затем использовать соответствующим образом. Пожалуйста, прочтите приведенную выше документацию, она очень богата примерами.

+0

спасибо за то, что я попробовал пробную версию JPedal за 30 дней. Я могу распечатать pdf-файлы, но проблема заключается в том, что при печати –

+0

я не могу установить размер бумаги «Фактический размер». Привет, Росс, возможно, вы хотите установить атрибуты задания на печать. Я отредактировал сообщение для того же самого. Между тем, если это поможет вам, вы можете захотеть и принять этот ответ. Благодарю. – gyan

Смежные вопросы