Эти шаги иллюстрируют роль DocFlavor в типичном приложении:
Клиент определяет формат данных печати и решает, как представить данные принтеру. Клиент тогда создает или получает DocFlavorrepresenting format:DocFlavor разновидность = DocFlavor. INPUT_STREAM.GIF;
Клиент использует DocFlavor, чтобы найти принтеры, которые могут понять формат, определенный DocFlavor, и определили возможности в атрибуте клиента set:PrintService [] службы = PrintServiceLookup.lookupPrintServices (разновидность, aset);
От службы печати клиент создает задание печати, представленное DocPrintJob object:DocPrintJob printJob = службы [0].createPrintJob ();
Клиент создает Документ, представляющий документ, чтобы быть printed:Doc документом = новый InputStreamDoc ("duke.gif", разновидность);
Клиент печатает документ, вызывая метод печати DocPrintJob object:printJob.print (документ, aset); Когда клиент передает объект Документа к методу печати, объект DocPrintJob получает данные печати из объекта Документа и определяет разновидность документа, которую может предоставить клиент. Класс представления разновидности документа является кабелепроводом для DocPrintJob, чтобы получить последовательность символов или байтов от клиента.