Hay un poco de una manera desordenada en esto en las versiones anteriores de iText. Si almacena el elemento encima de la línea horizontal en un PdfPCell, puede establecer el borde de eso para mostrar solo la parte inferior. (Eso célula también puede estar en blanco si es necesario)
PdfPCell myCell = new PdfPCell(new Paragraph("Hello World"));
myCell.setBorder(Rectangle.BOTTOM);
El resultado debe ser similar (línea continua, no a cuadros)
Hello World
-----------
Esto debe darle lo que desea. No es la solución óptima, pero es una forma de evitar las limitaciones del viejo contenedor.
Para su referencia, si desea realizar este truco para poner una línea en la parte superior y por debajo de su texto para dar un resultado de
-----------
Hello World
-----------
El argumento para setBorder() es un entero que se puede utilizar operación bit a bit para manipular los valores. Así que el ejemplo anterior se podría lograr con
myCell.setBorder(Rectangle.BOTTOM | Rectangle.TOP);
edición: Ejemplo
//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
Esto se debe crear una tabla que se ve algo como lo siguiente (suponiendo que corregir mis errores tipográficos)
Hello World
------------------------------------
Bottom Left | Bottom Right
explique las razones técnicas por las que no se puede actualizar a una versión que es compatible con las características que se requieren. –