#javascript #html #css #printing #zebra-printers
#javascript #HTML #css #печать #zebra-принтеры
Вопрос:
Я хочу контролировать, как что-то отображается при печати из браузера на этикетке размером 2,4 «x4 «.
В настоящее время, когда я использую приложение для обработки текстов, такое как Pages (версия Microsoft Word от Apple), я могу установить размер моего документа в 2,4 «x 4» и нажать печать, и я знаю, что все содержимое поместится на этикетке. Я пытаюсь добиться того же, но в браузере.
Я не знаю наверняка, но я думаю, что когда я печатаю из браузера, в настоящее время он включает много пробелов и пытается масштабировать все это, чтобы поместиться на этикетке, что искажает содержимое.
Я довольно новичок в интерфейсной веб-разработке, поэтому я ищу некоторые рекомендации о том, как подойти к определению области печати. Я бы предпочел, чтобы все это происходило внутри браузера, но я подумал, что, возможно, сайт сгенерирует PDF-файл правильных размеров, поскольку я думаю, что это будет обрабатывать печать аналогично страницам.
Надеюсь, это имеет смысл!
Ответ №1:
Несмотря на то, что существуют возможности стилизации, которые поддерживают форматирование по страницам, веб построен на основе непрерывных (безстраничных) документов. Из-за этого постраничное форматирование вызывает проблемы. Например, вы не можете указать размеры страницы документа из документа. Вместо этого диалоговое окно принтера предоставляет выбор размеров страницы, а механизм рендеринга пытается разместить ваш контент на страницах такого размера.
CSS имеет модуль для разбитых на страницы носителей, который включает в себя: page-break-after
, page-break-before
, и page-break-inside
для указания движку, как элементы блока должны разбиваться на страницы; @page
разделы для указания CSS, который применяется только к разбитым на страницы средам; и :blank
, :first
, :left
, и :right
псевдоэлементы для создания правил, привязанных к определенным страницам.