разработать Java-приложение, которое печатает HTML-знаки и этикетки - PullRequest
1 голос
/ 07 июня 2011

Я хочу разработать веб-приложение, которое может печатать вывески для различных продуктов, таких как большой магазин.Содержание знаков (названия продуктов, описания, цены) поступает с сервера и меняется ежедневно.Каждое изделие может быть напечатано в документе формата A3 или A4.Также возможно иметь 3 знака на одной странице формата А4.Кроме того, каждый тип продукта имеет по-разному обозначенный знак (у телевизоров цена вверху страницы выделена КРАСНЫМ, а у принтеров - слева внизу жирным шрифтом)

идея состоит в том, что программа получитданные о продукте из БД, вставьте его в шаблон HTML в соответствии с размером страницы и типом продукта и распечатайте HTML (или конвертируйте HTML в PDF и распечатайте)

некоторые проблемы, с которыми я до сих пор сталкивался: - текстовые поляИз БД можно долго и перекрывать область с другими текстами или зашифровать оставшуюся часть знака.- Есть много типов продуктов, и каждый имеет свой собственный дизайн HTML и CSS, поэтому его очень сложно поддерживать, если мне нужно что-то изменить.- разные браузеры показывают знак по-разному.- разные принтеры печатают знак по-разному.

Как лучше всего решить проблему?рамки CSS могут помочь?Я открыт для идей.

Ответы [ 2 ]

1 голос
/ 07 июня 2011

Я разработал приложение, которое выполняет печать, и макет HTML находится в самом отдаленном направлении от моего пути. Печать HTML теряет такие элементы, как фон, расположение и т. Д. Очень случайно ... и это зависит от марки принтера и драйвера. Если вы серьезно настроены пойти по этому пути, единственными двумя путями, которые я хотел бы рассмотреть, является Postscript или Adobe PDF. HTML может быть действительным «предварительным просмотром», но здесь вы снова будете бороться с несоответствиями между тем, как браузеры отображают ваш код на экране - нет двух одинаковых. Лучше всего сделать .pdf и просто отобразить его.

В моем приложении я делаю общий макет, привязанный к перетаскиваемой сетке в Javascript, затем выводю координаты и элементы в базу данных, которую мой (очень специализированный) принтер берет через автоматизированный текстовый документ FTP и собирает с помощью собственного сервера печати. , Оттуда сервер печати объединяет все элементы, размещает их по сетке и выводит задание. Это были месяцы в создании и огромная боль, чтобы построить, но результат - то, что моей компании нужно было для пользовательской печати по требованию. Мы обучаем всех наших пользователей понимать, что макет не гарантированно совершенен, как в InDesign или Quark, и даже в этом случае мы получаем случайные жалобы. Итог - Интернет не был создан, чтобы быть инструментом макета печати!

0 голосов
/ 07 июня 2011

использовать xml + xslt серверное преобразование. Храните данные в стандартном XML (поместите этот XML в БД) Сохранить стиль в XSLT (выберите XSLT в зависимости от компании-производителя) Это может быть довольно сложно, но вы можете применять шаблоны стилей в виде xslt. Большинство браузеров поддерживают это, если вы делаете это на стороне сервера и транслируете его.

Если вы хотите, чтобы PDF, HTML, документы Word генерировались, просто напишите XSLFO и используйте apache xalan framework для их создания

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...