gpt4 book ai didi

java - iText 7 (Java) 当大表扩展到下一页时,它不会绘制底部边框

转载 作者:行者123 更新时间:2023-12-04 17:14:59 25 4
gpt4 key购买 nike

在我使用 iText 7 生成报告的 java 应用程序中,我需要从可能扩展到多个页面的大型数据表中获取数据。
我的代码段生成表。

    Table table = new Table(new float[] {0.4f, 1f, 1f, 1f, 1.3f, 1f, 1.3f, 0.6f,0.6f,1.2f}, true)
.setWidth(UnitValue.createPercentValue(100))
.setMarginTop(tblTopMargin)
.setMarginBottom(0);
int count = 0;
while (!dataList.empty()) {
String[] dataRow = dataList.poll();
createDataRow(dataRow, table);
count++;
if(count % 10 == 0) {
table.flush();
}
}
createDataRaw 的实现方法在下面提到,
private void createDataRow(String[] a, Table table) {
for (String s : a) {

Paragraph content = new Paragraph(s)
.setFontSize(7)
.setFixedLeading(9)
.setFontColor(new DeviceCmyk(0, 0, 0, 100));

Cell cell = new Cell()
.setBorder(new SolidBorder(ColorConstants.BLACK, 0.5f))
.setPaddingLeft(2)
.setPaddingTop(0)
.setPaddingBottom(0)
.setHorizontalAlignment(HorizontalAlignment.LEFT)
.setVerticalAlignment(VerticalAlignment.MIDDLE)
.add(content);

table.addCell(cell);
}
}
用给定的代码表生成所有数据。但是当表格之间有分页符时,除了最后一个表格底部之外,表格的底线不会显示。
截图附在此处以获得更清晰的想法。
enter image description here
有人可以帮我解决这个问题吗?

最佳答案

以下代码为我生成了最新 7.1.16 所需的结果iText 版本:


Table table = new Table(new float[] {0.4f, 1f, 1f}, true)
.setWidth(UnitValue.createPercentValue(100))
.setMarginBottom(0);
document.add(table);
int count = 0;
for (int i = 0; i < 300; i++) {
String[] dataRow = new String[] {"1\n2\n3\n4\n5\n6\n7\n8\n9\n10", "2\n3\nsf\n43", "3\nr\nsdfsd\n43"};
createDataRow(dataRow, table);
count++;
if (count % 10 == 0) {
table.flush();
}
}
table.complete();

document.close();
    private void createDataRow(String[] a, Table table) {
for (String s : a) {
Paragraph content = new Paragraph(s)
.setFontSize(7)
.setFixedLeading(9)
.setFontColor(new DeviceCmyk(0, 0, 0, 100));

Cell cell = new Cell()
.setBorder(new SolidBorder(ColorConstants.BLACK, 0.5f))
.setPaddingLeft(2)
.setPaddingTop(0)
.setPaddingBottom(0)
.setHorizontalAlignment(HorizontalAlignment.LEFT)
.setVerticalAlignment(VerticalAlignment.MIDDLE)
.add(content);

table.addCell(cell);
}
}
视觉结果(第一页结束):
result

关于java - iText 7 (Java) 当大表扩展到下一页时,它不会绘制底部边框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68902157/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com