Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/390.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何使用itext增加PDF表格某些部分的单元格空间,而不是整个表格的单元格空间?_Java_Itext - Fatal编程技术网

Java 如何使用itext增加PDF表格某些部分的单元格空间,而不是整个表格的单元格空间?

Java 如何使用itext增加PDF表格某些部分的单元格空间,而不是整个表格的单元格空间?,java,itext,Java,Itext,我已经使用PDFTable和itext版本5.2.1创建了pdf页面 我创建了一个定义字体、单元格间距等的方法。。 代码如下: Cell textColspanCenter(String staticdata, Font font, int colspan, int rowspan, int border) { try { cell = new PdfPCell(new Phrase(staticdata, font)); cell

我已经使用PDFTable和itext版本5.2.1创建了pdf页面 我创建了一个定义字体、单元格间距等的方法。。 代码如下:

Cell textColspanCenter(String staticdata, Font font, int colspan, int rowspan, int border) {
        try {
            cell = new PdfPCell(new Phrase(staticdata, font));
            cell.setColspan(colspan);
            cell.setRowspan(rowspan);
            cell.setHorizontalAlignment(Element.ALIGN_CENTER);
            cell.setBorder(border);
            cell.setPadding(4.0f);
            if (border == 1) {
                cell.setBorder(Rectangle.BOX);
            }
            return cell;
        } catch (Exception e) {
            System.out.println("errorin textColspanLeft " + e);
            return null;
        }
我已将padding设置为4..但我的客户希望我的页面的某些部分(单元格,用户将在其中写入金额,如果它们彼此太接近,则很难将金额与其源匹配,因为它没有任何边框)之间比其他部分(而不是整个表)有更多的空间。。。 所以我尝试更改
cell.setPadding
值,但它更改了整个表的填充。所有元素最终都会有更多的空间。。。 我尝试更改行跨度值,但这会弄乱我的整个表。。。
非常感谢您的帮助……谢谢

我想您是在说桌子吧。请参见此示例:

float[] columnWidths = new float[] {10f, 20f, 30f, 10f};
table.setWidths(columnWidths);
如果您希望每行的单元格宽度不同,那么您必须在当前表格的下方定义一个新表格。据我所知,这是唯一的办法


如果有人知道另一种方法,它也会帮助我

不是宽度…但更高的高度会帮助我找到答案。。。。如果其他人也有同样的问题,我创建了一个与我提到的类似的新函数,但我添加了cell.setPaddingBottom(12.0f);在上面的方法中调用它。