为什么 table 两行靠得这么近?
Why do the two table rows get so close to each other?
我正在创建两行。第一行包含 0、1、...、10。第二行在每个数字下方包含一个单选按钮。这是我的代码:
for (int k=0; k<=10; k++) {
String text = k + "";
cell = new PdfPCell(new Phrase(text));
cell.setBorder(Rectangle.NO_BORDER);
cell.setHorizontalAlignment(Element.ALIGN_CENTER);
cell.setVerticalAlignment(Element.ALIGN_TOP);
cell.setPaddingTop(5);
table.addCell(cell);
}
for (int k=0; k<=10; k++) {
cell = new PdfPCell();
cell.setBorder(Rectangle.NO_BORDER);
cell.setHorizontalAlignment(Element.ALIGN_CENTER);
cell.setVerticalAlignment(Element.ALIGN_BOTTOM);
cell.setPaddingTop(10);
cell.setCellEvent(new MyCellField(radiogroup, k+""));
table.addCell(cell);
}
MyCellField 类似于此页面上提供的内容:
http://developers.itextpdf.com/examples/form-examples/create-fields-table
问题是,无论我给第二行设置什么间距,第二行中生成的单选按钮总是与它们各自的编号重叠。
您在执行此操作时创建了一个没有任何内容的单元格:cell = new PdfPCell();
无内容表示:无高度。您可能想添加这一行:
cell.setFixedHeight(30);
这样,您就可以确定单元格的高度足以添加单选按钮。
在 iText 5 中,我们经常使用 cell.setUseAscender(true);
和 cell.setUseDescender(true);
来更好地定位文本。此问题在 iText 7 中得到解决。
我正在创建两行。第一行包含 0、1、...、10。第二行在每个数字下方包含一个单选按钮。这是我的代码:
for (int k=0; k<=10; k++) {
String text = k + "";
cell = new PdfPCell(new Phrase(text));
cell.setBorder(Rectangle.NO_BORDER);
cell.setHorizontalAlignment(Element.ALIGN_CENTER);
cell.setVerticalAlignment(Element.ALIGN_TOP);
cell.setPaddingTop(5);
table.addCell(cell);
}
for (int k=0; k<=10; k++) {
cell = new PdfPCell();
cell.setBorder(Rectangle.NO_BORDER);
cell.setHorizontalAlignment(Element.ALIGN_CENTER);
cell.setVerticalAlignment(Element.ALIGN_BOTTOM);
cell.setPaddingTop(10);
cell.setCellEvent(new MyCellField(radiogroup, k+""));
table.addCell(cell);
}
MyCellField 类似于此页面上提供的内容:
http://developers.itextpdf.com/examples/form-examples/create-fields-table
问题是,无论我给第二行设置什么间距,第二行中生成的单选按钮总是与它们各自的编号重叠。
您在执行此操作时创建了一个没有任何内容的单元格:cell = new PdfPCell();
无内容表示:无高度。您可能想添加这一行:
cell.setFixedHeight(30);
这样,您就可以确定单元格的高度足以添加单选按钮。
在 iText 5 中,我们经常使用 cell.setUseAscender(true);
和 cell.setUseDescender(true);
来更好地定位文本。此问题在 iText 7 中得到解决。