Buenas a todos!
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!!!!