¿Cómo insertar una imagen en PDF utilizando iText y descargarla en la máquina cliente?

Estoy usando jdbc para obtener datos de la base de datos y luego uso iText. Creo un archivo PDF que se puede descargar en la máquina cliente. La aplicación está codificada en html / jsp y se ejecuta en Apache Tomcat.

Yo uso elresponse.getOutputStream para crear un archivo PDF de salida inmediatamente.

El problema es que ahora, no puedo insertar una imagen en este documento porque me da un error que

getOutputStream () ya ha sido llamado para esta respuesta

Entiendo que estoy llamandoOutputstream de nuevo al insertar la imagen y por lo tanto el error

¿Cómo puedo insertar una imagen en el documento y generar un archivo PDF dinámico que puede ser descargado por la máquina cliente?

El código relevante:

response.setContentType("application/pdf");
response.setHeader("Content-Disposition","attachment; filename=\"LicenseInfo.pdf\""); // Code 1
Document document = new Document();

PdfWriter.getInstance(document, response.getOutputStream()); // Code 2

Image image = Image.getInstance("logo.jpg");

document.open();

document.add(image);

Respuestas a la pregunta(1)

Su respuesta a la pregunta