gpt4 book ai didi

java - 动态添加行到表 - Easytable (PDFBox)

转载 作者:行者123 更新时间:2023-12-01 17:05:08 25 4
gpt4 key购买 nike

我有以下方法可以在 easytable 中创建表头 ( easytable )

    public void addHeader(){
myTable = Table.builder()
.addColumnsOfWidth(widthColumn,widthColumn,widthColumn)
.addRow(
Row.builder()
.add(TextCell.builder().text("Id").borderWidth(1).backgroundColor(Color.LIGHT_GRAY).horizontalAlignment(HorizontalAlignment.CENTER).build())
.add(TextCell.builder().text("Name").borderWidth(1).backgroundColor(Color.LIGHT_GRAY).horizontalAlignment(HorizontalAlignment.CENTER).build())
.add(TextCell.builder().text("Town").borderWidth(1).backgroundColor(Color.LIGHT_GRAY).horizontalAlignment(HorizontalAlignment.CENTER).build())
.build())

.build();
}

然后,绘制表格:

    public void drawTable() {
tableDrawer = TableDrawer.builder()
.contentStream(contentStream)
.startX(marginX)
.startY(page.getMediaBox().getHeight() - marginY)
.table(myTable)
.build();

tableDrawer.draw();
}

表格标题绘制正确,但是..动态添加行的方法如何?我必须画一张新 table 吗?我可以向已创建的表添加行吗?

谢谢..

最佳答案

好的,完成了..谢谢@mkl:)

    public void addMyTable(ArrayList<Person> alp) {
Table.TableBuilder tb = Table.builder().addColumnsOfWidth(widthColumn,widthColumn,widthColumn);
tb.addRow(
Row.builder()
.add(TextCell.builder().text("Id").borderWidth(1).backgroundColor(Color.LIGHT_GRAY).horizontalAlignment(HorizontalAlignment.CENTER).build())
.add(TextCell.builder().text("Name").borderWidth(1).backgroundColor(Color.LIGHT_GRAY).horizontalAlignment(HorizontalAlignment.CENTER).build())
.add(TextCell.builder().text("Town").borderWidth(1).backgroundColor(Color.LIGHT_GRAY).horizontalAlignment(HorizontalAlignment.CENTER).build())
.build())

.build();

for(Person p : alp){
tb.addRow(
Row.builder()
.add(TextCell.builder().text(p.getId()).borderWidth(1).backgroundColor(Color.WHITE).horizontalAlignment(HorizontalAlignment.CENTER).build())
.add(TextCell.builder().text(p.getName()).borderWidth(1).backgroundColor(Color.WHITE).horizontalAlignment(HorizontalAlignment.CENTER).build())
.add(TextCell.builder().text(p.getTown()).borderWidth(1).backgroundColor(Color.WHITE).horizontalAlignment(HorizontalAlignment.CENTER).build())
.build())
.build();
}
myTable = tb.build();
}

关于java - 动态添加行到表 - Easytable (PDFBox),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61470957/

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