Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/kubernetes/5.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
如何使用iText 7和Java在不丢失数据和扩展表宽度的情况下将内容包装到表单元格中_Java_Itext7 - Fatal编程技术网

如何使用iText 7和Java在不丢失数据和扩展表宽度的情况下将内容包装到表单元格中

如何使用iText 7和Java在不丢失数据和扩展表宽度的情况下将内容包装到表单元格中,java,itext7,Java,Itext7,当出现较大的单词(连续文本)时,表格宽度超出了右边距,表格单元格中的某些内容丢失。 下面的代码实现了打印表 public Table createTable(Document doc, UnitValue[] columnsWidth) { Table table = new Table(columnsWidth); table.setBorder(new SolidBorder(0.9f)); float tableWidth = doc.getPdfDocument

当出现较大的单词(连续文本)时,表格宽度超出了右边距,表格单元格中的某些内容丢失。

下面的代码实现了打印表

public Table createTable(Document doc, UnitValue[] columnsWidth) {
    Table table = new Table(columnsWidth);
    table.setBorder(new SolidBorder(0.9f));
    float tableWidth = doc.getPdfDocument().getDefaultPageSize().getWidth()-(doc.getLeftMargin()+doc.getRightMargin());
    table.setWidth(tableWidth);
    return table;
}

public void addTable(Document doc, AbstractElement<?> parent, Table table) {

    if(parent == null){
        table.setMarginTop(2f);
        doc.add(table);
    }
}
UnitValue percentageUnit = new UnitValue(2, 1.00f);
UnitValue[] percentageUnitArr = new UnitValue[2];
percentageUnitArr[0] = percentageUnit;
percentageUnitArr[] = percentageUnit;
Table table = createTable(doc, percentageUnitArr);
addTable(doc, iTextParent, table);
公共表createTable(文档文档,UnitValue[]columnsWidth){
Table Table=新表(列宽度);
表1.新订单(新SolidBorder(0.9f));
float tableWidth=doc.getPdfDocument().getDefaultPageSize().getWidth()-(doc.getLeftMargin()+doc.getRightMargin());
table.setWidth(tableWidth);
返回表;
}
公共void addTable(文档文档、AbstractElement父元素、表){
如果(父项==null){
表2.setMarginTop(2f);
单据新增(表);
}
}
单位价值百分比单位=新单位价值(2,1.00f);
UnitValue[]percentageUnitArr=新的UnitValue[2];
percentageUnitArr[0]=百分比单位;
percentageUnitArr[]=百分比单位;
Table Table=createTable(doc,percentageUnitArr);
addTable(doc、iTextParent、table);

添加水平滚动条不是一个有效的解决方案吗?就像你已经做的垂直的一样have@LuckyBandit74谢谢你的快速回复。不,我不是在寻找一个水平滚动条作为修复。很抱歉,响应延迟,但可以尝试在文本到达框的右边缘时进行包装,使其继续,但仅在下方。此外,当单元格超出边界时,您可以尝试向单元格本身添加水平滚动条。只是一些想法抱歉,这是你问题的重点。我不太确定如何用你给出的代码来包装文本,对此我很抱歉。