【发布时间】:2015-11-06 11:03:13
【问题描述】:
在设置单元格底部边框的长度方面需要您的帮助。目前,它显示单元格的底部边框太长,我需要缩短它。我试图改变桌子的宽度,但它不能正常进行。
下面是代码:
Paragraph tableParagraph = new Paragraph();
tableParagraph.setAlignment(Element.ALIGN_LEFT);
PdfPTable table55 = new PdfPTable(2);
table55 = new PdfPTable(new float[] { 6, 6 });
table55.setWidthPercentage(90f);
table55.getDefaultCell().setBorder(PdfPCell.NO_BORDER);
PdfPCell cel2a = new PdfPCell(new Paragraph("Total of Net Profit ", font));
PdfPCell cel2b = new PdfPCell(new Paragraph("100.000" + " USD ", font));
cel2a.setBorder(Rectangle.NO_BORDER);
cel2b.setBorder(Rectangle.BOTTOM);
cel2a.setLeading(1f, 1.5f);
cel2b.setLeading(1f, 1.5f);
table55.addCell(cel2a);
table55.addCell(cel2b);
【问题讨论】:
-
单元格下边框的长度与单元格的宽度相同。如果要更改该长度,则必须更改单元格的宽度(当前是页面宽度的 90% 减去左右边距的一半),或者...如果您不想更改单元格的宽度,使用单元格事件使用您自己的代码绘制边框。所以告诉我们:你想改变单元格的宽度吗?如果不是:底部边框的长度应该是多少?
-
另一方面,您应该删除此行:
table55.getDefaultCell().setBorder(PdfPCell.NO_BORDER);您没有在代码中的任何位置使用默认单元格。相反,您创建自己的PdfPCell实例。仅当您像这样添加单元格时,使用默认单元格才有意义:table.addCell("cell content").在这种情况下,iText 根据默认单元格的属性创建一个PdfPCell。 -
@BrunoLowagie 是代码表中的第一个编号 6 55 = new PdfPTable(new float[] { 6, 6 });是指第一个单元格宽度吗?
-
table55 = new PdfPTable(new float[] { 6, 6 });行等同于table55 = new PdfPTable(2);通过使用参数new float[] { 6, 6 },您没有定义列的宽度!您只需告诉 iText 您想要两列具有相同宽度。每个测量可用宽度的 90% 的一半。请阅读文档。 -
那么告诉我:你想改变单元格的宽度吗?或者你想保持单元格的宽度并改变底部边框的长度?没有这个问题的答案,我就写不出你的答案。
标签: java pdf-generation itext pdfptable