Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java: Общие вопросы > Java и принтер


Автор: Сонечка 21.5.2012, 12:16
Всем привет!

  Как лучше и удобнее всего распечатать результаты работы Java-приложения, оформленные в виде таблиц? Хотелось бы приложить минимум усилий и получить нормальное форматирование. Среди вариантов: использовать средства библиотек, импортировать в html, использовать open office. Может есть еще что-то? 
  Жду ваших советов=)

Автор: Metal_Heart 21.5.2012, 12:38
Всё зависит от конкретной задачи.

У меня задача была простая, отобразить простенький однообразный отчет.
Потому делал отчеты в html, и с библиотеками заморачиваться не надо, и с принтером - открыл в браузере .. распечатал.
Правда здесь хитрость была, я сначала разработал html-шаблон, а затем просто его открывал как файл и модифицировал требуемые поля.

Но данный вариант влечет нюанс - если таблица не вместится на страницу она будет разбита на несколько без копирования её шапки, что не красиво. Это может случиться при печати на разных принтерах.

Автор: Сонечка 21.5.2012, 13:07
Ну у меня таблица с разным числом столбцов, в зависимости от выбора пользователя. И еще нужно, чтобы распечатывалась в альбомной ориентациии. И принтеры, вероятно, будут как раз разными.

Автор: LSD 21.5.2012, 16:09
Начни с http://docs.oracle.com/javase/tutorial/2d/printing/index.html.

Автор: Сонечка 21.5.2012, 16:44
Щас я как всегда все почитаю, найду самый кривой и сложный метод, и буду над нимм шаманить smile 
Ладно, спасибо) Пошла читать

Автор: Ares4322 22.5.2012, 08:43
А приложение какое: веб или настольное? Отчет в каком виде: swing-форма или html или что-то еще?

Автор: Сонечка 22.5.2012, 10:54
Swing) С html вопросов бы не было=)

Автор: Ares4322 22.5.2012, 12:40
http://docs.oracle.com/javase/tutorial/uiswing/components/table.html#printing
http://docs.oracle.com/javase/7/docs/api/javax/swing/JTable.html#print()
Оно?

Автор: Сонечка 22.5.2012, 13:24
Оно-то да. Но что лучше делать? Просто печатать из программы? Или переформатировать во что-нибудь и печатать?

Автор: Ares4322 22.5.2012, 13:27
Все от Вашей задачи зависит. Вам подходит формат, который выдается через стандартный метод печати? Если нет, то придется что-то самой выдумывать.

Автор: Сонечка 22.5.2012, 14:51
Да мне все равно) Я б их заставила скриншоты из пейнта распечатывать))))))))))))))))))) Вот сейчас мне начинает казаться, что легче просто распечатывать, чем загонять в другой формат

Автор: Ares4322 22.5.2012, 21:28
Вам правильно кажется)

Автор: aleksandy 23.5.2012, 06:49
Формируй rtf и отдавай файл в качестве результата. А потом юзвери пусть сами где хотят там и открывают, правят, печатают. Если править не нужно можно делать pdf-ки

Автор: Сонечка 23.5.2012, 11:41
Цитата(aleksandy @ 23.5.2012,  06:49)
Формируй rtf и отдавай файл в качестве результата. А потом юзвери пусть сами где хотят там и открывают, правят, печатают. Если править не нужно можно делать pdf-ки

Нее, они так не умеют.)


Ares4322, спасибо)

Автор: aleksandy 24.5.2012, 07:09
Цитата(Сонечка @  23.5.2012,  11:41 Найти цитируемый пост)
Нее, они так не умеют.)

Чего не умеют? В MSWord/[Open|Libre]Office нажать кнопку "Печать"? Тогда мне, действительно, тебя жаль smile

Автор: Сонечка 24.5.2012, 10:43
У меня клиенты совсем гуманитарии. Часть из них еще и весьма элегантного возраста и недолюбливают компы) По крайней мере так говорит заказчик. Так что прога должна быть понятной им на каждом шаге и не открывать какие-то адские сторонние приложения=) А-то им еще курсы вести придется хДДД

Автор: jk1 24.5.2012, 11:07
Цитата

Нее, они так не умеют.)


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

Автор: Сонечка 24.5.2012, 11:32
Ну вот как-то так я и собираюсь сделать) Выбрать я пыталась, как сделать изнутри. А большая кнопка распечатать без всяких сомнений. И никаких открыть в ворде)))

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)