В более ранних версиях iText это немного запутанно.Если вы сохраняете элемент над горизонтальной линией в PdfPCell, вы можете установить границу этого, чтобы показывать только нижнюю часть.(Эта ячейка также может быть пустой при необходимости)
PdfPCell myCell = new PdfPCell(new Paragraph("Hello World") );
myCell.setBorder(Rectangle.BOTTOM);
Результат должен выглядеть следующим образом (сплошная линия, не клетчатый)
Hello World
-----------
Это должно дать вам то, что вы хотите.Не оптимальное решение, но это способ обойти ограничения старого фляги.
Для справки, если вы хотите выполнить этот трюк, чтобы поставить строку сверху и снизу вашего текста, чтобы получить результатиз
-----------
Hello World
-----------
Аргумент для setBorder () - это int, с которым вы можете использовать побитовую операцию для манипулирования значениями.Таким образом, приведенный выше пример может быть выполнен с помощью
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
Это должно создать таблицу, которая выглядит примерно так (если вы исправите мои опечатки)
Hello World
------------------------------------
Bottom Left | Bottom Right