Я пишу программу, которая создает файл pdf или rtf с таблицей в нем, используя iText. Я использовал таблицу и ячейку класса iText, а не более конкретные RtfTable или pdfTable, чтобы в конце можно было сгенерировать любой файл. Мне нужно было установить для заполнения ячейки значение -1, иначе между каждой строкой данных на печатном листе было слишком много места. Однако сейчас я пытаюсь добавить границы (конкретно в файл pdf), и ячейки не совпадают с текстом. Нижняя граница каждой ячейки проходит прямо через текст. На самом деле он окружает текст только в том случае, если для заполнения ячейки установлено значение 2 или выше. Ниже приведен пример того, что я делаю:
Document document = new Document();
Paragraph paragraph = new Paragraph();
Font iTextFont = new Font(Font.TIMES_ROMAN, 9, Font.NORMAL);
try{
PdfWriter.getInstance(document, new FileOutputStream("C:/datafiles/TestiText.pdf"));
document.open();
Table table = new Table(3);
table.setPadding(-1);
table.setWidth(90);
Cell cell1 = new Cell();
cell1.setBorder(Rectangle.BOX);
cell1.setVerticalAlignment(ElementTags.ALIGN_TOP);
table.setDefaultCell(cell1);
paragraph = new Paragraph("header", iTextFont);
Cell cell = new Cell(paragraph);
cell.setHeader(true);
cell.setColspan(3);
table.addCell(cell);
paragraph = new Paragraph("example cell", iTextFont);
table.addCell(paragraph);
paragraph = new Paragraph("one", iTextFont);
table.addCell(cell);
paragraph = new Paragraph("two", iTextFont);
cell = new Cell(paragraph);
table.addCell(paragraph);
paragraph = new Paragraph("Does this start a new row?", iTextFont);
table.addCell(paragraph);
paragraph = new Paragraph("Four", iTextFont);
table.addCell(paragraph);
paragraph = new Paragraph("Five", iTextFont);
table.addCell(paragraph);
document.add(table);
} catch (Exception e) {
//handle exception
}
document.close();
}
Есть ли способ решить эту проблему, либо переместив всю границу вниз (не влияя на размещение текста), либо избавившись от пробелов между каждой строкой (интервал кажется проблемой только над текстом, а не ниже) без установки заполнения ячейки на -1?