LINUX.ORG.RU

Посоветуйте чего-нибудь (методы, статьи, примеры) для печати из WebApplication


0

1

После праздников займусь поиском хорошего решения для печати из Вебприложения. Раньше этим заниматься не доводилось, примерно как это сделать понимание есть, но хотелось бы услышать мнение, рецепты от тех кто знает в этом толк.

И да, задача не просто распечатать вид с экрана. Будет некая форма, после заполнения которой на сервере сформируется документ. При желании пользователя его надо напечатать. Очень желательно просто по нажатию кнопки на странице браузера.


window.print();? А в остальном - делаешь вёрстку попроще, желательно даже без div и CSS, разве что по-минимуму.

karbofos
()
Ответ на: комментарий от karbofos

> window.print();?

Боюсь не прокатит. Документ строгой формы со штрих кодом и важно соблюдение размеров, так как будет печататься на чем-то напоминающем билетный принтер. С вероятностью 95% будет формироваться PDF, который потом как-нибудь покрасивее надо запихнуть в локальный принтер.

shelA
() автор топика

Ищите библиотеки для генерации pdf. Работа с ними довольно проста. О чем вопрос, так и не понял...

drakmail ★★★★
()
Ответ на: комментарий от uju

О печати html страниц? Выше уже всё отписали. О печати .pdf? Так это не из браузера. Еще можно на сервере делать изображение с самой формой, затем открывать её, и печатать прямо из браузера... но надо ли?

drakmail ★★★★
()
Ответ на: комментарий от drakmail

Если надо генерировать файлы, которые потом можно распечатать, то для этого также неплохо (в зависимости от задач) могут подойти xls или odt таблицы (если надо обрабатывать их вручную после этого).

drakmail ★★★★
()
Ответ на: комментарий от drakmail

> О печати html страниц? Выше уже всё отписали. О печати .pdf?

Вот меня поражает, вы уважаемый кроме заголовка ничего больше не распарсили?

Ищите библиотеки для генерации pdf.

Я написал: «С вероятностью 95% будет формироваться PDF» Из этого разве непонятно, что я собственно и собираюсь генерировать PDF и уж наверно в курсе про библиотеки которые их формируют.)))

Жужу> О печати прямо из веб-браузера.

Кажется даже Жужу уловил суть проблемы)))

то для этого также неплохо (в зависимости от задач) могут подойти xls или odt таблицы

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

По моему разжевал суть вопроса, дальше не куда.

shelA
() автор топика
Ответ на: комментарий от shelA

Извините, был немного нетрезв.

По сабжу: у меня в таких случаях на сервере генерируется динамический документ (xls, pdf), после чего tomcat отдает файл для загрузки. Затем, оператор проверяет правильность документа и нажимает кнопку печать в OOo Calc, Acrobat Reader, etc. Можно, я думаю, для Firefox написать небольшое расширение, которое будет отправлять на печать автоматически все отданные с указанного домена файлы.

drakmail ★★★★
()
Ответ на: комментарий от drakmail

> Извините, был немного нетрезв.

На то он и праздник!)

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

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

Хотя конечно и решение с расширением тоже неплохо выглядит.

shelA
() автор топика
Ответ на: комментарий от shelA

>Я тоже думал о расширении, но оно мне кажется более дорогим, чем сделать небольшой сервис на клиенте,который бы периодический посылал на сервер запрос на предмет наличия сформированного файла для печати на данном клиенте. И если он есть скачивал бы его и посылал на локальный принтер.

Вспомнилось, как я делал себе печать из под Linux на принтере без Linux драйвера: я подключил принтер к ПК с Windows, расшарил папку, откопал скрипт на python, который с помощью CUPS для Windows печатал все файлы, поступающие в расшаренную папку (проверялось через iNotify, так что печатало почти сразу).

Можно нечто такое сделать и для вашего случая, тогда. Особенно, если печатать можно/нужно с ПК с Linux.

drakmail ★★★★
()
Ответ на: комментарий от drakmail

> я подключил принтер к ПК с Windows, расшарил папку, откопал скрипт на python, который с помощью CUPS для Windows печатал все файлы

Знаете, интересная мысль. Но боюсь не прокатит. В этой схеме насколько мне помниться, машина с принтером должна иметь реальный адрес или доступна в рамках сети . В моем случае клиент это обычная машина подключенная к интернет неизвестно как, скорее всего с фэковым IP, и возможно даже через прокси.

В флеше не разбираетесь? Насколько я читал (самому не доводилось серьезно разбираться) можно организовать что-то типа вебсокета, получать файл, и кажется там функции печати на локальном принтере тоже были?

shelA
() автор топика
Ответ на: комментарий от shelA

>Знаете, интересная мысль. Но боюсь не прокатит. В этой схеме насколько мне помниться, машина с принтером должна иметь реальный адрес или доступна в рамках сети . В моем случае клиент это обычная машина подключенная к интернет неизвестно как, скорее всего с фэковым IP, и возможно даже через прокси.

Ну если машина не в той же сети, то вариант со скачиванием ей файла (списка файлов) самый простой и эффективный.

В флеше не разбираетесь? Насколько я читал (самому не доводилось серьезно разбираться) можно организовать что-то типа вебсокета, получать файл, и кажется там функции печати на локальном принтере тоже были?

К сожалению нет, до флеша мои руки так и не дошли (или к счастью). Но, если мне не изменяет память, сокеты там можно использовать.

drakmail ★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.