Alternative for LineSeparator in iText old versions?
LineSeparator ls = new LineSeparator();
document.add(new Chunk(ls));
Example: iText in action
I'm also in favor of using Line elements rather than tables... do not repeat HTML formatting mistakes !
final LineSeparator lineSeparator = new LineSeparator();
lineSeparator.drawLine(pdfCB, leftX, rightX, y);
There is a bit of a messy way around this in the earlier versions of iText. If you store the element above the horizontal line in a PdfPCell, you can then set the border of that to show only the bottom. (That cell can also be blank if needed)
PdfPCell myCell = new PdfPCell(new Paragraph("Hello World") );
myCell.setBorder(Rectangle.BOTTOM);
The result should look like (solid line, not checkered)
Hello World
-----------
This should give you what you desire. Not the optimal solution but it is a way to work around the limitations of the old jar.
For your reference, if you want to perform this trick to put a line on top and below your text to give a result of
-----------
Hello World
-----------
The argument to setBorder() is an int which you can use bitwise operation on to manipulate the values. So the above example can would be accomplished with
myCell.setBorder(Rectangle.BOTTOM | Rectangle.TOP);
edit: Example
//Create the table which will be 2 Columns wide and make it 100% of the page
PdfPTable myTable = new PdfPtable(2);
myTable.setWidthPercentage(100.0f);
//create a 3 cells and add them to the table
PdfPCell cellOne = new PdfPCell(new Paragraph("Hello World"));
PdfPCell cellTwo = new PdfPCell(new Paragraph("Bottom Left"));
PdfPcell cellThree = new PdfPCell(new Paragraph("Bottom Right"));
cellOne.setColspan(2);
cellOne.setBorder(Rectangle.BOTTOM);
cellOne.setHorizontalAlignment(Element.ALIGN_LEFT);
cellTwo.setBorder(Rectangle.NO_BORDER);
cellTwo.setHorizontalAlignment(Element.ALIGN_LEFT);
cellThree.setBorder(Rectangle.LEFT);
cellThree.setHorizontalAlignment(Element.ALIGN_RIGHT);
//Add the three cells to the table
myTable.addCell(cellOne);
myTable.addCell(cellTwo);
myTable.addCell(cellThree);
//Do something to add the table to your root document
This should create you a table which looks something like the following (assuming you correct my typos)
Hello World
------------------------------------
Bottom Left | Bottom Right