Представляя задание печати принтеру, клиент обеспечивает атрибуты, описывающие характеристики данных печати, такие как название документа, и как данные печати должны быть напечатаны, такой как двусторонние, пять копий. Если задание печати состоит из многократных частей данных печати, у различных частей могли бы быть различные инструкции обработки, такие как 8 x 11-дюймовых носителей для первого документа, и 11 x 17-дюймовых носителей для другого документа.
Как только принтер начинает обрабатывать задание печати, дополнительная информация о задании становится доступной, который мог бы включать: состояние задания (такой как завершено или поставлено в очередь) и число страниц, напечатанных до сих пор. Эти сведения являются также атрибутами. Атрибуты могут также описать принтер непосредственно, такой как: имя принтера, расположение принтера, и число заданий поставлены в очередь.
API Службы печати Java определяет эти различные виды ролей атрибута с пятью подынтерфейсами Атрибута:
PrintRequestAttribute привык приложением к, представляет установку, которой применяются ко все задание печати и определить, как все задание печати должно быть напечатано.
DocAttribute используется приложением, чтобы определить характеристику единственного документа и настроек задания печати, которые будут применены к документу.
PrintJobAttribute используется службой печати, чтобы сообщить, как печатается задание. Эти значения обычно будут идентичны требуемые значения атрибута. Однако, если принтер не поддерживает значение атрибута запроса печати тогда, соответствующий атрибут задания печати содержит различное значение, которое поддерживается принтером
PrintServiceAttribute используется службой печати, чтобы сообщить о состоянии службы печати.
SupportedValuesAttribute используется службой печати o, указывают на диапазон значений, поддерживаемых для атрибута запроса. Например, принтер мог бы поддерживать только определенный диапазон копий. Когда служба печати запрашивается для поддерживаемого диапазона копий, это возвращает эту информацию в объекте CopiesSupported, который реализует SupportedValuesAttribute.
Много атрибутов могут быть элементами больше чем одной роли. Например, атрибут Носителей принадлежит документу, заданию печати, и ролям запроса печати, потому что атрибут Носителей может описать формат бумаги, лоток для бумаги, или бумажный тип. Фактически, большинство атрибутов документа является также атрибутами запроса, и все атрибуты запроса являются также атрибутами задания.
Следующий раздел описывает, как собрать атрибуты вместе в наборы атрибута, у которых также есть роли.