我在寫一個程序,它使用iText生成一個帶有表格的pdf或rtf文件。我使用了iText類的表格和單元格,而不是更具體的RtfTable或pdfTable,這樣可以在最後生成任何文件。我需要將單元格填充值設置爲-1,否則打印頁面上每行數據之間的空間太大。但是,我現在試圖添加邊框(特別是pdf文件),並且單元格不與文本排列在一起。每個單元格的底部邊框直接切入文本。當單元格填充設置爲2或更高時,它僅實際包圍文本。下面是我在做什麼的樣本:iText細胞邊界切割文本
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?
您是否找到解決方案?我有同樣的問題。我希望我的單元格不太高,這似乎是由填充引起的,但是當我減少填充時,文本將穿過底部邊框。 – 2009-09-08 08:43:36