Вам необходимо установить границы ячейки и использовать событие ячейки для рисования пользовательских границ. Вы можете найти несколько примеров: here.
Возьмем, к примеру, пример PressPreviews. Она определяет следующее событие ячейки:
public class MyCellEvent extends PdfPCellEvent {
public void cellLayout(PdfPCell cell, Rectangle position,
PdfContentByte[] canvases) {
float x1 = position.getLeft() + 2;
float x2 = position.getRight() - 2;
float y1 = position.getTop() - 2;
float y2 = position.getBottom() + 2;
PdfContentByte canvas = canvases[PdfPTable.LINECANVAS];
canvas.rectangle(x1, y1, x2 - x1, y2 - y1);
canvas.stroke();
}
}
Теперь, если вы cell.setCellEvent(new MyCellEvent());
ячейка будет иметь пользовательские границы: прямоугольник, который немного меньше, чем то, что вы обычно имеете с границей по умолчанию.
В вашем случае вам не нужен метод rectangle()
. Вы не хотите получать координаты из переменной положения и использовать эти координаты в серии moveTo()
, lineTo()
, stroke()
операций.