In my application, i need to read the existing pdf and add barcode to the existing PDF and pass it to output stream. here the existing pdf is like template. I am using iText jar for adding barcode.
I want to know the possibilities of converting PdfStamper
object to byte array or PdfContentByte
to byte array. Can anyone help on this?
Your question is unclear. I assume that you want to write to a ByteArrayOutputStream
instead of to a FileOutputStream
. There are different examples on how to do that on the iText web site.
See for instance the FormServlet example where it says:
// We create an OutputStream for the new PDF
ByteArrayOutputStream baos = new ByteArrayOutputStream();
// Now we create the PDF
PdfStamper stamper = new PdfStamper(reader, baos);
Then later in the example, we do this:
// We write the PDF bytes to the OutputStream
OutputStream os = response.getOutputStream();
baos.writeTo(os);
If you want a byte[]
, you can simply do this:
byte[] pdfBytes = baos.toByteArray();
I hope your question wasn't about writing a PdfContentByte
stream to a byte[]
because that wouldn't make sense: a content stream doesn't contain any resources such as fonts, images, form XObjects, etc...