L'occhiata in realtà l'avrei data ma con questa soluzione ho un problema.
Dovendo salvare questo pdf su DB lo converto in un bytearray.
Ho fatto un controllo e ho provato a generare il file a partire dal bytearray e il risultato che ho è un pdf vuoto.

Dove sbaglio?
Grazie

codice:
ByteArrayOutputStream out = new ByteArrayOutputStream(); 
try { pdDoc.save(out); 
        pdDoc.close(); 
} catch (Exception ex) {logger.log(Level.SEVERE, null, ex);}

byte[] bytes= out.toByteArray();

try {
      FileOutputStream fos = new FileOutputStream(theFile);
      bos = new BufferedOutputStream(fos); 
      bos.write(bytes);
    }finally {
      if(bos != null) {
        try  {
          //flush and close the BufferedOutputStream
          bos.flush();
          bos.close();
        } catch(Exception e){}
      }
    }