In my application, I need to read the existing PDF and add barcodes to this PDF and pass it to output stream. Here the existing pdf is like a 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?
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...
Click this link if you want to see how to answer this question in iText 7.