Estoy desarrollando en una aplicación en Swing y tengo generado un PDF como un array de bytes (byte[]).
Lo que quiero es insertar METADATOS al PDF y usando la librería iText he visto que se usa de esta forma:
Código Java:
Ver original
... byte[] pdf = baos.toByteArray(); PdfReader reader = new PdfReader(pdf); //Aquí está mi problema con new FileOutputStream(C:/) info.put("Title", "Hello World stamped"); info.put("Subject", "Hello World with changed metadata"); info.put("Keywords", "iText in Action, PdfStamper"); info.put("Creator", "Silly standalone example"); info.put("Author", "Also Bruno Lowagie"); stamper.setMoreInfo(info); stamper.close(); ...
Esto me funciona perfectamente, pero el problema es que no puedo generar un archivo PDF como tal, en la máquina del usuario y haciendo "new FileOutputStream(C:/)" se genera un archivo.
Por lo tanto he probado con la solución que comento a continuación, pero no me funciona, ¡no me genera los METADATOS!:
Código Java:
Ver original
... byte[] pdf = baos.toByteArray(); PdfReader reader = new PdfReader(pdf); //Lo que quiero es vez de que me genere en un archivo lo inserte en un OutputStream PdfStamper stamper = new PdfStamper(reader, baos); //Y después hacer esto pdf = baos.toByteArray(); info.put("Title", "Hello World stamped"); info.put("Subject", "Hello World with changed metadata"); info.put("Keywords", "iText in Action, PdfStamper"); info.put("Creator", "Silly standalone example"); info.put("Author", "Also Bruno Lowagie"); stamper.setMoreInfo(info); stamper.close(); ...
¿¿¿Sabéis porque de esa manera no me guarada los metadatos???
Muchas Gracias por todo y Saludos!!!!