Я пишу программу, которая генерирует файл 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?