I'm in the need to put some keywords in a PDF file. By now, we use JasperReports/iReport as our main library to output PDF documents, and it worked quite well till today.
This new request, though, seems to be hard since I can't find documentation or examples to let me understand how to put keywords in a PDF document with this framework. Actually, I'm not even sure if this can be done at all with JasperReports.
I'd like some input about this subject, if you know if we can solve this task with JR or if we should look some other library, and in this case, which library should we pick.
I'm not asking for examples or source code (although those would be very appreciated), just an input based on your own experience about this problem would be great.
Thank you in advance for your help and support.
Well, I'm not a PDF expert too. PDF keywords are just ... keywords. Like HTML keywords, you can insert some metatag inside a PDF to list some words related to the PDF content. Keywords are not displayed when you read the PDF with clients like Acrobat Reader, but they're still there to be managed by other clients which will need additional informations which can't be displayed in the document.
I myself found that iText allow you to set keywords in a PDF document (but only prior to write the PDF document itself), while JasperReport can't manage keywords at this moment (if the informations I've gathered are correct, this feature will be implemented in the future). Unfortunately, JasperReport is our main engine to export PDF documents, so I need to find a way to handle keywords via JasperReport somehow or, if this is not possible, to find some other libraries that allow me to add keywords to an existing document.
I still hope my search capabilities are not perfect and I've missed some topic concerning JR and keywords or some other about Java library which handle PDF documents.
I wonder why PDF has become a standard when it comes to exchange documents when it is so far from being manageable.
No matter. Try again. Fail again. Fail better. This time, do it with this tiny ad: