Рисование с помощью класса PdfContentByte
в iTextSharp может быть немного запутанным.Высота на самом деле относительно нижней, а не верхней.Таким образом, верхняя часть страницы не 0f, а фактически document.Top
, что на вашей странице размером PageSize.LETTER
равно 726f.Поэтому, если вы хотите нарисовать свою линию на 30 единиц сверху, попробуйте:
cb.MoveTo(20, document.Top - 30f);
cb.LineTo(400, document.Top - 30f);
Просто любопытно - зачем делать это сложным путем вместо использования границ таблицы?(Я заметил, что вы установили свои границы на 0). Попытка развести линии вручную - самая большая боль.Если вы когда-либо перемещаете содержимое в своем PDF-файле, вам нужно убедиться, что ваши измерения все еще работают.
Попробуйте это:
numeroCell.Border = 0;
numeroCell.BorderColorBottom = new BaseColor(System.Drawing.Color.Black);
numeroCell.BorderWidthBottom = 1f;
codigoCell.Border = 0;
codigoCell.BorderColorBottom = new BaseColor(System.Drawing.Color.Black);
codigoCell.BorderWidthBottom = 1f;
nombreCell.Border = 0;
nombreCell.BorderColorBottom = new BaseColor(System.Drawing.Color.Black);
nombreCell.BorderWidthBottom = 1f;
Это должно дать вам хорошую сплошную черную линию подВаша строка заголовка, измерения не нужны:
![Table border sample](https://i.stack.imgur.com/xXBHp.png)