PDF Java print: trabajo enviado en la cola de trabajos de la impresora pero no se imprime nada

Estoy tratando de imprimir un documento PDF.
Puedo ver el trabajo en la cola de la impresora y luego veo que desaparece, como si la impresora hubiera terminado su trabajo.

Pero el problema es que nada se imprime. No puedo entender qué está mal en mi código.

PrintService[] printServices = PrintServiceLookup.lookupPrintServices(null,null);
PrintService service = null;
for (String imprimante : listImprimantes){
    for( PrintService printService : printServices ) {
        Attribute[] attrs = printService.getAttributes().toArray();
        for (int j=0; j<attrs.length; j++) {
            String attrName = attrs[j].getName();
            String attrValue = attrs[j].toString();
            if (attrName.equals("printer-info")){
                if (attrValue.equals(imprimante)){
                    service = printService;
                    DocFlavor[] flavors = service.getSupportedDocFlavors();
                    break;
                }
            }
        }
    }
}
InputStream fi = new ByteArrayInputStream(baos.toByteArray());

DocFlavor flavor = DocFlavor.INPUT_STREAM.AUTOSENSE;
DocPrintJob printJob = service.createPrintJob();
Doc doc = new SimpleDoc(fi, flavor, null);
try {
    if (doc != null) {
        printJob.print(doc, null);
    }
} 
catch (PrintException e1) {
    log.debug(e1.getMessage());
}

Si alguien me puede ayudar en esto ...

Respuestas a la pregunta(1)

Su respuesta a la pregunta