API Службы печати Java™ включает PrintService class и StreamPrintService class. StreamPrintService расширяет PrintService, и таким образом, StreamPrintService может использоваться где угодно, PrintService может использоваться. Однако, PrintService и StreamPrintService используются в различных целях. APrintService привык к прямому выводу к принтеру; StreamPrintService используется, чтобы экспортировать отформатированные данные печати в поток, обычно в различный формат. Определяя местоположение StreamPrintService, Вы определяете необходимый выходной формат в форме параметра типа MIME и предоставляете OutputStream, чтобы получить данные. Вы не обеспечиваете представление class, определяя местоположение StreamPrintService, как Вы делаете, определяя местоположение PrintService, потому что вывод всегда поставляется OutputStream.
После определения местоположения службы Вы получаете задание печати и представляете задание печати службе таким же образом, используете ли Вы PrintService или StreamPrintServie. Существенные различия между StreamPrintService и PrintService находятся в способе, которым они располагаются. Следующий раздел обсуждает определение местоположения обеих служб печати и потоковых служб печати.