How can I display different bar codes in multiple columns in a PDF page using iText?

I have to display 12 bar codes in the same PDF page in three columns each one containing 4 bar codes (in other words it's 4 by 3 matrix).

Posted on StackOverflow on Feb 24, 2014 by user3323182

I've made a Barcodes example that does exactly what you need. See the resulting pdf: barcodes_table.pdf

There's nothing difficult about it. You just create a table with 4 column and add 12 cells:

Table table = new Table(4);
for (int i = 0; i 

The createBarcode() method creates a cell with a barcode:

public static Cell createBarcode(String code, PdfDocument pdfDoc) {
    BarcodeEAN barcode = new BarcodeEAN(pdfDoc);
    barcode.setCodeType(BarcodeEAN.EAN8);
    barcode.setCode(code);
    Cell cell = new Cell()
            .add(new Image(barcode.createFormXObject(null, null, pdfDoc)))
            .setPaddingTop(10)
            .setPaddingRight(10)
            .setPaddingBottom(10)
            .setPaddingLeft(10);
    return cell;
}

Note that there are no PdfPTables and PdfPCells in iText 7, we use Tables and Cellsinstead.

Click How to display barcodes in a matrix-like structure? if you want to see how to answer this question in iText 5.