This question was first answered by Berger
It states that providing a negative value, would place the text above the bars :
public void setBaseline(float baseline)
Sets the text baseline. If positive, the text distance under the bars. If zero or negative, the text distance above the bars.
However, this wasn't sufficient for the OP, as he commented:
I able to print the number above the barcode but I am not able to add the description
"PO Line #:"
That is why Bruno Lowagie provided a more elaborate answer:
Please take a look at the BarcodeInTable example. In this example, we add a bar code in two different ways:
In the first way, we use the
setBaseLine() method with a negative value to make sure the code is added above the bar code instead of under it:
Barcode128 code128 = new Barcode128(); code128.setBaseline(-1); code128.setSize(12); code128.setCode(code); code128.setCodeType(Barcode128.CODE128); Image code128Image = code128.createImageWithBarcode(cb, null, null); PdfPCell cell = new PdfPCell(code128Image); table.addCell(cell);
There are some disadvantages to this method. The first disadvantage is that you'll have to tweak some size parameters to get a good result (maybe also use the
setTextAlignment() to change the default alignment). The second disadvantage is that you may want to have more freedom with respect to the text you are adding. For instance: you may want to add
PO #: as is done in your example.
That's why I also provided a second way to add the text and the bar code:
code128 = new Barcode128(); code128.setFont(null); code128.setCode(code); code128.setCodeType(Barcode128.CODE128); code128Image = code128.createImageWithBarcode(cb, null, null); cell = new PdfPCell(); cell.addElement(new Phrase("PO #: " + code)); cell.addElement(code128Image); table.addCell(cell);
In this case, we set the font to
null so that no text is generated. We add the text to the cell, along with the bar code. Now we have much more freedom to format the text exactly the way we want it.
code128Image is scaled to fit the width of the cell, but you can change this by setting the width percentage of the image, or you can change the width of the column.